From 88d37fd76e319cdc51412f33c2f8b0fb4e5a7614 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Tue, 18 Sep 2018 11:52:29 -0400 Subject: [PATCH 001/245] musicplus-lua 2.2 -> 2.1 backport --- src/lua_baselib.c | 416 +++++++++++++++++++++++++++++++++++++++++++++- src/lua_hook.h | 5 + src/lua_hooklib.c | 64 +++++++ src/lua_script.h | 3 + 4 files changed, 480 insertions(+), 8 deletions(-) diff --git a/src/lua_baselib.c b/src/lua_baselib.c index 6a878425..2b31e96f 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -717,11 +717,14 @@ static int lib_pRestoreMusic(lua_State *L) { player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); NOHUD - if (!player) - return LUA_ErrInvalid(L, "player_t"); - else if (P_IsLocalPlayer(player)) + if (!player || P_IsLocalPlayer(player)) + { P_RestoreMusic(player); - return 0; + lua_pushboolean(L, true); + } + else + lua_pushnil(L); + return 1; } static int lib_pSpawnShieldOrb(lua_State *L) @@ -1775,8 +1778,13 @@ static int lib_sChangeMusic(lua_State *L) fadeinms = (UINT32)luaL_optinteger(L, 7, 0); if (!player || P_IsLocalPlayer(player)) + { S_ChangeMusicEx(music_name, music_flags, looping, position, prefadems, fadeinms); - return 0; + lua_pushboolean(L, true); + } + else + lua_pushnil(L); + return 1; } static int lib_sSpeedMusic(lua_State *L) @@ -1792,8 +1800,231 @@ static int lib_sSpeedMusic(lua_State *L) return LUA_ErrInvalid(L, "player_t"); } if (!player || P_IsLocalPlayer(player)) - S_SpeedMusic(speed); - return 0; + lua_pushboolean(L, S_SpeedMusic(speed)); + else + lua_pushnil(L); + return 1; +} + +#ifdef HAVE_LUA_MUSICPLUS +static int lib_sMusicType(lua_State *L) +{ + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 1) && lua_isuserdata(L, 1)) + { + player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + lua_pushinteger(L, S_MusicType()); + else + lua_pushnil(L); + return 1; +} + +static int lib_sMusicPlaying(lua_State *L) +{ + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 1) && lua_isuserdata(L, 1)) + { + player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + lua_pushboolean(L, S_MusicPlaying()); + else + lua_pushnil(L); + return 1; +} + +static int lib_sMusicPaused(lua_State *L) +{ + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 1) && lua_isuserdata(L, 1)) + { + player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + lua_pushboolean(L, S_MusicPaused()); + else + lua_pushnil(L); + return 1; +} + +static int lib_sMusicName(lua_State *L) +{ + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 1) && lua_isuserdata(L, 1)) + { + player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + lua_pushstring(L, S_MusicName()); + else + lua_pushnil(L); + return 1; +} + +static int lib_sMusicInfo(lua_State *L) +{ + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 1) && lua_isuserdata(L, 1)) + { + player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + { + char mname[7]; + UINT16 mflags; + boolean looping; + if (S_MusicInfo(mname, &mflags, &looping)) + { + lua_pushstring(L, mname); + lua_pushinteger(L, mflags); + lua_pushboolean(L, looping); + } + else + lua_pushboolean(L, false); + } + else + lua_pushnil(L); + return 1; +} + +static int lib_sMusicExists(lua_State *L) +{ +#ifdef MUSICSLOT_COMPATIBILITY + const char *music_name; + UINT32 music_num; + char music_compat_name[7]; + UINT16 music_flags = 0; + NOHUD + if (lua_isnumber(L, 1)) + { + music_num = (UINT32)luaL_checkinteger(L, 1); + music_flags = (UINT16)(music_num & 0x0000FFFF); + if (music_flags && music_flags <= 1035) + snprintf(music_compat_name, 7, "%sM", G_BuildMapName((INT32)music_flags)); + else if (music_flags && music_flags <= 1050) + strncpy(music_compat_name, compat_special_music_slots[music_flags - 1036], 7); + else + music_compat_name[0] = 0; // becomes empty string + music_compat_name[6] = 0; + music_name = (const char *)&music_compat_name; + } + else + { + music_num = 0; + music_name = luaL_checkstring(L, 1); + } +#else + const char *music_name = luaL_checkstring(L, 1); +#endif + boolean checkMIDI = lua_opttrueboolean(L, 2); + boolean checkDigi = lua_opttrueboolean(L, 3); + NOHUD + lua_pushboolean(L, S_MusicExists(music_name, checkMIDI, checkDigi)); + return 1; +} + +static int lib_sGetMusicLength(lua_State *L) +{ + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 1) && lua_isuserdata(L, 1)) + { + player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + lua_pushinteger(L, (int)S_GetMusicLength()); + else + lua_pushnil(L); + return 1; +} + +static int lib_sSetMusicLoopPoint(lua_State *L) +{ + UINT32 looppoint = (UINT32)luaL_checkinteger(L, 1); + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 2) && lua_isuserdata(L, 2)) + { + player = *((player_t **)luaL_checkudata(L, 2, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + lua_pushboolean(L, S_SetMusicLoopPoint(looppoint)); + else + lua_pushnil(L); + return 1; +} + +static int lib_sGetMusicLoopPoint(lua_State *L) +{ + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 1) && lua_isuserdata(L, 1)) + { + player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + lua_pushinteger(L, (int)S_GetMusicLoopPoint()); + else + lua_pushnil(L); + return 1; +} + +static int lib_sSetMusicPosition(lua_State *L) +{ + UINT32 position = (UINT32)luaL_checkinteger(L, 1); + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 2) && lua_isuserdata(L, 2)) + { + player = *((player_t **)luaL_checkudata(L, 2, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + lua_pushboolean(L, S_SetMusicPosition(position)); + else + lua_pushnil(L); + return 1; +} + +static int lib_sGetMusicPosition(lua_State *L) +{ + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 1) && lua_isuserdata(L, 1)) + { + player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + lua_pushinteger(L, (int)S_GetMusicPosition()); + else + lua_pushnil(L); + return 1; } static int lib_sStopMusic(lua_State *L) @@ -1807,10 +2038,160 @@ static int lib_sStopMusic(lua_State *L) return LUA_ErrInvalid(L, "player_t"); } if (!player || P_IsLocalPlayer(player)) + { S_StopMusic(); - return 0; + lua_pushboolean(L, true); + } + else + lua_pushnil(L); + return 1; } +static int lib_sPauseMusic(lua_State *L) +{ + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 1) && lua_isuserdata(L, 1)) + { + player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + { + S_PauseAudio(); + lua_pushboolean(L, true); + } + else + lua_pushnil(L); + return 1; +} + +static int lib_sResumeMusic(lua_State *L) +{ + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 1) && lua_isuserdata(L, 1)) + { + player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + { + S_ResumeAudio(); + lua_pushboolean(L, true); + } + else + lua_pushnil(L); + return 1; +} + +static int lib_sSetInternalMusicVolume(lua_State *L) +{ + UINT32 volume = (UINT32)luaL_checkinteger(L, 1); + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 2) && lua_isuserdata(L, 2)) + { + player = *((player_t **)luaL_checkudata(L, 2, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + { + S_SetInternalMusicVolume(volume); + lua_pushboolean(L, true); + } + else + lua_pushnil(L); + return 1; +} + +static int lib_sStopFadingMusic(lua_State *L) +{ + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 1) && lua_isuserdata(L, 1)) + { + player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + { + S_StopFadingMusic(); + lua_pushboolean(L, true); + } + else + lua_pushnil(L); + return 1; +} + +static int lib_sFadeMusic(lua_State *L) +{ + UINT32 target_volume = (UINT32)luaL_checkinteger(L, 1); + UINT32 ms; + INT32 source_volume; + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 3) && lua_isuserdata(L, 3)) + { + player = *((player_t **)luaL_checkudata(L, 3, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + ms = (UINT32)luaL_checkinteger(L, 2); + source_volume = -1; + } + else if (!lua_isnone(L, 4) && lua_isuserdata(L, 4)) + { + player = *((player_t **)luaL_checkudata(L, 4, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + source_volume = (INT32)luaL_checkinteger(L, 2); + ms = (UINT32)luaL_checkinteger(L, 3); + } + else if (luaL_optinteger(L, 3, UINT32_MAX) == UINT32_MAX) + { + ms = (UINT32)luaL_checkinteger(L, 2); + source_volume = -1; + } + else + { + source_volume = (INT32)luaL_checkinteger(L, 2); + ms = (UINT32)luaL_checkinteger(L, 3); + } + + NOHUD + + if (!player || P_IsLocalPlayer(player)) + lua_pushboolean(L, S_FadeMusicFromVolume(target_volume, source_volume, ms)); + else + lua_pushnil(L); + return 1; +} + +static int lib_sFadeOutStopMusic(lua_State *L) +{ + UINT32 ms = (UINT32)luaL_checkinteger(L, 1); + player_t *player = NULL; + NOHUD + if (!lua_isnone(L, 2) && lua_isuserdata(L, 2)) + { + player = *((player_t **)luaL_checkudata(L, 2, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + { + lua_pushboolean(L, S_FadeOutStopMusic(ms)); + } + else + lua_pushnil(L); + return 1; +} + +#endif static int lib_sOriginPlaying(lua_State *L) { void *origin = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ)); @@ -2133,7 +2514,26 @@ static luaL_Reg lib[] = { {"S_StopSound",lib_sStopSound}, {"S_ChangeMusic",lib_sChangeMusic}, {"S_SpeedMusic",lib_sSpeedMusic}, +#ifdef HAVE_LUA_MUSICPLUS + {"S_MusicType",lib_sMusicType}, + {"S_MusicPlaying",lib_sMusicPlaying}, + {"S_MusicPaused",lib_sMusicPaused}, + {"S_MusicName",lib_sMusicName}, + {"S_MusicInfo",lib_sMusicInfo}, + {"S_MusicExists",lib_sMusicExists}, + {"S_GetMusicLength",lib_sGetMusicLength}, + {"S_SetMusicLoopPoint",lib_sSetMusicLoopPoint}, + {"S_GetMusicLoopPoint",lib_sGetMusicLoopPoint}, + {"S_SetMusicPosition",lib_sSetMusicPosition}, + {"S_GetMusicPosition",lib_sGetMusicPosition}, + {"S_PauseMusic",lib_sPauseMusic}, + {"S_ResumeMusic",lib_sResumeMusic}, {"S_StopMusic",lib_sStopMusic}, + {"S_SetInternalMusicVolume", lib_sSetInternalMusicVolume}, + {"S_StopFadingMusic",lib_sStopFadingMusic}, + {"S_FadeMusic",lib_sFadeMusic}, + {"S_FadeOutStopMusic",lib_sFadeOutStopMusic}, +#endif {"S_OriginPlaying",lib_sOriginPlaying}, {"S_IdPlaying",lib_sIdPlaying}, {"S_SoundPlaying",lib_sSoundPlaying}, diff --git a/src/lua_hook.h b/src/lua_hook.h index 53e0a7d8..33a460d4 100644 --- a/src/lua_hook.h +++ b/src/lua_hook.h @@ -43,6 +43,7 @@ enum hook { hook_PlayerMsg, hook_HurtMsg, hook_PlayerSpawn, + hook_MusicChange, hook_MAX // last hook }; @@ -77,5 +78,9 @@ boolean LUAh_LinedefExecute(line_t *line, mobj_t *mo, sector_t *sector); // Hook boolean LUAh_PlayerMsg(int source, int target, int flags, char *msg); // Hook for chat messages boolean LUAh_HurtMsg(player_t *player, mobj_t *inflictor, mobj_t *source); // Hook for hurt messages #define LUAh_PlayerSpawn(player) LUAh_PlayerHook(player, hook_PlayerSpawn) // Hook for G_SpawnPlayer +#ifdef HAVE_LUA_MUSICPLUS +boolean LUAh_MusicChange(const char *oldname, char *newname, UINT16 *mflags, boolean *looping, + UINT32 *position, UINT32 *prefadems, UINT32 *fadeinms); // Hook for music changes +#endif #endif diff --git a/src/lua_hooklib.c b/src/lua_hooklib.c index eadd0153..83ea2eec 100644 --- a/src/lua_hooklib.c +++ b/src/lua_hooklib.c @@ -54,6 +54,7 @@ const char *const hookNames[hook_MAX+1] = { "PlayerMsg", "HurtMsg", "PlayerSpawn", + "MusicChange", NULL }; @@ -1074,4 +1075,67 @@ void LUAh_NetArchiveHook(lua_CFunction archFunc) // stack: tables } +#ifdef HAVE_LUA_MUSICPLUS + +// Hook for music changes +boolean LUAh_MusicChange(const char *oldname, char *newname, UINT16 *mflags, boolean *looping, + UINT32 *position, UINT32 *prefadems, UINT32 *fadeinms) +{ + hook_p hookp; + boolean hooked = false; + + if (!gL || !(hooksAvailable[hook_MusicChange/8] & (1<<(hook_MusicChange%8)))) + return false; + + lua_settop(gL, 0); + + for (hookp = roothook; hookp; hookp = hookp->next) + if (hookp->type == hook_MusicChange) + { + lua_pushfstring(gL, FMT_HOOKID, hookp->id); + lua_gettable(gL, LUA_REGISTRYINDEX); + lua_pushstring(gL, oldname); + lua_pushstring(gL, newname); + lua_pushinteger(gL, *mflags); + lua_pushboolean(gL, *looping); + lua_pushinteger(gL, *position); + lua_pushinteger(gL, *prefadems); + lua_pushinteger(gL, *fadeinms); + if (lua_pcall(gL, 7, 6, 0)) { + CONS_Alert(CONS_WARNING,"%s\n",lua_tostring(gL,-1)); + lua_pop(gL, 1); + continue; + } + + // output 1: true, false, or string musicname override + if (lua_isboolean(gL, -6) && lua_toboolean(gL, -6)) + hooked = true; + else if (lua_isstring(gL, -6)) + strncpy(newname, lua_tostring(gL, -6), 7); + // output 2: mflags override + if (lua_isnumber(gL, -5)) + *mflags = lua_tonumber(gL, -5); + // output 3: looping override + if (lua_isboolean(gL, -4)) + *looping = lua_toboolean(gL, -4); + // output 4: position override + if (lua_isboolean(gL, -3)) + *position = lua_tonumber(gL, -3); + // output 5: prefadems override + if (lua_isboolean(gL, -2)) + *prefadems = lua_tonumber(gL, -2); + // output 6: fadeinms override + if (lua_isboolean(gL, -1)) + *fadeinms = lua_tonumber(gL, -1); + + lua_pop(gL, 6); + } + + lua_settop(gL, 0); + newname[6] = 0; + return hooked; +} + +#endif + #endif diff --git a/src/lua_script.h b/src/lua_script.h index 3b159234..39b155ca 100644 --- a/src/lua_script.h +++ b/src/lua_script.h @@ -92,4 +92,7 @@ void COM_Lua_f(void); }\ } +// uncomment for extended music features +#define HAVE_LUA_MUSICPLUS + #endif From 37f27888c8db19342ff9d78950dc9e56858f9bf7 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Wed, 19 Sep 2018 19:29:38 -0400 Subject: [PATCH 002/245] MP Lua: MusicExists Mixed D+C fix (buildbots) --- src/lua_baselib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lua_baselib.c b/src/lua_baselib.c index 2b31e96f..ae746a1b 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -1906,6 +1906,8 @@ static int lib_sMusicInfo(lua_State *L) static int lib_sMusicExists(lua_State *L) { + boolean checkMIDI = lua_opttrueboolean(L, 2); + boolean checkDigi = lua_opttrueboolean(L, 3); #ifdef MUSICSLOT_COMPATIBILITY const char *music_name; UINT32 music_num; @@ -1933,8 +1935,6 @@ static int lib_sMusicExists(lua_State *L) #else const char *music_name = luaL_checkstring(L, 1); #endif - boolean checkMIDI = lua_opttrueboolean(L, 2); - boolean checkDigi = lua_opttrueboolean(L, 3); NOHUD lua_pushboolean(L, S_MusicExists(music_name, checkMIDI, checkDigi)); return 1; From e1a4bf4dd7bf1020c466d0e397b630ee18ee5e4f Mon Sep 17 00:00:00 2001 From: mazmazz Date: Wed, 19 Sep 2018 19:55:22 -0400 Subject: [PATCH 003/245] MP Lua: FadeMusic signed/unsigned comparison fix (buildbots) --- src/lua_baselib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lua_baselib.c b/src/lua_baselib.c index ae746a1b..18c46247 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -2151,7 +2151,7 @@ static int lib_sFadeMusic(lua_State *L) source_volume = (INT32)luaL_checkinteger(L, 2); ms = (UINT32)luaL_checkinteger(L, 3); } - else if (luaL_optinteger(L, 3, UINT32_MAX) == UINT32_MAX) + else if (luaL_optinteger(L, 3, INT32_MAX) == INT32_MAX) { ms = (UINT32)luaL_checkinteger(L, 2); source_volume = -1; From 78fa72514f03a881d559eb757708b2e7d0722841 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 30 Dec 2018 15:08:30 -0500 Subject: [PATCH 004/245] Implement deployer scripts for Travis -- OSX and Linux package building --- .gitignore | 2 + .travis.yml | 448 +++++++++++++++++- CMakeLists.txt | 10 +- assets/.gitignore | 11 +- assets/CMakeLists.txt | 74 ++- .../{debian => debian-template}/README.Debian | 52 +- .../{debian => debian-template}/README.source | 0 assets/debian-template/changelog | 5 + assets/{debian => debian-template}/compat | 0 assets/{debian => debian-template}/control | 8 +- {debian => assets/debian-template}/copyright | 10 +- assets/{debian => debian-template}/rules | 54 ++- .../{debian => debian-template}/source/format | 0 .../source/options | 0 assets/debian/changelog | 19 - {debian => debian-template}/README.Debian | 50 +- {debian => debian-template}/README.source | 0 debian-template/changelog | 5 + {debian => debian-template}/compat | 0 {debian => debian-template}/control | 24 +- {assets/debian => debian-template}/copyright | 10 +- {debian => debian-template}/docs | 0 {debian => debian-template}/rules | 26 +- {debian => debian-template}/source/format | 0 {debian => debian-template}/source/options | 2 +- debian-template/srb2.desktop | 10 + debian/changelog | 12 - debian/srb2.desktop | 10 - debian_template.sh | 166 +++++++ deployer/travis/deployer.sh | 157 ++++++ deployer/travis/deployer_build.sh | 190 ++++++++ deployer/travis/deployer_defaults.sh | 107 +++++ deployer/travis/deployer_dput.sh | 133 ++++++ deployer/travis/deployer_ftp.sh | 137 ++++++ src/sdl/CMakeLists.txt | 13 +- 35 files changed, 1594 insertions(+), 151 deletions(-) rename assets/{debian => debian-template}/README.Debian (59%) rename assets/{debian => debian-template}/README.source (100%) create mode 100644 assets/debian-template/changelog rename assets/{debian => debian-template}/compat (100%) rename assets/{debian => debian-template}/control (84%) rename {debian => assets/debian-template}/copyright (57%) rename assets/{debian => debian-template}/rules (58%) mode change 100755 => 100644 rename assets/{debian => debian-template}/source/format (100%) rename assets/{debian => debian-template}/source/options (100%) delete mode 100644 assets/debian/changelog rename {debian => debian-template}/README.Debian (62%) rename {debian => debian-template}/README.source (100%) create mode 100644 debian-template/changelog rename {debian => debian-template}/compat (100%) rename {debian => debian-template}/control (65%) rename {assets/debian => debian-template}/copyright (57%) rename {debian => debian-template}/docs (100%) rename {debian => debian-template}/rules (87%) mode change 100755 => 100644 rename {debian => debian-template}/source/format (100%) rename {debian => debian-template}/source/options (81%) create mode 100644 debian-template/srb2.desktop delete mode 100644 debian/changelog delete mode 100644 debian/srb2.desktop create mode 100644 debian_template.sh create mode 100644 deployer/travis/deployer.sh create mode 100644 deployer/travis/deployer_build.sh create mode 100644 deployer/travis/deployer_defaults.sh create mode 100644 deployer/travis/deployer_dput.sh create mode 100644 deployer/travis/deployer_ftp.sh diff --git a/.gitignore b/.gitignore index 922fac4a..3090417d 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,5 @@ Win32_LIB_ASM_Release *.db *.opendb /.vs +/debian +/assets/debian diff --git a/.travis.yml b/.travis.yml index 1131bff3..9d577429 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,20 @@ +# Travis-CI Config +# +# You may use the Deployer to upload packages and builds to external servers. +# See deployer/travis/deployer_defaults.sh for environment variables to configure. + language: c sudo: required dist: trusty matrix: include: +################################ +# Test Buildbots +# Deployer does not operate on these. See Deployer Buildbots, below. +# These bots are disabled when a deployment is triggered by 'deployer' branch name AND DPL_TERMINATE_TESTS=1. +# These bots remain enabled when a deployment is triggered by release tag. +################################ - os: linux addons: apt: @@ -15,6 +26,7 @@ matrix: - p7zip-full - gcc-4.4 compiler: gcc-4.4 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #gcc-4.4 (Ubuntu/Linaro 4.4.7-8ubuntu1) 4.4.7 - os: linux addons: @@ -27,6 +39,7 @@ matrix: - p7zip-full - gcc-4.6 compiler: gcc-4.6 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #gcc-4.6 (Ubuntu/Linaro 4.6.4-6ubuntu2) 4.6.4 - os: linux addons: @@ -39,9 +52,11 @@ matrix: - p7zip-full - gcc-4.7 compiler: gcc-4.7 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #gcc-4.7 - os: linux compiler: gcc + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4 - os: linux addons: @@ -56,6 +71,7 @@ matrix: - p7zip-full - gcc-4.8 compiler: gcc-4.8 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 - os: linux addons: @@ -71,6 +87,7 @@ matrix: - gcc-7 compiler: gcc-7 env: WFLAGS="-Wno-tautological-compare -Wno-error=implicit-fallthrough -Wno-implicit-fallthrough" + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #gcc-7 (Ubuntu 7.2.0-1ubuntu1~14.04) 7.2.0 20170802 - os: linux addons: @@ -86,9 +103,11 @@ matrix: - gcc-8 compiler: gcc-8 env: WFLAGS="-Wno-tautological-compare -Wno-error=implicit-fallthrough -Wno-implicit-fallthrough -Wno-error=format-overflow" + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #gcc-8 (Ubuntu 7.2.0-1ubuntu1~14.04) 8.1.0 - os: linux compiler: clang + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #clang version 3.5.0 (tags/RELEASE_350/final) - os: linux addons: @@ -103,6 +122,7 @@ matrix: - p7zip-full - clang-3.5 compiler: clang-3.5 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #Ubuntu clang version 3.5.0-4ubuntu2~trusty2 (tags/RELEASE_350/final) (based on LLVM 3.5.0) - os: linux addons: @@ -118,6 +138,7 @@ matrix: - p7zip-full - clang-3.6 compiler: clang-3.6 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #Ubuntu clang version 3.6.2-svn240577-1~exp1 (branches/release_36) (based on LLVM 3.6.2) - os: linux addons: @@ -133,6 +154,7 @@ matrix: - p7zip-full - clang-3.7 compiler: clang-3.7 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #Ubuntu clang version 3.7.1-svn253571-1~exp1 (branches/release_37) (based on LLVM 3.7.1) - os: linux addons: @@ -148,6 +170,7 @@ matrix: - p7zip-full - clang-3.8 compiler: clang-3.8 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #clang version 3.8.1-svn271127-1~exp1 (branches/release_38) - os: linux addons: @@ -163,6 +186,7 @@ matrix: - p7zip-full - clang-3.9 compiler: clang-3.9 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #clang version 3.9.X # - os: linux # addons: @@ -178,6 +202,7 @@ matrix: # - p7zip-full # - clang-4.0 # compiler: clang-4.0 +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #clang version 4.0.X # - os: linux # addons: @@ -193,32 +218,321 @@ matrix: # - p7zip-full # - clang-5.0 # compiler: clang-5.0 +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #clang version 5.0.X # - os: osx # osx_image: beta-xcode6.1 +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn) # - os: osx # osx_image: beta-xcode6.2 # compiler: gcc +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) ## - os: osx ## osx_image: beta-xcode6.3 +## if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ ## #I think xcode.6.3 VM is broken, it does not boot # - os: osx # osx_image: xcode6.4 +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) # - os: osx # osx_image: xcode7 +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #Apple LLVM version 7.0.0 (clang-700.0.72) # - os: osx # osx_image: xcode7.1 +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #Apple LLVM version 7.0.0 (clang-700.1.76) # - os: osx # osx_image: xcode7.2 +# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ # #Apple LLVM version 7.0.2 (clang-700.1.81) - os: osx osx_image: xcode7.3 + if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/ #Apple LLVM version 7.3.0 (clang-703.0.31) + + +################################ +# Deployer Buildbots - OSX +################################ + - os: osx + osx_image: xcode7.3 + if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + AND env(DPL_TERMINATE_MAIN) != "1" + env: + - _DPL_JOB_ENABLED=1 + - _DPL_JOB_NAME=osx + - _DPL_FTP_TARGET=1 + - _DPL_PACKAGE_BINARY=1 + #Apple LLVM version 7.3.0 (clang-703.0.31) + + +################################ +# Deployer Buildbots - Linux assets +# Set DPL_TERMINATE_ASSETS to disable all of these +# List Ubuntu LTS next, newest to oldest +# Then list non-LTS, newest to oldest +################################ + - os: linux + addons: + apt: + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.8 + compiler: gcc-4.8 + dist: xenial + if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + AND env(DPL_TERMINATE_ASSETS) != "1" + env: + - _DPL_JOB_ENABLED=1 + - _DPL_JOB_NAME=bionic-asset + - _DPL_DPUT_TARGET=1 + - _DPL_PACKAGE_SOURCE=1 + - _DPL_PACKAGE_MAIN=0 + - _DPL_PACKAGE_ASSET=1 + - PACKAGE_DISTRO=bionic + #- PACKAGE_SUBVERSION=~18.04bionic + #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + + ################################ + # The below asset bots produce packages that occupy too much space. + # It would be nice if the asset files were not included in the source package itself, + # so these can deploy to each Ubuntu target without manual intervention. + # + # Currently, to get around Launchpad's space limitation, + # copy the packages from *one* bot and the space usage is not increased. + ################################ + # - os: linux + # addons: + # apt: + # packages: + # - libsdl2-mixer-dev + # - libpng-dev + # - libgl1-mesa-dev + # - libgme-dev + # - p7zip-full + # - gcc-4.8 + # compiler: gcc-4.8 + # dist: trusty + # if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + # AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + # AND env(DPL_TERMINATE_ASSETS) != "1" + # env: + # - _DPL_JOB_ENABLED=1 + # - _DPL_JOB_NAME=trusty-asset + # - _DPL_DPUT_TARGET=1 + # - _DPL_PACKAGE_SOURCE=1 + # - _DPL_PACKAGE_MAIN=0 + # - _DPL_PACKAGE_ASSET=1 + # - PACKAGE_DISTRO=trusty + # #- PACKAGE_SUBVERSION=~14.04trusty + # #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + # - os: linux + # addons: + # apt: + # packages: + # - libsdl2-mixer-dev + # - libpng-dev + # - libgl1-mesa-dev + # - libgme-dev + # - p7zip-full + # - gcc-4.8 + # compiler: gcc-4.8 + # dist: xenial + # if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + # AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + # AND env(DPL_TERMINATE_ASSETS) != "1" + # env: + # - _DPL_JOB_ENABLED=1 + # - _DPL_JOB_NAME=disco-asset + # - _DPL_DPUT_TARGET=1 + # - _DPL_PACKAGE_SOURCE=1 + # - _DPL_PACKAGE_MAIN=0 + # - _DPL_PACKAGE_ASSET=1 + # - PACKAGE_DISTRO=disco + # #- PACKAGE_SUBVERSION=~19.04disco + # #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + # - os: linux + # addons: + # apt: + # packages: + # - libsdl2-mixer-dev + # - libpng-dev + # - libgl1-mesa-dev + # - libgme-dev + # - p7zip-full + # - gcc-4.8 + # compiler: gcc-4.8 + # dist: xenial + # if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + # AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + # AND env(DPL_TERMINATE_ASSETS) != "1" + # env: + # - _DPL_JOB_ENABLED=1 + # - _DPL_JOB_NAME=cosmic-asset + # - _DPL_DPUT_TARGET=1 + # - _DPL_PACKAGE_SOURCE=1 + # - _DPL_PACKAGE_MAIN=0 + # - _DPL_PACKAGE_ASSET=1 + # - PACKAGE_DISTRO=cosmic + # #- PACKAGE_SUBVERSION=~18.10cosmic + # #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + # - os: linux + # addons: + # apt: + # packages: + # - libsdl2-mixer-dev + # - libpng-dev + # - libgl1-mesa-dev + # - libgme-dev + # - p7zip-full + # - gcc-4.8 + # compiler: gcc-4.8 + # dist: xenial + # if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + # AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + # AND env(DPL_TERMINATE_ASSETS) != "1" + # env: + # - _DPL_JOB_ENABLED=1 + # - _DPL_JOB_NAME=xenial-asset + # - _DPL_DPUT_TARGET=1 + # - _DPL_PACKAGE_SOURCE=1 + # - _DPL_PACKAGE_MAIN=0 + # - _DPL_PACKAGE_ASSET=1 + # - PACKAGE_DISTRO=xenial + # #- PACKAGE_SUBVERSION=~16.04xenial + # #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + + +################################ +# Deployer Buildbots - Linux binaries +# List Ubuntu LTS, newest to oldest +# Then list non-LTS, newest to oldest +################################ + - os: linux + addons: + apt: + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.8 + compiler: gcc-4.8 + dist: xenial + if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + AND env(DPL_TERMINATE_MAIN) != "1" + env: + - _DPL_JOB_ENABLED=1 + - _DPL_JOB_NAME=bionic + - _DPL_DPUT_TARGET=1 + - _DPL_PACKAGE_SOURCE=1 + - PACKAGE_DISTRO=bionic + - PACKAGE_SUBVERSION=~18.04bionic + #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + - os: linux + addons: + apt: + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.8 + compiler: gcc-4.8 + dist: trusty + if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + AND env(DPL_TERMINATE_MAIN) != "1" + env: + - _DPL_JOB_ENABLED=1 + - _DPL_JOB_NAME=trusty + - _DPL_DPUT_TARGET=1 + - _DPL_PACKAGE_SOURCE=1 + - PACKAGE_DISTRO=trusty + - PACKAGE_SUBVERSION=~14.04trusty + #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + - os: linux + addons: + apt: + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.8 + compiler: gcc-4.8 + dist: xenial + if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + AND env(DPL_TERMINATE_MAIN) != "1" + env: + - _DPL_JOB_ENABLED=1 + - _DPL_JOB_NAME=disco + - _DPL_DPUT_TARGET=1 + - _DPL_PACKAGE_SOURCE=1 + - PACKAGE_DISTRO=disco + - PACKAGE_SUBVERSION=~19.04disco + #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + - os: linux + addons: + apt: + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.8 + compiler: gcc-4.8 + dist: xenial + if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + AND env(DPL_TERMINATE_MAIN) != "1" + env: + - _DPL_JOB_ENABLED=1 + - _DPL_JOB_NAME=cosmic + - _DPL_DPUT_TARGET=1 + - _DPL_PACKAGE_SOURCE=1 + - PACKAGE_DISTRO=cosmic + - PACKAGE_SUBVERSION=~18.10cosmic + #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + - os: linux + addons: + apt: + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.8 + compiler: gcc-4.8 + dist: xenial + if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1") + AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1")) + AND env(DPL_TERMINATE_MAIN) != "1" + env: + - _DPL_JOB_ENABLED=1 + - _DPL_JOB_NAME=xenial + - _DPL_DPUT_TARGET=1 + - _DPL_PACKAGE_SOURCE=1 + - PACKAGE_DISTRO=xenial + - PACKAGE_SUBVERSION=~16.04xenial + #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 allow_failures: - compiler: clang-3.5 - compiler: clang-3.6 @@ -228,12 +542,14 @@ matrix: - compiler: clang-4.0 - compiler: clang-5.0 + cache: apt: true ccache: true directories: - $HOME/srb2_cache + addons: apt: packages: @@ -241,23 +557,127 @@ addons: - libpng-dev - libgl1-mesa-dev - libgme-dev + - zlib1g-dev - p7zip-full -before_script: - - wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2115-assets-2.7z -O $HOME/srb2_cache/SRB2-v2115-assets-2.7z - - 7z x $HOME/srb2_cache/SRB2-v2115-assets-2.7z -oassets - - mkdir build - - cd build - - export CFLAGS="-Wall -W -Werror $WFLAGS" - - export CCACHE_COMPRESS=true - - cmake .. -DCMAKE_BUILD_TYPE=Release before_install: - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sdl2 sdl2_mixer game-music-emu p7zip; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install cmake||true; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/release/SDL2-2.0.6.dmg; hdiutil attach SDL2-2.0.6.dmg; sudo cp -a /Volumes/SDL2/SDL2.framework /Library/Frameworks/; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.dmg; hdiutil attach SDL2_mixer-2.0.1.dmg; sudo cp -a /Volumes/SDL2_mixer/SDL2_mixer.framework /Library/Frameworks/; fi + # Initialize Deployer defaults + - . ./deployer/travis/deployer_defaults.sh + # Initialize Deployer; check if Deployer is enabled + # This needs to be run in the current shell so that $__DPL_ACTIVE is set for this session + - . ./deployer/travis/deployer.sh + # Also check if we should now terminate + - if [[ "$__DPL_TRY_TERMINATE_EARLY" == "1" ]]; then + if [[ "$__DPL_ACTIVE" != "1" ]]; then + echo "Exiting early because this job is not deploying."; + exit; + fi; + fi + # If we're triggered by release tag, force ASSET_FILES_OPTIONAL_GET=1 + - if [[ "$__DPL_TAG_ELIGIBLE" = "1" ]]; then + ASSET_FILES_OPTIONAL_GET=1; + fi; + + +install: + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + brew update; + brew install sdl2 game-music-emu zlib p7zip; + brew install sdl2_mixer --with-flac --with-mpg123; + brew install cmake||true; + fi - mkdir -p $HOME/srb2_cache -script: make -k + +before_script: + # OLDPWD is root repo folder + - OLDPWD=$PWD + - cd "$HOME/srb2_cache" + + # stat is different for OSX + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + STATCMD="stat -f %m"; + else + STATCMD="stat -c %y"; + fi + + # Get asset files (required for MD5) + - if [[ "$ASSET_ARCHIVE_PATH" != "" ]]; then + if [ -f "$(basename $ASSET_ARCHIVE_PATH)" ]; then + echo "$(basename $ASSET_ARCHIVE_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_PATH))"; + fi; + wget --verbose --server-response -N "$ASSET_ARCHIVE_PATH"; + 7z x "$(basename $ASSET_ARCHIVE_PATH)" -o"$HOME/srb2_cache" -aos; + for f in $ASSET_FILES_REQUIRED; do + cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; + done; + fi; + + # Get individual required files + - for f in $ASSET_FILES_REQUIRED; do + if [ -f "$f" ]; then + echo "$f cache date -- $($STATCMD $f)"; + fi; + wget --verbose --server-response -N "$ASSET_BASE_PATH/$f"; + if [ ! -f "$HOME/srb2_cache/$f" ]; then + echo "Could not download \"$ASSET_BASE_PATH/$f\""; + return 1; + fi; + cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; + done; + + # Get the docs + - for f in $ASSET_FILES_DOCS; do + if [ -f "$f" ]; then + echo "$f cache date -- $($STATCMD $f)"; + fi; + wget --verbose --server-response -N "$ASSET_BASE_PATH/$f"; + cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; + done; + + # Get optional files too + - if [[ "$ASSET_FILES_OPTIONAL_GET" == "1" ]]; then + for f in $ASSET_FILES_OPTIONAL; do + if [ -f "$f" ]; then + echo "$f cache date -- $($STATCMD $f)"; + fi; + wget --verbose --server-response -N "$ASSET_BASE_PATH/$f"; + cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; + done; + fi; + + # Go back to root repo folder + - cd "$OLDPWD" + + # Prepare CMake asset lists + - SRB2_ASSET_REQUIRED=$(echo ${ASSET_FILES_REQUIRED// /\;}) + - SRB2_ASSET_OPTIONAL=$(echo ${ASSET_FILES_OPTIONAL// /\;}) + - SRB2_ASSET_DOCS=$(echo ${ASSET_FILES_DOCS// /\;}) + + # Prepare CMake + - mkdir build + - cd build + - mkdir package + - export CFLAGS="-Wall -W -Werror $WFLAGS" + - export CCACHE_COMPRESS=true + - cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/bin -DCPACK_PACKAGE_DIRECTORY=$PWD/package + -DSRB2_ASSET_REQUIRED="${SRB2_ASSET_REQUIRED}" -DSRB2_ASSET_OPTIONAL="${SRB2_ASSET_OPTIONAL}" + -DSRB2_ASSET_DOCS="${SRB2_ASSET_DOCS}" + -DCPACK_PACKAGE_DESCRIPTION_SUMMARY="${PROGRAM_NAME}" + -DCPACK_PACKAGE_VENDOR="${PROGRAM_VENDOR}" + -DSRB2_SDL2_EXE_NAME="${PROGRAM_FILENAME}" + + +script: + # Build our Makefile from Cmake! + - if [[ "$__DPL_ACTIVE" == "1" ]]; then + . ../deployer/travis/deployer_build.sh; + else + make -k; + fi; + +after_success: + # Run the Deployer scripts + - . ../deployer/travis/deployer_ftp.sh + - . ../deployer/travis/deployer_dput.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index 6eb065d0..bc198e81 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,6 @@ cmake_minimum_required(VERSION 3.0) +# DO NOT CHANGE THIS SRB2 STRING! Some variable names depend on this string. +# Version change is fine. project(SRB2 VERSION 2.1.23 LANGUAGES C) @@ -86,8 +88,8 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") set(CMAKE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") # Set EXE names so the assets CMakeLists can refer to its target -set(SRB2_SDL2_EXE_NAME srb2) -set(SRB2_WIN_EXE_NAME srb2dd) +set(SRB2_SDL2_EXE_NAME srb2 CACHE STRING "Executable binary output name") +set(SRB2_WIN_EXE_NAME srb2dd CACHE STRING "Executable binary output name for DirectDraw build") include_directories(${CMAKE_CURRENT_BINARY_DIR}/src) @@ -116,8 +118,8 @@ if(${CMAKE_SYSTEM} MATCHES "Darwin") set(CPACK_GENERATOR "DragNDrop") endif() -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sonic Robo Blast 2") -set(CPACK_PACKAGE_VENDOR "Sonic Team Jr.") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sonic Robo Blast 2" CACHE STRING "Program name for display purposes") +set(CPACK_PACKAGE_VENDOR "Sonic Team Jr." CACHE STRING "Vendor name for display purposes") #set(CPACK_PACKAGE_DESCRIPTION_FILE ) set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") set(CPACK_PACKAGE_VERSION_MAJOR ${SRB2_VERSION_MAJOR}) diff --git a/assets/.gitignore b/assets/.gitignore index 9ed61ca1..d6e46a75 100644 --- a/assets/.gitignore +++ b/assets/.gitignore @@ -1,5 +1,10 @@ -* -*.* +*.srb +*.pk3 +*.dta +*.wad +*.txt !README.txt !LICENSE.txt -!LICENSE-3RD-PARTY.txt \ No newline at end of file +!LICENSE-3RD-PARTY.txt +!CMakeLists.txt +!debian-template/* diff --git a/assets/CMakeLists.txt b/assets/CMakeLists.txt index 6edb3df1..35e018d4 100644 --- a/assets/CMakeLists.txt +++ b/assets/CMakeLists.txt @@ -1,26 +1,44 @@ ## Assets Target Configuration ## -# MD5 generation -set(SRB2_ASSET_ALL - ${CMAKE_CURRENT_SOURCE_DIR}/srb2.srb - ${CMAKE_CURRENT_SOURCE_DIR}/player.dta - ${CMAKE_CURRENT_SOURCE_DIR}/rings.dta - ${CMAKE_CURRENT_SOURCE_DIR}/zones.dta - ${CMAKE_CURRENT_SOURCE_DIR}/patch.dta - ${CMAKE_CURRENT_SOURCE_DIR}/music.dta - ${CMAKE_CURRENT_SOURCE_DIR}/README.txt - ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt - ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE-3RD-PARTY.txt +# For prepending the current source path, later +FUNCTION(PREPEND var prefix) + SET(listVar "") + FOREACH(f ${ARGN}) + LIST(APPEND listVar "${prefix}/${f}") + ENDFOREACH(f) + SET(${var} "${listVar}" PARENT_SCOPE) +ENDFUNCTION(PREPEND) + +set(SRB2_ASSET_REQUIRED +"srb2.srb;\ +player.dta;\ +rings.dta;\ +zones.dta;\ +patch.dta" + CACHE STRING "Required asset files for packaging. No spaces between entries!" ) -set(SRB2_ASSET_HASHED - srb2.srb - player.dta - rings.dta - zones.dta - patch.dta +set(SRB2_ASSET_DOCS +"README.txt;\ +LICENSE.txt;\ +LICENSE-3RD-PARTY.txt" + CACHE STRING "Documentation files; will not fail if they do not exist. Packaged differently from optional assets. No spaces between entries!" ) +set(SRB2_ASSET_OPTIONAL +"music.dta" + CACHE STRING "Optional asset files. No spaces between entries!" +) + +# MD5 generation - Filename only, we don't append path to this +set(SRB2_ASSET_HASHED + ${SRB2_ASSET_REQUIRED} +) + +PREPEND(SRB2_ASSET_REQUIRED ${CMAKE_CURRENT_SOURCE_DIR} ${SRB2_ASSET_REQUIRED}) +PREPEND(SRB2_ASSET_DOCS ${CMAKE_CURRENT_SOURCE_DIR} ${SRB2_ASSET_DOCS}) +PREPEND(SRB2_ASSET_OPTIONAL ${CMAKE_CURRENT_SOURCE_DIR} ${SRB2_ASSET_OPTIONAL}) + foreach(SRB2_ASSET ${SRB2_ASSET_HASHED}) file(MD5 ${CMAKE_CURRENT_SOURCE_DIR}/${SRB2_ASSET} "SRB2_ASSET_${SRB2_ASSET}_HASH") set(SRB2_ASSET_${SRB2_ASSET}_HASH ${SRB2_ASSET_${SRB2_ASSET}_HASH} PARENT_SCOPE) @@ -28,13 +46,29 @@ endforeach() # Installation -if(CLANG) +if(${CMAKE_SYSTEM} MATCHES Darwin) get_target_property(outname SRB2SDL2 OUTPUT_NAME) - install(FILES ${SRB2_ASSET_ALL} + install(FILES ${SRB2_ASSET_REQUIRED} DESTINATION "${outname}.app/Contents/Resources" ) + install(FILES ${SRB2_ASSET_OPTIONAL} + DESTINATION "${outname}.app/Contents/Resources" + OPTIONAL + ) + install(FILES ${SRB2_ASSET_DOCS} + DESTINATION . + OPTIONAL + ) else() - install(FILES ${SRB2_ASSET_ALL} + install(FILES ${SRB2_ASSET_REQUIRED} DESTINATION . ) + install(FILES ${SRB2_ASSET_OPTIONAL} + DESTINATION . + OPTIONAL + ) + install(FILES ${SRB2_ASSET_DOCS} + DESTINATION . + OPTIONAL + ) endif() diff --git a/assets/debian/README.Debian b/assets/debian-template/README.Debian similarity index 59% rename from assets/debian/README.Debian rename to assets/debian-template/README.Debian index 68c952a4..f3fe9003 100644 --- a/assets/debian/README.Debian +++ b/assets/debian-template/README.Debian @@ -12,9 +12,39 @@ with apt-key add. Thanks! -- Callum Dickinson Fri, 26 Nov 2010 18:25:31 +1300 +--------------- + + +Templating + +Note that you MUST run [repo-root]/debian_template.sh before running debuild +on these scripts! debian_template.sh fills these template files with working values. + +You should also set PACKAGE_NAME_EMAIL="John Doe " to match +the identity of the key you will use to sign the package. + + +Building for Launchpad PPA + +Run this step first: + + 1. source [repo-root]/debian_template.sh + * Initializes defaults for the package variables and fills in templates. + +Use these steps to prepare building a source package for Launchpad: + + 1. cd [repo-root]/assets/ + 2. debuild -T clean-all (optional; if you already have asset files, this clears them) + +Build the source package: + + 1. debuild -T build (this downloads the asset files from srb2.org if necessary) + 2. debuild -S (builds the source package for Launchpad, including the asset files) + + Signing for Launchpad PPA -First, follow the above instructions to generate a GnuPG key with your identity. You will need +First, follow Callum's instructions to generate a GnuPG key with your identity. You will need to publish the fingerprint of that key to Ubuntu's key server. https://help.ubuntu.com/community/GnuPrivacyGuardHowto#Uploading_the_key_to_Ubuntu_keyserver @@ -26,22 +56,18 @@ upload signed source packages and publish them onto your PPA. IF YOU UPLOAD A PACKAGE and Launchpad does NOT send you a confirmation or rejection email, that means your key is not set up correctly with your Launchpad account. +Finally, if your packages have not already been signed, follow these steps: -Building for Launchpad PPA + 1. cd .. + * Packages are located in the parent folder of where debuild was called + 2. debsign "srb2-data_[version]_source.changes" + * You may need to specify -k [key-fingerprint] -Use these steps to prepare building a source package for Launchpad: - 1. Highly recommend copying the assets/ folder to outside your repo folder, or else the asset - files may be included in the main source package, when you build that. - 2. cd [wherever-your-assets-folder-is]/assets/ - 3. debuild -T clean (optional, if you already have asset files) +Uploading for Launchpad PPA -Building the source package is a two-step process: - - 1. debuild -T build (this downloads the asset files from srb2.org if necessary) - 2. debuild -S (builds the source package for Launchpad, including the asset files) - -Then follow the instructions at to upload +Follow the instructions at to upload to your PPA and have Launchpad build your binary deb packages. + -- Marco Zafra Mon, 26 Nov 2018 21:13:00 -0500 diff --git a/assets/debian/README.source b/assets/debian-template/README.source similarity index 100% rename from assets/debian/README.source rename to assets/debian-template/README.source diff --git a/assets/debian-template/changelog b/assets/debian-template/changelog new file mode 100644 index 00000000..64562e2a --- /dev/null +++ b/assets/debian-template/changelog @@ -0,0 +1,5 @@ +${PACKAGE_NAME}-data (${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}) ${PACKAGE_DISTRO}; urgency=${PACKAGE_URGENCY} + + * ${PROGRAM_NAME} v${PROGRAM_VERSION} asset data + + -- ${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME} diff --git a/assets/debian/compat b/assets/debian-template/compat similarity index 100% rename from assets/debian/compat rename to assets/debian-template/compat diff --git a/assets/debian/control b/assets/debian-template/control similarity index 84% rename from assets/debian/control rename to assets/debian-template/control index 22d9643e..ae5c0ce6 100644 --- a/assets/debian/control +++ b/assets/debian-template/control @@ -1,15 +1,15 @@ # SRB2-data Debian package control file. -Source: srb2-data +Source: ${PACKAGE_NAME}-data Section: games Priority: extra -Maintainer: Sonic Team Junior +Maintainer: ${PACKAGE_GROUP_NAME_EMAIL} Build-Depends: debhelper (>= 7.0.50~), wget Standards-Version: 3.8.4 -Homepage: http://www.srb2.org +Homepage: ${PACKAGE_WEBSITE} -Package: srb2-data +Package: ${PACKAGE_NAME}-data Architecture: all Description: A cross-platform 3D Sonic fangame Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog diff --git a/debian/copyright b/assets/debian-template/copyright similarity index 57% rename from debian/copyright rename to assets/debian-template/copyright index 97d606b0..cc47c453 100644 --- a/debian/copyright +++ b/assets/debian-template/copyright @@ -1,18 +1,18 @@ This work was packaged for Debian by: - Marco Zafra Mon, 26 Nov 2018 14:31:00 -0500 + ${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME} It was downloaded from: - + ${PACKAGE_WEBSITE} Upstream Author(s): - Sonic Team Junior + ${PACKAGE_GROUP_NAME_EMAIL} Copyright: - Copyright (C) 1998-2018 Sonic Team Junior + Copyright (C) 1998-2018 by Sonic Team Junior License: @@ -21,7 +21,7 @@ License: The Debian packaging is: Copyright (C) 2010 Callum Dickinson - Copyright (C) 2010-2018 Sonic Team Junior + Copyright (C) 2010-2018 by Sonic Team Junior and is licensed under the GPL version 2, see "/usr/share/common-licenses/GPL-2". diff --git a/assets/debian/rules b/assets/debian-template/rules old mode 100755 new mode 100644 similarity index 58% rename from assets/debian/rules rename to assets/debian-template/rules index a34a3393..99a4eaf3 --- a/assets/debian/rules +++ b/assets/debian-template/rules @@ -23,6 +23,16 @@ # ############################################################################# +############################################################################# +# +# !!!!!!!!!! DEPLOYER NOTE !!!!!!!!!! +# +# Variables to be templated are curly-braced ${PACKAGE_INSTALL_PATH} +# Variables used by the rules script are parenthese'd $(DATADIR) +# See [repo-root]/debian_template.sh +# +############################################################################# + # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 @@ -37,9 +47,12 @@ RM := rm -rf DIR := $(shell pwd) PACKAGE := $(shell cat $(DIR)/debian/control | grep 'Package:' | sed -e 's/Package: //g') -DATAFILES := srb2.srb zones.dta player.dta rings.dta music.dta patch.dta README.txt LICENSE.txt LICENSE-3RD-PARTY.txt +DATAFILES := ${ASSET_FILES_REQUIRED} +DOCFILES := ${ASSET_FILES_DOCS} +OPTIONALFILES := ${ASSET_FILES_OPTIONAL} +GETOPTIONALFILES := ${ASSET_FILES_OPTIONAL_GET} -DATADIR := usr/games/SRB2 +DATADIR := $(shell echo "${PACKAGE_INSTALL_PATH}" | sed -e 's/^\///') RESOURCEDIR := . WGET := wget -P $(RESOURCEDIR) -c -nc @@ -49,18 +62,41 @@ build: # This will need to be updated every time SRB2 official version is # Copy data files to their install locations, and add data files to include-binaries for file in $(DATAFILES); do \ - if [ ! -f $(RESOURCEDIR)/$$file ]; then \ - $(WGET) http://alam.srb2.org/SRB2/2.1.21-Final/Resources/$$file; \ + if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ + $(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \ fi; \ - if [ -f $(RESOURCEDIR)/$$file ]; then \ - $(INSTALL) $(RESOURCEDIR)/$$file $(DIR)/debian/tmp/$(DATADIR)/$$file; \ - echo $(RESOURCEDIR)/$$file >> $(DIR)/debian/source/include-binaries; \ + if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ + $(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \ + echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \ fi; \ - if [ ! -f $(DIR)/debian/tmp/$(DATADIR)/$$file ]; then \ - echo $(DIR)/debian/tmp/$(DATADIR)/$$file not found and could not be downloaded!; \ + if [ ! -f $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR} ]; then \ + echo $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR} not found and could not be downloaded!; \ return 1; \ fi; \ done + # Do the same for DOCFILES, but don't error out if not found + for file in $(DOCFILES); do \ + if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ + $(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \ + fi; \ + if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ + $(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \ + echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \ + fi; \ + done + # Do the same for OPTIONALFILES if GETOPTIONALFILES == 1 + if [ "$(GETOPTIONALFILES)" = "1" ]; then \ + for file in $(OPTIONALFILES); do \ + if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ + $(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \ + fi; \ + if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ + $(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \ + echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \ + fi; \ + done; \ + fi; + binary-indep: # Generate install folder file diff --git a/assets/debian/source/format b/assets/debian-template/source/format similarity index 100% rename from assets/debian/source/format rename to assets/debian-template/source/format diff --git a/assets/debian/source/options b/assets/debian-template/source/options similarity index 100% rename from assets/debian/source/options rename to assets/debian-template/source/options diff --git a/assets/debian/changelog b/assets/debian/changelog deleted file mode 100644 index f3a92e1c..00000000 --- a/assets/debian/changelog +++ /dev/null @@ -1,19 +0,0 @@ -srb2-data (2.1.21~7) trusty; urgency=high - - * Updated for SRB2 v2.1.21 - - -- Marco Zafra Mon, 26 Nov 2018 14:31:00 -0500 - - -srb2-data (2.1.14~1) unstable; urgency=low - - * Updated for SRB2 v2.1.14 - - -- Alam Arias Sat, 6 Jan 2016 11:00:00 -0500 - - -srb2-data (2.0.6-2) maverick; urgency=high - - * Initial proper release.. - - -- Callum Dickinson Sat, 29 Jan 2011 01:18:42 +1300 diff --git a/debian/README.Debian b/debian-template/README.Debian similarity index 62% rename from debian/README.Debian rename to debian-template/README.Debian index 4b724816..3aa52787 100644 --- a/debian/README.Debian +++ b/debian-template/README.Debian @@ -10,10 +10,38 @@ and give them to your users to install with apt-key add. Thanks! -- Callum Dickinson Fri, 26 Nov 2010 18:25:31 +1300 +--------------- + + +Templating + +Note that you MUST run [repo-root]/debian_template.sh before running debuild +on these scripts! debian_template.sh fills these template files with working values. + +You should also set PACKAGE_NAME_EMAIL="John Doe " to match +the identity of the key you will use to sign the package. + + +Building for Launchpad PPA + +Use these steps to prepare building a source package for Launchpad: + + 1. cd [repo-root] + 2. git reset --hard; git clean -fd; git clean -fx; + * Resets your repo folder to a committed state and removes untracked files + * If you built srb2-data in the assets/ folder, MAKE SURE THAT FOLDER DOES NOT HAVE ASSETS, + OR THEY MAY BE INCLUDED IN THE MAIN SOURCE PACKAGE! + +Build the source package: + + 1. source [repo-root]/debian_template.sh + * Initializes defaults for the package variables and fills in templates. + 2. debuild -S (builds the source package for Launchpad) + Signing for Launchpad PPA -First, follow the above instructions to generate a GnuPG key with your identity. You will need +First, follow Callum's instructions to generate a GnuPG key with your identity. You will need to publish the fingerprint of that key to Ubuntu's key server. https://help.ubuntu.com/community/GnuPrivacyGuardHowto#Uploading_the_key_to_Ubuntu_keyserver @@ -25,22 +53,18 @@ upload signed source packages and publish them onto your PPA. IF YOU UPLOAD A PACKAGE and Launchpad does NOT send you a confirmation or rejection email, that means your key is not set up correctly with your Launchpad account. +Finally, if your packages have not already been signed, follow these steps: -Building for Launchpad PPA + 1. cd .. + * Packages are located in the parent folder of where debuild was called + 2. debsign "srb2_[version]_source.changes" + * You may need to specify -k [key-fingerprint] -Use these steps to prepare building a source package for Launchpad: - 1. cd [srb2repo] - 2. git reset --hard; git clean -fd; git clean -fx; - * Resets your repo folder to a committed state and removes untracked files - * If you built srb2-data in the assets/ folder, MAKE SURE THAT FOLDER DOES NOT HAVE ASSETS, - OR THEY MAY BE INCLUDED IN THE MAIN SOURCE PACKAGE! +Uploading for Launchpad PPA -Building the source package takes just one step: - - 1. debuild -S (builds the source package for Launchpad) - -Then follow the instructions at to upload +Follow the instructions at to upload to your PPA and have Launchpad build your binary deb packages. + -- Marco Zafra Mon, 26 Nov 2018 21:13:00 -0500 diff --git a/debian/README.source b/debian-template/README.source similarity index 100% rename from debian/README.source rename to debian-template/README.source diff --git a/debian-template/changelog b/debian-template/changelog new file mode 100644 index 00000000..fb08908c --- /dev/null +++ b/debian-template/changelog @@ -0,0 +1,5 @@ +${PACKAGE_NAME} (${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}) ${PACKAGE_DISTRO}; urgency=${PACKAGE_URGENCY} + + * ${PROGRAM_NAME} v${PROGRAM_VERSION} program build + + -- ${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME} diff --git a/debian/compat b/debian-template/compat similarity index 100% rename from debian/compat rename to debian-template/compat diff --git a/debian/control b/debian-template/control similarity index 65% rename from debian/control rename to debian-template/control index 0f2d8062..e1348d70 100644 --- a/debian/control +++ b/debian-template/control @@ -1,24 +1,30 @@ # SRB2 Debian package control file. -Source: srb2 +Source: ${PACKAGE_NAME} Section: games Priority: extra -Maintainer: Sonic Team Junior +Maintainer: ${PACKAGE_GROUP_NAME_EMAIL} Build-Depends: debhelper (>= 7.0.50~), libsdl2-dev, libsdl2-mixer-dev, - libpng12-dev (>= 1.2.7) | libpng-dev, + libpng-dev | libpng16-dev | libpng12-dev (>= 1.2.7), zlib1g-dev, libgme-dev, libglu1-dev | libglu-dev, libosmesa6-dev | libgl-dev, nasm [i386] Standards-Version: 3.8.4 -Homepage: http://www.srb2.org +Homepage: ${PACKAGE_WEBSITE} -Package: srb2 +Package: ${PACKAGE_NAME} Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, srb2-data (>= 2.1.15), srb2-data (<= 2.1.23) +Depends: ${SHLIBS_DEPENDS}, ${MISC_DEPENDS}, + ${PACKAGE_NAME}-data (>> ${PACKAGE_ASSET_MINVERSION}), ${PACKAGE_NAME}-data (<< ${PACKAGE_ASSET_MAXVERSION}), + libsdl2-2.0-0, + libsdl2-mixer-2.0-0, + zlib1g, + libgme0, + libpng | libpng16-16 | libpng12-0 Description: A cross-platform 3D Sonic fangame Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog fangame built using a modified version of the Doom Legacy @@ -28,10 +34,10 @@ Description: A cross-platform 3D Sonic fangame and quite a lot of the fun that the original Sonic games provided. -Package: srb2-dbg +Package: ${PACKAGE_NAME}-dbg Architecture: any -# FIXME: should be Depends: ${shlibs:Depends}, ${misc:Depends}, srb2-data (= 2.1.14), srb2 but dh_shlibdeps is being an asshat -Depends: libc6, ${misc:Depends}, srb2-data (>= 2.1.15), srb2-data (<= 2.1.23), srb2 +# FIXME: should be Depends: ${SHLIBS_DEPENDS}, ${MISC_DEPENDS}, srb2-data (= 2.1.14), srb2 but dh_shlibdeps is being an asshat +Depends: libc6, ${MISC_DEPENDS}, ${PACKAGE_NAME}-data (>> ${PACKAGE_ASSET_MINVERSION}), ${PACKAGE_NAME}-data (<< ${PACKAGE_ASSET_MAXVERSION}), ${PACKAGE_NAME} Description: A cross-platform 3D Sonic fangame Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog fangame built using a modified version of the Doom Legacy diff --git a/assets/debian/copyright b/debian-template/copyright similarity index 57% rename from assets/debian/copyright rename to debian-template/copyright index 97d606b0..cc47c453 100644 --- a/assets/debian/copyright +++ b/debian-template/copyright @@ -1,18 +1,18 @@ This work was packaged for Debian by: - Marco Zafra Mon, 26 Nov 2018 14:31:00 -0500 + ${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME} It was downloaded from: - + ${PACKAGE_WEBSITE} Upstream Author(s): - Sonic Team Junior + ${PACKAGE_GROUP_NAME_EMAIL} Copyright: - Copyright (C) 1998-2018 Sonic Team Junior + Copyright (C) 1998-2018 by Sonic Team Junior License: @@ -21,7 +21,7 @@ License: The Debian packaging is: Copyright (C) 2010 Callum Dickinson - Copyright (C) 2010-2018 Sonic Team Junior + Copyright (C) 2010-2018 by Sonic Team Junior and is licensed under the GPL version 2, see "/usr/share/common-licenses/GPL-2". diff --git a/debian/docs b/debian-template/docs similarity index 100% rename from debian/docs rename to debian-template/docs diff --git a/debian/rules b/debian-template/rules old mode 100755 new mode 100644 similarity index 87% rename from debian/rules rename to debian-template/rules index ff80d50b..0a77624c --- a/debian/rules +++ b/debian-template/rules @@ -23,6 +23,16 @@ # ############################################################################# +############################################################################# +# +# !!!!!!!!!! DEPLOYER NOTE !!!!!!!!!! +# +# Variables to be templated are curly-braced ${PACKAGE_INSTALL_PATH} +# Variables used by the rules script are parenthese'd $(PKGDIR) +# See [repo-root]/debian_template.sh +# +############################################################################# + # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 @@ -50,16 +60,16 @@ DIR := $(shell pwd) # FIXME: hate hate hate head/tail hack :( CONTROLF = $(DIR)/debian/control -PACKAGE = srb2 -DBGPKG = $(PACKAGE)-dbg -TITLE = Sonic Robo Blast 2 +PACKAGE = ${PACKAGE_NAME} +DBGPKG = ${PACKAGE}-dbg +TITLE = ${PROGRAM_NAME} SECTION = Games/Action -EXENAME = srb2 +EXENAME = ${PROGRAM_FILENAME} DBGNAME = debug/$(EXENAME) -PKGDIR = usr/games/SRB2 +PKGDIR = $(shell echo "${PACKAGE_INSTALL_PATH}" | sed -e 's/^\///') DBGDIR = usr/lib/debug/$(PKGDIR) -LINKDIR = usr/games +LINKDIR = $(shell echo "${PACKAGE_LINK_PATH}" | sed -e 's/^\///') PIXMAPS_DIR = usr/share/pixmaps DESKTOP_DIR = usr/share/applications PREFIX = $(shell test "$(CROSS_COMPILE_BUILD)" != "$(CROSS_COMPILE_HOST)" && echo "PREFIX=$(CROSS_COMPILE_HOST)") @@ -102,8 +112,8 @@ binary-arch: $(INSTALL) $(BINDIR)/$(EXENAME) $(DIR)/debian/tmp/$(PKGDIR)/$(PACKAGE) $(INSTALL) $(BINDIR)/$(DBGNAME) $(DIR)/debian/tmp/$(DBGDIR)/$(PACKAGE) # Install desktop file and banner image - $(INSTALL) $(DIR)/srb2.png $(DIR)/debian/tmp/usr/share/pixmaps - $(INSTALL) $(DIR)/debian/srb2.desktop $(DIR)/debian/tmp/usr/share/applications + $(INSTALL) $(DIR)/srb2.png $(DIR)/debian/tmp/usr/share/pixmaps/${PROGRAM_FILENAME}.png + $(INSTALL) $(DIR)/debian/srb2.desktop $(DIR)/debian/tmp/usr/share/applications/${PROGRAM_FILENAME}.desktop # add compiled binaries to include-binaries echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries diff --git a/debian/source/format b/debian-template/source/format similarity index 100% rename from debian/source/format rename to debian-template/source/format diff --git a/debian/source/options b/debian-template/source/options similarity index 81% rename from debian/source/options rename to debian-template/source/options index 841c65a6..1ef771dd 100644 --- a/debian/source/options +++ b/debian-template/source/options @@ -2,7 +2,7 @@ tar-ignore = "assets/*.srb" tar-ignore = "assets/*.pk3" tar-ignore = "assets/*.dta" tar-ignore = "assets/*.wad" -tar-ignore = "assets/debian/srb2-data/*" +tar-ignore = "assets/debian/${PACKAGE_NAME}-data/*" tar-ignore = "assets/debian/tmp/*" tar-ignore = "*.obj" tar-ignore = "*.dep" diff --git a/debian-template/srb2.desktop b/debian-template/srb2.desktop new file mode 100644 index 00000000..07c7906e --- /dev/null +++ b/debian-template/srb2.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=${PROGRAM_NAME} +Comment=${PROGRAM_DESCRIPTION} +Encoding=UTF-8 +Exec=${PACKAGE_INSTALL_PATH}/${PROGRAM_FILENAME} +Icon=/usr/share/pixmaps/${PROGRAM_FILENAME}.png +Terminal=false +Type=Application +StartupNotify=false +Categories=Application;Game; diff --git a/debian/changelog b/debian/changelog deleted file mode 100644 index b06a78e2..00000000 --- a/debian/changelog +++ /dev/null @@ -1,12 +0,0 @@ -srb2 (2.1.23~9) trusty; urgency=high - - * SRB2 v2.1.23 release - - -- Marco Zafra Mon, 27 Nov 2018 16:45:00 -0500 - - -srb2 (2.0.6-5) maverick; urgency=high - - * Initial proper release.. - - -- Callum Dickinson Sat, 29 Jan 2011 01:18:42 +1300 diff --git a/debian/srb2.desktop b/debian/srb2.desktop deleted file mode 100644 index 3a1cac9f..00000000 --- a/debian/srb2.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=Sonic Robo Blast 2 -Comment=A free 3D Sonic the Hedgehog fangame closely inspired by the original Sonic games on the Sega Genesis. -Encoding=UTF-8 -Exec=/usr/games/SRB2/srb2 -Icon=/usr/share/pixmaps/srb2.png -Terminal=false -Type=Application -StartupNotify=false -Categories=Application;Game; diff --git a/debian_template.sh b/debian_template.sh new file mode 100644 index 00000000..c1af3c19 --- /dev/null +++ b/debian_template.sh @@ -0,0 +1,166 @@ +#!/bin/bash + +# Deployer for Travis-CI +# Debian package templating +# +# Call this script BEFORE running debuild! +# source ./debian_template.sh [clean] [main/asset] +# +# Before running this script, +# you should also set PACKAGE_NAME_EMAIL="John Doe " to match +# the identity of the key you will use to sign the package. +# + +# Get script's actual path +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" + +# Recursive function for directory crawling +# $1 = Directory root to crawl +# $2 = Code to eval on file +# $3 = Code to eval on directory +# Exposes $dirtails, $dirlevel, and $dirtailname +dirlevel=0 # initialize +dirtails=() + +# Utility function to make dira/dirb/dirc string +makedirtailname () { + dirtailname="" + for tail in $dirtails; do + if [[ "$dirtailname" == "" ]]; then + dirtailname="/$tail"; + else + dirtailname="$dirtailname/$tail"; + fi; + done; +} + +evaldirectory () { + if [ -d "$1" ]; then + # Set contextual variables + # dirtails is an array of directory basenames after the crawl root + if (( $dirlevel > 0 )); then + dirtails+=( "$(basename $1)" ); + else + dirtails=(); + fi; + dirlevel=$((dirlevel+1)); + + # Generate directory path after the crawl root + makedirtailname; + + # Eval our directory with the latest contextual info + # Don't eval on root + if (( $dirlevel > 1 )) && [[ "$3" != "" ]]; then + eval "$3"; + fi; + + # Iterate entries + for name in $1/*; do + if [ -d "$name" ]; then + # Name is a directory, but don't eval yet + # Recurse so our vars are updated + evaldirectory "$name" "$2" "$3"; + + # Decrement our directory level and remove a dirtail + unset 'dirtails[ ${#dirtails[@]}-1 ]'; + dirlevel=$((dirlevel-1)); + makedirtailname; + else + # Name is a file + if [ -f "$name" ] && [[ "$2" != "" ]]; then + eval "$2"; + fi; + fi; + done; + + # Reset our variables; we're done iterating + if (( $dirlevel == 1 )); then + dirlevel=0; + fi; + fi; +} + +# +# Initialize package parameter defaults +# +if [[ "$__DEBIAN_PARAMETERS_INITIALIZED" != "1" ]]; then + . ${DIR}/deployer/travis/deployer_defaults.sh; +fi; + +# Clean up after ourselves; we only expect to run this script once +# during buildboting +__DEBIAN_PARAMETERS_INITIALIZED=0 + +# for envsubst +export __PACKAGE_DATETIME="$(date '+%a, %d %b %Y %H:%M:%S %z')" +export __PACKAGE_DATETIME_DIGIT="$(date -u '+%Y%m%d%H%M%S')" + +if [[ "$PACKAGE_REVISION" == "" ]]; then + PACKAGE_REVISION="-$__PACKAGE_DATETIME_DIGIT"; + __PACKAGE_REVISION_BY_DATE=1; + export PACKAGE_REVISION=${PACKAGE_REVISION}; # for envsubst +fi; + +# +# Clean the old debian/ directories +# +if [[ "$1" == "clean" ]]; then + toclean=$2; +else + toclean=$1; +fi; + +if [[ "$toclean" == "" ]] || [[ "$toclean" == "main" ]]; then + echo "Cleaning main package scripts"; + if [[ ! -f ${DIR}/debian ]]; then + rm -rf ${DIR}/debian; + fi; +fi; +if [[ "$toclean" == "" ]] || [[ "$toclean" == "asset" ]]; then + echo "Cleaning asset package scripts"; + if [[ ! -f ${DIR}/assets/debian ]]; then + rm -rf ${DIR}/assets/debian; + fi; +fi; + +# +# Make new templates +# +if [[ "$1" != "clean" ]]; then + totemplate=$1; + + # HACK: ${shlibs:Depends} in the templates make the templating fail + # So just define replacemment variables + export SHLIBS_DEPENDS=${SHLIBS_DEPENDS}; + export MISC_DEPENDS=${MISC_DEPENDS}; + export DEBFILEVAR='$$file'; # used in assets/debian/rules + + # Package parameters are exported for envsubst in deployer_defaults.sh + + if [[ "$totemplate" == "" ]] || [[ "$totemplate" == "main" ]]; then + echo "Generating main package scripts"; + fromroot=${DIR}/debian-template; + toroot=${DIR}/debian; + mkdir ${toroot}; + + evaldirectory ${fromroot} \ + "cat \$name | envsubst > ${toroot}\${dirtailname}/\$( basename \$name )" \ + "mkdir \"${toroot}\${dirtailname}\""; + fi; + + if [[ "$totemplate" == "" ]] || [[ "$totemplate" == "asset" ]]; then + echo "Generating asset package scripts"; + fromroot=${DIR}/assets/debian-template; + toroot=${DIR}/assets/debian; + mkdir ${toroot}; + + # Root dir to crawl; file eval; directory eval + evaldirectory ${fromroot} \ + "cat \$name | envsubst > ${toroot}\${dirtailname}/\$( basename \$name )" \ + "mkdir \"${toroot}\${dirtailname}\""; + fi; +fi; + +if [[ "$__DPL_ACTIVE" != "1" ]] && [[ "$__PACKAGE_REVISION_BY_DATE" == "1" ]]; then + unset PACKAGE_REVISION; # so we can reset the date on subsequent runs +fi; diff --git a/deployer/travis/deployer.sh b/deployer/travis/deployer.sh new file mode 100644 index 00000000..c88155d2 --- /dev/null +++ b/deployer/travis/deployer.sh @@ -0,0 +1,157 @@ +#!/bin/bash + +# Deployer for Travis-CI +# Initialization +# +# Performs validity checks to ensure that Deployer is allowed to run +# e.g., is an FTP hostname specified? Are we whitelisted by OSNAMES and BRANCHES? +# +# Set these environment variables in your Travis-CI settings, where they are stored securely. +# See other shell scripts for more options. +# +# DPL_ENABLED = 1 (leave blank to disable) +# DPL_TAG_ENABLED = 1 (run Deployer on all tags) +# DPL_JOB_ENABLE_ALL = 1 (run Deployer on all jobs; leave blank to act on specific jobs, see below) +# DPL_JOBNAMES = name1,name2 (whitelist of job names to allow uploading; leave blank to upload from all jobs) +# DPL_OSNAMES = osx (whitelist of OS names to allow uploading; leave blank to upload from all OSes) +# DPL_BRANCHES = master,branch1,branch2 (whitelist of branches to upload; leave blank to upload all branches) +# +# To enable Deployer on specific jobs, set _DPL_JOB_ENABLED=1 for that job. Example: +# - matrix: +# - os: osx +# env: +# - _DPL_JOB_ENABLED=1 +# +# DO NOT set __DPL_ACTIVE, because that would bypass these validity checks. + +# Validate Deployer state +if [[ "$DPL_ENABLED" == "1" ]] && [[ "$TRAVIS_PULL_REQUEST" == "false" ]]; then + # Test for base eligibility: + # Are we in a deployer branch? Or + # Are we in a release tag AND DPL_TAG_ENABLED=1? + if [[ $TRAVIS_BRANCH == *"deployer"* ]]; then + __DPL_BASE_ELIGIBLE=1; + __DPL_TERMINATE_EARLY_ELIGIBLE=1; + fi; + + if [[ "$TRAVIS_TAG" != "" ]] && [[ "$DPL_TAG_ENABLED" == "1" ]]; then + __DPL_BASE_ELIGIBLE=1; + __DPL_TAG_ELIGIBLE=1; + __DPL_TERMINATE_EARLY_ELIGIBLE=1; + fi; + + # Logging message for trigger word + if [[ "$__DPL_TAG_ELIGIBLE" != "1" ]] && [[ "$DPL_TRIGGER" != "" ]]; then + echo "Testing for trigger $DPL_TRIGGER, commit message: $TRAVIS_COMMIT_MESSAGE"; + echo "[${DPL_TRIGGER}]"; + echo "[${DPL_TRIGGER}-${_DPL_JOB_NAME}]"; + echo "[${DPL_TRIGGER}-${TRAVIS_OS_NAME}]"; + fi; + + # + # Search for the trigger word + # Force enable if release tags are eligible + # + if [[ "$__DPL_TAG_ELIGIBLE" == "1" ]] || [[ "$DPL_TRIGGER" == "" ]] \ + || [[ $TRAVIS_COMMIT_MESSAGE == *"[$DPL_TRIGGER]"* ]] \ + || [[ $TRAVIS_COMMIT_MESSAGE == *"[${DPL_TRIGGER}-${_DPL_JOB_NAME}]"* ]] \ + || [[ $TRAVIS_COMMIT_MESSAGE == *"[${DPL_TRIGGER}-${TRAVIS_OS_NAME}]"* ]]; then + # + # Whitelist by branch name + # Force enable if release tags are eligible + # + if [[ "$__DPL_TAG_ELIGIBLE" == "1" ]] || [[ "$DPL_BRANCHES" == "" ]] || [[ $DPL_BRANCHES == *"$TRAVIS_BRANCH"* ]]; then + # Set this so we only early-terminate builds when we are specifically deploying + # Trigger string and branch are encompassing conditions; the rest are job-specific + # This check only matters for deployer branches and when DPL_TERMINATE_TESTS=1, + # because we're filtering non-deployer jobs. + # + # __DPL_TRY_TERMINATE_EARLY is invalidated in .travis.yml if __DPL_ACTIVE=1 + if [[ "$__DPL_TERMINATE_EARLY_ELIGIBLE" == "1" ]] && [[ "$DPL_TERMINATE_TESTS" == "1" ]]; then + __DPL_TRY_TERMINATE_EARLY=1; + fi; + + # + # Is the job enabled for deployment? + # + if [[ "$DPL_JOB_ENABLE_ALL" == "1" ]] || [[ "$_DPL_JOB_ENABLED" == "1" ]]; then + # + # Whitelist by job names + # + if [[ "$DPL_JOBNAMES" == "" ]] || [[ "$_DPL_JOB_NAME" == "" ]] || [[ $DPL_JOBNAMES == *"$_DPL_JOB_NAME"* ]]; then + # + # Whitelist by OS names + # + if [[ "$DPL_OSNAMES" == "" ]] || [[ $DPL_OSNAMES == *"$TRAVIS_OS_NAME"* ]]; then + # Base Deployer is eligible for becoming active + + # Are we building for Linux? + if [[ "$_DPL_PACKAGE_BINARY" == "1" ]] || [[ "$_DPL_PACKAGE_SOURCE" == "1" ]]; then + if [[ "$_DPL_PACKAGE_MAIN" == "1" ]] || [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then + if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then + __DPL_DEBIAN_ACTIVE=1; + fi; + fi; + fi; + + # Now check for deployment targets + if [[ "$_DPL_FTP_TARGET" == "1" ]] && [[ "$DPL_FTP_HOSTNAME" != "" ]]; then + if [[ "$TRAVIS_OS_HOST" == "linux" ]] && [[ "$DPL_FTP_PROTOCOL" == "ftp" ]]; then + echo "Non-secure FTP will not work on Linux Travis-CI jobs!"; + echo "Try SFTP or another target. Details:"; + echo "https://blog.travis-ci.com/2018-07-23-the-tale-of-ftp-at-travis-ci"; + else + if [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]] || [[ "$_DPL_PACKAGE_BINARY" == "1" ]] || [[ "$_DPL_BINARY" == "1" ]]; then + echo "Deployer FTP target is enabled"; + __DPL_FTP_ACTIVE=1; + else + echo "Deployer FTP target cannot be enabled: You must specify _DPL_PACKAGE_BINARY=1,"; + echo "and/or _DPL_BINARY=1 in your job's environment variables."; + fi; + fi; + fi; + + if [[ "$_DPL_DPUT_TARGET" == "1" ]] && [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]] \ + && [[ "$DPL_DPUT_INCOMING" != "" ]]; then + if [[ "$DPL_DPUT_METHOD" == "ftp" ]]; then + echo "DPUT will not work with non-secure FTP on Linux Travis-CI jobs!"; + echo "Try SFTP or another method for DPUT. Details:"; + echo "https://blog.travis-ci.com/2018-07-23-the-tale-of-ftp-at-travis-ci"; + else + echo "Deployer DPUT target is enabled"; + __DPL_DPUT_ACTIVE=1; + fi; + fi; + + # If any deployment targets are active, then so is the Deployer at large + if [[ "$__DPL_FTP_ACTIVE" == "1" ]] || [[ "$__DPL_DPUT_ACTIVE" == "1" ]]; then + __DPL_ACTIVE=1; + fi; + fi; + fi; + fi; + fi; + else + if [[ "$DPL_TRIGGER" != "" ]]; then + echo "Testing for global trigger [$DPL_TRIGGER, commit message: $TRAVIS_COMMIT_MESSAGE"; + fi; + if [[ "$DPL_TRIGGER" != "" ]] && [[ $TRAVIS_COMMIT_MESSAGE == *"[$DPL_TRIGGER"* ]]; then + if [[ "$__DPL_TAG_ELIGIBLE" == "1" ]] || [[ "$DPL_BRANCHES" == "" ]] || [[ $DPL_BRANCHES == *"$TRAVIS_BRANCH"* ]]; then + # This check only matters for deployer branches and when DPL_TERMINATE_TESTS=1, + # because we're filtering non-deployer jobs. + if [[ "$__DPL_TERMINATE_EARLY_ELIGIBLE" == "1" ]] && [[ "$DPL_TERMINATE_TESTS" == "1" ]]; then + # Assume that some job received the trigger, so mark this for early termination + __DPL_TRY_TERMINATE_EARLY=1; + fi; + fi; + fi; + fi; +fi; + +if [[ "$__DPL_TRY_TERMINATE_EARLY" == "1" ]] && [[ "$__DPL_ACTIVE" != "1" ]]; then + echo "Deployer is active in another job"; +fi; + +if [[ "$__DPL_TRY_TERMINATE_EARLY" != "1" ]] && [[ "$__DPL_ACTIVE" != "1" ]]; then + echo "Deployer is not active"; +fi; diff --git a/deployer/travis/deployer_build.sh b/deployer/travis/deployer_build.sh new file mode 100644 index 00000000..3817f025 --- /dev/null +++ b/deployer/travis/deployer_build.sh @@ -0,0 +1,190 @@ +#!/bin/bash + +# Deployer for Travis-CI +# Build Script +# +# Builds the required targets depending on which sub-modules are enabled + +if [[ "$__DPL_FTP_ACTIVE" == "1" ]] || [[ "$__DPL_DPUT_ACTIVE" == "1" ]]; then + if [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]]; then + echo "Building Debian package(s)" + + sudo apt-get install devscripts debhelper fakeroot secure-delete expect; + + # Build source packages first, since they zip up the entire source folder, + # binaries and all + if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then + . ../debian_template.sh main; + OLDPWD=$PWD; # [repo]/build + cd ..; # repo root + + if [[ "$_DPL_PACKAGE_SOURCE" == "1" ]]; then + echo "Building main source Debian package"; + expect <(cat < key.asc; + echo "$DPL_PGP_KEY_PASSPHRASE" > phrase.txt; + gpg --import key.asc; + + if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then + echo "Signing main package(s)"; + + PACKAGEFILENAME=${PACKAGE_NAME}_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + PACKAGEDBGFILENAME=${PACKAGE_NAME}-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYDBGFILENAME=${PACKAGE_NAME}-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHDBGFILENAME=${PACKAGE_NAME}-patch-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYDBGFILENAME=${PACKAGE_NAME}-patch-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + + PACKAGEFILENAMES=( + $PACKAGEFILENAME + $PACKAGEDBGFILENAME + #$PACKAGENIGHTLYFILENAME + #$PACKAGENIGHTLYDBGFILENAME + #$PACKAGEPATCHFILENAME + #$PACKAGEPATCHDBGFILENAME + #$PACKAGEPATCHNIGHTLYFILENAME + #$PACKAGEPATCHNIGHTLYDBGFILENAME + ); + + # Main packages are in parent of root repo folder + OLDPWD=$PWD; # [repo]/build + cd ../..; # parent of repo root + + for n in ${PACKAGEFILENAMES}; do + for f in ./$n*.changes; do + debsign --no-re-sign -p"gpg --passphrase-file $OLDPWD/phrase.txt --batch" "$f"; + done; + done; + + cd $OLDPWD; + fi; + + if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then + echo "Signing asset package(s)"; + + PACKAGEFILENAME=${PACKAGE_NAME}-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + + PACKAGEFILENAMES=( + $PACKAGEFILENAME + #$PACKAGENIGHTLYFILENAME + #$PACKAGEPATCHFILENAME + #$PACKAGEPATCHNIGHTLYFILENAME + ) + + # Asset packages are in root repo folder + OLDPWD=$PWD; # [repo]/build + cd ..; # repo root + + for n in ${PACKAGEFILENAMES}; do + for f in ./$n*.changes; do + debsign --no-re-sign -p"gpg --passphrase-file $OLDPWD/phrase.txt --batch" "$f"; + done; + done; + + cd $OLDPWD; + fi; + + # Delete the keys :eyes: + srm key.asc; + srm phrase.txt; + fi; + fi; + + # all other OSes + if [[ "$TRAVIS_OS_NAME" != "linux" ]]; then + # + # Check for binary building + # + if [[ "$_DPL_BINARY" == "1" ]]; then + echo "Building a Binary"; + make -k; + fi; + + # + # Check for package building + # + if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then + echo "Building a Package"; + + # Make an OSX package; superuser is required for library bundling + # + # HACK: OSX packaging can't write libraries to .app package unless we're superuser + # because the original library files don't have WRITE permission + # Bug may be sidestepped by using CHMOD_BUNDLE_ITEMS=TRUE + # But I don't know where this is set. Not `cmake -D...` because this var is ignored. + # https://cmake.org/Bug/view.php?id=9284 + if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + sudo make -k package; + else + # Some day, when Windows is supported, we'll just make a standard package + make -k package; + fi; + fi; + fi; +fi; diff --git a/deployer/travis/deployer_defaults.sh b/deployer/travis/deployer_defaults.sh new file mode 100644 index 00000000..9716c31c --- /dev/null +++ b/deployer/travis/deployer_defaults.sh @@ -0,0 +1,107 @@ +#!/bin/bash + +# Deployer for Travis-CI +# Default Variables +# +# Here are all of the user-set variables used by Deployer. +# See the "Cross-platform deployment" page on SRB2 Wiki for documentation. + +# Core Parameters +: ${DPL_ENABLED} # Enable Deployer behavior; must be set for any deployment activity +: ${DPL_TAG_ENABLED} # Trigger Deployer for all tag releases +: ${DPL_JOB_ENABLE_ALL} # Enable all jobs for deployment +: ${DPL_TERMINATE_TESTS} # Terminate all build test jobs (used in .travis.yml) +: ${DPL_TRIGGER} # Use a [word] in the commit message to trigger Deployer +: ${DPL_JOBNAMES} # Trigger Deployer by job name +: ${DPL_OSNAMES} # Trigger Deployer by OS name (osx,linux) +: ${DPL_BRANCHES} # Trigger Deployer by git branch name + +# Job Parameters +: ${_DPL_JOB_ENABLED} # Enable Deployer for this specific job. DPL_ENABLED must be set too. +: ${_DPL_JOB_NAME} # Identifier for the job, used for logging and trigger word matching +: ${_DPL_FTP_TARGET} # Deploy to FTP +: ${_DPL_DPUT_TARGET} # Deploy to DPUT +: ${_DPL_PACKAGE_SOURCE} # Build packages into a Source distribution. Linux only. +: ${_DPL_PACKAGE_BINARY} # Build packages into a Binary distribution. +: ${_DPL_PACKAGE_MAIN:=1} # Build main installation package. Linux only; OS X assumes this. +: ${_DPL_PACKAGE_ASSET} # Build asset installation package. Linux only. + +# Asset File Parameters +: ${ASSET_ARCHIVE_PATH:=https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/SRB2-v2122-assets.7z} +: ${ASSET_BASE_PATH:=https://github.com/mazmazz/SRB2/releases/download/SRB2_assets} +: ${ASSET_FILES_REQUIRED:=srb2.srb zones.dta player.dta rings.dta patch.dta} +: ${ASSET_FILES_DOCS:=README.txt LICENSE.txt LICENSE-3RD-PARTY.txt} +: ${ASSET_FILES_OPTIONAL:=music.dta} +: ${ASSET_FILES_OPTIONAL_GET:=0} + +# FTP Parameters +: ${DPL_FTP_PROTOCOL} +: ${DPL_FTP_USER} +: ${DPL_FTP_PASS} +: ${DPL_FTP_HOSTNAME} +: ${DPL_FTP_PORT} +: ${DPL_FTP_PATH} + +# DPUT Parameters +: ${DPL_DPUT_DOMAIN:=ppa.launchpad.net} +: ${DPL_DPUT_METHOD:=sftp} +: ${DPL_DPUT_INCOMING} +: ${DPL_DPUT_LOGIN:=anonymous} +: ${DPL_SSH_KEY_PRIVATE} # Base64-encoded private key file. Used to sign repository uploads +: ${DPL_SSH_KEY_PASSPHRASE} # Decodes the private key file. + +# Package Parameters +: ${PACKAGE_NAME:=srb2} +: ${PACKAGE_VERSION:=2.1.23} +: ${PACKAGE_SUBVERSION} # Highly recommended to set this to reflect the distro series target (e.g., ~18.04bionic) +: ${PACKAGE_REVISION} # Defaults to UTC timestamp +: ${PACKAGE_INSTALL_PATH:=/usr/games/SRB2} +: ${PACKAGE_LINK_PATH:=/usr/games} +: ${PACKAGE_DISTRO:=trusty} +: ${PACKAGE_URGENCY:=high} +: ${PACKAGE_NAME_EMAIL:=Sonic Team Junior } +: ${PACKAGE_GROUP_NAME_EMAIL:=Sonic Team Junior } +: ${PACKAGE_WEBSITE:=} + +: ${PACKAGE_ASSET_MINVERSION:=2.1.21} # Number this the version BEFORE the actual required version, because we do a > check +: ${PACKAGE_ASSET_MAXVERSION:=2.1.24} # Number this the version AFTER the actual required version, because we do a < check + +: ${PROGRAM_NAME:=Sonic Robo Blast 2} +: ${PROGRAM_VENDOR:=Sonic Team Junior} +: ${PROGRAM_VERSION:=2.1.23} +: ${PROGRAM_DESCRIPTION:=A free 3D Sonic the Hedgehog fangame closely inspired by the original Sonic games on the Sega Genesis.} +: ${PROGRAM_FILENAME:=srb2} + +: ${DPL_PGP_KEY_PRIVATE} # Base64-encoded private key file. Used to sign Debian packages +: ${DPL_PGP_KEY_PASSPHRASE} # Decodes the private key file. + +# Export Asset and Package Parameters for envsubst templating + +export ASSET_ARCHIVE_PATH="${ASSET_ARCHIVE_PATH}" +export ASSET_BASE_PATH="${ASSET_BASE_PATH}" +export ASSET_FILES_REQUIRED="${ASSET_FILES_REQUIRED}" +export ASSET_FILES_DOCS="${ASSET_FILES_DOCS}" +export ASSET_FILES_OPTIONAL="${ASSET_FILES_OPTIONAL}" +export ASSET_FILES_OPTIONAL_GET="${ASSET_FILES_OPTIONAL_GET}" + +export PACKAGE_NAME="${PACKAGE_NAME}" +export PACKAGE_VERSION="${PACKAGE_VERSION}" +export PACKAGE_SUBVERSION="${PACKAGE_SUBVERSION}" # in case we have this +export PACKAGE_REVISION="${PACKAGE_REVISION}" +export PACKAGE_ASSET_MINVERSION="${PACKAGE_ASSET_MINVERSION}" +export PACKAGE_ASSET_MAXVERSION="${PACKAGE_ASSET_MAXVERSION}" +export PACKAGE_INSTALL_PATH="${PACKAGE_INSTALL_PATH}" +export PACKAGE_LINK_PATH="${PACKAGE_LINK_PATH}" +export PACKAGE_DISTRO="${PACKAGE_DISTRO}" +export PACKAGE_URGENCY="${PACKAGE_URGENCY}" +export PACKAGE_NAME_EMAIL="${PACKAGE_NAME_EMAIL}" +export PACKAGE_GROUP_NAME_EMAIL="${PACKAGE_GROUP_NAME_EMAIL}" +export PACKAGE_WEBSITE="${PACKAGE_WEBSITE}" + +export PROGRAM_NAME="${PROGRAM_NAME}" +export PROGRAM_VERSION="${PROGRAM_VERSION}" +export PROGRAM_DESCRIPTION="${PROGRAM_DESCRIPTION}" +export PROGRAM_FILENAME="${PROGRAM_FILENAME}" + +# This file is called in debian_template.sh, so mark our completion so we don't run it again +__DEBIAN_PARAMETERS_INITIALIZED=1 diff --git a/deployer/travis/deployer_dput.sh b/deployer/travis/deployer_dput.sh new file mode 100644 index 00000000..863a928c --- /dev/null +++ b/deployer/travis/deployer_dput.sh @@ -0,0 +1,133 @@ +#!/bin/bash + +# Deployer for Travis-CI +# DPUT uploader (e.g., Launchpad PPA) +# + +if [[ "$__DPL_DPUT_ACTIVE" == "1" ]]; then + # Install APT dependencies + # paramiko required for ssh + sudo apt-get install python-paramiko expect dput; # python-pip + #pip install paramiko; + + # Output the DPUT config + # Dput only works if you're using secure FTP, so that's what we default to. + cat > "./dput.cf" << EOM +[deployer] +fqdn = ${DPL_DPUT_DOMAIN} +method = ${DPL_DPUT_METHOD} +incoming = ${DPL_DPUT_INCOMING} +login = ${DPL_DPUT_LOGIN} +allow_unsigned_uploads = 0 +EOM + + # Output SSH config + # Don't let SSH prompt us for untrusted hosts + cat >> "./ssh_config" << EOM + +Host * + StrictHostKeyChecking no + UserKnownHostsFile=/dev/null + PubKeyAuthentication yes + IdentityFile ${PWD}/key.private + IdentitiesOnly yes +EOM + sudo sh -c "cat < ${PWD}/ssh_config >> /etc/ssh/ssh_config"; + + # Get the private key + echo "$DPL_SSH_KEY_PRIVATE" | base64 --decode > key.private; + chmod 700 ./key.private; + + if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then + PACKAGEFILENAME=${PACKAGE_NAME}_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + PACKAGEDBGFILENAME=${PACKAGE_NAME}-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYDBGFILENAME=${PACKAGE_NAME}-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHDBGFILENAME=${PACKAGE_NAME}-patch-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYDBGFILENAME=${PACKAGE_NAME}-patch-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + + PACKAGEFILENAMES=( + $PACKAGEFILENAME + $PACKAGEDBGFILENAME + #$PACKAGENIGHTLYFILENAME + #$PACKAGENIGHTLYDBGFILENAME + #$PACKAGEPATCHFILENAME + #$PACKAGEPATCHDBGFILENAME + #$PACKAGEPATCHNIGHTLYFILENAME + #$PACKAGEPATCHNIGHTLYDBGFILENAME + ); + + # Main packages are in parent of root repo folder + OLDPWD=$PWD; # [repo]/build + cd ../..; + + # Enter passphrase if required + for n in ${PACKAGEFILENAMES}; do + for f in $n*.changes; do + # Binary builds also generate source builds, so exclude the source + # builds if desired + if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then + if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then + continue; + fi; + fi; + + expect <(cat < "commit.txt"; + echo "Job ID $TRAVIS_JOB_ID" >> "commit.txt"; + echo "" >> "commit.txt"; + echo "Commit $TRAVIS_COMMIT" >> "commit.txt"; + echo "$TRAVIS_COMMIT_MESSAGE" >> "commit.txt"; + echo "" >> "commit.txt"; + + # Initialize FTP parameters + if [[ "$DPL_FTP_PORT" == "" ]]; then + DPL_FTP_PORT=21; + fi; + if [[ "$DPL_FTP_PROTOCOL" == "" ]]; then + DPL_FTP_PROTOCOL=ftp; + fi; + __DPL_FTP_LOCATION=$DPL_FTP_PROTOCOL://$DPL_FTP_HOSTNAME:$DPL_FTP_PORT/$DPL_FTP_PATH/$TRAVIS_REPO_SLUG/$TRAVIS_BRANCH/$TRAVIS_JOB_ID-$TRAVIS_JOB_NUMBER-$JOBNAME; + + # Upload to FTP! + echo "Uploading to FTP..."; + curl --ftp-create-dirs -T "commit.txt" -u $DPL_FTP_USER:$DPL_FTP_PASS "$__DPL_FTP_LOCATION/commit.txt"; + + if [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]]; then + if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then + PACKAGEFILENAME=${PACKAGE_NAME}_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + PACKAGEDBGFILENAME=${PACKAGE_NAME}-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYDBGFILENAME=${PACKAGE_NAME}-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHDBGFILENAME=${PACKAGE_NAME}-patch-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYDBGFILENAME=${PACKAGE_NAME}-patch-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + + PACKAGEFILENAMES=( + $PACKAGEFILENAME + $PACKAGEDBGFILENAME + #$PACKAGENIGHTLYFILENAME + #$PACKAGENIGHTLYDBGFILENAME + #$PACKAGEPATCHFILENAME + #$PACKAGEPATCHDBGFILENAME + #$PACKAGEPATCHNIGHTLYFILENAME + #$PACKAGEPATCHNIGHTLYDBGFILENAME + ); + + # Main packages are in parent of root repo folder + OLDPWD=$PWD; # [repo]/build + cd ../..; + + for n in ${PACKAGEFILENAMES}; do + for f in ./$n*; do + # Binary builds also generate source builds, so exclude the source + # builds if desired + if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then + if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then + continue; + fi; + fi; + curl --ftp-create-dirs -T "$f" -u $DPL_FTP_USER:$DPL_FTP_PASS "$__DPL_FTP_LOCATION/package/main/$f"; + done; + done; + + # Go back to [repo]/build folder + cd $OLDPWD; + fi; + + if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then + PACKAGEFILENAME=${PACKAGE_NAME}-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + #PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}; + + PACKAGEFILENAMES=( + $PACKAGEFILENAME + #$PACKAGENIGHTLYFILENAME + #$PACKAGEPATCHFILENAME + #$PACKAGEPATCHNIGHTLYFILENAME + ) + + # Asset packages are in root repo folder + OLDPWD=$PWD; # [repo]/build + cd ..; + + for n in ${PACKAGEFILENAMES}; do + for f in ./$n*; do + # Binary builds also generate source builds, so exclude the source + # builds if desired + if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then + if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then + continue; + fi; + fi; + curl --ftp-create-dirs -T "$f" -u $DPL_FTP_USER:$DPL_FTP_PASS "$__DPL_FTP_LOCATION/package/asset/$f"; + done; + done; + + # Go back to [repo]/build folder + cd $OLDPWD; + fi; + else + if [[ "$_DPL_BINARY" == "1" ]]; then + find bin -type f -exec curl -u $DPL_FTP_USER:$DPL_FTP_PASS --ftp-create-dirs -T {} $__DPL_FTP_LOCATION/{} \;; + fi; + + if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then + sudo rm -r package/_CPack_Packages + find package -type f -exec curl -u $DPL_FTP_USER:$DPL_FTP_PASS --ftp-create-dirs -T {} $__DPL_FTP_LOCATION/{} \;; + fi; + fi; +fi diff --git a/src/sdl/CMakeLists.txt b/src/sdl/CMakeLists.txt index f7b7c7ba..ec5d63ac 100644 --- a/src/sdl/CMakeLists.txt +++ b/src/sdl/CMakeLists.txt @@ -150,7 +150,7 @@ if(${SDL2_FOUND}) ${ZLIB_LIBRARIES} ${OPENGL_LIBRARIES} ) - set_target_properties(SRB2SDL2 PROPERTIES OUTPUT_NAME "Sonic Robo Blast 2") + set_target_properties(SRB2SDL2 PROPERTIES OUTPUT_NAME "${CPACK_PACKAGE_DESCRIPTION_SUMMARY}") else() target_link_libraries(SRB2SDL2 PRIVATE ${SDL2_LIBRARIES} @@ -334,10 +334,19 @@ if(${SDL2_FOUND}) # Mac bundle fixup + # HACK: THIS IS IMPORTANT! See the escaped \${CMAKE_INSTALL_PREFIX}? This + # makes it so that var is evaluated LATER during cpack, not right now! + # This fixes the quirk where the bundled libraries don't land in the final package + # https://cmake.org/pipermail/cmake/2011-March/043532.html + # + # HOWEVER: ${CPACK_PACKAGE_DESCRIPTION_SUMMARY} is NOT escaped, because that var + # is only available to us at this step. Read the link: ${CMAKE_INSTALL_PREFIX} at + # this current step points to the CMAKE build folder, NOT the folder that CPACK uses. + # Therefore, it makes sense to escape that var, but not the other. if(${CMAKE_SYSTEM} MATCHES Darwin) install(CODE " include(BundleUtilities) - fixup_bundle(\"${CMAKE_INSTALL_PREFIX}/Sonic Robo Blast 2.app\" + fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/${CPACK_PACKAGE_DESCRIPTION_SUMMARY}.app\" \"\" /Library/Frameworks )" From 4d4b048eade5fc051100819b74dd714bb5054e5f Mon Sep 17 00:00:00 2001 From: mazmazz Date: Mon, 31 Dec 2018 17:09:59 -0500 Subject: [PATCH 005/245] Don't download individual asset files; support only archives --- .travis.yml | 53 ++++++++-------------------- assets/CMakeLists.txt | 46 ++++++++---------------- assets/debian-template/rules | 52 ++++++++------------------- deployer/travis/deployer_defaults.sh | 10 +++--- 4 files changed, 47 insertions(+), 114 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9d577429..6e5c9fc0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -593,8 +593,10 @@ install: before_script: # OLDPWD is root repo folder - OLDPWD=$PWD + - mkdir -p "$OLDPWD/assets/installer" - cd "$HOME/srb2_cache" + # Get stat command so we know what the cached archive date is. # stat is different for OSX - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then STATCMD="stat -f %m"; @@ -608,52 +610,25 @@ before_script: echo "$(basename $ASSET_ARCHIVE_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_PATH))"; fi; wget --verbose --server-response -N "$ASSET_ARCHIVE_PATH"; - 7z x "$(basename $ASSET_ARCHIVE_PATH)" -o"$HOME/srb2_cache" -aos; - for f in $ASSET_FILES_REQUIRED; do - cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; - done; + 7z x "$(basename $ASSET_ARCHIVE_PATH)" -o"$OLDPWD/assets/installer" -aos; fi; - # Get individual required files - - for f in $ASSET_FILES_REQUIRED; do - if [ -f "$f" ]; then - echo "$f cache date -- $($STATCMD $f)"; - fi; - wget --verbose --server-response -N "$ASSET_BASE_PATH/$f"; - if [ ! -f "$HOME/srb2_cache/$f" ]; then - echo "Could not download \"$ASSET_BASE_PATH/$f\""; - return 1; - fi; - cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; - done; - - # Get the docs - - for f in $ASSET_FILES_DOCS; do - if [ -f "$f" ]; then - echo "$f cache date -- $($STATCMD $f)"; - fi; - wget --verbose --server-response -N "$ASSET_BASE_PATH/$f"; - cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; - done; - # Get optional files too - - if [[ "$ASSET_FILES_OPTIONAL_GET" == "1" ]]; then - for f in $ASSET_FILES_OPTIONAL; do - if [ -f "$f" ]; then - echo "$f cache date -- $($STATCMD $f)"; - fi; - wget --verbose --server-response -N "$ASSET_BASE_PATH/$f"; - cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f"; - done; + - if [[ "$ASSET_FILES_OPTIONAL_GET" == "1" ]] && [[ "$ASSET_ARCHIVE_OPTIONAL_PATH" != "" ]]; then + if [ -f "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH)" ]; then + echo "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_OPTIONAL_PATH))"; + fi; + wget --verbose --server-response -N "$ASSET_ARCHIVE_OPTIONAL_PATH"; + 7z x "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH)" -o"$OLDPWD/assets/installer" -aos; fi; - # Go back to root repo folder + # Copy assets to repo staging folder, then go back to root repo folder - cd "$OLDPWD" # Prepare CMake asset lists - - SRB2_ASSET_REQUIRED=$(echo ${ASSET_FILES_REQUIRED// /\;}) - - SRB2_ASSET_OPTIONAL=$(echo ${ASSET_FILES_OPTIONAL// /\;}) + - SRB2_ASSET_HASHED=$(echo ${ASSET_FILES_HASHED// /\;}) - SRB2_ASSET_DOCS=$(echo ${ASSET_FILES_DOCS// /\;}) + - SRB2_ASSET_DIRECTORY="$OLDPWD/assets/installer" # Prepare CMake - mkdir build @@ -662,8 +637,8 @@ before_script: - export CFLAGS="-Wall -W -Werror $WFLAGS" - export CCACHE_COMPRESS=true - cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/bin -DCPACK_PACKAGE_DIRECTORY=$PWD/package - -DSRB2_ASSET_REQUIRED="${SRB2_ASSET_REQUIRED}" -DSRB2_ASSET_OPTIONAL="${SRB2_ASSET_OPTIONAL}" - -DSRB2_ASSET_DOCS="${SRB2_ASSET_DOCS}" + -DSRB2_ASSET_HASHED="${SRB2_ASSET_HASHED}" -DSRB2_ASSET_DOCS="${SRB2_ASSET_DOCS}" + -DSRB2_ASSET_DIRECTORY="${SRB2_ASSET_DIRECTORY}" -DCPACK_PACKAGE_DESCRIPTION_SUMMARY="${PROGRAM_NAME}" -DCPACK_PACKAGE_VENDOR="${PROGRAM_VENDOR}" -DSRB2_SDL2_EXE_NAME="${PROGRAM_FILENAME}" diff --git a/assets/CMakeLists.txt b/assets/CMakeLists.txt index 35e018d4..68ff0fdf 100644 --- a/assets/CMakeLists.txt +++ b/assets/CMakeLists.txt @@ -9,38 +9,29 @@ FUNCTION(PREPEND var prefix) SET(${var} "${listVar}" PARENT_SCOPE) ENDFUNCTION(PREPEND) -set(SRB2_ASSET_REQUIRED +set(SRB2_ASSET_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/installer" + CACHE STRING "Path to directory that contains all asset files for the installer.") + +set(SRB2_ASSET_HASHED "srb2.srb;\ player.dta;\ rings.dta;\ zones.dta;\ patch.dta" - CACHE STRING "Required asset files for packaging. No spaces between entries!" + CACHE STRING "Asset filenames to apply MD5 checks. No spaces between entries!" ) set(SRB2_ASSET_DOCS "README.txt;\ LICENSE.txt;\ LICENSE-3RD-PARTY.txt" - CACHE STRING "Documentation files; will not fail if they do not exist. Packaged differently from optional assets. No spaces between entries!" + CACHE STRING "Documentation filenames. In OS X, these are packaged separately from other assets. No spaces between entries!" ) -set(SRB2_ASSET_OPTIONAL -"music.dta" - CACHE STRING "Optional asset files. No spaces between entries!" -) - -# MD5 generation - Filename only, we don't append path to this -set(SRB2_ASSET_HASHED - ${SRB2_ASSET_REQUIRED} -) - -PREPEND(SRB2_ASSET_REQUIRED ${CMAKE_CURRENT_SOURCE_DIR} ${SRB2_ASSET_REQUIRED}) -PREPEND(SRB2_ASSET_DOCS ${CMAKE_CURRENT_SOURCE_DIR} ${SRB2_ASSET_DOCS}) -PREPEND(SRB2_ASSET_OPTIONAL ${CMAKE_CURRENT_SOURCE_DIR} ${SRB2_ASSET_OPTIONAL}) +PREPEND(SRB2_ASSET_DOCS ${SRB2_ASSET_DIRECTORY} ${SRB2_ASSET_DOCS}) foreach(SRB2_ASSET ${SRB2_ASSET_HASHED}) - file(MD5 ${CMAKE_CURRENT_SOURCE_DIR}/${SRB2_ASSET} "SRB2_ASSET_${SRB2_ASSET}_HASH") + file(MD5 ${SRB2_ASSET_DIRECTORY}/${SRB2_ASSET} "SRB2_ASSET_${SRB2_ASSET}_HASH") set(SRB2_ASSET_${SRB2_ASSET}_HASH ${SRB2_ASSET_${SRB2_ASSET}_HASH} PARENT_SCOPE) endforeach() @@ -48,27 +39,20 @@ endforeach() if(${CMAKE_SYSTEM} MATCHES Darwin) get_target_property(outname SRB2SDL2 OUTPUT_NAME) - install(FILES ${SRB2_ASSET_REQUIRED} + install(DIRECTORY "${SRB2_ASSET_DIRECTORY}/" DESTINATION "${outname}.app/Contents/Resources" ) - install(FILES ${SRB2_ASSET_OPTIONAL} - DESTINATION "${outname}.app/Contents/Resources" - OPTIONAL - ) install(FILES ${SRB2_ASSET_DOCS} DESTINATION . OPTIONAL ) else() - install(FILES ${SRB2_ASSET_REQUIRED} + install(DIRECTORY "${SRB2_ASSET_DIRECTORY}/" DESTINATION . ) - install(FILES ${SRB2_ASSET_OPTIONAL} - DESTINATION . - OPTIONAL - ) - install(FILES ${SRB2_ASSET_DOCS} - DESTINATION . - OPTIONAL - ) + # Docs are assumed to be located in SRB2_ASSET_DIRECTORY, so don't install again + #install(FILES ${SRB2_ASSET_DOCS} + # DESTINATION . + # OPTIONAL + #) endif() diff --git a/assets/debian-template/rules b/assets/debian-template/rules index 99a4eaf3..c2d19922 100644 --- a/assets/debian-template/rules +++ b/assets/debian-template/rules @@ -47,55 +47,31 @@ RM := rm -rf DIR := $(shell pwd) PACKAGE := $(shell cat $(DIR)/debian/control | grep 'Package:' | sed -e 's/Package: //g') -DATAFILES := ${ASSET_FILES_REQUIRED} -DOCFILES := ${ASSET_FILES_DOCS} -OPTIONALFILES := ${ASSET_FILES_OPTIONAL} +ARCHIVEPATH := ${ASSET_ARCHIVE_PATH} +ARCHIVEOPTIONALPATH := ${ASSET_ARCHIVE_OPTIONAL_PATH} GETOPTIONALFILES := ${ASSET_FILES_OPTIONAL_GET} DATADIR := $(shell echo "${PACKAGE_INSTALL_PATH}" | sed -e 's/^\///') RESOURCEDIR := . +STAGINGDIR := $(RESOURCEDIR)/installer WGET := wget -P $(RESOURCEDIR) -c -nc build: $(MKDIR) $(DIR)/debian/tmp/$(DATADIR) > $(DIR)/debian/source/include-binaries - # This will need to be updated every time SRB2 official version is # Copy data files to their install locations, and add data files to include-binaries - for file in $(DATAFILES); do \ - if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ - $(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \ + if [ ! -d $(STAGINGDIR) ]; then \ + mkdir -p "$(STAGINGDIR)"; \ + $(WGET) $(ARCHIVEPATH); \ + 7z x "$(RESOURCEDIR)/$(shell basename $(ARCHIVEPATH))" -aos; \ + if [ "$(GETOPTIONALFILES)" = "1" ]; then \ + $(WGET) $(ARCHIVEOPTIONALPATH); \ + 7z x "$(RESOURCEDIR)/$(shell basename $(ARCHIVEOPTIONALPATH))" -aos; \ fi; \ - if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ - $(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \ - echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \ - fi; \ - if [ ! -f $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR} ]; then \ - echo $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR} not found and could not be downloaded!; \ - return 1; \ - fi; \ - done - # Do the same for DOCFILES, but don't error out if not found - for file in $(DOCFILES); do \ - if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ - $(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \ - fi; \ - if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ - $(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \ - echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \ - fi; \ - done - # Do the same for OPTIONALFILES if GETOPTIONALFILES == 1 - if [ "$(GETOPTIONALFILES)" = "1" ]; then \ - for file in $(OPTIONALFILES); do \ - if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ - $(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \ - fi; \ - if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ - $(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \ - echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \ - fi; \ - done; \ - fi; + fi + # Install asset directory and add asset file to include-binaries + cp -vr "$(STAGINGDIR)/." "$(DIR)/debian/tmp/$(DATADIR)" + find "$(STAGINGDIR)" >> $(DIR)/debian/source/include-binaries binary-indep: diff --git a/deployer/travis/deployer_defaults.sh b/deployer/travis/deployer_defaults.sh index 9716c31c..bccb7409 100644 --- a/deployer/travis/deployer_defaults.sh +++ b/deployer/travis/deployer_defaults.sh @@ -28,10 +28,9 @@ # Asset File Parameters : ${ASSET_ARCHIVE_PATH:=https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/SRB2-v2122-assets.7z} -: ${ASSET_BASE_PATH:=https://github.com/mazmazz/SRB2/releases/download/SRB2_assets} -: ${ASSET_FILES_REQUIRED:=srb2.srb zones.dta player.dta rings.dta patch.dta} +: ${ASSET_ARCHIVE_OPTIONAL_PATH:=https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/SRB2-v2122-optional-assets.7z} +: ${ASSET_FILES_HASHED:=srb2.srb zones.dta player.dta rings.dta patch.dta} : ${ASSET_FILES_DOCS:=README.txt LICENSE.txt LICENSE-3RD-PARTY.txt} -: ${ASSET_FILES_OPTIONAL:=music.dta} : ${ASSET_FILES_OPTIONAL_GET:=0} # FTP Parameters @@ -78,10 +77,9 @@ # Export Asset and Package Parameters for envsubst templating export ASSET_ARCHIVE_PATH="${ASSET_ARCHIVE_PATH}" -export ASSET_BASE_PATH="${ASSET_BASE_PATH}" -export ASSET_FILES_REQUIRED="${ASSET_FILES_REQUIRED}" +export ASSET_ARCHIVE_OPTIONAL_PATH="${ASSET_ARCHIVE_OPTIONAL_PATH}" +export ASSET_FILES_HASHED="${ASSET_FILES_HASHED}" export ASSET_FILES_DOCS="${ASSET_FILES_DOCS}" -export ASSET_FILES_OPTIONAL="${ASSET_FILES_OPTIONAL}" export ASSET_FILES_OPTIONAL_GET="${ASSET_FILES_OPTIONAL_GET}" export PACKAGE_NAME="${PACKAGE_NAME}" From e765b9400cf741eb8aaa72768ef677769ee5c12b Mon Sep 17 00:00:00 2001 From: Jimita the Cat Date: Wed, 2 Jan 2019 00:41:52 -0300 Subject: [PATCH 006/245] Add support for flashpals in screenshots --- src/hardware/hw_draw.c | 9 +++-- src/hardware/hw_main.h | 5 +-- src/m_misc.c | 74 +++++++++++++++++++++++++----------------- src/m_misc.h | 2 +- src/st_stuff.c | 2 +- src/st_stuff.h | 1 + 6 files changed, 56 insertions(+), 37 deletions(-) diff --git a/src/hardware/hw_draw.c b/src/hardware/hw_draw.c index 55bbde45..bccb0ee8 100644 --- a/src/hardware/hw_draw.c +++ b/src/hardware/hw_draw.c @@ -1082,21 +1082,24 @@ UINT8 *HWR_GetScreenshot(void) return buf; } -boolean HWR_Screenshot(const char *lbmname) +boolean HWR_Screenshot(const char *pathname, char **error) { boolean ret; UINT8 *buf = malloc(vid.width * vid.height * 3 * sizeof (*buf)); if (!buf) + { + *error = "Failed to allocate memory for HWR_Screenshot"; return false; + } // returns 24bit 888 RGB HWD.pfnReadRect(0, 0, vid.width, vid.height, vid.width * 3, (void *)buf); #ifdef USE_PNG - ret = M_SavePNG(lbmname, buf, vid.width, vid.height, NULL); + ret = M_SavePNG(pathname, buf, vid.width, vid.height, NULL, &*error); // c_irl #else - ret = saveTGA(lbmname, buf, vid.width, vid.height); + ret = saveTGA(pathname, buf, vid.width, vid.height); #endif free(buf); return ret; diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index 59042cf3..cf9f2232 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -38,8 +38,6 @@ void HWR_RenderSkyboxView(INT32 viewnumber, player_t *player); void HWR_RenderPlayerView(INT32 viewnumber, player_t *player); void HWR_DrawViewBorder(INT32 clearlines); void HWR_DrawFlatFill(INT32 x, INT32 y, INT32 w, INT32 h, lumpnum_t flatlumpnum); -UINT8 *HWR_GetScreenshot(void); -boolean HWR_Screenshot(const char *lbmname); void HWR_InitTextureMapping(void); void HWR_SetViewSize(void); void HWR_DrawPatch(GLPatch_t *gpatch, INT32 x, INT32 y, INT32 option); @@ -54,6 +52,9 @@ void HWR_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color); void HWR_DrawConsoleFill(INT32 x, INT32 y, INT32 w, INT32 h, UINT32 color, INT32 options); // Lat: separate flags from color since color needs to be an uint to work right. void HWR_DrawPic(INT32 x,INT32 y,lumpnum_t lumpnum); +UINT8 *HWR_GetScreenshot(void); +boolean HWR_Screenshot(const char *pathname, char **error); + void HWR_AddCommands(void); void HWR_CorrectSWTricks(void); void transform(float *cx, float *cy, float *cz); diff --git a/src/m_misc.c b/src/m_misc.c index 7dd0d822..7b60caff 100644 --- a/src/m_misc.c +++ b/src/m_misc.c @@ -30,6 +30,7 @@ #include "g_game.h" #include "m_misc.h" #include "hu_stuff.h" +#include "st_stuff.h" #include "v_video.h" #include "z_zone.h" #include "g_input.h" @@ -585,6 +586,21 @@ void M_SaveConfig(const char *filename) fclose(f); } +// ========================================================================== +// SCREENSHOTS +// ========================================================================== +static UINT8 screenshot_palette[768]; +static void M_CreateScreenShotPalette(void) +{ + size_t i, j; + for (i = 0, j = 0; i < 768; i += 3, j++) + { + RGBA_t locpal = pLocalPalette[(max(st_palette,0)*256)+j]; + screenshot_palette[i] = locpal.s.red; + screenshot_palette[i+1] = locpal.s.green; + screenshot_palette[i+2] = locpal.s.blue; + } +} #if NUMSCREENS > 2 static const char *Newsnapshotfile(const char *pathname, const char *ext) @@ -1047,6 +1063,7 @@ static boolean M_SetupaPNG(png_const_charp filename, png_bytep pal) static inline moviemode_t M_StartMovieAPNG(const char *pathname) { #ifdef USE_APNG + UINT8 *palette; const char *freename = NULL; boolean ret = false; @@ -1062,10 +1079,8 @@ static inline moviemode_t M_StartMovieAPNG(const char *pathname) return MM_OFF; } - if (rendermode == render_soft) - ret = M_SetupaPNG(va(pandf,pathname,freename), W_CacheLumpName(GetPalette(), PU_CACHE)); - else - ret = M_SetupaPNG(va(pandf,pathname,freename), NULL); + if (rendermode == render_soft) M_CreateScreenShotPalette(); + ret = M_SetupaPNG(va(pandf,pathname,freename), (palette = screenshot_palette)); if (!ret) { @@ -1268,10 +1283,11 @@ void M_StopMovie(void) * \param data The image data. * \param width Width of the picture. * \param height Height of the picture. - * \param palette Palette of image data + * \param palette Palette of image data. * \note if palette is NULL, BGR888 format + * \param error Error string to return, if screenshot failed. */ -boolean M_SavePNG(const char *filename, void *data, int width, int height, const UINT8 *palette) +boolean M_SavePNG(const char *filename, void *data, int width, int height, const UINT8 *palette, char **error) { png_structp png_ptr; png_infop png_info_ptr; @@ -1286,15 +1302,14 @@ boolean M_SavePNG(const char *filename, void *data, int width, int height, const png_FILE = fopen(filename,"wb"); if (!png_FILE) { - CONS_Debug(DBG_RENDER, "M_SavePNG: Error on opening %s for write\n", filename); + *error = "Failed to open file for write"; return false; } - png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, - PNG_error, PNG_warn); + png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, PNG_error, PNG_warn); if (!png_ptr) { - CONS_Debug(DBG_RENDER, "M_SavePNG: Error on initialize libpng\n"); + *error = "Failed to initialize libpng"; fclose(png_FILE); remove(filename); return false; @@ -1303,7 +1318,7 @@ boolean M_SavePNG(const char *filename, void *data, int width, int height, const png_info_ptr = png_create_info_struct(png_ptr); if (!png_info_ptr) { - CONS_Debug(DBG_RENDER, "M_SavePNG: Error on allocate for libpng\n"); + *error = "Failed to allocate memory for libpng"; png_destroy_write_struct(&png_ptr, NULL); fclose(png_FILE); remove(filename); @@ -1316,7 +1331,7 @@ boolean M_SavePNG(const char *filename, void *data, int width, int height, const if (setjmp(png_jmpbuf(png_ptr))) #endif { - //CONS_Debug(DBG_RENDER, "libpng write error on %s\n", filename); + *error = "libpng write error"; png_destroy_write_struct(&png_ptr, &png_info_ptr); fclose(png_FILE); remove(filename); @@ -1445,9 +1460,8 @@ void M_ScreenShot(void) } /** Takes a screenshot. - * The screenshot is saved as "srb2xxxx.pcx" (or "srb2xxxx.tga" in hardware - * rendermode) where xxxx is the lowest four-digit number for which a file - * does not already exist. + * The screenshot is saved as "srb2xxxx.png" where xxxx is the lowest + * four-digit number for which a file does not already exist. * * \sa HWR_ScreenShot */ @@ -1456,11 +1470,16 @@ void M_DoScreenShot(void) #if NUMSCREENS > 2 const char *freename = NULL, *pathname = "."; boolean ret = false; + char *error = "Unknown error"; UINT8 *linear = NULL; // Don't take multiple screenshots, obviously takescreenshot = false; + // how does one take a screenshot without a render system? + if (rendermode == render_none) + return; + if (cv_screenshot_option.value == 0) pathname = usehome ? srb2home : srb2path; else if (cv_screenshot_option.value == 1) @@ -1471,16 +1490,13 @@ void M_DoScreenShot(void) pathname = cv_screenshot_folder.string; #ifdef USE_PNG - if (rendermode != render_none) - freename = Newsnapshotfile(pathname,"png"); + freename = Newsnapshotfile(pathname,"png"); #else if (rendermode == render_soft) freename = Newsnapshotfile(pathname,"pcx"); - else if (rendermode != render_none) + else if (rendermode == render_opengl) freename = Newsnapshotfile(pathname,"tga"); #endif - else - I_Error("Can't take a screenshot without a render system"); if (rendermode == render_soft) { @@ -1494,18 +1510,16 @@ void M_DoScreenShot(void) // save the pcx file #ifdef HWRENDER - if (rendermode != render_soft) - ret = HWR_Screenshot(va(pandf,pathname,freename)); + if (rendermode == render_opengl) + ret = HWR_Screenshot(va(pandf,pathname,freename), &error); else #endif - if (rendermode != render_none) { + M_CreateScreenShotPalette(); #ifdef USE_PNG - ret = M_SavePNG(va(pandf,pathname,freename), linear, vid.width, vid.height, - W_CacheLumpName(GetPalette(), PU_CACHE)); + ret = M_SavePNG(va(pandf,pathname,freename), linear, vid.width, vid.height, screenshot_palette, &error); #else - ret = WritePCXfile(va(pandf,pathname,freename), linear, vid.width, vid.height, - W_CacheLumpName(GetPalette(), PU_CACHE)); + ret = WritePCXfile(va(pandf,pathname,freename), linear, vid.width, vid.height, screenshot_palette); #endif } @@ -1513,14 +1527,14 @@ failure: if (ret) { if (moviemode != MM_SCREENSHOT) - CONS_Printf(M_GetText("screen shot %s saved in %s\n"), freename, pathname); + CONS_Printf(M_GetText("Screen shot %s saved in %s\n"), freename, pathname); } else { if (freename) - CONS_Printf(M_GetText("Couldn't create screen shot %s in %s\n"), freename, pathname); + CONS_Alert(CONS_ERROR, M_GetText("Couldn't create screen shot %s in %s (%s)\n"), freename, pathname, error); else - CONS_Printf(M_GetText("Couldn't create screen shot (all 10000 slots used!) in %s\n"), pathname); + CONS_Alert(CONS_ERROR, M_GetText("Couldn't create screen shot in %s (all 10000 slots used!)\n"), pathname); if (moviemode == MM_SCREENSHOT) M_StopMovie(); diff --git a/src/m_misc.h b/src/m_misc.h index 7dd8baab..cb4af392 100644 --- a/src/m_misc.h +++ b/src/m_misc.h @@ -64,7 +64,7 @@ void FIL_ForceExtension(char *path, const char *extension); boolean FIL_CheckExtension(const char *in); #ifdef HAVE_PNG -boolean M_SavePNG(const char *filename, void *data, int width, int height, const UINT8 *palette); +boolean M_SavePNG(const char *filename, void *data, int width, int height, const UINT8 *palette, char **error); #endif extern boolean takescreenshot; diff --git a/src/st_stuff.c b/src/st_stuff.c index 1f8dbbf6..287aea13 100644 --- a/src/st_stuff.c +++ b/src/st_stuff.c @@ -197,7 +197,7 @@ void ST_Ticker(void) } // 0 is default, any others are special palettes. -static INT32 st_palette = 0; +INT32 st_palette = 0; void ST_doPaletteStuff(void) { diff --git a/src/st_stuff.h b/src/st_stuff.h index 6c4140ce..6f05bbf3 100644 --- a/src/st_stuff.h +++ b/src/st_stuff.h @@ -58,6 +58,7 @@ boolean ST_SameTeam(player_t *a, player_t *b); //-------------------- extern boolean st_overlay; // sb overlay on or off when fullscreen +extern INT32 st_palette; // 0 is default, any others are special palettes. extern lumpnum_t st_borderpatchnum; // patches, also used in intermission From 892e65071281e1aa2bd6158748120cf4b7cd81c2 Mon Sep 17 00:00:00 2001 From: Jimita the Cat Date: Wed, 2 Jan 2019 01:01:57 -0300 Subject: [PATCH 007/245] dumb --- src/hardware/hw_draw.c | 6 +++--- src/hardware/hw_main.h | 2 +- src/m_misc.c | 18 ++++++++---------- src/m_misc.h | 2 +- 4 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/hardware/hw_draw.c b/src/hardware/hw_draw.c index bccb0ee8..cd2c9523 100644 --- a/src/hardware/hw_draw.c +++ b/src/hardware/hw_draw.c @@ -1082,14 +1082,14 @@ UINT8 *HWR_GetScreenshot(void) return buf; } -boolean HWR_Screenshot(const char *pathname, char **error) +boolean HWR_Screenshot(const char *pathname) { boolean ret; UINT8 *buf = malloc(vid.width * vid.height * 3 * sizeof (*buf)); if (!buf) { - *error = "Failed to allocate memory for HWR_Screenshot"; + CONS_Debug(DBG_RENDER, "HWR_Screenshot: Failed to allocate memory\n"); return false; } @@ -1097,7 +1097,7 @@ boolean HWR_Screenshot(const char *pathname, char **error) HWD.pfnReadRect(0, 0, vid.width, vid.height, vid.width * 3, (void *)buf); #ifdef USE_PNG - ret = M_SavePNG(pathname, buf, vid.width, vid.height, NULL, &*error); // c_irl + ret = M_SavePNG(pathname, buf, vid.width, vid.height, NULL); #else ret = saveTGA(pathname, buf, vid.width, vid.height); #endif diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index cf9f2232..929544ec 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -53,7 +53,7 @@ void HWR_DrawConsoleFill(INT32 x, INT32 y, INT32 w, INT32 h, UINT32 color, INT32 void HWR_DrawPic(INT32 x,INT32 y,lumpnum_t lumpnum); UINT8 *HWR_GetScreenshot(void); -boolean HWR_Screenshot(const char *pathname, char **error); +boolean HWR_Screenshot(const char *pathname); void HWR_AddCommands(void); void HWR_CorrectSWTricks(void); diff --git a/src/m_misc.c b/src/m_misc.c index 7b60caff..88ae3b86 100644 --- a/src/m_misc.c +++ b/src/m_misc.c @@ -1285,9 +1285,8 @@ void M_StopMovie(void) * \param height Height of the picture. * \param palette Palette of image data. * \note if palette is NULL, BGR888 format - * \param error Error string to return, if screenshot failed. */ -boolean M_SavePNG(const char *filename, void *data, int width, int height, const UINT8 *palette, char **error) +boolean M_SavePNG(const char *filename, void *data, int width, int height, const UINT8 *palette) { png_structp png_ptr; png_infop png_info_ptr; @@ -1302,14 +1301,14 @@ boolean M_SavePNG(const char *filename, void *data, int width, int height, const png_FILE = fopen(filename,"wb"); if (!png_FILE) { - *error = "Failed to open file for write"; + CONS_Debug(DBG_RENDER, "M_SavePNG: Error on opening %s for write\n", filename); return false; } png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, PNG_error, PNG_warn); if (!png_ptr) { - *error = "Failed to initialize libpng"; + CONS_Debug(DBG_RENDER, "M_SavePNG: Error on initialize libpng\n"); fclose(png_FILE); remove(filename); return false; @@ -1318,7 +1317,7 @@ boolean M_SavePNG(const char *filename, void *data, int width, int height, const png_info_ptr = png_create_info_struct(png_ptr); if (!png_info_ptr) { - *error = "Failed to allocate memory for libpng"; + CONS_Debug(DBG_RENDER, "M_SavePNG: Error on allocate for libpng\n"); png_destroy_write_struct(&png_ptr, NULL); fclose(png_FILE); remove(filename); @@ -1331,7 +1330,7 @@ boolean M_SavePNG(const char *filename, void *data, int width, int height, const if (setjmp(png_jmpbuf(png_ptr))) #endif { - *error = "libpng write error"; + //CONS_Debug(DBG_RENDER, "libpng write error on %s\n", filename); png_destroy_write_struct(&png_ptr, &png_info_ptr); fclose(png_FILE); remove(filename); @@ -1470,7 +1469,6 @@ void M_DoScreenShot(void) #if NUMSCREENS > 2 const char *freename = NULL, *pathname = "."; boolean ret = false; - char *error = "Unknown error"; UINT8 *linear = NULL; // Don't take multiple screenshots, obviously @@ -1511,13 +1509,13 @@ void M_DoScreenShot(void) // save the pcx file #ifdef HWRENDER if (rendermode == render_opengl) - ret = HWR_Screenshot(va(pandf,pathname,freename), &error); + ret = HWR_Screenshot(va(pandf,pathname,freename)); else #endif { M_CreateScreenShotPalette(); #ifdef USE_PNG - ret = M_SavePNG(va(pandf,pathname,freename), linear, vid.width, vid.height, screenshot_palette, &error); + ret = M_SavePNG(va(pandf,pathname,freename), linear, vid.width, vid.height, screenshot_palette); #else ret = WritePCXfile(va(pandf,pathname,freename), linear, vid.width, vid.height, screenshot_palette); #endif @@ -1532,7 +1530,7 @@ failure: else { if (freename) - CONS_Alert(CONS_ERROR, M_GetText("Couldn't create screen shot %s in %s (%s)\n"), freename, pathname, error); + CONS_Alert(CONS_ERROR, M_GetText("Couldn't create screen shot %s in %s\n"), freename, pathname); else CONS_Alert(CONS_ERROR, M_GetText("Couldn't create screen shot in %s (all 10000 slots used!)\n"), pathname); diff --git a/src/m_misc.h b/src/m_misc.h index cb4af392..7dd8baab 100644 --- a/src/m_misc.h +++ b/src/m_misc.h @@ -64,7 +64,7 @@ void FIL_ForceExtension(char *path, const char *extension); boolean FIL_CheckExtension(const char *in); #ifdef HAVE_PNG -boolean M_SavePNG(const char *filename, void *data, int width, int height, const UINT8 *palette, char **error); +boolean M_SavePNG(const char *filename, void *data, int width, int height, const UINT8 *palette); #endif extern boolean takescreenshot; From 9b3174c4f43dc5ddb8969ba8ff11174545b8454b Mon Sep 17 00:00:00 2001 From: mazmazz Date: Wed, 2 Jan 2019 18:19:44 -0500 Subject: [PATCH 008/245] Correct asset directory for travis --- .travis.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6e5c9fc0..d0bc064f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -593,7 +593,8 @@ install: before_script: # OLDPWD is root repo folder - OLDPWD=$PWD - - mkdir -p "$OLDPWD/assets/installer" + - __ASSET_DIRECTORY="$OLDPWD/assets/installer" + - mkdir -p "$__ASSET_DIRECTORY" - cd "$HOME/srb2_cache" # Get stat command so we know what the cached archive date is. @@ -610,7 +611,7 @@ before_script: echo "$(basename $ASSET_ARCHIVE_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_PATH))"; fi; wget --verbose --server-response -N "$ASSET_ARCHIVE_PATH"; - 7z x "$(basename $ASSET_ARCHIVE_PATH)" -o"$OLDPWD/assets/installer" -aos; + 7z x "$(basename $ASSET_ARCHIVE_PATH)" -o"$__ASSET_DIRECTORY" -aos; fi; # Get optional files too @@ -619,16 +620,16 @@ before_script: echo "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_OPTIONAL_PATH))"; fi; wget --verbose --server-response -N "$ASSET_ARCHIVE_OPTIONAL_PATH"; - 7z x "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH)" -o"$OLDPWD/assets/installer" -aos; + 7z x "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH)" -o"$__ASSET_DIRECTORY" -aos; fi; - # Copy assets to repo staging folder, then go back to root repo folder + # Go back to root repo folder - cd "$OLDPWD" # Prepare CMake asset lists - SRB2_ASSET_HASHED=$(echo ${ASSET_FILES_HASHED// /\;}) - SRB2_ASSET_DOCS=$(echo ${ASSET_FILES_DOCS// /\;}) - - SRB2_ASSET_DIRECTORY="$OLDPWD/assets/installer" + - SRB2_ASSET_DIRECTORY="$__ASSET_DIRECTORY" # Prepare CMake - mkdir build From ac7b29eb2db79bb2d0ab762e5123c75bf4ca0499 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Wed, 2 Jan 2019 20:48:00 -0500 Subject: [PATCH 009/245] Add __DPL_ACTIVE condition to optional asset download --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d0bc064f..b87650f6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -615,7 +615,7 @@ before_script: fi; # Get optional files too - - if [[ "$ASSET_FILES_OPTIONAL_GET" == "1" ]] && [[ "$ASSET_ARCHIVE_OPTIONAL_PATH" != "" ]]; then + - if [[ "$__DPL_ACTIVE" == "1" ]] && [[ "$ASSET_FILES_OPTIONAL_GET" == "1" ]] && [[ "$ASSET_ARCHIVE_OPTIONAL_PATH" != "" ]]; then if [ -f "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH)" ]; then echo "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_OPTIONAL_PATH))"; fi; From 88c4a54cea71097e918593907477e2353c7efaaf Mon Sep 17 00:00:00 2001 From: Marco Z Date: Fri, 4 Jan 2019 20:25:41 -0500 Subject: [PATCH 010/245] Add GME to VC10 SRB2SDL project --- libs/libgme.props | 16 ++++++++++++++++ src/sdl/Srb2SDL-vc10.vcxproj | 1 + src/sdl/Srb2SDL.props | 2 +- 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 libs/libgme.props diff --git a/libs/libgme.props b/libs/libgme.props new file mode 100644 index 00000000..d530eac7 --- /dev/null +++ b/libs/libgme.props @@ -0,0 +1,16 @@ + + + + + + $(SolutionDir)libs\gme\include;$(IncludePath) + $(SolutionDir)libs\gme\win32;$(LibraryPath) + $(SolutionDir)libs\gme\win64;$(LibraryPath) + + + + libgme.dll.a;%(AdditionalDependencies) + + + + \ No newline at end of file diff --git a/src/sdl/Srb2SDL-vc10.vcxproj b/src/sdl/Srb2SDL-vc10.vcxproj index 04af6a8e..3b764996 100644 --- a/src/sdl/Srb2SDL-vc10.vcxproj +++ b/src/sdl/Srb2SDL-vc10.vcxproj @@ -93,6 +93,7 @@ + diff --git a/src/sdl/Srb2SDL.props b/src/sdl/Srb2SDL.props index 260f81ee..cba6d164 100644 --- a/src/sdl/Srb2SDL.props +++ b/src/sdl/Srb2SDL.props @@ -5,7 +5,7 @@ - USE_WGL_SWAP;DIRECTFULLSCREEN;HAVE_SDL;HWRENDER;HW3SOUND;HAVE_FILTER;HAVE_MIXER;SDLMAIN;%(PreprocessorDefinitions) + USE_WGL_SWAP;DIRECTFULLSCREEN;HAVE_SDL;HWRENDER;HW3SOUND;HAVE_FILTER;HAVE_MIXER;HAVE_LIBGME;HAVE_ZLIB;SDLMAIN;%(PreprocessorDefinitions) From 09ed8bd04621ec3e93fdaf9968676b0b01665120 Mon Sep 17 00:00:00 2001 From: Marco Z Date: Fri, 4 Jan 2019 20:38:03 -0500 Subject: [PATCH 011/245] Add LibGME to DD vc10 project --- src/win32/Srb2win-vc10.vcxproj | 1 + src/win32/Srb2win.props | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/win32/Srb2win-vc10.vcxproj b/src/win32/Srb2win-vc10.vcxproj index ca73b129..f74cf3c1 100644 --- a/src/win32/Srb2win-vc10.vcxproj +++ b/src/win32/Srb2win-vc10.vcxproj @@ -91,6 +91,7 @@ + diff --git a/src/win32/Srb2win.props b/src/win32/Srb2win.props index 44a30d50..ea12ffb2 100644 --- a/src/win32/Srb2win.props +++ b/src/win32/Srb2win.props @@ -5,7 +5,7 @@ - _WINDOWS;%(PreprocessorDefinitions) + _WINDOWS;HAVE_LIBGME;HAVE_ZLIB;%(PreprocessorDefinitions) From 882355d24b4b1c570480395043ac311fda77a848 Mon Sep 17 00:00:00 2001 From: Marco Z Date: Fri, 4 Jan 2019 21:18:55 -0500 Subject: [PATCH 012/245] Specify HAVE_LIBGME, paths, and depends only for Win32/x64 MSVC --- libs/libgme.props | 4 ++-- src/sdl/Srb2SDL.props | 5 ++++- src/win32/Srb2win.props | 5 ++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/libs/libgme.props b/libs/libgme.props index d530eac7..209f6b9a 100644 --- a/libs/libgme.props +++ b/libs/libgme.props @@ -2,12 +2,12 @@ - + $(SolutionDir)libs\gme\include;$(IncludePath) $(SolutionDir)libs\gme\win32;$(LibraryPath) $(SolutionDir)libs\gme\win64;$(LibraryPath) - + libgme.dll.a;%(AdditionalDependencies) diff --git a/src/sdl/Srb2SDL.props b/src/sdl/Srb2SDL.props index cba6d164..75839a5b 100644 --- a/src/sdl/Srb2SDL.props +++ b/src/sdl/Srb2SDL.props @@ -5,7 +5,10 @@ - USE_WGL_SWAP;DIRECTFULLSCREEN;HAVE_SDL;HWRENDER;HW3SOUND;HAVE_FILTER;HAVE_MIXER;HAVE_LIBGME;HAVE_ZLIB;SDLMAIN;%(PreprocessorDefinitions) + + HAVE_ZLIB;HAVE_LIBGME;USE_WGL_SWAP;DIRECTFULLSCREEN;HAVE_SDL;HWRENDER;HW3SOUND;HAVE_FILTER;HAVE_MIXER;SDLMAIN;%(PreprocessorDefinitions) + + USE_WGL_SWAP;DIRECTFULLSCREEN;HAVE_SDL;HWRENDER;HW3SOUND;HAVE_FILTER;HAVE_MIXER;SDLMAIN;%(PreprocessorDefinitions) diff --git a/src/win32/Srb2win.props b/src/win32/Srb2win.props index ea12ffb2..fa152f0c 100644 --- a/src/win32/Srb2win.props +++ b/src/win32/Srb2win.props @@ -5,7 +5,10 @@ - _WINDOWS;HAVE_LIBGME;HAVE_ZLIB;%(PreprocessorDefinitions) + + HAVE_ZLIB;HAVE_LIBGME;_WINDOWS;%(PreprocessorDefinitions) + + _WINDOWS;%(PreprocessorDefinitions) From abaa8730a5272a868c871ffb42f395866ae0c1b9 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 5 Jan 2019 09:54:45 -0500 Subject: [PATCH 013/245] Revised comments --- .travis.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b87650f6..1f80e3df 100644 --- a/.travis.yml +++ b/.travis.yml @@ -564,16 +564,20 @@ addons: before_install: # Initialize Deployer defaults - . ./deployer/travis/deployer_defaults.sh + # Initialize Deployer; check if Deployer is enabled # This needs to be run in the current shell so that $__DPL_ACTIVE is set for this session - . ./deployer/travis/deployer.sh - # Also check if we should now terminate + + # Also check if we should now terminate -- see `deployer.sh` for conditions. + # This should never happen on non-release buildbots when Deployer is not triggered. - if [[ "$__DPL_TRY_TERMINATE_EARLY" == "1" ]]; then if [[ "$__DPL_ACTIVE" != "1" ]]; then echo "Exiting early because this job is not deploying."; exit; fi; fi + # If we're triggered by release tag, force ASSET_FILES_OPTIONAL_GET=1 - if [[ "$__DPL_TAG_ELIGIBLE" = "1" ]]; then ASSET_FILES_OPTIONAL_GET=1; @@ -606,6 +610,7 @@ before_script: fi # Get asset files (required for MD5) + # See `deployer_defaults.sh` for asset download path - if [[ "$ASSET_ARCHIVE_PATH" != "" ]]; then if [ -f "$(basename $ASSET_ARCHIVE_PATH)" ]; then echo "$(basename $ASSET_ARCHIVE_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_PATH))"; @@ -655,5 +660,8 @@ script: after_success: # Run the Deployer scripts + - if [[ "$__DPL_ACTIVE" != "1" ]]; then + exit; + fi; - . ../deployer/travis/deployer_ftp.sh - . ../deployer/travis/deployer_dput.sh From 97f8448b72bd0563ed57f9c93c4fd96a96346072 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 5 Jan 2019 10:17:33 -0500 Subject: [PATCH 014/245] Don't terminate in after_success because it halts the log abruptly --- .travis.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1f80e3df..3068b89b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -659,9 +659,7 @@ script: fi; after_success: - # Run the Deployer scripts - - if [[ "$__DPL_ACTIVE" != "1" ]]; then - exit; - fi; + # Run the upload scripts + # These do nothing if Deployer is not triggered - . ../deployer/travis/deployer_ftp.sh - . ../deployer/travis/deployer_dput.sh From 0834dbc194770ef4897558974a953239789ae704 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 5 Jan 2019 19:20:58 -0500 Subject: [PATCH 015/245] * Add homebrew tap mazmazz/srb2 * Use sdl2_mixer from mazmazz/srb2 due to removed options from homebrew-core * Use `brew install --build-bottle` to build compatible libraries for old Macs --- .travis.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3068b89b..18e70647 100644 --- a/.travis.yml +++ b/.travis.yml @@ -585,10 +585,18 @@ before_install: install: + # Install OS X library dependencies via Homebrew + # `brew install --build-bottle` builds libraries for x86_64's lowest common denominator CPU, core2 + # `sdl2_mixer` requires options from the formula tap https://github.com/mazmazz/homebrew-srb2 + # `brew postinstall` runs post-install scripts after building a bottle - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; - brew install sdl2 game-music-emu zlib p7zip; - brew install sdl2_mixer --with-flac --with-mpg123; + brew tap mazmazz/srb2; + fi; + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + brew install --build-bottle sdl2 game-music-emu zlib p7zip; + brew install --build-bottle mazmazz/srb2/sdl2_mixer --with-flac --with-mpg123; + brew postinstall sdl2 game-music-emu zlib p7zip mazmazz/srb2/sdl2_mixer; brew install cmake||true; fi - mkdir -p $HOME/srb2_cache From 9ef7d2e6ba46eb4fa9d015c3a998789c221de045 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 5 Jan 2019 19:27:34 -0500 Subject: [PATCH 016/245] OS X set CFLAGS+="-march=core2" for compatible binaries with old Macs --- .travis.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.travis.yml b/.travis.yml index 18e70647..1103c4e8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -583,6 +583,9 @@ before_install: ASSET_FILES_OPTIONAL_GET=1; fi; + # Print version info + - gcc --version; + install: # Install OS X library dependencies via Homebrew @@ -650,6 +653,10 @@ before_script: - mkdir package - export CFLAGS="-Wall -W -Werror $WFLAGS" - export CCACHE_COMPRESS=true + # If OS X, set -march=core2 to build compatible binaries with old Macs + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + export CFLAGS="${CFLAGS} -march=core2"; + fi; - cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/bin -DCPACK_PACKAGE_DIRECTORY=$PWD/package -DSRB2_ASSET_HASHED="${SRB2_ASSET_HASHED}" -DSRB2_ASSET_DOCS="${SRB2_ASSET_DOCS}" -DSRB2_ASSET_DIRECTORY="${SRB2_ASSET_DIRECTORY}" From 17cde328c123edc45dd710e7a4cbb730e4ec2138 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 5 Jan 2019 19:43:37 -0500 Subject: [PATCH 017/245] Use standard OSX brew bottles to speed up test buildbots --- .travis.yml | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1103c4e8..301991dd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -589,18 +589,24 @@ before_install: install: # Install OS X library dependencies via Homebrew - # `brew install --build-bottle` builds libraries for x86_64's lowest common denominator CPU, core2 - # `sdl2_mixer` requires options from the formula tap https://github.com/mazmazz/homebrew-srb2 - # `brew postinstall` runs post-install scripts after building a bottle + # Do this differently for release buildbots: + # * `brew install --build-bottle` builds libraries for x86_64's lowest common denominator CPU, core2 + # * `sdl2_mixer` requires options from the formula tap https://github.com/mazmazz/homebrew-srb2 + # * `brew postinstall` runs post-install scripts after building a bottle - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; brew tap mazmazz/srb2; fi; - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then - brew install --build-bottle sdl2 game-music-emu zlib p7zip; - brew install --build-bottle mazmazz/srb2/sdl2_mixer --with-flac --with-mpg123; - brew postinstall sdl2 game-music-emu zlib p7zip mazmazz/srb2/sdl2_mixer; - brew install cmake||true; + if [[ "$__DPL_ACTIVE" != "1" ]]; then + brew install sdl2 sdl2_mixer game-music-emu p7zip; + brew install cmake||true; + else + brew install --build-bottle sdl2 game-music-emu zlib p7zip; + brew install --build-bottle mazmazz/srb2/sdl2_mixer --with-flac --with-mpg123; + brew postinstall sdl2 game-music-emu zlib p7zip mazmazz/srb2/sdl2_mixer; + brew install cmake||true; + fi; fi - mkdir -p $HOME/srb2_cache From 20879f1f40418ce05aed27bd7251da72285661e1 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 5 Jan 2019 19:49:25 -0500 Subject: [PATCH 018/245] Remove zlib from release brew packages (it was never in the original travis script) --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 301991dd..19a6d7a8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -602,9 +602,9 @@ install: brew install sdl2 sdl2_mixer game-music-emu p7zip; brew install cmake||true; else - brew install --build-bottle sdl2 game-music-emu zlib p7zip; + brew install --build-bottle sdl2 game-music-emu p7zip; brew install --build-bottle mazmazz/srb2/sdl2_mixer --with-flac --with-mpg123; - brew postinstall sdl2 game-music-emu zlib p7zip mazmazz/srb2/sdl2_mixer; + brew postinstall sdl2 game-music-emu p7zip mazmazz/srb2/sdl2_mixer; brew install cmake||true; fi; fi From 2592f42a17325520c32882bf7b0d429f76aea3c1 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 5 Jan 2019 19:56:27 -0500 Subject: [PATCH 019/245] Remove unnecessary version info call --- .travis.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 19a6d7a8..e9c8d0d7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -583,9 +583,6 @@ before_install: ASSET_FILES_OPTIONAL_GET=1; fi; - # Print version info - - gcc --version; - install: # Install OS X library dependencies via Homebrew From 356249dade14c25a0404e75fd5eacd61acbed443 Mon Sep 17 00:00:00 2001 From: james Date: Thu, 17 Jan 2019 16:47:01 -0800 Subject: [PATCH 020/245] Set modifiers in a non-reactive manner --- src/console.c | 10 ---------- src/d_main.c | 31 +------------------------------ src/hu_stuff.c | 10 ---------- src/sdl/i_video.c | 16 ++++++++++++++-- 4 files changed, 15 insertions(+), 52 deletions(-) diff --git a/src/console.c b/src/console.c index 5c173e45..50e18577 100644 --- a/src/console.c +++ b/src/console.c @@ -1051,16 +1051,6 @@ boolean CON_Responder(event_t *ev) else if (key == KEY_KPADSLASH) key = '/'; - // capslock - if (key == KEY_CAPSLOCK) // it's a toggle. - { - if (capslock) - capslock = false; - else - capslock = true; - return true; - } - if (key >= 'a' && key <= 'z') { if (capslock ^ shiftdown) diff --git a/src/d_main.c b/src/d_main.c index dd2cfe0e..bc180f9b 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -176,37 +176,11 @@ void D_PostEvent_end(void) {}; #endif // modifier keys +// Now handled in I_OsPolling UINT8 shiftdown = 0; // 0x1 left, 0x2 right UINT8 ctrldown = 0; // 0x1 left, 0x2 right UINT8 altdown = 0; // 0x1 left, 0x2 right boolean capslock = 0; // gee i wonder what this does. -// -// D_ModifierKeyResponder -// Sets global shift/ctrl/alt variables, never actually eats events -// -static inline void D_ModifierKeyResponder(event_t *ev) -{ - if (ev->type == ev_keydown || ev->type == ev_console) switch (ev->data1) - { - case KEY_LSHIFT: shiftdown |= 0x1; return; - case KEY_RSHIFT: shiftdown |= 0x2; return; - case KEY_LCTRL: ctrldown |= 0x1; return; - case KEY_RCTRL: ctrldown |= 0x2; return; - case KEY_LALT: altdown |= 0x1; return; - case KEY_RALT: altdown |= 0x2; return; - default: return; - } - else if (ev->type == ev_keyup) switch (ev->data1) - { - case KEY_LSHIFT: shiftdown &= ~0x1; return; - case KEY_RSHIFT: shiftdown &= ~0x2; return; - case KEY_LCTRL: ctrldown &= ~0x1; return; - case KEY_RCTRL: ctrldown &= ~0x2; return; - case KEY_LALT: altdown &= ~0x1; return; - case KEY_RALT: altdown &= ~0x2; return; - default: return; - } -} // // D_ProcessEvents @@ -220,9 +194,6 @@ void D_ProcessEvents(void) { ev = &events[eventtail]; - // Set global shift/ctrl/alt down variables - D_ModifierKeyResponder(ev); // never eats events - // Screenshots over everything so that they can be taken anywhere. if (M_ScreenshotResponder(ev)) continue; // ate the event diff --git a/src/hu_stuff.c b/src/hu_stuff.c index e34e5c35..a416f0d2 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -1101,16 +1101,6 @@ boolean HU_Responder(event_t *ev) c = (INT32)ev->data1; - // capslock (now handled outside of chat on so that it works everytime......) - if (c && c == KEY_CAPSLOCK) // it's a toggle. - { - if (capslock) - capslock = false; - else - capslock = true; - return true; - } - #ifndef NONET if (!chat_on) { diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index dbaa7037..71d80605 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -580,8 +580,6 @@ static void Impl_HandleWindowEvent(SDL_WindowEvent evt) if (cv_usemouse.value) I_StartupMouse(); } //else firsttimeonmouse = SDL_FALSE; - - capslock = !!( SDL_GetModState() & KMOD_CAPS );// in case CL changes } else if (!mousefocus && !kbfocus) { @@ -939,6 +937,8 @@ void I_StartupMouse(void) // void I_OsPolling(void) { + SDL_Keymod mod; + if (consolevent) I_GetConsoleEvents(); if (SDL_WasInit(SDL_INIT_JOYSTICK) == SDL_INIT_JOYSTICK) @@ -951,6 +951,18 @@ void I_OsPolling(void) I_GetMouseEvents(); I_GetEvent(); + + mod = SDL_GetModState(); + /* Handle here so that our state is always synched with the system. */ + shiftdown = ctrldown = altdown = 0; + capslock = false; + if (mod & KMOD_LSHIFT) shiftdown |= 1; + if (mod & KMOD_RSHIFT) shiftdown |= 2; + if (mod & KMOD_LCTRL) ctrldown |= 1; + if (mod & KMOD_RCTRL) ctrldown |= 2; + if (mod & KMOD_LALT) altdown |= 1; + if (mod & KMOD_RALT) altdown |= 2; + if (mod & KMOD_CAPS) capslock = true; } // From 1cfdd07ee098959cf5633446b3d7549ec86629d9 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Sun, 17 Mar 2019 22:27:50 -0300 Subject: [PATCH 021/245] gl4 --- src/d_main.c | 3 - src/dehacked.c | 172 +--- src/doomdef.h | 5 - src/hardware/hw_bsp.c | 107 +- src/hardware/hw_cache.c | 79 +- src/hardware/hw_clip.c | 4 +- src/hardware/hw_data.h | 46 +- src/hardware/hw_defs.h | 81 +- src/hardware/hw_dll.h | 4 +- src/hardware/hw_draw.c | 65 +- src/hardware/hw_drv.h | 55 +- src/hardware/hw_glide.h | 17 +- src/hardware/hw_glob.h | 30 +- src/hardware/hw_light.c | 1318 +------------------------ src/hardware/hw_light.h | 92 +- src/hardware/hw_main.c | 1288 +++++------------------- src/hardware/hw_main.h | 25 +- src/hardware/hw_md2.c | 36 +- src/hardware/hw_md2.h | 18 +- src/hardware/r_opengl/ogl_win.c | 3 - src/hardware/r_opengl/r_opengl.c | 1572 +++++++++++++----------------- src/hardware/r_opengl/r_opengl.h | 23 +- src/info.c | 8 +- src/info.h | 2 +- src/m_menu.c | 93 +- src/p_setup.c | 19 +- src/r_data.c | 3 +- src/r_data.h | 2 + src/r_defs.h | 27 - src/r_main.c | 9 +- src/sdl/hwsym_sdl.c | 13 +- src/sdl/i_video.c | 19 +- src/sdl/ogl_sdl.c | 60 +- src/st_stuff.c | 12 +- src/v_video.c | 13 +- 35 files changed, 1169 insertions(+), 4154 deletions(-) diff --git a/src/d_main.c b/src/d_main.c index dd2cfe0e..859ac03c 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -533,9 +533,6 @@ void D_SRB2Loop(void) if (dedicated) server = true; - if (M_CheckParm("-voodoo")) // 256x256 Texture Limiter - COM_BufAddText("gr_voodoocompatibility on\n"); - // Pushing of + parameters is now done back in D_SRB2Main, not here. CONS_Printf("I_StartupKeyboard()...\n"); diff --git a/src/dehacked.c b/src/dehacked.c index a726ecbc..7a2e68ce 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -40,10 +40,6 @@ #include "v_video.h" // video flags (for lua) #endif -#ifdef HWRENDER -#include "hardware/hw_light.h" -#endif - #ifdef PC_DOS #include // for snprintf //int snprintf(char *str, size_t n, const char *fmt, ...); @@ -335,21 +331,6 @@ static INT32 searchvalue(const char *s) } } -#ifdef HWRENDER -static float searchfvalue(const char *s) -{ - while (s[0] != '=' && s[0]) - s++; - if (s[0] == '=') - return (float)atof(&s[1]); - else - { - deh_warning("No value found"); - return 0; - } -} -#endif - // These are for clearing all of various things static void clear_conditionsets(void) { @@ -844,128 +825,6 @@ static void readthing(MYFILE *f, INT32 num) Z_Free(s); } -#ifdef HWRENDER -static void readlight(MYFILE *f, INT32 num) -{ - char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL); - char *word; - char *tmp; - INT32 value; - float fvalue; - - do - { - if (myfgets(s, MAXLINELEN, f)) - { - if (s[0] == '\n') - break; - - tmp = strchr(s, '#'); - if (tmp) - *tmp = '\0'; - if (s == tmp) - continue; // Skip comment lines, but don't break. - - fvalue = searchfvalue(s); - value = searchvalue(s); - - word = strtok(s, " "); - if (word) - strupr(word); - else - break; - - if (fastcmp(word, "TYPE")) - { - DEH_WriteUndoline(word, va("%d", lspr[num].type), UNDO_NONE); - lspr[num].type = (UINT16)value; - } - else if (fastcmp(word, "OFFSETX")) - { - DEH_WriteUndoline(word, va("%f", lspr[num].light_xoffset), UNDO_NONE); - lspr[num].light_xoffset = fvalue; - } - else if (fastcmp(word, "OFFSETY")) - { - DEH_WriteUndoline(word, va("%f", lspr[num].light_yoffset), UNDO_NONE); - lspr[num].light_yoffset = fvalue; - } - else if (fastcmp(word, "CORONACOLOR")) - { - DEH_WriteUndoline(word, va("%u", lspr[num].corona_color), UNDO_NONE); - lspr[num].corona_color = value; - } - else if (fastcmp(word, "CORONARADIUS")) - { - DEH_WriteUndoline(word, va("%f", lspr[num].corona_radius), UNDO_NONE); - lspr[num].corona_radius = fvalue; - } - else if (fastcmp(word, "DYNAMICCOLOR")) - { - DEH_WriteUndoline(word, va("%u", lspr[num].dynamic_color), UNDO_NONE); - lspr[num].dynamic_color = value; - } - else if (fastcmp(word, "DYNAMICRADIUS")) - { - DEH_WriteUndoline(word, va("%f", lspr[num].dynamic_radius), UNDO_NONE); - lspr[num].dynamic_radius = fvalue; - - /// \note Update the sqrradius! unnecessary? - lspr[num].dynamic_sqrradius = fvalue * fvalue; - } - else - deh_warning("Light %d: unknown word '%s'", num, word); - } - } while (!myfeof(f)); // finish when the line is empty - - Z_Free(s); -} - -static void readspritelight(MYFILE *f, INT32 num) -{ - char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL); - char *word; - char *tmp; - INT32 value; - - do - { - if (myfgets(s, MAXLINELEN, f)) - { - if (s[0] == '\n') - break; - - tmp = strchr(s, '#'); - if (tmp) - *tmp = '\0'; - if (s == tmp) - continue; // Skip comment lines, but don't break. - - value = searchvalue(s); - - word = strtok(s, " "); - if (word) - strupr(word); - else - break; - - if (fastcmp(word, "LIGHTTYPE")) - { - INT32 oldvar; - for (oldvar = 0; t_lspr[num] != &lspr[oldvar]; oldvar++) - ; - DEH_WriteUndoline(word, va("%d", oldvar), UNDO_NONE); - t_lspr[num] = &lspr[value]; - } - else - deh_warning("Sprite %d: unknown word '%s'", num, word); - } - } while (!myfeof(f)); // finish when the line is empty - - Z_Free(s); -} -#endif // HWRENDER - static const struct { const char *name; const UINT16 flag; @@ -3424,35 +3283,6 @@ static void DEH_LoadDehackedFile(MYFILE *f, UINT16 wad) { readAnimTex(f, i); }*/ - else if (fastcmp(word, "LIGHT")) - { -#ifdef HWRENDER - // TODO: Read lights by name - if (i > 0 && i < NUMLIGHTS) - readlight(f, i); - else - { - deh_warning("Light number %d out of range (1 - %d)", i, NUMLIGHTS-1); - ignorelines(f); - } - DEH_WriteUndoline(word, word2, UNDO_HEADER); -#endif - } - else if (fastcmp(word, "SPRITE")) - { -#ifdef HWRENDER - if (i == 0 && word2[0] != '0') // If word2 isn't a number - i = get_sprite(word2); // find a sprite by name - if (i < NUMSPRITES && i >= 0) - readspritelight(f, i); - else - { - deh_warning("Sprite number %d out of range (0 - %d)", i, NUMSPRITES-1); - ignorelines(f); - } - DEH_WriteUndoline(word, word2, UNDO_HEADER); -#endif - } else if (fastcmp(word, "LEVEL")) { // Support using the actual map name, @@ -6377,7 +6207,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s // Castle Eggman Scenery "MT_CHAIN", // CEZ Chain - "MT_FLAME", // Flame (has corona) + "MT_FLAME", // Flame "MT_EGGSTATUE", // Eggman Statue "MT_MACEPOINT", // Mace rotation point "MT_SWINGMACEPOINT", // Mace swinging point diff --git a/src/doomdef.h b/src/doomdef.h index 527cdf05..7358da51 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -499,11 +499,6 @@ extern const char *compdate, *comptime, *comprevision, *compbranch; /// Most modifications should probably enable this. //#define SAVEGAME_OTHERVERSIONS -#if !defined (_NDS) && !defined (_PSP) -/// Shuffle's incomplete OpenGL sorting code. -#define SHUFFLE // This has nothing to do with sorting, why was it disabled? -#endif - #if !defined (_NDS) && !defined (_PSP) /// Allow the use of the SOC RESETINFO command. /// \note Builds that are tight on memory should disable this. diff --git a/src/hardware/hw_bsp.c b/src/hardware/hw_bsp.c index 21fd85a3..ae7b1888 100644 --- a/src/hardware/hw_bsp.c +++ b/src/hardware/hw_bsp.c @@ -1,17 +1,12 @@ -// Emacs style mode select -*- C++ -*- +// SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- -// +// Copyright (C) 1993-1996 by id Software, Inc. // Copyright (C) 1998-2000 by DooM Legacy Team. +// Copyright (C) 1999-2019 by Sonic Team Junior. // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. +// This program is free software distributed under the +// terms of the GNU General Public License, version 2. +// See the 'LICENSE' file for more details. //----------------------------------------------------------------------------- /// \file /// \brief convert SRB2 map @@ -59,77 +54,12 @@ static INT32 totalsubsecpolys = 0; // -------------------------------------------------------------------------- // Polygon fast alloc / free // -------------------------------------------------------------------------- -//hurdler: quick fix for those who wants to play with larger wad - -#define ZPLANALLOC -#ifndef ZPLANALLOC -//#define POLYPOOLSIZE 1024000 // may be much over what is needed -/// \todo check out how much is used -static size_t POLYPOOLSIZE = 1024000; - -static UINT8 *gr_polypool = NULL; -static UINT8 *gr_ppcurrent; -static size_t gr_ppfree; -#endif - -// only between levels, clear poly pool -static void HWR_ClearPolys(void) -{ -#ifndef ZPLANALLOC - gr_ppcurrent = gr_polypool; - gr_ppfree = POLYPOOLSIZE; -#endif -} - -// allocate pool for fast alloc of polys -void HWR_InitPolyPool(void) -{ -#ifndef ZPLANALLOC - INT32 pnum; - - //hurdler: quick fix for those who wants to play with larger wad - if ((pnum = M_CheckParm("-polypoolsize"))) - POLYPOOLSIZE = atoi(myargv[pnum+1])*1024; // (in kb) - - CONS_Debug(DBG_RENDER, "HWR_InitPolyPool(): allocating %d bytes\n", POLYPOOLSIZE); - gr_polypool = malloc(POLYPOOLSIZE); - if (!gr_polypool) - I_Error("HWR_InitPolyPool(): couldn't malloc polypool\n"); - HWR_ClearPolys(); -#endif -} - -void HWR_FreePolyPool(void) -{ -#ifndef ZPLANALLOC - if (gr_polypool) - free(gr_polypool); - gr_polypool = NULL; -#endif -} static poly_t *HWR_AllocPoly(INT32 numpts) { poly_t *p; size_t size = sizeof (poly_t) + sizeof (polyvertex_t) * numpts; -#ifdef ZPLANALLOC p = Z_Malloc(size, PU_HWRPLANE, NULL); -#else -#ifdef PARANOIA - if (!gr_polypool) - I_Error("Used gr_polypool without init!\n"); - if (!gr_ppcurrent) - I_Error("gr_ppcurrent == NULL!\n"); -#endif - - if (gr_ppfree < size) - I_Error("HWR_AllocPoly(): no more memory %u bytes left, %u bytes needed\n\n%s\n", - gr_ppfree, size, "You can try the param -polypoolsize 2048 (or higher if needed)"); - - p = (poly_t *)gr_ppcurrent; - gr_ppcurrent += size; - gr_ppfree -= size; -#endif p->numpts = numpts; return p; } @@ -138,17 +68,7 @@ static polyvertex_t *HWR_AllocVertex(void) { polyvertex_t *p; size_t size = sizeof (polyvertex_t); -#ifdef ZPLANALLOC p = Z_Malloc(size, PU_HWRPLANE, NULL); -#else - if (gr_ppfree < size) - I_Error("HWR_AllocVertex(): no more memory %u bytes left, %u bytes needed\n\n%s\n", - gr_ppfree, size, "You can try the param -polypoolsize 2048 (or higher if needed)"); - - p = (polyvertex_t *)gr_ppcurrent; - gr_ppcurrent += size; - gr_ppfree -= size; -#endif return p; } @@ -156,16 +76,9 @@ static polyvertex_t *HWR_AllocVertex(void) /// for now don't free because it doesn't free in reverse order static void HWR_FreePoly(poly_t *poly) { -#ifdef ZPLANALLOC Z_Free(poly); -#else - const size_t size = sizeof (poly_t) + sizeof (polyvertex_t) * poly->numpts; - memset(poly, 0x00, size); - //mempoly -= polysize; -#endif } - // Return interception along bsp line, // with the polygon segment // @@ -576,8 +489,8 @@ static inline void SearchDivline(node_t *bsp, fdivline_t *divline) divline->dy = FIXED_TO_FLOAT(bsp->dy); } -#ifdef HWR_LOADING_SCREEN //Hurdler: implement a loading status +#ifdef HWR_LOADING_SCREEN static size_t ls_count = 0; static UINT8 ls_percent = 0; @@ -835,8 +748,6 @@ static INT32 SolveTProblem(void) return 0; CONS_Debug(DBG_RENDER, "Solving T-joins. This may take a while. Please wait...\n"); - CON_Drawer(); //let the user know what we are doing - I_FinishUpdate(); // page flip or blit buffer numsplitpoly = 0; @@ -963,11 +874,9 @@ void HWR_CreatePlanePolygons(INT32 bspnum) CONS_Debug(DBG_RENDER, "Creating polygons, please wait...\n"); #ifdef HWR_LOADING_SCREEN ls_count = ls_percent = 0; // reset the loading status -#endif CON_Drawer(); //let the user know what we are doing I_FinishUpdate(); // page flip or blit buffer - - HWR_ClearPolys(); +#endif // find min/max boundaries of map //CONS_Debug(DBG_RENDER, "Looking for boundaries of map...\n"); diff --git a/src/hardware/hw_cache.c b/src/hardware/hw_cache.c index 78fc31af..8d1d71c8 100644 --- a/src/hardware/hw_cache.c +++ b/src/hardware/hw_cache.c @@ -1,18 +1,12 @@ -// Emacs style mode select -*- C++ -*- +// SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- -// +// Copyright (C) 1993-1996 by id Software, Inc. // Copyright (C) 1998-2000 by DooM Legacy Team. +// Copyright (C) 1999-2019 by Sonic Team Junior. // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// +// This program is free software distributed under the +// terms of the GNU General Public License, version 2. +// See the 'LICENSE' file for more details. //----------------------------------------------------------------------------- /// \file /// \brief load and convert graphics to the hardware format @@ -241,43 +235,6 @@ static void HWR_ResizeBlock(INT32 originalwidth, INT32 originalheight, if (blockheight < 1) I_Error("3D GenerateTexture : too small"); } - else if (cv_voodoocompatibility.value) - { - if (originalwidth > 256 || originalheight > 256) - { - blockwidth = 256; - while (originalwidth < blockwidth) - blockwidth >>= 1; - if (blockwidth < 1) - I_Error("3D GenerateTexture : too small"); - - blockheight = 256; - while (originalheight < blockheight) - blockheight >>= 1; - if (blockheight < 1) - I_Error("3D GenerateTexture : too small"); - } - else - { - //size up to nearest power of 2 - blockwidth = 1; - while (blockwidth < originalwidth) - blockwidth <<= 1; - // scale down the original graphics to fit in 256 - if (blockwidth > 256) - blockwidth = 256; - //I_Error("3D GenerateTexture : too big"); - - //size up to nearest power of 2 - blockheight = 1; - while (blockheight < originalheight) - blockheight <<= 1; - // scale down the original graphics to fit in 256 - if (blockheight > 256) - blockheight = 255; - //I_Error("3D GenerateTexture : too big"); - } - } else { //size up to nearest power of 2 @@ -508,18 +465,6 @@ void HWR_MakePatch (const patch_t *patch, GLPatch_t *grPatch, GLMipmap_t *grMipm newwidth = blockwidth; newheight = blockheight; } - else if (cv_voodoocompatibility.value) // Only scales down textures that exceed 256x256. - { - // no rounddown, do not size up patches, so they don't look 'scaled' - newwidth = min(grPatch->width, blockwidth); - newheight = min(grPatch->height, blockheight); - - if (newwidth > 256 || newheight > 256) - { - newwidth = blockwidth; - newheight = blockheight; - } - } else { // no rounddown, do not size up patches, so they don't look 'scaled' @@ -935,18 +880,6 @@ GLPatch_t *HWR_GetPic(lumpnum_t lumpnum) newwidth = blockwidth; newheight = blockheight; } - else if (cv_voodoocompatibility.value) // Only scales down textures that exceed 256x256. - { - // no rounddown, do not size up patches, so they don't look 'scaled' - newwidth = min(SHORT(pic->width),blockwidth); - newheight = min(SHORT(pic->height),blockheight); - - if (newwidth > 256 || newheight > 256) - { - newwidth = blockwidth; - newheight = blockheight; - } - } else { // no rounddown, do not size up patches, so they don't look 'scaled' diff --git a/src/hardware/hw_clip.c b/src/hardware/hw_clip.c index 6d120efe..e5057334 100644 --- a/src/hardware/hw_clip.c +++ b/src/hardware/hw_clip.c @@ -380,8 +380,8 @@ void gld_FrustrumSetup(void) float t; float clip[16]; - pglGetDoublev(GL_PROJECTION_MATRIX, projMatrix); - pglGetDoublev(GL_MODELVIEW_MATRIX, viewMatrix); + pglGetFloatv(GL_PROJECTION_MATRIX, projMatrix); + pglGetFloatv(GL_MODELVIEW_MATRIX, viewMatrix); clip[0] = CALCMATRIX(0, 0, 1, 4, 2, 8, 3, 12); clip[1] = CALCMATRIX(0, 1, 1, 5, 2, 9, 3, 13); diff --git a/src/hardware/hw_data.h b/src/hardware/hw_data.h index 4bbc578e..492b3cff 100644 --- a/src/hardware/hw_data.h +++ b/src/hardware/hw_data.h @@ -1,21 +1,15 @@ -// Emacs style mode select -*- C++ -*- +// SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- -// +// Copyright (C) 1993-1996 by id Software, Inc. // Copyright (C) 1998-2000 by DooM Legacy Team. +// Copyright (C) 1999-2019 by Sonic Team Junior. // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// +// This program is free software distributed under the +// terms of the GNU General Public License, version 2. +// See the 'LICENSE' file for more details. //----------------------------------------------------------------------------- /// \file -/// \brief defines structures and exports for the standard 3D driver DLL used by Doom Legacy +/// \brief defines structures and exports for the standard GPU driver #ifndef _HWR_DATA_ #define _HWR_DATA_ @@ -40,38 +34,32 @@ // NULL if the texture is not in Doom heap cache. struct GLMipmap_s { - GrTexInfo grInfo; //for TexDownloadMipMap - FxU32 flags; - UINT16 height; - UINT16 width; - UINT32 downloaded; // the dll driver have it in there cache ? + GrTexInfo grInfo; + FxU32 flags; + UINT16 width, height; + UINT32 downloaded; // tex_downloaded - struct GLMipmap_s *nextcolormap; - const UINT8 *colormap; - - // opengl - struct GLMipmap_s *nextmipmap; // opengl : liste of all texture in opengl driver + struct GLMipmap_s *nextmipmap; + struct GLMipmap_s *nextcolormap; + const UINT8 *colormap; }; typedef struct GLMipmap_s GLMipmap_t; - // // Doom texture info, as cached for hardware rendering // struct GLTexture_s { - GLMipmap_t mipmap; - float scaleX; //used for scaling textures on walls - float scaleY; + GLMipmap_t mipmap; + float scaleX; //used for scaling textures on walls + float scaleY; }; typedef struct GLTexture_s GLTexture_t; - // a cached patch as converted to hardware format, holding the original patch_t // header so that the existing code can retrieve ->width, ->height as usual // This is returned by W_CachePatchNum()/W_CachePatchName(), when rendermode // is 'render_opengl'. Else it returns the normal patch_t data. - struct GLPatch_s { // the 4 first fields come right away from the original patch_t diff --git a/src/hardware/hw_defs.h b/src/hardware/hw_defs.h index c05ff3e7..b0ac599e 100644 --- a/src/hardware/hw_defs.h +++ b/src/hardware/hw_defs.h @@ -41,17 +41,8 @@ typedef unsigned char FBOOLEAN; // ========================================================================== // byte value for paletted graphics, which represent the transparent color -#ifdef _NDS -// NDS is hardwired to use zero as transparent color -#define HWR_PATCHES_CHROMAKEY_COLORINDEX 0 -#define HWR_CHROMAKEY_EQUIVALENTCOLORINDEX 1 -#else #define HWR_PATCHES_CHROMAKEY_COLORINDEX 247 #define HWR_CHROMAKEY_EQUIVALENTCOLORINDEX 220 -#endif - -// the chroma key color shows on border sprites, set it to black -#define HWR_PATCHES_CHROMAKEY_COLORVALUE (0x00000000) //RGBA format as in grSstWinOpen() // RGBA Color components with float type ranging [ 0 ... 1 ] struct FRGBAFloat @@ -73,8 +64,6 @@ struct FColorARGB typedef struct FColorARGB ARGB_t; typedef struct FColorARGB FColorARGB; - - // ========================================================================== // VECTORS // ========================================================================== @@ -94,10 +83,9 @@ typedef struct FVector // 3D model vector (coords + texture coords) typedef struct { - //FVector Point; FLOAT x,y,z; FLOAT s,t,w; // texture coordinates -} v3d_t, wallVert3D; +} wallVert3D; //Hurdler: Transform (coords + angles) //BP: transform order : scale(rotation_x(rotation_y(translation(v)))) @@ -115,11 +103,18 @@ typedef struct typedef struct { FLOAT x,y,z; - FUINT argb; // flat-shaded color FLOAT sow; // s texture ordinate (s over w) FLOAT tow; // t texture ordinate (t over w) + FUINT argb; // flat-shaded color } FOutVector; +// jimita +typedef struct +{ + float vx, vy, vz; + float nx, ny, nz; + float s, t; +} FOutVectorMD2; // ========================================================================== // RENDER MODES @@ -129,7 +124,7 @@ typedef struct // You pass a combination of these flags to DrawPolygon() enum EPolyFlags { - // the first 5 are mutually exclusive + // the first 5 are mutually exclusive PF_Masked = 0x00000001, // Poly is alpha scaled and 0 alpha pels are discarded (holes in texture) PF_Translucent = 0x00000002, // Poly is transparent, alpha = level of transparency @@ -141,7 +136,7 @@ enum EPolyFlags PF_Fog = 0x00000040, // Fog blocks PF_Blending = (PF_Environment|PF_Additive|PF_Translucent|PF_Masked|PF_Substractive|PF_Fog)&~PF_NoAlphaTest, - // other flag bits + // other flag bits PF_Occlude = 0x00000100, // Update the depth buffer PF_NoDepthTest = 0x00000200, // Disable the depth test mode @@ -150,20 +145,14 @@ enum EPolyFlags PF_Modulated = 0x00001000, // Modulation (multiply output with constant ARGB) // When set, pass the color constant into the FSurfaceInfo -> FlatColor PF_NoTexture = 0x00002000, // Use the small white texture - PF_Corona = 0x00004000, // Tell the rendrer we are drawing a corona - PF_MD2 = 0x00008000, // Tell the rendrer we are drawing an MD2 + PF_Ripple = 0x00004000, // jimita: water shader effect + // 0x00008000 PF_RemoveYWrap = 0x00010000, // Force clamp texture on Y PF_ForceWrapX = 0x00020000, // Force repeat texture on X PF_ForceWrapY = 0x00040000, // Force repeat texture on Y - PF_Clip = 0x40000000, // clip to frustum and nearz plane (glide only, automatic in opengl) - PF_NoZClip = 0x20000000, // in conjonction with PF_Clip - PF_Debug = 0x80000000 // print debug message in driver :) -}; - - -enum ESurfFlags -{ - SF_DYNLIGHT = 0x00000001, + // 0x20000000 + // 0x40000000 + // 0x80000000 }; @@ -176,46 +165,35 @@ enum ETextureFlags TF_TRANSPARENT = 0x00000040, // texture with some alpha == 0 }; -#ifdef TODO -struct FTextureInfo -{ - FUINT Width; // Pixels - FUINT Height; // Pixels - FUBYTE *TextureData; // Image data - FUINT Format; // FORMAT_RGB, ALPHA ... - FBITFIELD Flags; // Flags to tell driver about texture (see ETextureFlags) - void DriverExtra; // (OpenGL texture object nr, ...) - // chromakey enabled,... - - struct FTextureInfo *Next; // Manage list of downloaded textures. -}; -#else typedef struct GLMipmap_s FTextureInfo; -#endif + +// jimita 14032019 +struct FLightInfo +{ + FUINT light_level; +}; +typedef struct FLightInfo FLightInfo; // Description of a renderable surface struct FSurfaceInfo { - FUINT PolyFlags; // Surface flags -- UNUSED YET -- - RGBA_t FlatColor; // Flat-shaded color used with PF_Modulated mode + FUINT PolyFlags; + RGBA_t PolyColor; + RGBA_t FadeColor; + FLightInfo LightInfo; // jimita 14032019 }; typedef struct FSurfaceInfo FSurfaceInfo; -//Hurdler: added for backward compatibility enum hwdsetspecialstate { - HWD_SET_FOG_TABLE = 1, HWD_SET_FOG_MODE, - HWD_SET_FOG_COLOR, HWD_SET_FOG_DENSITY, - HWD_SET_FOV, - HWD_SET_POLYGON_SMOOTH, - HWD_SET_PALETTECOLOR, + HWD_SET_TEXTUREFILTERMODE, HWD_SET_TEXTUREANISOTROPICMODE, + HWD_NUMSTATE }; - typedef enum hwdsetspecialstate hwdspecialstate_t; enum hwdfiltermode @@ -228,5 +206,4 @@ enum hwdfiltermode HWD_SET_TEXTUREFILTER_MIXED3, }; - #endif //_HWR_DEFS_ diff --git a/src/hardware/hw_dll.h b/src/hardware/hw_dll.h index 6b9f4d53..d97d334b 100644 --- a/src/hardware/hw_dll.h +++ b/src/hardware/hw_dll.h @@ -54,8 +54,6 @@ #endif #endif -typedef void (*I_Error_t) (const char *error, ...) FUNCIERROR; - // ========================================================================== // MATHS // ========================================================================== @@ -66,7 +64,7 @@ typedef void (*I_Error_t) (const char *error, ...) FUNCIERROR; #endif #define DEGREE (0.017453292519943295769236907684883l) // 2*PI/360 -void DBG_Printf(const char *lpFmt, ...) /*FUNCPRINTF*/; +void GL_DBG_Printf(const char *format, ...) /*FUNCPRINTF*/; #ifdef _WINDOWS BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved); diff --git a/src/hardware/hw_draw.c b/src/hardware/hw_draw.c index 55bbde45..a7e3c94b 100644 --- a/src/hardware/hw_draw.c +++ b/src/hardware/hw_draw.c @@ -1,17 +1,12 @@ -// Emacs style mode select -*- C++ -*- +// SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- -// +// Copyright (C) 1993-1996 by id Software, Inc. // Copyright (C) 1998-2000 by DooM Legacy Team. +// Copyright (C) 1999-2019 by Sonic Team Junior. // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. +// This program is free software distributed under the +// terms of the GNU General Public License, version 2. +// See the 'LICENSE' file for more details. //----------------------------------------------------------------------------- /// \file /// \brief miscellaneous drawing (mainly 2d) @@ -41,9 +36,6 @@ #define O_BINARY 0 #endif -float gr_patch_scalex; -float gr_patch_scaley; - #if defined(_MSC_VER) #pragma pack(1) #endif @@ -63,9 +55,6 @@ typedef struct #if defined(_MSC_VER) #pragma pack() #endif -typedef UINT8 GLRGB[3]; - -#define BLENDMODE PF_Translucent static UINT8 softwaretranstogl[11] = { 0, 25, 51, 76,102,127,153,178,204,229,255}; static UINT8 softwaretranstogl_hi[11] = { 0, 51,102,153,204,255,255,255,255,255,255}; @@ -124,7 +113,7 @@ void HWR_DrawPatch(GLPatch_t *gpatch, INT32 x, INT32 y, INT32 option) v[0].tow = v[1].tow = 0.0f; v[2].tow = v[3].tow = gpatch->max_t; - flags = BLENDMODE|PF_Clip|PF_NoZClip|PF_NoDepthTest; + flags = PF_Translucent|PF_NoDepthTest; if (option & V_WRAPX) flags |= PF_ForceWrapX; @@ -288,7 +277,7 @@ void HWR_DrawFixedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscale, v[0].tow = v[1].tow = 0.0f; v[2].tow = v[3].tow = gpatch->max_t; - flags = BLENDMODE|PF_Clip|PF_NoZClip|PF_NoDepthTest; + flags = PF_Translucent|PF_NoDepthTest; if (option & V_WRAPX) flags |= PF_ForceWrapX; @@ -299,11 +288,11 @@ void HWR_DrawFixedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscale, if (alphalevel) { FSurfaceInfo Surf; - Surf.FlatColor.s.red = Surf.FlatColor.s.green = Surf.FlatColor.s.blue = 0xff; - if (alphalevel == 13) Surf.FlatColor.s.alpha = softwaretranstogl_lo[cv_translucenthud.value]; - else if (alphalevel == 14) Surf.FlatColor.s.alpha = softwaretranstogl[cv_translucenthud.value]; - else if (alphalevel == 15) Surf.FlatColor.s.alpha = softwaretranstogl_hi[cv_translucenthud.value]; - else Surf.FlatColor.s.alpha = softwaretranstogl[10-alphalevel]; + Surf.PolyColor.s.red = Surf.PolyColor.s.green = Surf.PolyColor.s.blue = 0xff; + if (alphalevel == 13) Surf.PolyColor.s.alpha = softwaretranstogl_lo[cv_translucenthud.value]; + else if (alphalevel == 14) Surf.PolyColor.s.alpha = softwaretranstogl[cv_translucenthud.value]; + else if (alphalevel == 15) Surf.PolyColor.s.alpha = softwaretranstogl_hi[cv_translucenthud.value]; + else Surf.PolyColor.s.alpha = softwaretranstogl[10-alphalevel]; flags |= PF_Modulated; HWD.pfnDrawPolygon(&Surf, v, 4, flags); } @@ -442,7 +431,7 @@ void HWR_DrawCroppedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscal v[0].tow = v[1].tow = ((sy)/(float)SHORT(gpatch->height))*gpatch->max_t; v[2].tow = v[3].tow = ((h )/(float)SHORT(gpatch->height))*gpatch->max_t; - flags = BLENDMODE|PF_Clip|PF_NoZClip|PF_NoDepthTest; + flags = PF_Translucent|PF_NoDepthTest; if (option & V_WRAPX) flags |= PF_ForceWrapX; @@ -453,11 +442,11 @@ void HWR_DrawCroppedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscal if (alphalevel) { FSurfaceInfo Surf; - Surf.FlatColor.s.red = Surf.FlatColor.s.green = Surf.FlatColor.s.blue = 0xff; - if (alphalevel == 13) Surf.FlatColor.s.alpha = softwaretranstogl_lo[cv_translucenthud.value]; - else if (alphalevel == 14) Surf.FlatColor.s.alpha = softwaretranstogl[cv_translucenthud.value]; - else if (alphalevel == 15) Surf.FlatColor.s.alpha = softwaretranstogl_hi[cv_translucenthud.value]; - else Surf.FlatColor.s.alpha = softwaretranstogl[10-alphalevel]; + Surf.PolyColor.s.red = Surf.PolyColor.s.green = Surf.PolyColor.s.blue = 0xff; + if (alphalevel == 13) Surf.PolyColor.s.alpha = softwaretranstogl_lo[cv_translucenthud.value]; + else if (alphalevel == 14) Surf.PolyColor.s.alpha = softwaretranstogl[cv_translucenthud.value]; + else if (alphalevel == 15) Surf.PolyColor.s.alpha = softwaretranstogl_hi[cv_translucenthud.value]; + else Surf.PolyColor.s.alpha = softwaretranstogl[10-alphalevel]; flags |= PF_Modulated; HWD.pfnDrawPolygon(&Surf, v, 4, flags); } @@ -497,7 +486,7 @@ void HWR_DrawPic(INT32 x, INT32 y, lumpnum_t lumpnum) // But then, the question is: why not 0 instead of PF_Masked ? // or maybe PF_Environment ??? (like what I said above) // BP: PF_Environment don't change anything ! and 0 is undifined - HWD.pfnDrawPolygon(NULL, v, 4, BLENDMODE | PF_NoDepthTest | PF_Clip | PF_NoZClip); + HWD.pfnDrawPolygon(NULL, v, 4, PF_Translucent | PF_NoDepthTest); } // ========================================================================== @@ -604,8 +593,8 @@ void HWR_FadeScreenMenuBack(UINT32 color, INT32 height) v[0].tow = v[1].tow = 1.0f; v[2].tow = v[3].tow = 0.0f; - Surf.FlatColor.rgba = UINT2RGBA(color); - Surf.FlatColor.s.alpha = (UINT8)((0xff/2) * ((float)height / vid.height)); //calum: varies console alpha + Surf.PolyColor.rgba = UINT2RGBA(color); + Surf.PolyColor.s.alpha = (UINT8)((0xff/2) * ((float)height / vid.height)); //calum: varies console alpha HWD.pfnDrawPolygon(&Surf, v, 4, PF_NoTexture|PF_Modulated|PF_Translucent|PF_NoDepthTest); } @@ -630,8 +619,8 @@ void HWR_DrawConsoleBack(UINT32 color, INT32 height) v[0].tow = v[1].tow = 1.0f; v[2].tow = v[3].tow = 0.0f; - Surf.FlatColor.rgba = UINT2RGBA(color); - Surf.FlatColor.s.alpha = 0x80; + Surf.PolyColor.rgba = UINT2RGBA(color); + Surf.PolyColor.s.alpha = 0x80; HWD.pfnDrawPolygon(&Surf, v, 4, PF_NoTexture|PF_Modulated|PF_Translucent|PF_NoDepthTest); } @@ -889,8 +878,8 @@ void HWR_DrawConsoleFill(INT32 x, INT32 y, INT32 w, INT32 h, UINT32 color, INT32 v[0].tow = v[1].tow = 0.0f; v[2].tow = v[3].tow = 1.0f; - Surf.FlatColor.rgba = UINT2RGBA(color); - Surf.FlatColor.s.alpha = 0x80; + Surf.PolyColor.rgba = UINT2RGBA(color); + Surf.PolyColor.s.alpha = 0x80; HWD.pfnDrawPolygon(&Surf, v, 4, PF_NoTexture|PF_Modulated|PF_Translucent|PF_NoDepthTest); } @@ -994,7 +983,7 @@ void HWR_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color) v[0].tow = v[1].tow = 0.0f; v[2].tow = v[3].tow = 1.0f; - Surf.FlatColor = V_GetColor(color); + Surf.PolyColor = V_GetColor(color); HWD.pfnDrawPolygon(&Surf, v, 4, PF_Modulated|PF_NoTexture|PF_NoDepthTest); diff --git a/src/hardware/hw_drv.h b/src/hardware/hw_drv.h index e2fa90eb..e0def221 100644 --- a/src/hardware/hw_drv.h +++ b/src/hardware/hw_drv.h @@ -1,21 +1,15 @@ -// Emacs style mode select -*- C++ -*- +// SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- -// +// Copyright (C) 1993-1996 by id Software, Inc. // Copyright (C) 1998-2000 by DooM Legacy Team. +// Copyright (C) 1999-2019 by Sonic Team Junior. // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// +// This program is free software distributed under the +// terms of the GNU General Public License, version 2. +// See the 'LICENSE' file for more details. //----------------------------------------------------------------------------- /// \file -/// \brief imports/exports for the 3D hardware low-level interface API +/// \brief imports/exports for the GPU hardware low-level interface API #ifndef __HWR_DRV_H__ #define __HWR_DRV_H__ @@ -32,7 +26,7 @@ // STANDARD DLL EXPORTS // ========================================================================== -EXPORT boolean HWRAPI(Init) (I_Error_t ErrorFunction); +EXPORT boolean HWRAPI(Init) (void); #ifndef HAVE_SDL EXPORT void HWRAPI(Shutdown) (void); #endif @@ -58,24 +52,29 @@ EXPORT void HWRAPI(ClearMipMapCache) (void); EXPORT void HWRAPI(SetSpecialState) (hwdspecialstate_t IdState, INT32 Value); //Hurdler: added for new development -EXPORT void HWRAPI(DrawMD2) (INT32 *gl_cmd_buffer, md2_frame_t *frame, FTransform *pos, float scale); -EXPORT void HWRAPI(DrawMD2i) (INT32 *gl_cmd_buffer, md2_frame_t *frame, INT32 duration, INT32 tics, md2_frame_t *nextframe, FTransform *pos, float scale, UINT8 flipped, UINT8 *color); +EXPORT void HWRAPI(DrawMD2) (INT32 *gl_cmd_buffer, md2_frame_t *frame, INT32 duration, INT32 tics, md2_frame_t *nextframe, FTransform *pos, float scale, UINT8 flipped, FSurfaceInfo *Surface); EXPORT void HWRAPI(SetTransform) (FTransform *ptransform); EXPORT INT32 HWRAPI(GetTextureUsed) (void); EXPORT INT32 HWRAPI(GetRenderVersion) (void); -#ifdef SHUFFLE -#define SCREENVERTS 10 -EXPORT void HWRAPI(PostImgRedraw) (float points[SCREENVERTS][SCREENVERTS][2]); -#endif EXPORT void HWRAPI(FlushScreenTextures) (void); EXPORT void HWRAPI(StartScreenWipe) (void); EXPORT void HWRAPI(EndScreenWipe) (void); -EXPORT void HWRAPI(DoScreenWipe) (float alpha); +EXPORT void HWRAPI(DoScreenWipe) (void); EXPORT void HWRAPI(DrawIntermissionBG) (void); EXPORT void HWRAPI(MakeScreenTexture) (void); EXPORT void HWRAPI(MakeScreenFinalTexture) (void); EXPORT void HWRAPI(DrawScreenFinalTexture) (int width, int height); + +#define SCREENVERTS 10 +EXPORT void HWRAPI(PostImgRedraw) (float points[SCREENVERTS][SCREENVERTS][2]); + +// jimita +EXPORT void HWRAPI(LoadShaders) (void); +EXPORT void HWRAPI(KillShaders) (void); +EXPORT void HWRAPI(SetShader) (int shader); +EXPORT void HWRAPI(UnSetShader) (void); + // ========================================================================== // HWR DRIVER OBJECT, FOR CLIENT PROGRAM // ========================================================================== @@ -95,9 +94,8 @@ struct hwdriver_s ReadRect pfnReadRect; GClipRect pfnGClipRect; ClearMipMapCache pfnClearMipMapCache; - SetSpecialState pfnSetSpecialState;//Hurdler: added for backward compatibility + SetSpecialState pfnSetSpecialState; DrawMD2 pfnDrawMD2; - DrawMD2i pfnDrawMD2i; SetTransform pfnSetTransform; GetTextureUsed pfnGetTextureUsed; GetRenderVersion pfnGetRenderVersion; @@ -107,9 +105,7 @@ struct hwdriver_s #ifndef HAVE_SDL Shutdown pfnShutdown; #endif -#ifdef SHUFFLE PostImgRedraw pfnPostImgRedraw; -#endif FlushScreenTextures pfnFlushScreenTextures; StartScreenWipe pfnStartScreenWipe; EndScreenWipe pfnEndScreenWipe; @@ -118,13 +114,16 @@ struct hwdriver_s MakeScreenTexture pfnMakeScreenTexture; MakeScreenFinalTexture pfnMakeScreenFinalTexture; DrawScreenFinalTexture pfnDrawScreenFinalTexture; + + // jimita + LoadShaders pfnLoadShaders; + KillShaders pfnKillShaders; + SetShader pfnSetShader; + UnSetShader pfnUnSetShader; }; extern struct hwdriver_s hwdriver; -//Hurdler: 16/10/99: added for OpenGL gamma correction -//extern RGBA_t gamma_correction; - #define HWD hwdriver #endif //not defined _CREATE_DLL_ diff --git a/src/hardware/hw_glide.h b/src/hardware/hw_glide.h index 2625d586..4c69443f 100644 --- a/src/hardware/hw_glide.h +++ b/src/hardware/hw_glide.h @@ -1,17 +1,12 @@ -// Emacs style mode select -*- C++ -*- +// SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- -// +// Copyright (C) 1993-1996 by id Software, Inc. // Copyright (C) 1998-2000 by DooM Legacy Team. +// Copyright (C) 1999-2019 by Sonic Team Junior. // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. +// This program is free software distributed under the +// terms of the GNU General Public License, version 2. +// See the 'LICENSE' file for more details. //----------------------------------------------------------------------------- /// \file /// \brief Declaration needed by Glide renderer diff --git a/src/hardware/hw_glob.h b/src/hardware/hw_glob.h index bdf21946..4a132db0 100644 --- a/src/hardware/hw_glob.h +++ b/src/hardware/hw_glob.h @@ -1,18 +1,12 @@ -// Emacs style mode select -*- C++ -*- +// SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- -// +// Copyright (C) 1993-1996 by id Software, Inc. // Copyright (C) 1998-2000 by DooM Legacy Team. +// Copyright (C) 1999-2019 by Sonic Team Junior. // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// +// This program is free software distributed under the +// terms of the GNU General Public License, version 2. +// See the 'LICENSE' file for more details. //----------------------------------------------------------------------------- /// \file /// \brief globals (shared data & code) for hw_ modules @@ -24,9 +18,6 @@ #include "hw_main.h" #include "../m_misc.h" -// the original aspect ratio of Doom graphics isn't square -#define ORIGINAL_ASPECT (320.0f/200.0f) - // Uncomment this to enable the OpenGL loading screen //#define HWR_LOADING_SCREEN @@ -90,9 +81,6 @@ typedef struct gr_vissprite_s extern extrasubsector_t *extrasubsectors; extern size_t addsubsector; -void HWR_InitPolyPool(void); -void HWR_FreePolyPool(void); - // -------- // hw_cache.c // -------- @@ -111,12 +99,12 @@ GLPatch_t *HWR_GetCachedGLPatchPwad(UINT16 wad, UINT16 lump); GLPatch_t *HWR_GetCachedGLPatch(lumpnum_t lumpnum); void HWR_GetFadeMask(lumpnum_t fademasklumpnum); +// jimita +extern INT32 gl_leveltime; + // -------- // hw_draw.c // -------- -extern float gr_patch_scalex; -extern float gr_patch_scaley; - extern consvar_t cv_grrounddown; // on/off extern INT32 patchformat; diff --git a/src/hardware/hw_light.c b/src/hardware/hw_light.c index a93e96dc..079349c3 100644 --- a/src/hardware/hw_light.c +++ b/src/hardware/hw_light.c @@ -1,21 +1,14 @@ -// Emacs style mode select -*- C++ -*- +// SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- -// +// Copyright (C) 1993-1996 by id Software, Inc. // Copyright (C) 1998-2000 by DooM Legacy Team. +// Copyright (C) 1999-2019 by Sonic Team Junior. // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. +// This program is free software distributed under the +// terms of the GNU General Public License, version 2. +// See the 'LICENSE' file for more details. //----------------------------------------------------------------------------- /// \file -/// \brief Corona/Dynamic/Static lighting add on by Hurdler -/// !!! Under construction !!! #include "../doomdef.h" @@ -31,1303 +24,4 @@ #include "../r_main.h" #include "../p_local.h" -//============================================================================= -// DEFINES -//============================================================================= - -#define DL_SQRRADIUS(x) dynlights->p_lspr[(x)]->dynamic_sqrradius -#define DL_RADIUS(x) dynlights->p_lspr[(x)]->dynamic_radius -#define LIGHT_POS(i) dynlights->position[(i)] - -#define DL_HIGH_QUALITY -//#define STATICLIGHT //Hurdler: TODO! -//#define LIGHTMAPFLAGS (PF_Masked|PF_Clip|PF_NoAlphaTest) // debug see overdraw -#define LIGHTMAPFLAGS (PF_Modulated|PF_Additive|PF_Clip) - -#ifdef ALAM_LIGHTING -static dynlights_t view_dynlights[2]; // 2 players in splitscreen mode -static dynlights_t *dynlights = &view_dynlights[0]; -#endif - -#define UNDEFINED_SPR 0x0 // actually just for testing -#define CORONA_SPR 0x1 // a light source which only emit a corona -#define DYNLIGHT_SPR 0x2 // a light source which is only used for dynamic lighting -#define LIGHT_SPR (DYNLIGHT_SPR|CORONA_SPR) -#define ROCKET_SPR (DYNLIGHT_SPR|CORONA_SPR|0x10) -//#define MONSTER_SPR 4 -//#define AMMO_SPR 8 -//#define BONUS_SPR 16 - -//Hurdler: now we can change those values via FS :) -light_t lspr[NUMLIGHTS] = -{ - // type offset x, y coronas color, c_size,light color,l_radius, sqr radius computed at init - // UNDEFINED: 0 - { UNDEFINED_SPR, 0.0f, 0.0f, 0x00000000, 24.0f, 0x00000000, 0.0f, 0.0f}, - // weapons - // RINGSPARK_L - { LIGHT_SPR, 0.0f, 0.0f, 0x0000e0ff, 16.0f, 0x0000e0ff, 32.0f, 0.0f}, // Tails 09-08-2002 - // SUPERSONIC_L - { DYNLIGHT_SPR, 0.0f, 0.0f, 0xff00e0ff, 32.0f, 0xff00e0ff, 128.0f, 0.0f}, // Tails 09-08-2002 - // SUPERSPARK_L - { LIGHT_SPR, 0.0f, 0.0f, 0xe0ffffff, 8.0f, 0xe0ffffff, 64.0f, 0.0f}, - // INVINCIBLE_L - { DYNLIGHT_SPR, 0.0f, 0.0f, 0x10ffaaaa, 16.0f, 0x10ffaaaa, 128.0f, 0.0f}, - // GREENSHIELD_L - { DYNLIGHT_SPR, 0.0f, 0.0f, 0x602b7337, 32.0f, 0x602b7337, 128.0f, 0.0f}, - // BLUESHIELD_L - { DYNLIGHT_SPR, 0.0f, 0.0f, 0x60cb0000, 32.0f, 0x60cb0000, 128.0f, 0.0f}, - - // tall lights - // YELLOWSHIELD_L - { DYNLIGHT_SPR, 0.0f, 0.0f, 0x601f7baf, 32.0f, 0x601f7baf, 128.0f, 0.0f}, - - // REDSHIELD_L - { DYNLIGHT_SPR, 0.0f, 0.0f, 0x600000cb, 32.0f, 0x600000cb, 128.0f, 0.0f}, - - // BLACKSHIELD_L // Black light? lol - { DYNLIGHT_SPR, 0.0f, 0.0f, 0x60010101, 32.0f, 0x60ff00ff, 128.0f, 0.0f}, - - // WHITESHIELD_L - { DYNLIGHT_SPR, 0.0f, 0.0f, 0x60ffffff, 32.0f, 0x60ffffff, 128.0f, 0.0f}, - - // SMALLREDBALL_L - { DYNLIGHT_SPR, 0.0f, 0.0f, 0x606060f0, 0.0f, 0x302070ff, 32.0f, 0.0f}, - - // small lights - // RINGLIGHT_L - { DYNLIGHT_SPR, 0.0f, 0.0f, 0x60b0f0f0, 0.0f, 0x30b0f0f0, 100.0f, 0.0f}, - // GREENSMALL_L - { LIGHT_SPR, 0.0f, 14.0f, 0x6070ff70, 60.0f, 0x4070ff70, 100.0f, 0.0f}, - // REDSMALL_L - { LIGHT_SPR, 0.0f, 14.0f, 0x705070ff, 60.0f, 0x405070ff, 100.0f, 0.0f}, - - // type offset x, y coronas color, c_size,light color,l_radius, sqr radius computed at init - // GREENSHINE_L - { LIGHT_SPR, 0.0f, 0.0f, 0xff00ff00, 64.0f, 0xff00ff00, 256.0f, 0.0f}, - // ORANGESHINE_L - { LIGHT_SPR, 0.0f, 0.0f, 0xff0080ff, 64.0f, 0xff0080ff, 256.0f, 0.0f}, - // PINKSHINE_L - { LIGHT_SPR, 0.0f, 0.0f, 0xffe080ff, 64.0f, 0xffe080ff, 256.0f, 0.0f}, - // BLUESHINE_L - { LIGHT_SPR, 0.0f, 0.0f, 0xffff0000, 64.0f, 0xffff0000, 256.0f, 0.0f}, - // REDSHINE_L - { LIGHT_SPR, 0.0f, 0.0f, 0xff0000ff, 64.0f, 0xff0000ff, 256.0f, 0.0f}, - // LBLUESHINE_L - { LIGHT_SPR, 0.0f, 0.0f, 0xffff8080, 64.0f, 0xffff8080, 256.0f, 0.0f}, - // GREYSHINE_L - { LIGHT_SPR, 0.0f, 0.0f, 0xffe0e0e0, 64.0f, 0xffe0e0e0, 256.0f, 0.0f}, - - // monsters - // REDBALL_L - { DYNLIGHT_SPR, 0.0f, 0.0f, 0x606060ff, 0.0f, 0x606060ff, 100.0f, 0.0f}, - // GREENBALL_L - { DYNLIGHT_SPR, 0.0f, 0.0f, 0x6060ff60, 120.0f, 0x6060ff60, 100.0f, 0.0f}, - // BLUEBALL_L - { DYNLIGHT_SPR, 0.0f, 0.0f, 0x60ff6060, 120.0f, 0x60ff6060, 100.0f, 0.0f}, - - // NIGHTSLIGHT_L - { LIGHT_SPR, 0.0f, 6.0f, 0x60ffffff, 16.0f, 0x30ffffff, 32.0f, 0.0f}, - - // JETLIGHT_L - { DYNLIGHT_SPR, 0.0f, 6.0f, 0x60ffaaaa, 16.0f, 0x30ffaaaa, 64.0f, 0.0f}, - - // GOOPLIGHT_L - { DYNLIGHT_SPR, 0.0f, 6.0f, 0x60ff00ff, 16.0f, 0x30ff00ff, 32.0f, 0.0f}, - - // STREETLIGHT_L - { LIGHT_SPR, 0.0f, 0.0f, 0xe0ffffff, 64.0f, 0xe0ffffff, 384.0f, 0.0f}, -}; - -light_t *t_lspr[NUMSPRITES] = -{ - &lspr[NOLIGHT], // SPR_NULL - &lspr[NOLIGHT], // SPR_UNKN - - &lspr[NOLIGHT], // SPR_THOK - &lspr[SUPERSONIC_L],// SPR_PLAY - - // Enemies - &lspr[NOLIGHT], // SPR_POSS - &lspr[NOLIGHT], // SPR_SPOS - &lspr[NOLIGHT], // SPR_FISH - &lspr[NOLIGHT], // SPR_BUZZ Graue 03-10-2004 - &lspr[NOLIGHT], // SPR_RBUZ Graue 03-10-2004 - &lspr[NOLIGHT], // SPR_JETB - &lspr[NOLIGHT], // SPR_JETW - &lspr[NOLIGHT], // SPR_JETG - &lspr[NOLIGHT], // SPR_CCOM - &lspr[NOLIGHT], // SPR_DETN - &lspr[NOLIGHT], // SPR_SKIM - &lspr[NOLIGHT], // SPR_TRET - &lspr[NOLIGHT], // SPR_TURR - &lspr[NOLIGHT], // SPR_SHRP - &lspr[NOLIGHT], // SPR_JJAW - &lspr[NOLIGHT], // SPR_SNLR - &lspr[NOLIGHT], // SPR_VLTR - &lspr[NOLIGHT], // SPR_PNTY - &lspr[NOLIGHT], // SPR_ARCH - &lspr[NOLIGHT], // SPR_CBFS - &lspr[NOLIGHT], // SPR_SPSH - &lspr[NOLIGHT], // SPR_ESHI - &lspr[NOLIGHT], // SPR_GSNP - &lspr[NOLIGHT], // SPR_MNUS - &lspr[NOLIGHT], // SPR_SSHL - &lspr[NOLIGHT], // SPR_UNID - &lspr[NOLIGHT], // SPR_BBUZ - - // Generic Boos Items - &lspr[JETLIGHT_L], // SPR_JETF // Boss jet fumes - - // Boss 1, (Greenflower) - &lspr[NOLIGHT], // SPR_EGGM - - // Boss 2, (Techno Hill) - &lspr[NOLIGHT], // SPR_EGGN - &lspr[NOLIGHT], // SPR_TNKA - &lspr[NOLIGHT], // SPR_TNKB - &lspr[NOLIGHT], // SPR_SPNK - &lspr[NOLIGHT], // SPR_GOOP - - // Boss 3 (Deep Sea) - &lspr[NOLIGHT], // SPR_EGGO - &lspr[NOLIGHT], // SPR_PRPL - &lspr[NOLIGHT], // SPR_FAKE - - // Boss 4 (Castle Eggman) - &lspr[NOLIGHT], // SPR_EGGP - &lspr[REDBALL_L], // SPR_EFIR - - // Boss 5 (Arid Canyon) - &lspr[NOLIGHT], // SPR_EGGQ - - // Boss 6 (Red Volcano) - &lspr[NOLIGHT], // SPR_EEGR - - // Boss 7 (Dark City) - &lspr[NOLIGHT], // SPR_BRAK - &lspr[NOLIGHT], // SPR_BGOO - &lspr[NOLIGHT], // SPR_BMSL - - // Boss 8 (Egg Rock) - &lspr[NOLIGHT], // SPR_EGGT - - &lspr[NOLIGHT], //SPR_RCKT - &lspr[NOLIGHT], //SPR_ELEC - &lspr[NOLIGHT], //SPR_TARG - &lspr[NOLIGHT], //SPR_NPLM - &lspr[NOLIGHT], //SPR_MNPL - - // Metal Sonic - &lspr[NOLIGHT], // SPR_METL - &lspr[NOLIGHT], // SPR_MSCF - &lspr[NOLIGHT], // SPR_MSCB - - // Collectible Items - &lspr[NOLIGHT], // SPR_RING - &lspr[NOLIGHT], // SPR_TRNG - &lspr[NOLIGHT], // SPR_EMMY - &lspr[BLUEBALL_L], // SPR_TOKE - &lspr[REDBALL_L], // SPR_RFLG - &lspr[BLUEBALL_L], // SPR_BFLG - &lspr[NOLIGHT], // SPR_NWNG - &lspr[NOLIGHT], // SPR_EMBM - &lspr[NOLIGHT], // SPR_CEMG - &lspr[NOLIGHT], // SPR_EMER - - // Interactive Objects - &lspr[NOLIGHT], // SPR_FANS - &lspr[NOLIGHT], // SPR_BUBL - &lspr[NOLIGHT], // SPR_SIGN - &lspr[NOLIGHT], // SPR_STEM - &lspr[NOLIGHT], // SPR_SPIK - &lspr[NOLIGHT], // SPR_SFLM - &lspr[NOLIGHT], // SPR_USPK - &lspr[NOLIGHT], // SPR_STPT - &lspr[NOLIGHT], // SPR_BMNE - - // Monitor Boxes - &lspr[NOLIGHT], // SPR_SRBX - &lspr[NOLIGHT], // SPR_RRBX - &lspr[NOLIGHT], // SPR_BRBX - &lspr[NOLIGHT], // SPR_SHTV - &lspr[NOLIGHT], // SPR_PINV - &lspr[NOLIGHT], // SPR_YLTV - &lspr[NOLIGHT], // SPR_BLTV - &lspr[NOLIGHT], // SPR_BKTV - &lspr[NOLIGHT], // SPR_WHTV - &lspr[NOLIGHT], // SPR_GRTV - &lspr[NOLIGHT], // SPR_ELTV - &lspr[NOLIGHT], // SPR_EGGB - &lspr[NOLIGHT], // SPR_MIXU - &lspr[NOLIGHT], // SPR_RECY - &lspr[NOLIGHT], // SPR_QUES - &lspr[NOLIGHT], // SPR_GBTV - &lspr[NOLIGHT], // SPR_PRUP - &lspr[NOLIGHT], // SPR_PTTV - - // Monitor Miscellany - &lspr[NOLIGHT], // SPR_MTEX - - // Projectiles - &lspr[NOLIGHT], // SPR_MISL - &lspr[NOLIGHT], // SPR_TORP - &lspr[NOLIGHT], // SPR_ENRG - &lspr[NOLIGHT], // SPR_MINE - &lspr[NOLIGHT], // SPR_JBUL - &lspr[SMALLREDBALL_L], // SPR_TRLS - &lspr[NOLIGHT], // SPR_CBLL - &lspr[NOLIGHT], // SPR_AROW - &lspr[NOLIGHT], // SPR_CFIR - - // Greenflower Scenery - &lspr[NOLIGHT], // SPR_FWR1 - &lspr[NOLIGHT], // SPR_FWR2 - &lspr[NOLIGHT], // SPR_FWR3 - &lspr[NOLIGHT], // SPR_FWR4 - &lspr[NOLIGHT], // SPR_BUS1 - &lspr[NOLIGHT], // SPR_BUS2 - - // Techno Hill Scenery - &lspr[NOLIGHT], // SPR_THZP - &lspr[REDBALL_L], // SPR_ALRM - - // Deep Sea Scenery - &lspr[NOLIGHT], // SPR_GARG - &lspr[NOLIGHT], // SPR_SEWE - &lspr[NOLIGHT], // SPR_DRIP - &lspr[NOLIGHT], // SPR_CRL1 - &lspr[NOLIGHT], // SPR_CRL2 - &lspr[NOLIGHT], // SPR_CRL3 - &lspr[NOLIGHT], // SPR_BCRY - - // Castle Eggman Scenery - &lspr[NOLIGHT], // SPR_CHAN - &lspr[REDBALL_L], // SPR_FLAM - &lspr[NOLIGHT], // SPR_ESTA - &lspr[NOLIGHT], // SPR_SMCH - &lspr[NOLIGHT], // SPR_BMCH - &lspr[NOLIGHT], // SPR_SMCE - &lspr[NOLIGHT], // SPR_BMCE - - // Arid Canyon Scenery - &lspr[NOLIGHT], // SPR_BTBL - &lspr[NOLIGHT], // SPR_STBL - &lspr[NOLIGHT], // SPR_CACT - - // Red Volcano Scenery - &lspr[REDBALL_L], // SPR_FLME - &lspr[REDBALL_L], // SPR_DFLM - - // Dark City Scenery - - // Egg Rock Scenery - - // Christmas Scenery - &lspr[NOLIGHT], // SPR_XMS1 - &lspr[NOLIGHT], // SPR_XMS2 - &lspr[NOLIGHT], // SPR_XMS3 - - // Botanic Serenity Scenery - &lspr[NOLIGHT], // SPR_BSZ1 - &lspr[NOLIGHT], // SPR_BSZ2 - &lspr[NOLIGHT], // SPR_BSZ3 - &lspr[NOLIGHT], // SPR_BSZ4 - &lspr[NOLIGHT], // SPR_BSZ5 - &lspr[NOLIGHT], // SPR_BSZ6 - &lspr[NOLIGHT], // SPR_BSZ7 - &lspr[NOLIGHT], // SPR_BSZ8 - - // Stalagmites - &lspr[NOLIGHT], // SPR_STLG - - // Disco Ball - &lspr[NOLIGHT], // SPR_DBAL - - // ATZ Red Crystal - &lspr[NOLIGHT], // SPR_RCRY - - // Powerup Indicators - &lspr[NOLIGHT], // SPR_ARMA - &lspr[NOLIGHT], // SPR_ARMF - &lspr[NOLIGHT], // SPR_ARMB - &lspr[NOLIGHT], // SPR_WIND - &lspr[NOLIGHT], // SPR_MAGN - &lspr[NOLIGHT], // SPR_ELEM - &lspr[NOLIGHT], // SPR_FORC - &lspr[NOLIGHT], // SPR_PITY - &lspr[INVINCIBLE_L], // SPR_IVSP - &lspr[SUPERSPARK_L], // SPR_SSPK - - &lspr[NOLIGHT], // SPR_GOAL - - // Freed Animals - &lspr[NOLIGHT], // SPR_BIRD - &lspr[NOLIGHT], // SPR_BUNY - &lspr[NOLIGHT], // SPR_MOUS - &lspr[NOLIGHT], // SPR_CHIC - &lspr[NOLIGHT], // SPR_COWZ - &lspr[NOLIGHT], // SPR_RBRD - - // Springs - &lspr[NOLIGHT], // SPR_SPRY - &lspr[NOLIGHT], // SPR_SPRR - &lspr[NOLIGHT], // SPR_SPRB Graue - &lspr[NOLIGHT], // SPR_YSPR - &lspr[NOLIGHT], // SPR_RSPR - - // Environmentals Effects - &lspr[NOLIGHT], // SPR_RAIN - &lspr[NOLIGHT], // SPR_SNO1 - &lspr[NOLIGHT], // SPR_SPLH - &lspr[NOLIGHT], // SPR_SPLA - &lspr[NOLIGHT], // SPR_SMOK - &lspr[NOLIGHT], // SPR_BUBP - &lspr[NOLIGHT], // SPR_BUBO - &lspr[NOLIGHT], // SPR_BUBN - &lspr[NOLIGHT], // SPR_BUBM - &lspr[NOLIGHT], // SPR_POPP - &lspr[SUPERSPARK_L], // SPR_TFOG - &lspr[NIGHTSLIGHT_L], // SPR_SEED // Sonic CD flower seed - &lspr[NOLIGHT], // SPR_PRTL - - // Game Indicators - &lspr[NOLIGHT], // SPR_SCOR - &lspr[NOLIGHT], // SPR_DRWN - &lspr[NOLIGHT], // SPR_TTAG - &lspr[NOLIGHT], // SPR_GFLG - - // Ring Weapons - &lspr[RINGLIGHT_L], // SPR_RRNG - &lspr[RINGLIGHT_L], // SPR_RNGB - &lspr[RINGLIGHT_L], // SPR_RNGR - &lspr[RINGLIGHT_L], // SPR_RNGI - &lspr[RINGLIGHT_L], // SPR_RNGA - &lspr[RINGLIGHT_L], // SPR_RNGE - &lspr[RINGLIGHT_L], // SPR_RNGS - &lspr[RINGLIGHT_L], // SPR_RNGG - - &lspr[RINGLIGHT_L], // SPR_PIKB - &lspr[RINGLIGHT_L], // SPR_PIKR - &lspr[RINGLIGHT_L], // SPR_PIKA - &lspr[RINGLIGHT_L], // SPR_PIKE - &lspr[RINGLIGHT_L], // SPR_PIKS - &lspr[RINGLIGHT_L], // SPR_PIKG - - &lspr[RINGLIGHT_L], // SPR_TAUT - &lspr[RINGLIGHT_L], // SPR_TGRE - &lspr[RINGLIGHT_L], // SPR_TSCR - - // Mario-specific stuff - &lspr[NOLIGHT], // SPR_COIN - &lspr[NOLIGHT], // SPR_CPRK - &lspr[NOLIGHT], // SPR_GOOM - &lspr[NOLIGHT], // SPR_BGOM - &lspr[REDBALL_L], // SPR_FFWR - &lspr[SMALLREDBALL_L], // SPR_FBLL - &lspr[NOLIGHT], // SPR_SHLL - &lspr[REDBALL_L], // SPR_PUMA - &lspr[NOLIGHT], // SPR_HAMM - &lspr[NOLIGHT], // SPR_KOOP - &lspr[REDBALL_L], // SPR_BFLM - &lspr[NOLIGHT], // SPR_MAXE - &lspr[NOLIGHT], // SPR_MUS1 - &lspr[NOLIGHT], // SPR_MUS2 - &lspr[NOLIGHT], // SPR_TOAD - - // NiGHTS Stuff - &lspr[SUPERSONIC_L], // SPR_NDRN // NiGHTS drone - &lspr[SUPERSONIC_L], // SPR_SUPE // NiGHTS character flying - &lspr[SUPERSONIC_L], // SPR_SUPZ // NiGHTS hurt - &lspr[SUPERSONIC_L], // SPR_NDRL // NiGHTS character drilling - &lspr[NOLIGHT], // SPR_NSPK - &lspr[NOLIGHT], // SPR_NBMP - &lspr[NOLIGHT], // SPR_HOOP - &lspr[NOLIGHT], // SPR_HSCR - &lspr[NOLIGHT], // SPR_NPRU - &lspr[NOLIGHT], // SPR_CAPS - &lspr[SUPERSONIC_L], // SPR_SUPT - - // Debris - &lspr[RINGSPARK_L], // SPR_SPRK - &lspr[NOLIGHT], // SPR_BOM1 - &lspr[SUPERSPARK_L], // SPR_BOM2 - &lspr[SUPERSPARK_L], // SPR_BOM3 - &lspr[NOLIGHT], // SPR_BOM4 - - // Crumbly rocks - &lspr[NOLIGHT], // SPR_ROIA - &lspr[NOLIGHT], // SPR_ROIB - &lspr[NOLIGHT], // SPR_ROIC - &lspr[NOLIGHT], // SPR_ROID - &lspr[NOLIGHT], // SPR_ROIE - &lspr[NOLIGHT], // SPR_ROIF - &lspr[NOLIGHT], // SPR_ROIG - &lspr[NOLIGHT], // SPR_ROIH - &lspr[NOLIGHT], // SPR_ROII - &lspr[NOLIGHT], // SPR_ROIJ - &lspr[NOLIGHT], // SPR_ROIK - &lspr[NOLIGHT], // SPR_ROIL - &lspr[NOLIGHT], // SPR_ROIM - &lspr[NOLIGHT], // SPR_ROIN - &lspr[NOLIGHT], // SPR_ROIO - &lspr[NOLIGHT], // SPR_ROIP - - // Blue Spheres - &lspr[NOLIGHT], // SPR_BBAL - - // Gravity Well Objects - &lspr[NOLIGHT], // SPR_GWLG - &lspr[NOLIGHT], // SPR_GWLR - - // SRB1 Sprites - &lspr[NOLIGHT], // SPR_SRBA - &lspr[NOLIGHT], // SPR_SRBB - &lspr[NOLIGHT], // SPR_SRBC - &lspr[NOLIGHT], // SPR_SRBD - &lspr[NOLIGHT], // SPR_SRBE - &lspr[NOLIGHT], // SPR_SRBF - &lspr[NOLIGHT], // SPR_SRBG - &lspr[NOLIGHT], // SPR_SRBH - &lspr[NOLIGHT], // SPR_SRBI - &lspr[NOLIGHT], // SPR_SRBJ - &lspr[NOLIGHT], // SPR_SRBK - &lspr[NOLIGHT], // SPR_SRBL - &lspr[NOLIGHT], // SPR_SRBM - &lspr[NOLIGHT], // SPR_SRBN - &lspr[NOLIGHT], // SPR_SRBO - - // Free slots - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], - &lspr[NOLIGHT], -}; - -#ifdef ALAM_LIGHTING - -//============================================================================= -// PROTOS -//============================================================================= - -static void HWR_SetLight(void); - -// -------------------------------------------------------------------------- -// calcul la projection d'un point sur une droite (determin� par deux -// points) et ensuite calcul la distance (au carr� de ce point au point -// project�sur cette droite -// -------------------------------------------------------------------------- -static float HWR_DistP2D(FOutVector *p1, FOutVector *p2, FVector *p3, FVector *inter) -{ - if (p1->z == p2->z) - { - inter->x = p3->x; - inter->z = p1->z; - } - else if (p1->x == p2->x) - { - inter->x = p1->x; - inter->z = p3->z; - } - else - { - register float local, pente; - // Wat een mooie formula! Hurdler's math;-) - pente = (p1->z-p2->z) / (p1->x-p2->x); - local = p1->z - p1->x*pente; - inter->x = (p3->z - local + p3->x/pente) * (pente/(pente*pente+1)); - inter->z = inter->x*pente + local; - } - - return (p3->x-inter->x)*(p3->x-inter->x) + (p3->z-inter->z)*(p3->z-inter->z); -} - -// check if sphere (radius r) centred in p3 touch the bounding box defined by p1, p2 -static boolean SphereTouchBBox3D(FOutVector *p1, FOutVector *p2, FVector *p3, float r) -{ - float minx = p1->x,maxx = p2->x,miny = p2->y,maxy = p1->y,minz = p2->z,maxz = p1->z; - - if (minx > maxx) - { - minx = maxx; - maxx = p1->x; - } - if (miny > maxy) - { - miny = maxy; - maxy = p2->y; - } - if (minz > maxz) - { - minz = maxz; - maxz = p2->z; - } - - if (minx-r > p3->x) return false; - if (maxx+r < p3->x) return false; - if (miny-r > p3->y) return false; - if (maxy+r < p3->y) return false; - if (minz-r > p3->z) return false; - if (maxz+r < p3->z) return false; - return true; -} - -// Hurdler: The old code was removed by me because I don't think it will be used one day. -// (It's still available on the CVS for educational purpose: Revision 1.8) - -// -------------------------------------------------------------------------- -// calcul du dynamic lighting sur les murs -// lVerts contient les coords du mur sans le mlook (up/down) -// -------------------------------------------------------------------------- -void HWR_WallLighting(FOutVector *wlVerts) -{ - int i, j; - - // dynlights->nb == 0 if cv_grdynamiclighting.value is not set - for (j = 0; j < dynlights->nb; j++) - { - FVector inter; - FSurfaceInfo Surf; - float dist_p2d, d[4], s; - - // check bounding box first - if (SphereTouchBBox3D(&wlVerts[2], &wlVerts[0], &LIGHT_POS(j), DL_RADIUS(j))==false) - continue; - d[0] = wlVerts[2].x - wlVerts[0].x; - d[1] = wlVerts[2].z - wlVerts[0].z; - d[2] = LIGHT_POS(j).x - wlVerts[0].x; - d[3] = LIGHT_POS(j).z - wlVerts[0].z; - // backface cull - if (d[2]*d[1] - d[3]*d[0] < 0) - continue; - // check exact distance - dist_p2d = HWR_DistP2D(&wlVerts[2], &wlVerts[0], &LIGHT_POS(j), &inter); - if (dist_p2d >= DL_SQRRADIUS(j)) - continue; - - d[0] = (float)sqrt((wlVerts[0].x-inter.x)*(wlVerts[0].x-inter.x) - + (wlVerts[0].z-inter.z)*(wlVerts[0].z-inter.z)); - d[1] = (float)sqrt((wlVerts[2].x-inter.x)*(wlVerts[2].x-inter.x) - + (wlVerts[2].z-inter.z)*(wlVerts[2].z-inter.z)); - //dAB = sqrtf((wlVerts[0].x-wlVerts[2].x)*(wlVerts[0].x-wlVerts[2].x)+(wlVerts[0].z-wlVerts[2].z)*(wlVerts[0].z-wlVerts[2].z)); - //if ((d[0] < dAB) && (d[1] < dAB)) // test if the intersection is on the wall - //{ - // d[0] = -d[0]; // if yes, the left distcance must be negative for texcoord - //} - // test if the intersection is on the wall - if ((wlVerts[0].x < inter.x && wlVerts[2].x > inter.x) || - (wlVerts[0].x > inter.x && wlVerts[2].x < inter.x) || - (wlVerts[0].z < inter.z && wlVerts[2].z > inter.z) || - (wlVerts[0].z > inter.z && wlVerts[2].z < inter.z)) - { - d[0] = -d[0]; // if yes, the left distcance must be negative for texcoord - } - d[2] = d[1]; d[3] = d[0]; -#ifdef DL_HIGH_QUALITY - s = 0.5f / DL_RADIUS(j); -#else - s = 0.5f / sqrtf(DL_SQRRADIUS(j)-dist_p2d); -#endif - for (i = 0; i < 4; i++) - { - wlVerts[i].sow = (float)(0.5f + d[i]*s); - wlVerts[i].tow = (float)(0.5f + (wlVerts[i].y-LIGHT_POS(j).y)*s*1.2f); - } - - HWR_SetLight(); - - Surf.FlatColor.rgba = LONG(dynlights->p_lspr[j]->dynamic_color); -#ifdef DL_HIGH_QUALITY - Surf.FlatColor.s.alpha = (UINT8)((1-dist_p2d/DL_SQRRADIUS(j))*Surf.FlatColor.s.alpha); -#endif - if (!dynlights->mo[j]->state) - return; - // next state is null so fade out with alpha - if (dynlights->mo[j]->state->nextstate == S_NULL) - Surf.FlatColor.s.alpha = (UINT8)(((float)dynlights->mo[j]->tics/(float)dynlights->mo[j]->state->tics)*Surf.FlatColor.s.alpha); - - HWD.pfnDrawPolygon (&Surf, wlVerts, 4, LIGHTMAPFLAGS); - - } // end for (j = 0; j < dynlights->nb; j++) -} - -// -------------------------------------------------------------------------- -// calcul du dynamic lighting sur le sol -// clVerts contient les coords du sol avec le mlook (up/down) -// -------------------------------------------------------------------------- -void HWR_PlaneLighting(FOutVector *clVerts, int nrClipVerts) -{ - int i, j; - FOutVector p1,p2; - - p1.z = FIXED_TO_FLOAT(hwbbox[BOXTOP ]); - p1.x = FIXED_TO_FLOAT(hwbbox[BOXLEFT ]); - p2.z = FIXED_TO_FLOAT(hwbbox[BOXBOTTOM]); - p2.x = FIXED_TO_FLOAT(hwbbox[BOXRIGHT ]); - p2.y = clVerts[0].y; - p1.y = clVerts[0].y; - - for (j = 0; j < dynlights->nb; j++) - { - FSurfaceInfo Surf; - float dist_p2d, s; - - // BP: The kickass Optimization: check if light touch bounding box - if (SphereTouchBBox3D(&p1, &p2, &dynlights->position[j], DL_RADIUS(j))==false) - continue; - // backface cull - //Hurdler: doesn't work with new TANDL code - if ((clVerts[0].y > atransform.z) // true mean it is a ceiling false is a floor - ^ (LIGHT_POS(j).y < clVerts[0].y)) // true mean light is down plane false light is up plane - continue; - dist_p2d = (clVerts[0].y-LIGHT_POS(j).y); - dist_p2d *= dist_p2d; - // done in SphereTouchBBox3D - //if (dist_p2d >= DL_SQRRADIUS(j)) - // continue; - -#ifdef DL_HIGH_QUALITY - s = 0.5f / DL_RADIUS(j); -#else - s = 0.5f / sqrtf(DL_SQRRADIUS(j)-dist_p2d); -#endif - for (i = 0; i < nrClipVerts; i++) - { - clVerts[i].sow = 0.5f + (clVerts[i].x-LIGHT_POS(j).x)*s; - clVerts[i].tow = 0.5f + (clVerts[i].z-LIGHT_POS(j).z)*s*1.2f; - } - - HWR_SetLight(); - - Surf.FlatColor.rgba = LONG(dynlights->p_lspr[j]->dynamic_color); -#ifdef DL_HIGH_QUALITY - Surf.FlatColor.s.alpha = (unsigned char)((1 - dist_p2d/DL_SQRRADIUS(j))*Surf.FlatColor.s.alpha); -#endif - if (!dynlights->mo[j]->state) - return; - // next state is null so fade out with alpha - if ((dynlights->mo[j]->state->nextstate == S_NULL)) - Surf.FlatColor.s.alpha = (unsigned char)(((float)dynlights->mo[j]->tics/(float)dynlights->mo[j]->state->tics)*Surf.FlatColor.s.alpha); - - HWD.pfnDrawPolygon (&Surf, clVerts, nrClipVerts, LIGHTMAPFLAGS); - - } // end for (j = 0; j < dynlights->nb; j++) -} - - -static lumpnum_t coronalumpnum = LUMPERROR; -#ifndef NEWCORONAS -// -------------------------------------------------------------------------- -// coronas lighting -// -------------------------------------------------------------------------- -void HWR_DoCoronasLighting(FOutVector *outVerts, gr_vissprite_t *spr) -{ - light_t *p_lspr; - - if (coronalumpnum == LUMPERROR) - return; - - //CONS_Debug(DBG_RENDER, "sprite (type): %d (%s)\n", spr->type, sprnames[spr->type]); - p_lspr = t_lspr[spr->mobj->sprite]; - if ((spr->mobj->state>=&states[S_EXPLODE1] && spr->mobj->state<=&states[S_EXPLODE3]) - || (spr->mobj->state>=&states[S_FATSHOTX1] && spr->mobj->state<=&states[S_FATSHOTX3])) - { - p_lspr = &lspr[ROCKETEXP_L]; - } - - if (cv_grcoronas.value && (p_lspr->type & CORONA_SPR)) - { // it's an object which emits light - FOutVector light[4]; - FSurfaceInfo Surf; - float cx = 0.0f, cy = 0.0f, cz = 0.0f; // gravity center - float size; - UINT8 i; - - switch (p_lspr->type) - { - case LIGHT_SPR: - size = p_lspr->corona_radius * ((outVerts[0].z+120.0f)/950.0f); // d'ou vienne ces constante ? - break; - case ROCKET_SPR: - p_lspr->corona_color = (((M_RandomByte()>>1)&0xff)<<24)|0x0040ff; - // don't need a break - case CORONA_SPR: - size = p_lspr->corona_radius * ((outVerts[0].z+60.0f)/100.0f); // d'ou vienne ces constante ? - break; - default: - I_Error("HWR_DoCoronasLighting: unknow light type %d",p_lspr->type); - return; - } - if (size > p_lspr->corona_radius) - size = p_lspr->corona_radius; - size *= FIXED_TO_FLOAT(cv_grcoronasize.value<<1); - - // compute position doing average - for (i = 0; i < 4; i++) - { - cx += outVerts[i].x; - cy += outVerts[i].y; - cz += outVerts[i].z; - } - cx /= 4.0f; cy /= 4.0f; cz /= 4.0f; - - // more realistique corona ! - if (cz >= 255*8+250) - return; - Surf.FlatColor.rgba = p_lspr->corona_color; - if (cz > 250.0f) - Surf.FlatColor.s.alpha = 0xff-((int)cz-250)/8; - else - Surf.FlatColor.s.alpha = 0xff; - - // do not be hide by sprite of the light itself ! - cz = cz - 2.0f; - - // Bp; je comprend pas, ou est la rotation haut/bas ? - // tu ajoute un offset a y mais si la tu la reguarde de haut - // sa devrais pas marcher ... comprend pas :( - // (...) bon je croit que j'ai comprit il est tout pourit le code ? - // car comme l'offset est minime sa ce voit pas ! - light[0].x = cx-size; light[0].z = cz; - light[0].y = cy-size*1.33f+p_lspr->light_yoffset; - light[0].sow = 0.0f; light[0].tow = 0.0f; - - light[1].x = cx+size; light[1].z = cz; - light[1].y = cy-size*1.33f+p_lspr->light_yoffset; - light[1].sow = 1.0f; light[1].tow = 0.0f; - - light[2].x = cx+size; light[2].z = cz; - light[2].y = cy+size*1.33f+p_lspr->light_yoffset; - light[2].sow = 1.0f; light[2].tow = 1.0f; - - light[3].x = cx-size; light[3].z = cz; - light[3].y = cy+size*1.33f+p_lspr->light_yoffset; - light[3].sow = 0.0f; light[3].tow = 1.0f; - - HWR_GetPic(coronalumpnum); /// \todo use different coronas - - HWD.pfnDrawPolygon (&Surf, light, 4, PF_Modulated | PF_Additive | PF_Clip | PF_Corona | PF_NoDepthTest); - } -} -#endif - -#ifdef NEWCORONAS -// use the lightlist of the frame to draw the coronas at the top of everythink -void HWR_DrawCoronas(void) -{ - int j; - - if (!cv_grcoronas.value || dynlights->nb <= 0 || coronalumpnum == LUMPERROR) - return; - - HWR_GetPic(coronalumpnum); /// \todo use different coronas - for (j = 0;j < dynlights->nb;j++) - { - FOutVector light[4]; - FSurfaceInfo Surf; - float cx = LIGHT_POS(j).x; - float cy = LIGHT_POS(j).y; - float cz = LIGHT_POS(j).z; // gravity center - float size; - light_t *p_lspr = dynlights->p_lspr[j]; - - // it's an object which emits light - if (!(p_lspr->type & CORONA_SPR)) - continue; - - transform(&cx,&cy,&cz); - - // more realistique corona ! - if (cz >= 255*8+250) - continue; - Surf.FlatColor.rgba = p_lspr->corona_color; - if (cz > 250.0f) - Surf.FlatColor.s.alpha = (UINT8)(0xff-(UINT8)(((int)cz-250)/8)); - else - Surf.FlatColor.s.alpha = 0xff; - - switch (p_lspr->type) - { - case LIGHT_SPR: - size = p_lspr->corona_radius * ((cz+120.0f)/950.0f); // d'ou vienne ces constante ? - break; - case ROCKET_SPR: - Surf.FlatColor.s.alpha = (UINT8)((M_RandomByte()>>1)&0xff); - // don't need a break - case CORONA_SPR: - size = p_lspr->corona_radius * ((cz+60.0f)/100.0f); // d'ou vienne ces constante ? - break; - default: - I_Error("HWR_DoCoronasLighting: unknow light type %d",p_lspr->type); - continue; - } - if (size > p_lspr->corona_radius) - size = p_lspr->corona_radius; - size = (float)(FIXED_TO_FLOAT(cv_grcoronasize.value<<1)*size); - - // put light little forward the sprite so there is no - // z-buffer problem (coplanar polygons) - // BP: use PF_Decal do not help :( - cz = cz - 5.0f; - - light[0].x = cx-size; light[0].z = cz; - light[0].y = cy-size*1.33f; - light[0].sow = 0.0f; light[0].tow = 0.0f; - - light[1].x = cx+size; light[1].z = cz; - light[1].y = cy-size*1.33f; - light[1].sow = 1.0f; light[1].tow = 0.0f; - - light[2].x = cx+size; light[2].z = cz; - light[2].y = cy+size*1.33f; - light[2].sow = 1.0f; light[2].tow = 1.0f; - - light[3].x = cx-size; light[3].z = cz; - light[3].y = cy+size*1.33f; - light[3].sow = 0.0f; light[3].tow = 1.0f; - - HWD.pfnDrawPolygon (&Surf, light, 4, PF_Modulated | PF_Additive | PF_Clip | PF_NoDepthTest | PF_Corona); - } -} -#endif - -// -------------------------------------------------------------------------- -// Remove all the dynamic lights at eatch frame -// -------------------------------------------------------------------------- -void HWR_ResetLights(void) -{ - dynlights->nb = 0; -} - -// -------------------------------------------------------------------------- -// Change view, thus change lights (splitscreen) -// -------------------------------------------------------------------------- -void HWR_SetLights(int viewnumber) -{ - dynlights = &view_dynlights[viewnumber]; -} - -// -------------------------------------------------------------------------- -// Add a light for dynamic lighting -// The light position is already transformed execpt for mlook -// -------------------------------------------------------------------------- -void HWR_DL_AddLight(gr_vissprite_t *spr, GLPatch_t *patch) -{ - light_t *p_lspr; - - //Hurdler: moved here because it's better;-) - (void)patch; - if (!cv_grdynamiclighting.value) - return; - - if (!spr->mobj) -#ifdef PARANOIA - I_Error("vissprite without mobj !!!"); -#else - return; -#endif - - // check if sprite contain dynamic light - p_lspr = t_lspr[spr->mobj->sprite]; - if ((p_lspr->type&DYNLIGHT_SPR) - && ((p_lspr->type != LIGHT_SPR) || cv_grstaticlighting.value) - && (dynlights->nb < DL_MAX_LIGHT) - - && spr->mobj->state) - { - LIGHT_POS(dynlights->nb).x = FIXED_TO_FLOAT(spr->mobj->x); - LIGHT_POS(dynlights->nb).y = FIXED_TO_FLOAT(spr->mobj->z)+FIXED_TO_FLOAT(spr->mobj->height>>1)+p_lspr->light_yoffset; - LIGHT_POS(dynlights->nb).z = FIXED_TO_FLOAT(spr->mobj->y); - - P_SetTarget(&dynlights->mo[dynlights->nb], spr->mobj); - - dynlights->p_lspr[dynlights->nb] = p_lspr; - - dynlights->nb++; - } -} - -static GLPatch_t lightmappatch; - -void HWR_InitLight(void) -{ - size_t i; - - // precalculate sqr radius - for (i = 0;i < NUMLIGHTS;i++) - lspr[i].dynamic_sqrradius = lspr[i].dynamic_radius*lspr[i].dynamic_radius; - - lightmappatch.mipmap.downloaded = false; - coronalumpnum = W_CheckNumForName("CORONA"); -} - -// -----------------+ -// HWR_SetLight : Download a disc shaped alpha map for rendering fake lights -// -----------------+ -static void HWR_SetLight(void) -{ - int i, j; - - if (!lightmappatch.mipmap.downloaded && !lightmappatch.mipmap.grInfo.data) - { - - UINT16 *Data = Z_Malloc(129*128*sizeof (UINT16), PU_HWRCACHE, &lightmappatch.mipmap.grInfo.data); - - for (i = 0; i < 128; i++) - { - for (j = 0; j < 128; j++) - { - int pos = ((i-64)*(i-64))+((j-64)*(j-64)); - if (pos <= 63*63) - Data[i*128+j] = (UINT16)(((UINT8)(255-(4*(float)sqrt((float)pos)))) << 8 | 0xff); - else - Data[i*128+j] = 0; - } - } - lightmappatch.mipmap.grInfo.format = GR_TEXFMT_ALPHA_INTENSITY_88; - - lightmappatch.width = 128; - lightmappatch.height = 128; - lightmappatch.mipmap.width = 128; - lightmappatch.mipmap.height = 128; - lightmappatch.mipmap.grInfo.smallLodLog2 = GR_LOD_LOG2_128; - lightmappatch.mipmap.grInfo.largeLodLog2 = GR_LOD_LOG2_128; - lightmappatch.mipmap.grInfo.aspectRatioLog2 = GR_ASPECT_LOG2_1x1; - lightmappatch.mipmap.flags = 0; //TF_WRAPXY; // DEBUG: view the overdraw ! - } - HWD.pfnSetTexture(&lightmappatch.mipmap); - - // The system-memory data can be purged now. - Z_ChangeTag(lightmappatch.mipmap.grInfo.data, PU_HWRCACHE_UNLOCKED); -} - -//********************************************************** -// Hurdler: new code for faster static lighting and and T&L -//********************************************************** - -#ifdef STATICLIGHT -// is this really necessary? -static sector_t *lgr_backsector; -static seg_t *lgr_curline; -#endif - -// p1 et p2 c'est le deux bou du seg en float -static inline void HWR_BuildWallLightmaps(FVector *p1, FVector *p2, int lighnum, seg_t *line) -{ - lightmap_t *lp; - - // (...) calcul presit de la projection et de la distance - -// if (dist_p2d >= DL_SQRRADIUS(lightnum)) -// return; - - // (...) attention faire le backfase cull histoir de faire mieux que Q3 ! - - (void)lighnum; - (void)p1; - (void)p2; - lp = malloc(sizeof (*lp)); - lp->next = line->lightmaps; - line->lightmaps = lp; - - // (...) encore des b�calcul bien lourd et on stock tout sa dans la lightmap -} - -#ifdef STATICLIGHT -static void HWR_AddLightMapForLine(int lightnum, seg_t *line) -{ - /* - int x1; - int x2; - angle_t angle1; - angle_t angle2; - angle_t span; - angle_t tspan; - */ - FVector p1,p2; - - lgr_curline = line; - lgr_backsector = line->backsector; - - // Reject empty lines used for triggers and special events. - // Identical floor and ceiling on both sides, - // identical light levels on both sides, - // and no middle texture. -/* - if ( lgr_backsector->ceilingpic == gr_frontsector->ceilingpic - && lgr_backsector->floorpic == gr_frontsector->floorpic - && lgr_backsector->lightlevel == gr_frontsector->lightlevel - && lgr_curline->sidedef->midtexture == 0) - { - return; - } -*/ - - p1.y = FIXED_TO_FLOAT(lgr_curline->v1->y); - p1.x = FIXED_TO_FLOAT(lgr_curline->v1->x); - p2.y = FIXED_TO_FLOAT(lgr_curline->v2->y); - p2.x = FIXED_TO_FLOAT(lgr_curline->v2->x); - - // check bbox of the seg -// if (CircleTouchBBox(&p1, &p2, &LIGHT_POS(lightnum), DL_RADIUS(lightnum))==false) -// return; - - HWR_BuildWallLightmaps(&p1, &p2, lightnum, line); -} - -/// \todo see what HWR_AddLine does -static void HWR_CheckSubsector(size_t num, fixed_t *bbox) -{ - int count; - seg_t *line; - subsector_t *sub; - FVector p1,p2; - int lightnum; - - p1.y = FIXED_TO_FLOAT(bbox[BOXTOP ]); - p1.x = FIXED_TO_FLOAT(bbox[BOXLEFT ]); - p2.y = FIXED_TO_FLOAT(bbox[BOXBOTTOM]); - p2.x = FIXED_TO_FLOAT(bbox[BOXRIGHT ]); - - - if (num < numsubsectors) - { - sub = &subsectors[num]; // subsector - for (lightnum = 0; lightnum < dynlights->nb; lightnum++) - { -// if (CircleTouchBBox(&p1, &p2, &LIGHT_POS(lightnum), DL_RADIUS(lightnum))==false) -// continue; - - count = sub->numlines; // how many linedefs - line = &segs[sub->firstline]; // first line seg - while (count--) - { - HWR_AddLightMapForLine (lightnum, line); // compute lightmap - line++; - } - } - } -} - - -// -------------------------------------------------------------------------- -// Hurdler: this adds lights by mobj. -// -------------------------------------------------------------------------- -static void HWR_AddMobjLights(mobj_t *thing) -{ - if (t_lspr[thing->sprite]->type & CORONA_SPR) - { - LIGHT_POS(dynlights->nb).x = FIXED_TO_FLOAT(thing->x); - LIGHT_POS(dynlights->nb).y = FIXED_TO_FLOAT(thing->z) + t_lspr[thing->sprite]->light_yoffset; - LIGHT_POS(dynlights->nb).z = FIXED_TO_FLOAT(thing->y); - - dynlights->p_lspr[dynlights->nb] = t_lspr[thing->sprite]; - - dynlights->nb++; - if (dynlights->nb > DL_MAX_LIGHT) - dynlights->nb = DL_MAX_LIGHT; - } -} - -//Hurdler: The goal of this function is to walk through all the bsp starting -// on the top. -// We need to do that to know all the lights in the map and all the walls -static void HWR_ComputeLightMapsInBSPNode(int bspnum, fixed_t *bbox) -{ - if (bspnum & NF_SUBSECTOR) // Found a subsector? - { - if (bspnum == -1) - HWR_CheckSubsector(0, bbox); // probably unecessary: see boris' comment in hw_bsp - else - HWR_CheckSubsector(bspnum&(~NF_SUBSECTOR), bbox); - return; - } - HWR_ComputeLightMapsInBSPNode(nodes[bspnum].children[0], nodes[bspnum].bbox[0]); - HWR_ComputeLightMapsInBSPNode(nodes[bspnum].children[1], nodes[bspnum].bbox[1]); -} - -static void HWR_SearchLightsInMobjs(void) -{ - thinker_t * th; - //mobj_t * mobj; - - // search in the list of thinkers - for (th = thinkercap.next; th != &thinkercap; th = th->next) - { - // a mobj ? - if (th->function.acp1 == (actionf_p1)P_MobjThinker) - HWR_AddMobjLights((mobj_t *)th); - } -} -#endif - -// -// HWR_CreateStaticLightmaps() -// -void HWR_CreateStaticLightmaps(int bspnum) -{ -#ifdef STATICLIGHT - CONS_Debug(DBG_RENDER, "HWR_CreateStaticLightmaps\n"); - - dynlights->nb = 0; - - // First: Searching for lights - // BP: if i was you, I will make it in create mobj since mobj can be create - // at runtime now with fragle scipt - HWR_SearchLightsInMobjs(); - CONS_Debug(DBG_RENDER, "%d lights found\n", dynlights->nb); - - // Second: Build all lightmap for walls covered by lights - validcount++; // to be sure - HWR_ComputeLightMapsInBSPNode(bspnum, NULL); - - dynlights->nb = 0; -#else - (void)bspnum; -#endif -} - -/** - \todo - - - Les coronas ne sont pas g�er avec le nouveau systeme, seul le dynamic lighting l'est - - calculer l'offset des coronas au chargement du level et non faire la moyenne - au moment de l'afficher - BP: euh non en fait il faux encoder la position de la light dans le sprite - car c'est pas focement au mileux de plus il peut en y avoir plusieur (chandelier) - - changer la comparaison pour l'affichage des coronas (+ un epsilon) - BP: non non j'ai trouver mieux :) : lord du AddSprite tu rajoute aussi la coronas - dans la sprite list ! avec un z de epsilon (attention au ZCLIP_PLANE) et donc on - l'affiche en dernier histoir qu'il puisse etre cacher par d'autre sprite :) - Bon fait metre pas mal de code special dans hwr_project sprite mais sa vaux le - coup - - gerer dynamic et static : retenir le nombre de lightstatic et clearer toute les - light > lightstatic (les dynamique) et les lightmap correspondant dans les segs - puit refaire une passe avec le code si dessus mais rien que pour les dynamiques - (tres petite modification) - - finalement virer le hack splitscreen, il n'est plus necessaire ! -*/ -#endif #endif // HWRENDER diff --git a/src/hardware/hw_light.h b/src/hardware/hw_light.h index 2733cc69..fbc1d1f2 100644 --- a/src/hardware/hw_light.h +++ b/src/hardware/hw_light.h @@ -1,17 +1,12 @@ -// Emacs style mode select -*- C++ -*- +// SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- -// +// Copyright (C) 1993-1996 by id Software, Inc. // Copyright (C) 1998-2000 by DooM Legacy Team. +// Copyright (C) 1999-2019 by Sonic Team Junior. // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. +// This program is free software distributed under the +// terms of the GNU General Public License, version 2. +// See the 'LICENSE' file for more details. //----------------------------------------------------------------------------- /// \file /// \brief Dynamic lighting & coronas add on by Hurdler @@ -22,79 +17,4 @@ #include "hw_glob.h" #include "hw_defs.h" -#define NUMLIGHTFREESLOTS 32 // Free light slots (for SOCs) - -#ifdef ALAM_LIGHTING -#define NEWCORONAS - -#define DL_MAX_LIGHT 256 // maximum number of lights (extra lights are ignored) - -void HWR_InitLight(void); -void HWR_DL_AddLight(gr_vissprite_t *spr, GLPatch_t *patch); -void HWR_PlaneLighting(FOutVector *clVerts, int nrClipVerts); -void HWR_WallLighting(FOutVector *wlVerts); -void HWR_ResetLights(void); -void HWR_SetLights(int viewnumber); - -#ifdef NEWCORONAS -void HWR_DrawCoronas(void); -#else -void HWR_DoCoronasLighting(FOutVector *outVerts, gr_vissprite_t *spr); -#endif - -typedef struct -{ - int nb; - light_t *p_lspr[DL_MAX_LIGHT]; - FVector position[DL_MAX_LIGHT]; // actually maximum DL_MAX_LIGHT lights - mobj_t *mo[DL_MAX_LIGHT]; -} dynlights_t; - -#endif - -typedef enum -{ - NOLIGHT = 0, - RINGSPARK_L, - SUPERSONIC_L, // Cool. =) - SUPERSPARK_L, - INVINCIBLE_L, - GREENSHIELD_L, - BLUESHIELD_L, - YELLOWSHIELD_L, - REDSHIELD_L, - BLACKSHIELD_L, - WHITESHIELD_L, - SMALLREDBALL_L, - RINGLIGHT_L, - GREENSMALL_L, - REDSMALL_L, - GREENSHINE_L, - ORANGESHINE_L, - PINKSHINE_L, - BLUESHINE_L, - REDSHINE_L, - LBLUESHINE_L, - GREYSHINE_L, - REDBALL_L, - GREENBALL_L, - BLUEBALL_L, - NIGHTSLIGHT_L, - JETLIGHT_L, - GOOPLIGHT_L, - STREETLIGHT_L, - - // free slots for SOCs at run-time -------------------- - FREESLOT0_L, - // - // ... 32 free lights here ... - // - LASTFREESLOT_L = (FREESLOT0_L+NUMLIGHTFREESLOTS-1), - // end of freeslots --------------------------------------------- - - NUMLIGHTS -} lightspritenum_t; - -extern light_t lspr[NUMLIGHTS]; -extern light_t *t_lspr[NUMSPRITES]; #endif diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index efecac52..2a02d3f8 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -1,17 +1,12 @@ -// Emacs style mode select -*- C++ -*- +// SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- -// +// Copyright (C) 1993-1996 by id Software, Inc. // Copyright (C) 1998-2000 by DooM Legacy Team. +// Copyright (C) 1999-2019 by Sonic Team Junior. // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. +// This program is free software distributed under the +// terms of the GNU General Public License, version 2. +// See the 'LICENSE' file for more details. //----------------------------------------------------------------------------- /// \file /// \brief hardware renderer, using the standard HardWareRender driver DLL for SRB2 @@ -48,11 +43,6 @@ #include "hw_clip.h" #endif -#define R_FAKEFLOORS -#define HWPRECIP -#define SORTING -//#define POLYSKY - // ========================================================================== // the hardware driver object // ========================================================================== @@ -65,27 +55,17 @@ struct hwdriver_s hwdriver; static void HWR_AddSprites(sector_t *sec); static void HWR_ProjectSprite(mobj_t *thing); -#ifdef HWPRECIP static void HWR_ProjectPrecipitationSprite(precipmobj_t *thing); -#endif -#ifdef SORTING void HWR_AddTransparentFloor(lumpnum_t lumpnum, extrasubsector_t *xsub, boolean isceiling, fixed_t fixedheight, INT32 lightlevel, INT32 alpha, sector_t *FOFSector, FBITFIELD blend, boolean fogplane, extracolormap_t *planecolormap); void HWR_AddTransparentPolyobjectFloor(lumpnum_t lumpnum, polyobj_t *polysector, boolean isceiling, fixed_t fixedheight, INT32 lightlevel, INT32 alpha, sector_t *FOFSector, FBITFIELD blend, extracolormap_t *planecolormap); -#else -static void HWR_Add3DWater(lumpnum_t lumpnum, extrasubsector_t *xsub, fixed_t fixedheight, - INT32 lightlevel, INT32 alpha, sector_t *FOFSector); -static void HWR_Render3DWater(void); -static void HWR_RenderTransparentWalls(void); -#endif + static void HWR_FoggingOn(void); -static UINT32 atohex(const char *s); static void CV_filtermode_ONChange(void); static void CV_anisotropic_ONChange(void); -static void CV_FogDensity_ONChange(void); static void CV_grFov_OnChange(void); // ========================================================================== // 3D ENGINE COMMANDS & CONSOLE VARS @@ -110,26 +90,17 @@ static consvar_t cv_grclipwalls = {"gr_clipwalls", "Off", 0, CV_OnOff, NULL, 0, static consvar_t cv_gralpha = {"gr_alpha", "160", 0, CV_Unsigned, NULL, 0, NULL, NULL, 0, 0, NULL}; static consvar_t cv_grbeta = {"gr_beta", "0", 0, CV_Unsigned, NULL, 0, NULL, NULL, 0, 0, NULL}; -static float HWRWipeCounter = 1.0f; consvar_t cv_grrounddown = {"gr_rounddown", "Off", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfov = {"gr_fov", "90", CV_FLOAT|CV_CALL, grfov_cons_t, CV_grFov_OnChange, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grfogdensity = {"gr_fogdensity", "150", CV_CALL|CV_NOINIT, CV_Unsigned, - CV_FogDensity_ONChange, 0, NULL, NULL, 0, 0, NULL}; // Unfortunately, this can no longer be saved.. consvar_t cv_grfiltermode = {"gr_filtermode", "Nearest", CV_CALL, grfiltermode_cons_t, CV_filtermode_ONChange, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_granisotropicmode = {"gr_anisotropicmode", "1", CV_CALL, granisotropicmode_cons_t, CV_anisotropic_ONChange, 0, NULL, NULL, 0, 0, NULL}; -//static consvar_t cv_grzbuffer = {"gr_zbuffer", "On", 0, CV_OnOff}; consvar_t cv_grcorrecttricks = {"gr_correcttricks", "Off", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grsolvetjoin = {"gr_solvetjoin", "On", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -static void CV_FogDensity_ONChange(void) -{ - HWD.pfnSetSpecialState(HWD_SET_FOG_DENSITY, cv_grfogdensity.value); -} - static void CV_filtermode_ONChange(void) { HWD.pfnSetSpecialState(HWD_SET_TEXTUREFILTERMODE, cv_grfiltermode.value); @@ -140,159 +111,6 @@ static void CV_anisotropic_ONChange(void) HWD.pfnSetSpecialState(HWD_SET_TEXTUREANISOTROPICMODE, cv_granisotropicmode.value); } -/* - * lookuptable for lightvalues - * calculated as follow: - * floatlight = (1.0-exp((light^3)*gamma)) / (1.0-exp(1.0*gamma)); - * gamma=-0,2;-2,0;-4,0;-6,0;-8,0 - * light = 0,0 .. 1,0 - */ -static const float lighttable[5][256] = -{ - { - 0.00000f,0.00000f,0.00000f,0.00000f,0.00000f,0.00001f,0.00001f,0.00002f,0.00003f,0.00004f, - 0.00006f,0.00008f,0.00010f,0.00013f,0.00017f,0.00020f,0.00025f,0.00030f,0.00035f,0.00041f, - 0.00048f,0.00056f,0.00064f,0.00073f,0.00083f,0.00094f,0.00106f,0.00119f,0.00132f,0.00147f, - 0.00163f,0.00180f,0.00198f,0.00217f,0.00237f,0.00259f,0.00281f,0.00305f,0.00331f,0.00358f, - 0.00386f,0.00416f,0.00447f,0.00479f,0.00514f,0.00550f,0.00587f,0.00626f,0.00667f,0.00710f, - 0.00754f,0.00800f,0.00848f,0.00898f,0.00950f,0.01003f,0.01059f,0.01117f,0.01177f,0.01239f, - 0.01303f,0.01369f,0.01437f,0.01508f,0.01581f,0.01656f,0.01734f,0.01814f,0.01896f,0.01981f, - 0.02069f,0.02159f,0.02251f,0.02346f,0.02444f,0.02544f,0.02647f,0.02753f,0.02862f,0.02973f, - 0.03088f,0.03205f,0.03325f,0.03448f,0.03575f,0.03704f,0.03836f,0.03971f,0.04110f,0.04252f, - 0.04396f,0.04545f,0.04696f,0.04851f,0.05009f,0.05171f,0.05336f,0.05504f,0.05676f,0.05852f, - 0.06031f,0.06214f,0.06400f,0.06590f,0.06784f,0.06981f,0.07183f,0.07388f,0.07597f,0.07810f, - 0.08027f,0.08248f,0.08473f,0.08702f,0.08935f,0.09172f,0.09414f,0.09659f,0.09909f,0.10163f, - 0.10421f,0.10684f,0.10951f,0.11223f,0.11499f,0.11779f,0.12064f,0.12354f,0.12648f,0.12946f, - 0.13250f,0.13558f,0.13871f,0.14188f,0.14511f,0.14838f,0.15170f,0.15507f,0.15850f,0.16197f, - 0.16549f,0.16906f,0.17268f,0.17635f,0.18008f,0.18386f,0.18769f,0.19157f,0.19551f,0.19950f, - 0.20354f,0.20764f,0.21179f,0.21600f,0.22026f,0.22458f,0.22896f,0.23339f,0.23788f,0.24242f, - 0.24702f,0.25168f,0.25640f,0.26118f,0.26602f,0.27091f,0.27587f,0.28089f,0.28596f,0.29110f, - 0.29630f,0.30156f,0.30688f,0.31226f,0.31771f,0.32322f,0.32879f,0.33443f,0.34013f,0.34589f, - 0.35172f,0.35761f,0.36357f,0.36960f,0.37569f,0.38185f,0.38808f,0.39437f,0.40073f,0.40716f, - 0.41366f,0.42022f,0.42686f,0.43356f,0.44034f,0.44718f,0.45410f,0.46108f,0.46814f,0.47527f, - 0.48247f,0.48974f,0.49709f,0.50451f,0.51200f,0.51957f,0.52721f,0.53492f,0.54271f,0.55058f, - 0.55852f,0.56654f,0.57463f,0.58280f,0.59105f,0.59937f,0.60777f,0.61625f,0.62481f,0.63345f, - 0.64217f,0.65096f,0.65984f,0.66880f,0.67783f,0.68695f,0.69615f,0.70544f,0.71480f,0.72425f, - 0.73378f,0.74339f,0.75308f,0.76286f,0.77273f,0.78268f,0.79271f,0.80283f,0.81304f,0.82333f, - 0.83371f,0.84417f,0.85472f,0.86536f,0.87609f,0.88691f,0.89781f,0.90880f,0.91989f,0.93106f, - 0.94232f,0.95368f,0.96512f,0.97665f,0.98828f,1.00000f - }, - { - 0.00000f,0.00000f,0.00000f,0.00000f,0.00001f,0.00002f,0.00003f,0.00005f,0.00007f,0.00010f, - 0.00014f,0.00019f,0.00024f,0.00031f,0.00038f,0.00047f,0.00057f,0.00069f,0.00081f,0.00096f, - 0.00112f,0.00129f,0.00148f,0.00170f,0.00193f,0.00218f,0.00245f,0.00274f,0.00306f,0.00340f, - 0.00376f,0.00415f,0.00456f,0.00500f,0.00547f,0.00597f,0.00649f,0.00704f,0.00763f,0.00825f, - 0.00889f,0.00957f,0.01029f,0.01104f,0.01182f,0.01264f,0.01350f,0.01439f,0.01532f,0.01630f, - 0.01731f,0.01836f,0.01945f,0.02058f,0.02176f,0.02298f,0.02424f,0.02555f,0.02690f,0.02830f, - 0.02974f,0.03123f,0.03277f,0.03436f,0.03600f,0.03768f,0.03942f,0.04120f,0.04304f,0.04493f, - 0.04687f,0.04886f,0.05091f,0.05301f,0.05517f,0.05738f,0.05964f,0.06196f,0.06434f,0.06677f, - 0.06926f,0.07181f,0.07441f,0.07707f,0.07979f,0.08257f,0.08541f,0.08831f,0.09126f,0.09428f, - 0.09735f,0.10048f,0.10368f,0.10693f,0.11025f,0.11362f,0.11706f,0.12056f,0.12411f,0.12773f, - 0.13141f,0.13515f,0.13895f,0.14281f,0.14673f,0.15072f,0.15476f,0.15886f,0.16303f,0.16725f, - 0.17153f,0.17587f,0.18028f,0.18474f,0.18926f,0.19383f,0.19847f,0.20316f,0.20791f,0.21272f, - 0.21759f,0.22251f,0.22748f,0.23251f,0.23760f,0.24274f,0.24793f,0.25318f,0.25848f,0.26383f, - 0.26923f,0.27468f,0.28018f,0.28573f,0.29133f,0.29697f,0.30266f,0.30840f,0.31418f,0.32001f, - 0.32588f,0.33179f,0.33774f,0.34374f,0.34977f,0.35585f,0.36196f,0.36810f,0.37428f,0.38050f, - 0.38675f,0.39304f,0.39935f,0.40570f,0.41207f,0.41847f,0.42490f,0.43136f,0.43784f,0.44434f, - 0.45087f,0.45741f,0.46398f,0.47057f,0.47717f,0.48379f,0.49042f,0.49707f,0.50373f,0.51041f, - 0.51709f,0.52378f,0.53048f,0.53718f,0.54389f,0.55061f,0.55732f,0.56404f,0.57075f,0.57747f, - 0.58418f,0.59089f,0.59759f,0.60429f,0.61097f,0.61765f,0.62432f,0.63098f,0.63762f,0.64425f, - 0.65086f,0.65746f,0.66404f,0.67060f,0.67714f,0.68365f,0.69015f,0.69662f,0.70307f,0.70948f, - 0.71588f,0.72224f,0.72857f,0.73488f,0.74115f,0.74739f,0.75359f,0.75976f,0.76589f,0.77199f, - 0.77805f,0.78407f,0.79005f,0.79599f,0.80189f,0.80774f,0.81355f,0.81932f,0.82504f,0.83072f, - 0.83635f,0.84194f,0.84747f,0.85296f,0.85840f,0.86378f,0.86912f,0.87441f,0.87964f,0.88482f, - 0.88995f,0.89503f,0.90005f,0.90502f,0.90993f,0.91479f,0.91959f,0.92434f,0.92903f,0.93366f, - 0.93824f,0.94276f,0.94723f,0.95163f,0.95598f,0.96027f,0.96451f,0.96868f,0.97280f,0.97686f, - 0.98086f,0.98481f,0.98869f,0.99252f,0.99629f,1.00000f - }, - { - 0.00000f,0.00000f,0.00000f,0.00001f,0.00002f,0.00003f,0.00005f,0.00008f,0.00013f,0.00018f, - 0.00025f,0.00033f,0.00042f,0.00054f,0.00067f,0.00083f,0.00101f,0.00121f,0.00143f,0.00168f, - 0.00196f,0.00227f,0.00261f,0.00299f,0.00339f,0.00383f,0.00431f,0.00483f,0.00538f,0.00598f, - 0.00661f,0.00729f,0.00802f,0.00879f,0.00961f,0.01048f,0.01140f,0.01237f,0.01340f,0.01447f, - 0.01561f,0.01680f,0.01804f,0.01935f,0.02072f,0.02215f,0.02364f,0.02520f,0.02682f,0.02850f, - 0.03026f,0.03208f,0.03397f,0.03594f,0.03797f,0.04007f,0.04225f,0.04451f,0.04684f,0.04924f, - 0.05172f,0.05428f,0.05691f,0.05963f,0.06242f,0.06530f,0.06825f,0.07129f,0.07441f,0.07761f, - 0.08089f,0.08426f,0.08771f,0.09125f,0.09487f,0.09857f,0.10236f,0.10623f,0.11019f,0.11423f, - 0.11836f,0.12257f,0.12687f,0.13125f,0.13571f,0.14027f,0.14490f,0.14962f,0.15442f,0.15931f, - 0.16427f,0.16932f,0.17445f,0.17966f,0.18496f,0.19033f,0.19578f,0.20130f,0.20691f,0.21259f, - 0.21834f,0.22417f,0.23007f,0.23605f,0.24209f,0.24820f,0.25438f,0.26063f,0.26694f,0.27332f, - 0.27976f,0.28626f,0.29282f,0.29944f,0.30611f,0.31284f,0.31962f,0.32646f,0.33334f,0.34027f, - 0.34724f,0.35426f,0.36132f,0.36842f,0.37556f,0.38273f,0.38994f,0.39718f,0.40445f,0.41174f, - 0.41907f,0.42641f,0.43378f,0.44116f,0.44856f,0.45598f,0.46340f,0.47084f,0.47828f,0.48573f, - 0.49319f,0.50064f,0.50809f,0.51554f,0.52298f,0.53042f,0.53784f,0.54525f,0.55265f,0.56002f, - 0.56738f,0.57472f,0.58203f,0.58932f,0.59658f,0.60381f,0.61101f,0.61817f,0.62529f,0.63238f, - 0.63943f,0.64643f,0.65339f,0.66031f,0.66717f,0.67399f,0.68075f,0.68746f,0.69412f,0.70072f, - 0.70726f,0.71375f,0.72017f,0.72653f,0.73282f,0.73905f,0.74522f,0.75131f,0.75734f,0.76330f, - 0.76918f,0.77500f,0.78074f,0.78640f,0.79199f,0.79751f,0.80295f,0.80831f,0.81359f,0.81880f, - 0.82393f,0.82898f,0.83394f,0.83883f,0.84364f,0.84836f,0.85301f,0.85758f,0.86206f,0.86646f, - 0.87078f,0.87502f,0.87918f,0.88326f,0.88726f,0.89118f,0.89501f,0.89877f,0.90245f,0.90605f, - 0.90957f,0.91301f,0.91638f,0.91966f,0.92288f,0.92601f,0.92908f,0.93206f,0.93498f,0.93782f, - 0.94059f,0.94329f,0.94592f,0.94848f,0.95097f,0.95339f,0.95575f,0.95804f,0.96027f,0.96244f, - 0.96454f,0.96658f,0.96856f,0.97049f,0.97235f,0.97416f,0.97591f,0.97760f,0.97924f,0.98083f, - 0.98237f,0.98386f,0.98530f,0.98669f,0.98803f,0.98933f,0.99058f,0.99179f,0.99295f,0.99408f, - 0.99516f,0.99620f,0.99721f,0.99817f,0.99910f,1.00000f - }, - { - 0.00000f,0.00000f,0.00000f,0.00001f,0.00002f,0.00005f,0.00008f,0.00012f,0.00019f,0.00026f, - 0.00036f,0.00048f,0.00063f,0.00080f,0.00099f,0.00122f,0.00148f,0.00178f,0.00211f,0.00249f, - 0.00290f,0.00335f,0.00386f,0.00440f,0.00500f,0.00565f,0.00636f,0.00711f,0.00793f,0.00881f, - 0.00975f,0.01075f,0.01182f,0.01295f,0.01416f,0.01543f,0.01678f,0.01821f,0.01971f,0.02129f, - 0.02295f,0.02469f,0.02652f,0.02843f,0.03043f,0.03252f,0.03469f,0.03696f,0.03933f,0.04178f, - 0.04433f,0.04698f,0.04973f,0.05258f,0.05552f,0.05857f,0.06172f,0.06498f,0.06834f,0.07180f, - 0.07537f,0.07905f,0.08283f,0.08672f,0.09072f,0.09483f,0.09905f,0.10337f,0.10781f,0.11236f, - 0.11701f,0.12178f,0.12665f,0.13163f,0.13673f,0.14193f,0.14724f,0.15265f,0.15817f,0.16380f, - 0.16954f,0.17538f,0.18132f,0.18737f,0.19351f,0.19976f,0.20610f,0.21255f,0.21908f,0.22572f, - 0.23244f,0.23926f,0.24616f,0.25316f,0.26023f,0.26739f,0.27464f,0.28196f,0.28935f,0.29683f, - 0.30437f,0.31198f,0.31966f,0.32740f,0.33521f,0.34307f,0.35099f,0.35896f,0.36699f,0.37506f, - 0.38317f,0.39133f,0.39952f,0.40775f,0.41601f,0.42429f,0.43261f,0.44094f,0.44929f,0.45766f, - 0.46604f,0.47443f,0.48283f,0.49122f,0.49962f,0.50801f,0.51639f,0.52476f,0.53312f,0.54146f, - 0.54978f,0.55807f,0.56633f,0.57457f,0.58277f,0.59093f,0.59905f,0.60713f,0.61516f,0.62314f, - 0.63107f,0.63895f,0.64676f,0.65452f,0.66221f,0.66984f,0.67739f,0.68488f,0.69229f,0.69963f, - 0.70689f,0.71407f,0.72117f,0.72818f,0.73511f,0.74195f,0.74870f,0.75536f,0.76192f,0.76839f, - 0.77477f,0.78105f,0.78723f,0.79331f,0.79930f,0.80518f,0.81096f,0.81664f,0.82221f,0.82768f, - 0.83305f,0.83832f,0.84347f,0.84853f,0.85348f,0.85832f,0.86306f,0.86770f,0.87223f,0.87666f, - 0.88098f,0.88521f,0.88933f,0.89334f,0.89726f,0.90108f,0.90480f,0.90842f,0.91194f,0.91537f, - 0.91870f,0.92193f,0.92508f,0.92813f,0.93109f,0.93396f,0.93675f,0.93945f,0.94206f,0.94459f, - 0.94704f,0.94941f,0.95169f,0.95391f,0.95604f,0.95810f,0.96009f,0.96201f,0.96386f,0.96564f, - 0.96735f,0.96900f,0.97059f,0.97212f,0.97358f,0.97499f,0.97634f,0.97764f,0.97888f,0.98007f, - 0.98122f,0.98231f,0.98336f,0.98436f,0.98531f,0.98623f,0.98710f,0.98793f,0.98873f,0.98949f, - 0.99021f,0.99090f,0.99155f,0.99218f,0.99277f,0.99333f,0.99387f,0.99437f,0.99486f,0.99531f, - 0.99575f,0.99616f,0.99654f,0.99691f,0.99726f,0.99759f,0.99790f,0.99819f,0.99847f,0.99873f, - 0.99897f,0.99920f,0.99942f,0.99963f,0.99982f,1.00000f - }, - { - 0.00000f,0.00000f,0.00000f,0.00001f,0.00003f,0.00006f,0.00010f,0.00017f,0.00025f,0.00035f, - 0.00048f,0.00064f,0.00083f,0.00106f,0.00132f,0.00163f,0.00197f,0.00237f,0.00281f,0.00330f, - 0.00385f,0.00446f,0.00513f,0.00585f,0.00665f,0.00751f,0.00845f,0.00945f,0.01054f,0.01170f, - 0.01295f,0.01428f,0.01569f,0.01719f,0.01879f,0.02048f,0.02227f,0.02415f,0.02614f,0.02822f, - 0.03042f,0.03272f,0.03513f,0.03765f,0.04028f,0.04303f,0.04589f,0.04887f,0.05198f,0.05520f, - 0.05855f,0.06202f,0.06561f,0.06933f,0.07318f,0.07716f,0.08127f,0.08550f,0.08987f,0.09437f, - 0.09900f,0.10376f,0.10866f,0.11369f,0.11884f,0.12414f,0.12956f,0.13512f,0.14080f,0.14662f, - 0.15257f,0.15865f,0.16485f,0.17118f,0.17764f,0.18423f,0.19093f,0.19776f,0.20471f,0.21177f, - 0.21895f,0.22625f,0.23365f,0.24117f,0.24879f,0.25652f,0.26435f,0.27228f,0.28030f,0.28842f, - 0.29662f,0.30492f,0.31329f,0.32175f,0.33028f,0.33889f,0.34756f,0.35630f,0.36510f,0.37396f, - 0.38287f,0.39183f,0.40084f,0.40989f,0.41897f,0.42809f,0.43723f,0.44640f,0.45559f,0.46479f, - 0.47401f,0.48323f,0.49245f,0.50167f,0.51088f,0.52008f,0.52927f,0.53843f,0.54757f,0.55668f, - 0.56575f,0.57479f,0.58379f,0.59274f,0.60164f,0.61048f,0.61927f,0.62799f,0.63665f,0.64524f, - 0.65376f,0.66220f,0.67056f,0.67883f,0.68702f,0.69511f,0.70312f,0.71103f,0.71884f,0.72655f, - 0.73415f,0.74165f,0.74904f,0.75632f,0.76348f,0.77053f,0.77747f,0.78428f,0.79098f,0.79756f, - 0.80401f,0.81035f,0.81655f,0.82264f,0.82859f,0.83443f,0.84013f,0.84571f,0.85117f,0.85649f, - 0.86169f,0.86677f,0.87172f,0.87654f,0.88124f,0.88581f,0.89026f,0.89459f,0.89880f,0.90289f, - 0.90686f,0.91071f,0.91445f,0.91807f,0.92157f,0.92497f,0.92826f,0.93143f,0.93450f,0.93747f, - 0.94034f,0.94310f,0.94577f,0.94833f,0.95081f,0.95319f,0.95548f,0.95768f,0.95980f,0.96183f, - 0.96378f,0.96565f,0.96744f,0.96916f,0.97081f,0.97238f,0.97388f,0.97532f,0.97669f,0.97801f, - 0.97926f,0.98045f,0.98158f,0.98266f,0.98369f,0.98467f,0.98560f,0.98648f,0.98732f,0.98811f, - 0.98886f,0.98958f,0.99025f,0.99089f,0.99149f,0.99206f,0.99260f,0.99311f,0.99359f,0.99404f, - 0.99446f,0.99486f,0.99523f,0.99559f,0.99592f,0.99623f,0.99652f,0.99679f,0.99705f,0.99729f, - 0.99751f,0.99772f,0.99792f,0.99810f,0.99827f,0.99843f,0.99857f,0.99871f,0.99884f,0.99896f, - 0.99907f,0.99917f,0.99926f,0.99935f,0.99943f,0.99951f,0.99958f,0.99964f,0.99970f,0.99975f, - 0.99980f,0.99985f,0.99989f,0.99993f,0.99997f,1.00000f - } -}; - -#define gld_CalcLightLevel(lightlevel) (lighttable[1][max(min((lightlevel),255),0)]) - // ========================================================================== // VIEW GLOBALS // ========================================================================== @@ -317,17 +135,6 @@ static angle_t gr_xtoviewangle[MAXVIDWIDTH+1]; // GLOBALS // ========================================================================== -// uncomment to remove the plane rendering -#define DOPLANES -//#define DOWALLS - -// test of drawing sky by polygons like in software with visplane, unfortunately -// this doesn't work since we must have z for pixel and z for texture (not like now with z = oow) -//#define POLYSKY - -// test change fov when looking up/down but bsp projection messup :( -//#define NOCRAPPYMLOOK - // base values set at SetViewSize static float gr_basecentery; @@ -340,8 +147,6 @@ static float gr_viewwindowy; // top left corner of view window static float gr_windowcenterx; // center of view window, for projection static float gr_windowcentery; -static float gr_pspritexscale, gr_pspriteyscale; - static seg_t *gr_curline; static side_t *gr_sidedef; static line_t *gr_linedef; @@ -361,141 +166,110 @@ static angle_t dup_viewangle; static float gr_viewx, gr_viewy, gr_viewz; static float gr_viewsin, gr_viewcos; -// Maybe not necessary with the new T&L code (needs to be checked!) -static float gr_viewludsin, gr_viewludcos; // look up down kik test -static float gr_fovlud; - // ========================================================================== // LIGHT stuffs // ========================================================================== -static UINT8 lightleveltonumlut[256]; - -// added to SRB2's sector lightlevel to make things a bit brighter (sprites/walls/planes) -FUNCMATH UINT8 LightLevelToLum(INT32 l) -{ - return (UINT8)(255*gld_CalcLightLevel(l)); -} - -static inline void InitLumLut(void) -{ - INT32 i, k = 0; - for (i = 0; i < 256; i++) - { - if (i > 128) - k += 2; - else - k = 1; - lightleveltonumlut[i] = (UINT8)(k); - } -} - -//#define FOGFACTOR 300 //was 600 >> Covered by cv_grfogdensity +#define CALCLIGHT(x,y) ((float)(x)*((y)/255.0f)) #define NORMALFOG 0x00000000 #define FADEFOG 0x19000000 -#define CALCFOGDENSITY(x) ((float)((5220.0f*(1.0f/((x)/41.0f+1.0f)))-(5220.0f*(1.0f/(255.0f/41.0f+1.0f))))) // Approximate fog calculation based off of software walls -#define CALCFOGDENSITYFLOOR(x) ((float)((40227.0f*(1.0f/((x)/11.0f+1.0f)))-(40227.0f*(1.0f/(255.0f/11.0f+1.0f))))) // Approximate fog calculation based off of software floors -#define CALCLIGHT(x,y) ((float)(x)*((y)/255.0f)) -UINT32 HWR_Lighting(INT32 light, UINT32 color, UINT32 fadecolor, boolean fogblockpoly, boolean plane) + +void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor) { - RGBA_t realcolor, fogcolor, surfcolor; - INT32 alpha, fogalpha; + RGBA_t mix_color, fog_color, final_color; + INT32 mix; + float fog_alpha; - (void)fogblockpoly; + mix_color.rgba = mixcolor; + fog_color.rgba = fadecolor; - // Don't go out of bounds - if (light < 0) - light = 0; - else if (light > 255) - light = 255; + mix = mix_color.s.alpha*10/4; + if (mix > 25) mix = 25; + mix *= 255; + mix /= 25; - realcolor.rgba = color; - fogcolor.rgba = fadecolor; + // Modulate the colors by alpha. + mix_color.s.red = (UINT8)(CALCLIGHT(mix,mix_color.s.red)); + mix_color.s.green = (UINT8)(CALCLIGHT(mix,mix_color.s.green)); + mix_color.s.blue = (UINT8)(CALCLIGHT(mix,mix_color.s.blue)); - alpha = (realcolor.s.alpha*255)/25; - fogalpha = (fogcolor.s.alpha*255)/25; + // Set the surface colors and further modulate the colors by light. + final_color.s.red = (UINT8)(CALCLIGHT((0xFF-mix),0xFF)+CALCLIGHT(mix_color.s.red,0xFF)); + final_color.s.green = (UINT8)(CALCLIGHT((0xFF-mix),0xFF)+CALCLIGHT(mix_color.s.green,0xFF)); + final_color.s.blue = (UINT8)(CALCLIGHT((0xFF-mix),0xFF)+CALCLIGHT(mix_color.s.blue,0xFF)); + final_color.s.alpha = 0xFF; - if (cv_grfog.value && cv_grsoftwarefog.value) // Only do this when fog is on, software fog mode is on, and the poly is not from a fog block - { - // Modulate the colors by alpha. - realcolor.s.red = (UINT8)(CALCLIGHT(alpha,realcolor.s.red)); - realcolor.s.green = (UINT8)(CALCLIGHT(alpha,realcolor.s.green)); - realcolor.s.blue = (UINT8)(CALCLIGHT(alpha,realcolor.s.blue)); + // Fog. + fog_alpha = (0xFF - fog_color.s.alpha) / 255.0f; - // Set the surface colors and further modulate the colors by light. - surfcolor.s.red = (UINT8)(CALCLIGHT((0xFF-alpha),255)+CALCLIGHT(realcolor.s.red,255)); - surfcolor.s.green = (UINT8)(CALCLIGHT((0xFF-alpha),255)+CALCLIGHT(realcolor.s.green,255)); - surfcolor.s.blue = (UINT8)(CALCLIGHT((0xFF-alpha),255)+CALCLIGHT(realcolor.s.blue,255)); - surfcolor.s.alpha = 0xFF; + // Set the surface colors and further modulate the colors by light. + fog_color.s.red = (UINT8)(((float)fog_color.s.red) * fog_alpha); + fog_color.s.green = (UINT8)(((float)fog_color.s.green) * fog_alpha); + fog_color.s.blue = (UINT8)(((float)fog_color.s.blue) * fog_alpha); - // Modulate the colors by alpha. - fogcolor.s.red = (UINT8)(CALCLIGHT(fogalpha,fogcolor.s.red)); - fogcolor.s.green = (UINT8)(CALCLIGHT(fogalpha,fogcolor.s.green)); - fogcolor.s.blue = (UINT8)(CALCLIGHT(fogalpha,fogcolor.s.blue)); - } - else - { - // Modulate the colors by alpha. - realcolor.s.red = (UINT8)(CALCLIGHT(alpha,realcolor.s.red)); - realcolor.s.green = (UINT8)(CALCLIGHT(alpha,realcolor.s.green)); - realcolor.s.blue = (UINT8)(CALCLIGHT(alpha,realcolor.s.blue)); - - // Set the surface colors and further modulate the colors by light. - surfcolor.s.red = (UINT8)(CALCLIGHT((0xFF-alpha),light)+CALCLIGHT(realcolor.s.red,light)); - surfcolor.s.green = (UINT8)(CALCLIGHT((0xFF-alpha),light)+CALCLIGHT(realcolor.s.green,light)); - surfcolor.s.blue = (UINT8)(CALCLIGHT((0xFF-alpha),light)+CALCLIGHT(realcolor.s.blue,light)); - - // Modulate the colors by alpha. - fogcolor.s.red = (UINT8)(CALCLIGHT(fogalpha,fogcolor.s.red)); - fogcolor.s.green = (UINT8)(CALCLIGHT(fogalpha,fogcolor.s.green)); - fogcolor.s.blue = (UINT8)(CALCLIGHT(fogalpha,fogcolor.s.blue)); - - // Set the surface colors and further modulate the colors by light. - surfcolor.s.red = surfcolor.s.red+((UINT8)(CALCLIGHT((0xFF-fogalpha),(255-light))+CALCLIGHT(fogcolor.s.red,(255-light)))); - surfcolor.s.green = surfcolor.s.green+((UINT8)(CALCLIGHT((0xFF-fogalpha),(255-light))+CALCLIGHT(fogcolor.s.green,(255-light)))); - surfcolor.s.blue = surfcolor.s.blue+((UINT8)(CALCLIGHT((0xFF-fogalpha),(255-light))+CALCLIGHT(fogcolor.s.blue,(255-light)))); - surfcolor.s.alpha = 0xFF; - } - - if(cv_grfog.value) - { - if (cv_grsoftwarefog.value) - { - fogcolor.s.red = (UINT8)((CALCLIGHT(fogcolor.s.red,(255-light)))+(CALCLIGHT(realcolor.s.red,light))); - fogcolor.s.green = (UINT8)((CALCLIGHT(fogcolor.s.green,(255-light)))+(CALCLIGHT(realcolor.s.green,light))); - fogcolor.s.blue = (UINT8)((CALCLIGHT(fogcolor.s.blue,(255-light)))+(CALCLIGHT(realcolor.s.blue,light))); - - // Set the fog options. - if (cv_grsoftwarefog.value == 1 && plane) // With floors, software draws them way darker for their distance - HWD.pfnSetSpecialState(HWD_SET_FOG_DENSITY, (INT32)(CALCFOGDENSITYFLOOR(light))); - else // everything else is drawn like walls - HWD.pfnSetSpecialState(HWD_SET_FOG_DENSITY, (INT32)(CALCFOGDENSITY(light))); - } - else - { - fogcolor.s.red = (UINT8)((CALCLIGHT(fogcolor.s.red,(255-light)))+(CALCLIGHT(realcolor.s.red,light))); - fogcolor.s.green = (UINT8)((CALCLIGHT(fogcolor.s.green,(255-light)))+(CALCLIGHT(realcolor.s.green,light))); - fogcolor.s.blue = (UINT8)((CALCLIGHT(fogcolor.s.blue,(255-light)))+(CALCLIGHT(realcolor.s.blue,light))); - - fogalpha = (UINT8)((CALCLIGHT(fogalpha,(255-light)))+(CALCLIGHT(alpha,light))); - - // Set the fog options. - light = (UINT8)(CALCLIGHT(light,(255-fogalpha))); - HWD.pfnSetSpecialState(HWD_SET_FOG_DENSITY, (INT32)(cv_grfogdensity.value-(cv_grfogdensity.value*(float)light/255.0f))); - } - - HWD.pfnSetSpecialState(HWD_SET_FOG_COLOR, (fogcolor.s.red*0x10000)+(fogcolor.s.green*0x100)+fogcolor.s.blue); - HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, 1); - } - return surfcolor.rgba; + Surface->PolyColor.rgba = final_color.rgba; + Surface->FadeColor.rgba = fog_color.rgba; + Surface->LightInfo.light_level = light_level; } +void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor) +{ + RGBA_t mix_color, fog_color, final_color; + INT32 mix, fogmix, lightmix; + float fog_alpha; + + // You see the problem is that darker light isn't actually as dark as it SHOULD be. + lightmix = 255 - ((255 - light_level)*100/96); + + mix_color.rgba = mixcolor; + fog_color.rgba = fadecolor; + + mix = (mix_color.s.alpha*255)/25; + fogmix = (fog_color.s.alpha*255)/25; + + // Modulate the colors by alpha. + mix_color.s.red = (UINT8)(CALCLIGHT(mix,mix_color.s.red)); + mix_color.s.green = (UINT8)(CALCLIGHT(mix,mix_color.s.green)); + mix_color.s.blue = (UINT8)(CALCLIGHT(mix,mix_color.s.blue)); + + // Set the surface colors and further modulate the colors by light. + final_color.s.red = (UINT8)(CALCLIGHT((0xFF-mix),lightmix)+CALCLIGHT(mix_color.s.red,lightmix)); + final_color.s.green = (UINT8)(CALCLIGHT((0xFF-mix),lightmix)+CALCLIGHT(mix_color.s.green,lightmix)); + final_color.s.blue = (UINT8)(CALCLIGHT((0xFF-mix),lightmix)+CALCLIGHT(mix_color.s.blue,lightmix)); + + // Modulate the colors by alpha. + fog_color.s.red = (UINT8)(CALCLIGHT(fogmix,fog_color.s.red)); + fog_color.s.green = (UINT8)(CALCLIGHT(fogmix,fog_color.s.green)); + fog_color.s.blue = (UINT8)(CALCLIGHT(fogmix,fog_color.s.blue)); + + // Set the surface colors and further modulate the colors by light. + final_color.s.red = final_color.s.red+((UINT8)(CALCLIGHT((0xFF-fogmix),(0xFF-lightmix))+CALCLIGHT(fog_color.s.red,(0xFF-lightmix)))); + final_color.s.green = final_color.s.green+((UINT8)(CALCLIGHT((0xFF-fogmix),(0xFF-lightmix))+CALCLIGHT(fog_color.s.green,(0xFF-lightmix)))); + final_color.s.blue = final_color.s.blue+((UINT8)(CALCLIGHT((0xFF-fogmix),(0xFF-lightmix))+CALCLIGHT(fog_color.s.blue,(0xFF-lightmix)))); + final_color.s.alpha = 0xFF; + + // Fog. + fog_color.rgba = fadecolor; + fog_alpha = (0xFF - fog_color.s.alpha) / 255.0f; + + // Set the surface colors and further modulate the colors by light. + fog_color.s.red = (UINT8)(((float)fog_color.s.red) * fog_alpha); + fog_color.s.green = (UINT8)(((float)fog_color.s.green) * fog_alpha); + fog_color.s.blue = (UINT8)(((float)fog_color.s.blue) * fog_alpha); + + Surface->PolyColor.rgba = final_color.rgba; + Surface->FadeColor.rgba = fog_color.rgba; + Surface->LightInfo.light_level = light_level; +} static UINT8 HWR_FogBlockAlpha(INT32 light, UINT32 color) // Let's see if this can work { RGBA_t realcolor, surfcolor; INT32 alpha; + // You see the problem is that darker light isn't actually as dark as it SHOULD be. + light = light - ((255 - light)*24/22); + // Don't go out of bounds if (light < 0) light = 0; @@ -516,8 +290,6 @@ static UINT8 HWR_FogBlockAlpha(INT32 light, UINT32 color) // Let's see if this c // FLOOR/CEILING GENERATION FROM SUBSECTORS // ========================================================================== -#ifdef DOPLANES - // -----------------+ // HWR_RenderPlane : Render a floor or ceiling convex polygon // -----------------+ @@ -717,125 +489,25 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is #endif } - // only useful for flat coloured triangles - //Surf.FlatColor = 0xff804020; - - // use different light tables - // for horizontal / vertical / diagonal - // note: try to get the same visual feel as the original - Surf.FlatColor.s.red = Surf.FlatColor.s.green = - Surf.FlatColor.s.blue = LightLevelToLum(lightlevel); // Don't take from the frontsector, or the game will crash - -#if 0 // no colormap test - // colormap test - if (gr_frontsector) - { - sector_t *psector = gr_frontsector; - -#ifdef ESLOPE - if (slope) - fixedheight = P_GetZAt(slope, psector->soundorg.x, psector->soundorg.y); -#endif - - if (psector->ffloors) - { - ffloor_t *caster = psector->lightlist[R_GetPlaneLight(psector, fixedheight, false)].caster; - psector = caster ? §ors[caster->secnum] : psector; - - if (caster) - { - lightlevel = psector->lightlevel; - Surf.FlatColor.s.red = Surf.FlatColor.s.green = Surf.FlatColor.s.blue = LightLevelToLum(lightlevel); - } - } - if (psector->extra_colormap) - Surf.FlatColor.rgba = HWR_Lighting(lightlevel,psector->extra_colormap->rgba,psector->extra_colormap->fadergba, false, true); - else - Surf.FlatColor.rgba = HWR_Lighting(lightlevel,NORMALFOG,FADEFOG, false, true); - } - else - Surf.FlatColor.rgba = HWR_Lighting(lightlevel,NORMALFOG,FADEFOG, false, true); - -#endif // NOPE - if (planecolormap) - { - if (fogplane) - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, planecolormap->rgba, planecolormap->fadergba, true, false); - else - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, planecolormap->rgba, planecolormap->fadergba, false, true); - } + HWR_Lighting(&Surf, lightlevel, planecolormap->rgba, planecolormap->fadergba); else - { - if (fogplane) - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, NORMALFOG, FADEFOG, true, false); - else - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, NORMALFOG, FADEFOG, false, true); - } + HWR_NoColormapLighting(&Surf, lightlevel, NORMALFOG, FADEFOG); if (PolyFlags & (PF_Translucent|PF_Fog)) { - Surf.FlatColor.s.alpha = (UINT8)alpha; - PolyFlags |= PF_Modulated|PF_Clip; + Surf.PolyColor.s.alpha = (UINT8)alpha; + PolyFlags |= PF_Modulated; } else - PolyFlags |= PF_Masked|PF_Modulated|PF_Clip; + PolyFlags |= PF_Masked|PF_Modulated; + HWD.pfnSetShader(1); // jimita: floor shader + if (PolyFlags & PF_Ripple) + HWD.pfnSetShader(4); // jimita: water shader HWD.pfnDrawPolygon(&Surf, planeVerts, nrPlaneVerts, PolyFlags); - -#ifdef ALAM_LIGHTING - // add here code for dynamic lighting on planes - HWR_PlaneLighting(planeVerts, nrPlaneVerts); -#endif } -#ifdef POLYSKY -// this don't draw anything it only update the z-buffer so there isn't problem with -// wall/things upper that sky (map12) -static void HWR_RenderSkyPlane(extrasubsector_t *xsub, fixed_t fixedheight) -{ - polyvertex_t *pv; - float height; //constant y for all points on the convex flat polygon - FOutVector *v3d; - INT32 nrPlaneVerts; //verts original define of convex flat polygon - INT32 i; - - // no convex poly were generated for this subsector - if (!xsub->planepoly) - return; - - height = FIXED_TO_FLOAT(fixedheight); - - pv = xsub->planepoly->pts; - nrPlaneVerts = xsub->planepoly->numpts; - - if (nrPlaneVerts < 3) // not even a triangle? - return; - - if (nrPlaneVerts > MAXPLANEVERTICES) // FIXME: exceeds plVerts size - { - CONS_Debug(DBG_RENDER, "polygon size of %d exceeds max value of %d vertices\n", nrPlaneVerts, MAXPLANEVERTICES); - return; - } - - // transform - v3d = planeVerts; - for (i = 0; i < nrPlaneVerts; i++,v3d++,pv++) - { - v3d->sow = 0.0f; - v3d->tow = 0.0f; - v3d->x = pv->x; - v3d->y = height; - v3d->z = pv->y; - } - - HWD.pfnDrawPolygon(NULL, planeVerts, nrPlaneVerts, - PF_Clip|PF_Invisible|PF_NoTexture|PF_Occlude); -} -#endif //polysky - -#endif //doplanes - /* wallVerts order is : 3--2 @@ -907,20 +579,21 @@ static void HWR_DrawSegsSplats(FSurfaceInfo * pSurf) switch (splat->flags & SPLATDRAWMODE_MASK) { case SPLATDRAWMODE_OPAQUE : - pSurf2.FlatColor.s.alpha = 0xff; + pSurf2.PolyColor.s.alpha = 0xff; i = PF_Translucent; break; case SPLATDRAWMODE_TRANS : - pSurf2.FlatColor.s.alpha = 128; + pSurf2.PolyColor.s.alpha = 128; i = PF_Translucent; break; case SPLATDRAWMODE_SHADE : - pSurf2.FlatColor.s.alpha = 0xff; + pSurf2.PolyColor.s.alpha = 0xff; i = PF_Substractive; break; } - HWD.pfnDrawPolygon(&pSurf2, trVerts, 4, i|PF_Modulated|PF_Clip|PF_Decal); + HWD.pfnSetShader(2); // jimita: wall shader + HWD.pfnDrawPolygon(&pSurf2, trVerts, 4, i|PF_Modulated|PF_Decal); } } #endif @@ -934,15 +607,15 @@ FBITFIELD HWR_TranstableToAlpha(INT32 transtablenum, FSurfaceInfo *pSurf) { switch (transtablenum) { - case tr_trans10 : pSurf->FlatColor.s.alpha = 0xe6;return PF_Translucent; - case tr_trans20 : pSurf->FlatColor.s.alpha = 0xcc;return PF_Translucent; - case tr_trans30 : pSurf->FlatColor.s.alpha = 0xb3;return PF_Translucent; - case tr_trans40 : pSurf->FlatColor.s.alpha = 0x99;return PF_Translucent; - case tr_trans50 : pSurf->FlatColor.s.alpha = 0x80;return PF_Translucent; - case tr_trans60 : pSurf->FlatColor.s.alpha = 0x66;return PF_Translucent; - case tr_trans70 : pSurf->FlatColor.s.alpha = 0x4c;return PF_Translucent; - case tr_trans80 : pSurf->FlatColor.s.alpha = 0x33;return PF_Translucent; - case tr_trans90 : pSurf->FlatColor.s.alpha = 0x19;return PF_Translucent; + case tr_trans10 : pSurf->PolyColor.s.alpha = 0xe6;return PF_Translucent; + case tr_trans20 : pSurf->PolyColor.s.alpha = 0xcc;return PF_Translucent; + case tr_trans30 : pSurf->PolyColor.s.alpha = 0xb3;return PF_Translucent; + case tr_trans40 : pSurf->PolyColor.s.alpha = 0x99;return PF_Translucent; + case tr_trans50 : pSurf->PolyColor.s.alpha = 0x80;return PF_Translucent; + case tr_trans60 : pSurf->PolyColor.s.alpha = 0x66;return PF_Translucent; + case tr_trans70 : pSurf->PolyColor.s.alpha = 0x4c;return PF_Translucent; + case tr_trans80 : pSurf->PolyColor.s.alpha = 0x33;return PF_Translucent; + case tr_trans90 : pSurf->PolyColor.s.alpha = 0x19;return PF_Translucent; } return PF_Translucent; } @@ -1003,28 +676,17 @@ static void HWR_ProjectWall(wallVert3D * wallVerts, wv->z = wallVerts->z; if (wallcolormap) - { - pSurf->FlatColor.rgba = HWR_Lighting(lightlevel, wallcolormap->rgba, wallcolormap->fadergba, false, false); - } + HWR_Lighting(pSurf, lightlevel, wallcolormap->rgba, wallcolormap->fadergba); else - { - pSurf->FlatColor.rgba = HWR_Lighting(lightlevel, NORMALFOG, FADEFOG, false, false); - } + HWR_NoColormapLighting(pSurf, lightlevel, NORMALFOG, FADEFOG); - HWD.pfnDrawPolygon(pSurf, trVerts, 4, blendmode|PF_Modulated|PF_Occlude|PF_Clip); + HWD.pfnSetShader(2); // jimita: wall shader + HWD.pfnDrawPolygon(pSurf, trVerts, 4, blendmode|PF_Modulated|PF_Occlude); #ifdef WALLSPLATS if (gr_curline->linedef->splats && cv_splats.value) HWR_DrawSegsSplats(pSurf); #endif -#ifdef ALAM_LIGHTING - //Hurdler: TDOD: do static lighting using gr_curline->lm - HWR_WallLighting(trVerts); - - //Hurdler: for better dynamic light in dark area, we should draw the light first - // and then the wall all that with the right blending func - //HWD.pfnDrawPolygon(pSurf, trVerts, 4, PF_Additive|PF_Modulated|PF_Occlude|PF_Clip); -#endif } // ========================================================================== @@ -1095,7 +757,7 @@ static void HWR_SplitWall(sector_t *sector, wallVert3D *wallVerts, INT32 texnum, INT32 solid, i; lightlist_t * list = sector->lightlist; - const UINT8 alpha = Surf->FlatColor.s.alpha; + const UINT8 alpha = Surf->PolyColor.s.alpha; FUINT lightnum = sector->lightlevel; extracolormap_t *colormap = NULL; @@ -1241,7 +903,7 @@ static void HWR_SplitWall(sector_t *sector, wallVert3D *wallVerts, INT32 texnum, if (endbot < endrealbot) endbot = endrealbot; #endif - Surf->FlatColor.s.alpha = alpha; + Surf->PolyColor.s.alpha = alpha; #ifdef ESLOPE wallVerts[3].t = pegt + ((realtop - top) * pegmul); @@ -1284,7 +946,7 @@ static void HWR_SplitWall(sector_t *sector, wallVert3D *wallVerts, INT32 texnum, if (top <= realbot) return; - Surf->FlatColor.s.alpha = alpha; + Surf->PolyColor.s.alpha = alpha; #ifdef ESLOPE wallVerts[3].t = pegt + ((realtop - top) * pegmul); @@ -1327,7 +989,7 @@ static void HWR_DrawSkyWall(wallVert3D *wallVerts, FSurfaceInfo *Surf, fixed_t b // set top/bottom coords wallVerts[2].y = wallVerts[3].y = FIXED_TO_FLOAT(top); // No real way to find the correct height of this wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(bottom); // worldlow/bottom because it needs to cover up the lower thok barrier wall - HWR_ProjectWall(wallVerts, Surf, PF_Invisible|PF_Clip|PF_NoTexture, 255, NULL); + HWR_ProjectWall(wallVerts, Surf, PF_Invisible|PF_NoTexture, 255, NULL); // PF_Invisible so it's not drawn into the colour buffer // PF_NoTexture for no texture // PF_Occlude is set in HWR_ProjectWall to draw into the depth buffer @@ -1442,7 +1104,7 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) if (gr_frontsector) { - Surf.FlatColor.s.alpha = 255; + Surf.PolyColor.s.alpha = 255; } if (gr_backsector) @@ -1882,7 +1544,7 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) { if (gr_curline->polyseg->translucency >= NUMTRANSMAPS) // wall not drawn { - Surf.FlatColor.s.alpha = 0x00; // This shouldn't draw anything regardless of blendmode + Surf.PolyColor.s.alpha = 0x00; // This shouldn't draw anything regardless of blendmode blendmode = PF_Masked; } else @@ -1903,13 +1565,6 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) HWR_AddTransparentWall(wallVerts, &Surf, gr_midtexture, blendmode, false, lightnum, colormap); else HWR_ProjectWall(wallVerts, &Surf, blendmode, lightnum, colormap); - - // If there is a colormap change, remove it. -/* if (!(Surf.FlatColor.s.red + Surf.FlatColor.s.green + Surf.FlatColor.s.blue == Surf.FlatColor.s.red/3) - { - Surf.FlatColor.s.red = Surf.FlatColor.s.green = Surf.FlatColor.s.blue = 0xff; - Surf.FlatColor.rgba = 0xffffffff; - }*/ } // Isn't this just the most lovely mess @@ -2068,7 +1723,6 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) //Hurdler: 3d-floors test -#ifdef R_FAKEFLOORS if (gr_frontsector && gr_backsector && gr_frontsector->tag != gr_backsector->tag && (gr_backsector->ffloors || gr_frontsector->ffloors)) { ffloor_t * rover; @@ -2214,11 +1868,11 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) if (rover->master->frontsector->extra_colormap) { - Surf.FlatColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,rover->master->frontsector->extra_colormap->rgba); + Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,rover->master->frontsector->extra_colormap->rgba); } else { - Surf.FlatColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,NORMALFOG); + Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,NORMALFOG); } if (gr_frontsector->numlights) @@ -2233,7 +1887,7 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) if (rover->flags & FF_TRANSLUCENT && rover->alpha < 256) { blendmode = PF_Translucent; - Surf.FlatColor.s.alpha = (UINT8)rover->alpha-1 > 255 ? 255 : rover->alpha-1; + Surf.PolyColor.s.alpha = (UINT8)rover->alpha-1 > 255 ? 255 : rover->alpha-1; } if (gr_frontsector->numlights) @@ -2333,11 +1987,11 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) if (rover->master->frontsector->extra_colormap) { - Surf.FlatColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,rover->master->frontsector->extra_colormap->rgba); + Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,rover->master->frontsector->extra_colormap->rgba); } else { - Surf.FlatColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,NORMALFOG); + Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,NORMALFOG); } if (gr_backsector->numlights) @@ -2352,7 +2006,7 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) if (rover->flags & FF_TRANSLUCENT && rover->alpha < 256) { blendmode = PF_Translucent; - Surf.FlatColor.s.alpha = (UINT8)rover->alpha-1 > 255 ? 255 : rover->alpha-1; + Surf.PolyColor.s.alpha = (UINT8)rover->alpha-1 > 255 ? 255 : rover->alpha-1; } if (gr_backsector->numlights) @@ -2368,7 +2022,6 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) } } } -#endif //Hurdler: end of 3d-floors test } @@ -3293,20 +2946,20 @@ static void HWR_RenderPolyObjectPlane(polyobj_t *polysector, boolean isceiling, v3d->z = FIXED_TO_FLOAT(polysector->vertices[i]->y); } - if (planecolormap) - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, planecolormap->rgba, planecolormap->fadergba, false, true); + HWR_Lighting(&Surf, lightlevel, planecolormap->rgba, planecolormap->fadergba); else - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, NORMALFOG, FADEFOG, false, true); + HWR_NoColormapLighting(&Surf, lightlevel, NORMALFOG, FADEFOG); if (blendmode & PF_Translucent) { - Surf.FlatColor.s.alpha = (UINT8)alpha; - blendmode |= PF_Modulated|PF_Occlude|PF_Clip; + Surf.PolyColor.s.alpha = (UINT8)alpha; + blendmode |= PF_Modulated|PF_Occlude; } else - blendmode |= PF_Masked|PF_Modulated|PF_Clip; + blendmode |= PF_Masked|PF_Modulated; + HWD.pfnSetShader(1); // jimita: floor shader HWD.pfnDrawPolygon(&Surf, planeVerts, nrPlaneVerts, blendmode); } @@ -3337,7 +2990,7 @@ static void HWR_AddPolyObjectPlanes(void) FSurfaceInfo Surf; FBITFIELD blendmode = HWR_TranstableToAlpha(po_ptrs[i]->translucency, &Surf); HWR_AddTransparentPolyobjectFloor(levelflats[polyobjsector->floorpic].lumpnum, po_ptrs[i], false, polyobjsector->floorheight, - polyobjsector->lightlevel, Surf.FlatColor.s.alpha, polyobjsector, blendmode, NULL); + polyobjsector->lightlevel, Surf.PolyColor.s.alpha, polyobjsector, blendmode, NULL); } else { @@ -3359,7 +3012,7 @@ static void HWR_AddPolyObjectPlanes(void) memset(&Surf, 0x00, sizeof(Surf)); blendmode = HWR_TranstableToAlpha(po_ptrs[i]->translucency, &Surf); HWR_AddTransparentPolyobjectFloor(levelflats[polyobjsector->ceilingpic].lumpnum, po_ptrs[i], true, polyobjsector->ceilingheight, - polyobjsector->lightlevel, Surf.FlatColor.s.alpha, polyobjsector, blendmode, NULL); + polyobjsector->lightlevel, Surf.PolyColor.s.alpha, polyobjsector, blendmode, NULL); } else { @@ -3432,16 +3085,6 @@ static void HWR_Subsector(size_t num) floorcolormap = ceilingcolormap = gr_frontsector->extra_colormap; - // ------------------------------------------------------------------------ - // sector lighting, DISABLED because it's done in HWR_StoreWallRange - // ------------------------------------------------------------------------ - /// \todo store a RGBA instead of just intensity, allow coloured sector lighting - //light = (FUBYTE)(sub->sector->lightlevel & 0xFF) / 255.0f; - //gr_cursectorlight.red = light; - //gr_cursectorlight.green = light; - //gr_cursectorlight.blue = light; - //gr_cursectorlight.alpha = light; - // ----- for special tricks with HW renderer ----- if (gr_frontsector->pseudoSector) { @@ -3508,7 +3151,6 @@ static void HWR_Subsector(size_t num) sub->sector->extra_colormap = gr_frontsector->extra_colormap; // render floor ? -#ifdef DOPLANES // yeah, easy backface cull! :) if (cullFloorHeight < dup_viewz) { @@ -3524,12 +3166,6 @@ static void HWR_Subsector(size_t num) PF_Occlude, floorlightlevel, levelflats[gr_frontsector->floorpic].lumpnum, NULL, 255, false, floorcolormap); } } - else - { -#ifdef POLYSKY - HWR_RenderSkyPlane(&extrasubsectors[num], locFloorHeight); -#endif - } } if (cullCeilingHeight > dup_viewz) @@ -3546,21 +3182,12 @@ static void HWR_Subsector(size_t num) PF_Occlude, ceilinglightlevel, levelflats[gr_frontsector->ceilingpic].lumpnum,NULL, 255, false, ceilingcolormap); } } - else - { -#ifdef POLYSKY - HWR_RenderSkyPlane(&extrasubsectors[num], locCeilingHeight); -#endif - } } -#ifndef POLYSKY // Moved here because before, when above the ceiling and the floor does not have the sky flat, it doesn't draw the sky if (gr_frontsector->ceilingpic == skyflatnum || gr_frontsector->floorpic == skyflatnum) drawsky = true; -#endif -#ifdef R_FAKEFLOORS if (gr_frontsector->ffloors) { /// \todo fix light, xoffs, yoffs, extracolormap ? @@ -3613,27 +3240,19 @@ static void HWR_Subsector(size_t num) else if (rover->flags & FF_TRANSLUCENT && rover->alpha < 256) // SoM: Flags are more efficient { light = R_GetPlaneLight(gr_frontsector, centerHeight, dup_viewz < cullHeight ? true : false); -#ifndef SORTING - HWR_Add3DWater(levelflats[*rover->bottompic].lumpnum, - &extrasubsectors[num], - *rover->bottomheight, - *gr_frontsector->lightlist[light].lightlevel, - rover->alpha-1, rover->master->frontsector); -#else HWR_AddTransparentFloor(levelflats[*rover->bottompic].lumpnum, &extrasubsectors[num], false, *rover->bottomheight, *gr_frontsector->lightlist[light].lightlevel, - rover->alpha-1 > 255 ? 255 : rover->alpha-1, rover->master->frontsector, PF_Translucent, + rover->alpha-1 > 255 ? 255 : rover->alpha-1, rover->master->frontsector, (rover->flags & FF_RIPPLE ? PF_Ripple : 0)|PF_Translucent, false, gr_frontsector->lightlist[light].extra_colormap); -#endif } else { HWR_GetFlat(levelflats[*rover->bottompic].lumpnum); light = R_GetPlaneLight(gr_frontsector, centerHeight, dup_viewz < cullHeight ? true : false); - HWR_RenderPlane(NULL, &extrasubsectors[num], false, *rover->bottomheight, PF_Occlude, *gr_frontsector->lightlist[light].lightlevel, levelflats[*rover->bottompic].lumpnum, + HWR_RenderPlane(NULL, &extrasubsectors[num], false, *rover->bottomheight, (rover->flags & FF_RIPPLE ? PF_Ripple : 0)|PF_Occlude, *gr_frontsector->lightlist[light].lightlevel, levelflats[*rover->bottompic].lumpnum, rover->master->frontsector, 255, false, gr_frontsector->lightlist[light].extra_colormap); } } @@ -3676,35 +3295,24 @@ static void HWR_Subsector(size_t num) else if (rover->flags & FF_TRANSLUCENT && rover->alpha < 256) { light = R_GetPlaneLight(gr_frontsector, centerHeight, dup_viewz < cullHeight ? true : false); -#ifndef SORTING - HWR_Add3DWater(levelflats[*rover->toppic].lumpnum, - &extrasubsectors[num], - *rover->topheight, - *gr_frontsector->lightlist[light].lightlevel, - rover->alpha-1, rover->master->frontsector); -#else HWR_AddTransparentFloor(levelflats[*rover->toppic].lumpnum, &extrasubsectors[num], true, *rover->topheight, *gr_frontsector->lightlist[light].lightlevel, - rover->alpha-1 > 255 ? 255 : rover->alpha-1, rover->master->frontsector, PF_Translucent, + rover->alpha-1 > 255 ? 255 : rover->alpha-1, rover->master->frontsector, (rover->flags & FF_RIPPLE ? PF_Ripple : 0)|PF_Translucent, false, gr_frontsector->lightlist[light].extra_colormap); -#endif - } else { HWR_GetFlat(levelflats[*rover->toppic].lumpnum); light = R_GetPlaneLight(gr_frontsector, centerHeight, dup_viewz < cullHeight ? true : false); - HWR_RenderPlane(NULL, &extrasubsectors[num], true, *rover->topheight, PF_Occlude, *gr_frontsector->lightlist[light].lightlevel, levelflats[*rover->toppic].lumpnum, + HWR_RenderPlane(NULL, &extrasubsectors[num], true, *rover->topheight, (rover->flags & FF_RIPPLE ? PF_Ripple : 0)|PF_Occlude, *gr_frontsector->lightlist[light].lightlevel, levelflats[*rover->toppic].lumpnum, rover->master->frontsector, 255, false, gr_frontsector->lightlist[light].extra_colormap); } } } } -#endif -#endif //doplanes #ifdef POLYOBJECTS // Draw all the polyobjects in this subsector @@ -3773,59 +3381,8 @@ static void HWR_Subsector(size_t num) // traversing subtree recursively. // Just call with BSP root. -#ifdef coolhack -//t;b;l;r -static fixed_t hackbbox[4]; -//BOXTOP, -//BOXBOTTOM, -//BOXLEFT, -//BOXRIGHT -static boolean HWR_CheckHackBBox(fixed_t *bb) -{ - if (bb[BOXTOP] < hackbbox[BOXBOTTOM]) //y up - return false; - if (bb[BOXBOTTOM] > hackbbox[BOXTOP]) - return false; - if (bb[BOXLEFT] > hackbbox[BOXRIGHT]) - return false; - if (bb[BOXRIGHT] < hackbbox[BOXLEFT]) - return false; - return true; -} -#endif - -// BP: big hack for a test in lighning ref : 1249753487AB -fixed_t *hwbbox; - static void HWR_RenderBSPNode(INT32 bspnum) { - /*//GZDoom code - if(bspnum == -1) - { - HWR_Subsector(subsectors); - return; - } - while(!((size_t)bspnum&(~NF_SUBSECTOR))) // Keep going until found a subsector - { - node_t *bsp = &nodes[bspnum]; - - // Decide which side the view point is on - INT32 side = R_PointOnSide(dup_viewx, dup_viewy, bsp); - - // Recursively divide front space (toward the viewer) - HWR_RenderBSPNode(bsp->children[side]); - - // Possibly divide back space (away from viewer) - side ^= 1; - - if (!HWR_CheckBBox(bsp->bbox[side])) - return; - - bspnum = bsp->children[side]; - } - - HWR_Subsector(bspnum-1); -*/ node_t *bsp = &nodes[bspnum]; // Decide which side the view point is on @@ -3834,35 +3391,20 @@ static void HWR_RenderBSPNode(INT32 bspnum) // Found a subsector? if (bspnum & NF_SUBSECTOR) { - if (bspnum == -1) - { - //*(gr_drawsubsector_p++) = 0; - HWR_Subsector(0); - } - else - { - //*(gr_drawsubsector_p++) = bspnum&(~NF_SUBSECTOR); + if (bspnum != -1) HWR_Subsector(bspnum&(~NF_SUBSECTOR)); - } return; } // Decide which side the view point is on. side = R_PointOnSide(dup_viewx, dup_viewy, bsp); - // BP: big hack for a test in lighning ref : 1249753487AB - hwbbox = bsp->bbox[side]; - // Recursively divide front space. HWR_RenderBSPNode(bsp->children[side]); // Possibly divide back space. if (HWR_CheckBBox(bsp->bbox[side^1])) - { - // BP: big hack for a test in lighning ref : 1249753487AB - hwbbox = bsp->bbox[side^1]; HWR_RenderBSPNode(bsp->children[side^1]); - } } /* @@ -4192,57 +3734,28 @@ static void HWR_DrawSpriteShadow(gr_vissprite_t *spr, GLPatch_t *gpatch, float t swallVerts[0].tow = swallVerts[1].tow = gpatch->max_t; } - sSurf.FlatColor.s.red = 0x00; - sSurf.FlatColor.s.blue = 0x00; - sSurf.FlatColor.s.green = 0x00; - - /*if (spr->mobj->frame & FF_TRANSMASK || spr->mobj->flags2 & MF2_SHADOW) - { - sector_t *sector = spr->mobj->subsector->sector; - UINT8 lightlevel = 255; - extracolormap_t *colormap = sector->extra_colormap; - - if (sector->numlights) - { - INT32 light = R_GetPlaneLight(sector, spr->mobj->floorz, false); - - if (!(spr->mobj->frame & FF_FULLBRIGHT)) - lightlevel = *sector->lightlist[light].lightlevel; - - if (sector->lightlist[light].extra_colormap) - colormap = sector->lightlist[light].extra_colormap; - } - else - { - lightlevel = sector->lightlevel; - - if (sector->extra_colormap) - colormap = sector->extra_colormap; - } - - if (colormap) - sSurf.FlatColor.rgba = HWR_Lighting(lightlevel/2, colormap->rgba, colormap->fadergba, false, true); - else - sSurf.FlatColor.rgba = HWR_Lighting(lightlevel/2, NORMALFOG, FADEFOG, false, true); - }*/ + sSurf.PolyColor.s.red = 0x00; + sSurf.PolyColor.s.blue = 0x00; + sSurf.PolyColor.s.green = 0x00; // shadow is always half as translucent as the sprite itself if (!cv_translucency.value) // use default translucency (main sprite won't have any translucency) - sSurf.FlatColor.s.alpha = 0x80; // default + sSurf.PolyColor.s.alpha = 0x80; // default else if (spr->mobj->flags2 & MF2_SHADOW) - sSurf.FlatColor.s.alpha = 0x20; + sSurf.PolyColor.s.alpha = 0x20; else if (spr->mobj->frame & FF_TRANSMASK) { HWR_TranstableToAlpha((spr->mobj->frame & FF_TRANSMASK)>>FF_TRANSSHIFT, &sSurf); - sSurf.FlatColor.s.alpha /= 2; //cut alpha in half! + sSurf.PolyColor.s.alpha /= 2; //cut alpha in half! } else - sSurf.FlatColor.s.alpha = 0x80; // default + sSurf.PolyColor.s.alpha = 0x80; // default - if (sSurf.FlatColor.s.alpha > floorheight/4) + if (sSurf.PolyColor.s.alpha > floorheight/4) { - sSurf.FlatColor.s.alpha = (UINT8)(sSurf.FlatColor.s.alpha - floorheight/4); - HWD.pfnDrawPolygon(&sSurf, swallVerts, 4, PF_Translucent|PF_Modulated|PF_Clip); + sSurf.PolyColor.s.alpha = (UINT8)(sSurf.PolyColor.s.alpha - floorheight/4); + HWD.pfnSetShader(1); // jimita: floor shader + HWD.pfnDrawPolygon(&sSurf, swallVerts, 4, PF_Translucent|PF_Modulated); } } @@ -4287,10 +3800,6 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) if (cv_shadow.value // Shadows enabled && (spr->mobj->flags & (MF_SCENERY|MF_SPAWNCEILING|MF_NOGRAVITY)) != (MF_SCENERY|MF_SPAWNCEILING|MF_NOGRAVITY) // Ceiling scenery have no shadow. && !(spr->mobj->flags2 & MF2_DEBRIS) // Debris have no corona or shadow. -#ifdef ALAM_LIGHTING - && !(t_lspr[spr->mobj->sprite]->type // Things with dynamic lights have no shadow. - && (!spr->mobj->player || spr->mobj->player->powers[pw_super])) // Except for non-super players. -#endif && (spr->mobj->z >= spr->mobj->floorz)) // Without this, your shadow shows on the floor, even after you die and fall through the ground. { //////////////////// @@ -4357,12 +3866,12 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) if (!cv_translucency.value) // translucency disabled { - Surf.FlatColor.s.alpha = 0xFF; + Surf.PolyColor.s.alpha = 0xFF; blend = PF_Translucent|PF_Occlude; } else if (spr->mobj->flags2 & MF2_SHADOW) { - Surf.FlatColor.s.alpha = 0x40; + Surf.PolyColor.s.alpha = 0x40; blend = PF_Translucent; } else if (spr->mobj->frame & FF_TRANSMASK) @@ -4373,11 +3882,11 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) // work properly under glide nor with fogcolor to ffffff :( // Hurdler: PF_Environement would be cool, but we need to fix // the issue with the fog before - Surf.FlatColor.s.alpha = 0xFF; + Surf.PolyColor.s.alpha = 0xFF; blend = PF_Translucent|PF_Occlude; } - alpha = Surf.FlatColor.s.alpha; + alpha = Surf.PolyColor.s.alpha; // Start with the lightlevel and colormap from the top of the sprite lightlevel = *list[sector->numlights - 1].lightlevel; @@ -4490,13 +3999,14 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) #endif if (colormap) - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, colormap->rgba, colormap->fadergba, false, false); + HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); else - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, NORMALFOG, FADEFOG, false, false); + HWR_NoColormapLighting(&Surf, lightlevel, NORMALFOG, FADEFOG); - Surf.FlatColor.s.alpha = alpha; + Surf.PolyColor.s.alpha = alpha; - HWD.pfnDrawPolygon(&Surf, wallVerts, 4, blend|PF_Modulated|PF_Clip); + HWD.pfnSetShader(3); // jimita: sprite shader + HWD.pfnDrawPolygon(&Surf, wallVerts, 4, blend|PF_Modulated); top = bot; #ifdef ESLOPE @@ -4532,13 +4042,14 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) #endif if (colormap) - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, colormap->rgba, colormap->fadergba, false, false); + HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); else - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, NORMALFOG, FADEFOG, false, false); + HWR_NoColormapLighting(&Surf, lightlevel, NORMALFOG, FADEFOG); - Surf.FlatColor.s.alpha = alpha; + Surf.PolyColor.s.alpha = alpha; - HWD.pfnDrawPolygon(&Surf, wallVerts, 4, blend|PF_Modulated|PF_Clip); + HWD.pfnSetShader(3); // jimita: sprite shader + HWD.pfnDrawPolygon(&Surf, wallVerts, 4, blend|PF_Modulated); } // -----------------+ @@ -4578,12 +4089,6 @@ static void HWR_DrawSprite(gr_vissprite_t *spr) gpatch = W_CachePatchNum(spr->patchlumpnum, PU_CACHE); -#ifdef ALAM_LIGHTING - if (!(spr->mobj->flags2 & MF2_DEBRIS) && (spr->mobj->sprite != SPR_PLAY || - (spr->mobj->player && spr->mobj->player->powers[pw_super]))) - HWR_DL_AddLight(spr, gpatch); -#endif - // create the sprite billboard // // 3--2 @@ -4633,10 +4138,6 @@ static void HWR_DrawSprite(gr_vissprite_t *spr) if (cv_shadow.value // Shadows enabled && (spr->mobj->flags & (MF_SCENERY|MF_SPAWNCEILING|MF_NOGRAVITY)) != (MF_SCENERY|MF_SPAWNCEILING|MF_NOGRAVITY) // Ceiling scenery have no shadow. && !(spr->mobj->flags2 & MF2_DEBRIS) // Debris have no corona or shadow. -#ifdef ALAM_LIGHTING - && !(t_lspr[spr->mobj->sprite]->type // Things with dynamic lights have no shadow. - && (!spr->mobj->player || spr->mobj->player->powers[pw_super])) // Except for non-super players. -#endif && (spr->mobj->z >= spr->mobj->floorz)) // Without this, your shadow shows on the floor, even after you die and fall through the ground. { //////////////////// @@ -4669,21 +4170,21 @@ static void HWR_DrawSprite(gr_vissprite_t *spr) lightlevel = sector->lightlevel; if (colormap) - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, colormap->rgba, colormap->fadergba, false, false); + HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); else - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, NORMALFOG, FADEFOG, false, false); + HWR_NoColormapLighting(&Surf, lightlevel, NORMALFOG, FADEFOG); } { FBITFIELD blend = 0; if (!cv_translucency.value) // translucency disabled { - Surf.FlatColor.s.alpha = 0xFF; + Surf.PolyColor.s.alpha = 0xFF; blend = PF_Translucent|PF_Occlude; } else if (spr->mobj->flags2 & MF2_SHADOW) { - Surf.FlatColor.s.alpha = 0x40; + Surf.PolyColor.s.alpha = 0x40; blend = PF_Translucent; } else if (spr->mobj->frame & FF_TRANSMASK) @@ -4694,15 +4195,15 @@ static void HWR_DrawSprite(gr_vissprite_t *spr) // work properly under glide nor with fogcolor to ffffff :( // Hurdler: PF_Environement would be cool, but we need to fix // the issue with the fog before - Surf.FlatColor.s.alpha = 0xFF; + Surf.PolyColor.s.alpha = 0xFF; blend = PF_Translucent|PF_Occlude; } - HWD.pfnDrawPolygon(&Surf, wallVerts, 4, blend|PF_Modulated|PF_Clip); + HWD.pfnSetShader(3); // jimita: sprite shader + HWD.pfnDrawPolygon(&Surf, wallVerts, 4, blend|PF_Modulated); } } -#ifdef HWPRECIP // Sprite drawer for precipitation static inline void HWR_DrawPrecipitationSprite(gr_vissprite_t *spr) { @@ -4775,14 +4276,14 @@ static inline void HWR_DrawPrecipitationSprite(gr_vissprite_t *spr) } if (colormap) - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, colormap->rgba, colormap->fadergba, false, false); + HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); else - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, NORMALFOG, FADEFOG, false, false); + HWR_NoColormapLighting(&Surf, lightlevel, NORMALFOG, FADEFOG); } if (spr->mobj->flags2 & MF2_SHADOW) { - Surf.FlatColor.s.alpha = 0x40; + Surf.PolyColor.s.alpha = 0x40; blend = PF_Translucent; } else if (spr->mobj->frame & FF_TRANSMASK) @@ -4793,13 +4294,13 @@ static inline void HWR_DrawPrecipitationSprite(gr_vissprite_t *spr) // work properly under glide nor with fogcolor to ffffff :( // Hurdler: PF_Environement would be cool, but we need to fix // the issue with the fog before - Surf.FlatColor.s.alpha = 0xFF; + Surf.PolyColor.s.alpha = 0xFF; blend = PF_Translucent|PF_Occlude; } - HWD.pfnDrawPolygon(&Surf, wallVerts, 4, blend|PF_Modulated|PF_Clip); + HWD.pfnSetShader(3); // jimita: sprite shader + HWD.pfnDrawPolygon(&Surf, wallVerts, 4, blend|PF_Modulated); } -#endif // -------------------------------------------------------------------------- // Sort vissprites by distance @@ -4905,9 +4406,6 @@ typedef struct INT32 texnum; FBITFIELD blend; INT32 drawcount; -#ifndef SORTING - fixed_t fixedheight; -#endif boolean fogwall; INT32 lightlevel; extracolormap_t *wallcolormap; // Doing the lighting in HWR_RenderWall now for correct fog after sorting @@ -4955,11 +4453,6 @@ typedef struct static size_t numpolyplanes = 0; // a list of transparent poyobject floors to be drawn static polyplaneinfo_t *polyplaneinfo = NULL; -#ifndef SORTING -size_t numfloors = 0; -#else -//static floorinfo_t *floorinfo = NULL; -//static size_t numfloors = 0; //Hurdler: 3D water sutffs typedef struct gr_drawnode_s { @@ -4967,9 +4460,6 @@ typedef struct gr_drawnode_s polyplaneinfo_t *polyplane; wallinfo_t *wall; gr_vissprite_t *sprite; - -// struct gr_drawnode_s *next; -// struct gr_drawnode_s *prev; } gr_drawnode_t; static INT32 drawcount = 0; @@ -5180,6 +4670,7 @@ static void HWR_CreateDrawNodes(void) } // loop++ HWD.pfnSetTransform(&atransform); + HWD.pfnSetShader(0); // jimita // Okay! Let's draw it all! Woo! for (i = 0; i < p; i++) { @@ -5221,12 +4712,9 @@ static void HWR_CreateDrawNodes(void) Z_Free(sortindex); } -#endif - // -------------------------------------------------------------------------- // Draw all vissprites // -------------------------------------------------------------------------- -#ifdef SORTING // added the stransform so they can be switched as drawing happenes so MD2s and sprites are sorted correctly with each other static void HWR_DrawSprites(void) { @@ -5239,11 +4727,9 @@ static void HWR_DrawSprites(void) spr != &gr_vsprsortedhead; spr = spr->next) { -#ifdef HWPRECIP if (spr->precip) HWR_DrawPrecipitationSprite(spr); else -#endif if (spr->mobj && spr->mobj->skin && spr->mobj->sprite == SPR_PLAY) { if (!cv_grmd2.value || md2_playermodels[(skin_t*)spr->mobj->skin-skins].notfound || md2_playermodels[(skin_t*)spr->mobj->skin-skins].scale < 0.0f) @@ -5261,7 +4747,6 @@ static void HWR_DrawSprites(void) } } } -#endif // -------------------------------------------------------------------------- // HWR_AddSprites @@ -5271,9 +4756,7 @@ static UINT8 sectorlight; static void HWR_AddSprites(sector_t *sec) { mobj_t *thing; -#ifdef HWPRECIP precipmobj_t *precipthing; -#endif fixed_t approx_dist, limit_dist; // BSP is traversed by subsector. @@ -5314,7 +4797,6 @@ static void HWR_AddSprites(sector_t *sec) HWR_ProjectSprite(thing); } -#ifdef HWPRECIP // Someone seriously wants infinite draw distance for precipitation? if ((limit_dist = (fixed_t)cv_drawdist_precip.value << FRACBITS)) { @@ -5338,7 +4820,6 @@ static void HWR_AddSprites(sector_t *sec) if (!(precipthing->precipflags & PCF_INVISIBLE)) HWR_ProjectPrecipitationSprite(precipthing); } -#endif } // -------------------------------------------------------------------------- @@ -5540,7 +5021,6 @@ static void HWR_ProjectSprite(mobj_t *thing) vis->precip = false; } -#ifdef HWPRECIP // Precipitation projector for hardware mode static void HWR_ProjectPrecipitationSprite(precipmobj_t *thing) { @@ -5644,7 +5124,6 @@ static void HWR_ProjectPrecipitationSprite(precipmobj_t *thing) vis->precip = true; } -#endif // ========================================================================== // @@ -5726,7 +5205,9 @@ static void HWR_DrawSkyBackground(void) v[0].tow = v[1].tow -= ((float) angle / angleturn); } + HWD.pfnSetShader(5); // jimita: sky shader HWD.pfnDrawPolygon(NULL, v, 4, 0); + HWD.pfnSetShader(0); // jimita } @@ -5783,9 +5264,6 @@ void HWR_SetViewSize(void) gr_basewindowcentery = (float)(vid.height / 2); } - gr_pspritexscale = gr_viewwidth / BASEVIDWIDTH; - gr_pspriteyscale = ((vid.height*gr_pspritexscale*BASEVIDWIDTH)/BASEVIDHEIGHT)/vid.width; - HWD.pfnFlushScreenTextures(); } @@ -5808,9 +5286,6 @@ void HWR_RenderSkyboxView(INT32 viewnumber, player_t *player) stplyr = player; ST_doPaletteStuff(); stplyr = saved_player; -#ifdef ALAM_LIGHTING - HWR_SetLights(viewnumber); -#endif } // note: sets viewangle, viewx, viewy, viewz @@ -5841,9 +5316,6 @@ void HWR_RenderSkyboxView(INT32 viewnumber, player_t *player) gr_viewsin = FIXED_TO_FLOAT(viewsin); gr_viewcos = FIXED_TO_FLOAT(viewcos); - gr_viewludsin = FIXED_TO_FLOAT(FINECOSINE(aimingangle>>ANGLETOFINESHIFT)); - gr_viewludcos = FIXED_TO_FLOAT(-FINESINE(aimingangle>>ANGLETOFINESHIFT)); - //04/01/2000: Hurdler: added for T&L // It should replace all other gr_viewxxx when finished atransform.anglex = (float)(aimingangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); @@ -5864,19 +5336,9 @@ void HWR_RenderSkyboxView(INT32 viewnumber, player_t *player) atransform.fovyangle = fpov; // Tails atransform.splitscreen = splitscreen; - gr_fovlud = (float)(1.0l/tan((double)(fpov*M_PIl/360l))); - //------------------------------------------------------------------------ HWR_ClearView(); -if (0) -{ // I don't think this is ever used. - if (cv_grfog.value) - HWR_FoggingOn(); // First of all, turn it on, set the default user settings too - else - HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, 0); // Turn it off -} - if (drawsky) HWR_DrawSkyBackground(); @@ -5885,9 +5347,7 @@ if (0) HWR_ClearSprites(); -#ifdef SORTING drawcount = 0; -#endif #ifdef NEWCLIP if (rendermode == render_opengl) { @@ -5905,6 +5365,12 @@ if (0) //04/01/2000: Hurdler: added for T&L // Actually it only works on Walls and Planes HWD.pfnSetTransform(&atransform); + HWD.pfnSetShader(0); // jimita + + if (cv_grfog.value) + HWR_FoggingOn(); // First of all, turn it on, set the default user settings too + else + HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, 0); // Turn it off validcount++; @@ -5942,42 +5408,15 @@ if (0) // Check for new console commands. NetUpdate(); -#ifdef ALAM_LIGHTING - //14/11/99: Hurdler: moved here because it doesn't work with - // subsector, see other comments; - HWR_ResetLights(); -#endif - // Draw MD2 and sprites -#ifdef SORTING HWR_SortVisSprites(); -#endif - -#ifdef SORTING HWR_DrawSprites(); -#endif -#ifdef NEWCORONAS - //Hurdler: they must be drawn before translucent planes, what about gl fog? - HWR_DrawCoronas(); -#endif -#ifdef SORTING if (numplanes || numpolyplanes || numwalls) //Hurdler: render 3D water and transparent walls after everything - { HWR_CreateDrawNodes(); - } -#else - if (numfloors || numwalls) - { - HWD.pfnSetTransform(&atransform); - if (numfloors) - HWR_Render3DWater(); - if (numwalls) - HWR_RenderTransparentWalls(); - } -#endif HWD.pfnSetTransform(NULL); + HWD.pfnUnSetShader(); // jimita // put it off for menus etc if (cv_grfog.value) @@ -6001,20 +5440,21 @@ void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) const boolean skybox = (skyboxmo[0] && cv_skybox.value); // True if there's a skybox object and skyboxes are on - FRGBAFloat ClearColor; - if (splitscreen && player == &players[secondarydisplayplayer]) type = &postimgtype2; else type = &postimgtype; - ClearColor.red = 0.0f; - ClearColor.green = 0.0f; - ClearColor.blue = 0.0f; - ClearColor.alpha = 1.0f; - if (viewnumber == 0) // Only do it if it's the first screen being rendered - HWD.pfnClearBuffer(true, false, &ClearColor); // Clear the Color Buffer, stops HOMs. Also seems to fix the skybox issue on Intel GPUs. + { + FRGBAFloat ClearColor; + ClearColor.red = 0.0f; + ClearColor.green = 0.0f; + ClearColor.blue = 0.0f; + ClearColor.alpha = 1.0f; + // Clear the Color Buffer, stops HOMs. Also seems to fix the skybox issue on Intel GPUs. + HWD.pfnClearBuffer(true, false, &ClearColor); + } if (skybox && drawsky) // If there's a skybox and we should be drawing the sky, draw the skybox HWR_RenderSkyboxView(viewnumber, player); // This is drawn before everything else so it is placed behind @@ -6025,9 +5465,6 @@ void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) stplyr = player; ST_doPaletteStuff(); stplyr = saved_player; -#ifdef ALAM_LIGHTING - HWR_SetLights(viewnumber); -#endif } // note: sets viewangle, viewx, viewy, viewz @@ -6058,9 +5495,6 @@ void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) gr_viewsin = FIXED_TO_FLOAT(viewsin); gr_viewcos = FIXED_TO_FLOAT(viewcos); - gr_viewludsin = FIXED_TO_FLOAT(FINECOSINE(aimingangle>>ANGLETOFINESHIFT)); - gr_viewludcos = FIXED_TO_FLOAT(-FINESINE(aimingangle>>ANGLETOFINESHIFT)); - //04/01/2000: Hurdler: added for T&L // It should replace all other gr_viewxxx when finished atransform.anglex = (float)(aimingangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); @@ -6081,19 +5515,9 @@ void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) atransform.fovyangle = fpov; // Tails atransform.splitscreen = splitscreen; - gr_fovlud = (float)(1.0l/tan((double)(fpov*M_PIl/360l))); - //------------------------------------------------------------------------ HWR_ClearView(); // Clears the depth buffer and resets the view I believe -if (0) -{ // I don't think this is ever used. - if (cv_grfog.value) - HWR_FoggingOn(); // First of all, turn it on, set the default user settings too - else - HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, 0); // Turn it off -} - if (!skybox && drawsky) // Don't draw the regular sky if there's a skybox HWR_DrawSkyBackground(); @@ -6102,9 +5526,7 @@ if (0) HWR_ClearSprites(); -#ifdef SORTING drawcount = 0; -#endif #ifdef NEWCLIP if (rendermode == render_opengl) { @@ -6123,6 +5545,16 @@ if (0) // Actually it only works on Walls and Planes HWD.pfnSetTransform(&atransform); + // jimita + HWD.pfnSetShader(0); + + gl_leveltime = leveltime; + + if (cv_grfog.value) + HWR_FoggingOn(); // First of all, turn it on, set the default user settings too + else + HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, 0); // Turn it off + validcount++; HWR_RenderBSPNode((INT32)numnodes-1); @@ -6159,42 +5591,15 @@ if (0) // Check for new console commands. NetUpdate(); -#ifdef ALAM_LIGHTING - //14/11/99: Hurdler: moved here because it doesn't work with - // subsector, see other comments; - HWR_ResetLights(); -#endif - // Draw MD2 and sprites -#ifdef SORTING HWR_SortVisSprites(); -#endif - -#ifdef SORTING HWR_DrawSprites(); -#endif -#ifdef NEWCORONAS - //Hurdler: they must be drawn before translucent planes, what about gl fog? - HWR_DrawCoronas(); -#endif -#ifdef SORTING if (numplanes || numpolyplanes || numwalls) //Hurdler: render 3D water and transparent walls after everything - { HWR_CreateDrawNodes(); - } -#else - if (numfloors || numpolyplanes || numwalls) - { - HWD.pfnSetTransform(&atransform); - if (numfloors) - HWR_Render3DWater(); - if (numwalls) - HWR_RenderTransparentWalls(); - } -#endif HWD.pfnSetTransform(NULL); + HWD.pfnUnSetShader(); // jimita // put it off for menus etc if (cv_grfog.value) @@ -6214,43 +5619,10 @@ if (0) // FOG // ========================================================================== -/// \author faB - -static UINT32 atohex(const char *s) -{ - INT32 iCol; - const char *sCol; - char cCol; - INT32 i; - - if (strlen(s)<6) - return 0; - - iCol = 0; - sCol = s; - for (i = 0; i < 6; i++, sCol++) - { - iCol <<= 4; - cCol = *sCol; - if (cCol >= '0' && cCol <= '9') - iCol |= cCol - '0'; - else - { - if (cCol >= 'F') - cCol -= 'a' - 'A'; - if (cCol >= 'A' && cCol <= 'F') - iCol = iCol | (cCol - 'A' + 10); - } - } - //CONS_Debug(DBG_RENDER, "col %x\n", iCol); - return iCol; -} - static void HWR_FoggingOn(void) { - HWD.pfnSetSpecialState(HWD_SET_FOG_COLOR, atohex(cv_grfogcolor.string)); + HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, cv_grsoftwarefog.value ? 2 : 1); HWD.pfnSetSpecialState(HWD_SET_FOG_DENSITY, cv_grfogdensity.value); - HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, 1); } // ========================================================================== @@ -6286,7 +5658,6 @@ void HWR_AddCommands(void) { CV_RegisterVar(&cv_grrounddown); CV_RegisterVar(&cv_grfov); - CV_RegisterVar(&cv_grfogdensity); CV_RegisterVar(&cv_grfiltermode); CV_RegisterVar(&cv_granisotropicmode); CV_RegisterVar(&cv_grcorrecttricks); @@ -6318,27 +5689,15 @@ void HWR_Startup(void) { static boolean startupdone = false; - // setup GLPatch_t scaling - gr_patch_scalex = (float)(1.0f / vid.width); - gr_patch_scaley = (float)(1.0f / vid.height); - - // initalze light lut translation - InitLumLut(); - // do this once if (!startupdone) { CONS_Printf("HWR_Startup()\n"); - HWR_InitPolyPool(); // add console cmds & vars HWR_AddEngineCommands(); HWR_InitTextureCache(); HWR_InitMD2(); - -#ifdef ALAM_LIGHTING - HWR_InitLight(); -#endif } if (rendermode == render_opengl) @@ -6350,6 +5709,10 @@ void HWR_Startup(void) #endif startupdone = true; + + // jimita + HWD.pfnKillShaders(); + HWD.pfnLoadShaders(); } @@ -6360,136 +5723,10 @@ void HWR_Shutdown(void) { CONS_Printf("HWR_Shutdown()\n"); HWR_FreeExtraSubsectors(); - HWR_FreePolyPool(); HWR_FreeTextureCache(); HWD.pfnFlushScreenTextures(); } -void transform(float *cx, float *cy, float *cz) -{ - float tr_x,tr_y; - // translation - tr_x = *cx - gr_viewx; - tr_y = *cz - gr_viewy; -// *cy = *cy; - - // rotation around vertical y axis - *cx = (tr_x * gr_viewsin) - (tr_y * gr_viewcos); - tr_x = (tr_x * gr_viewcos) + (tr_y * gr_viewsin); - - //look up/down ----TOTAL SUCKS!!!--- do the 2 in one!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - tr_y = *cy - gr_viewz; - - *cy = (tr_x * gr_viewludcos) + (tr_y * gr_viewludsin); - *cz = (tr_x * gr_viewludsin) - (tr_y * gr_viewludcos); - - //scale y before frustum so that frustum can be scaled to screen height - *cy *= ORIGINAL_ASPECT * gr_fovlud; - *cx *= gr_fovlud; -} - - -//Hurdler: 3D Water stuff -#define MAX_3DWATER 512 - -#ifndef SORTING -static void HWR_Add3DWater(lumpnum_t lumpnum, extrasubsector_t *xsub, - fixed_t fixedheight, INT32 lightlevel, INT32 alpha, sector_t *FOFSector) -{ - static size_t allocedplanes = 0; - - // Force realloc if buffer has been freed - if (!planeinfo) - allocedplanes = 0; - - if (allocedplanes < numfloors + 1) - { - allocedplanes += MAX_3DWATER; - Z_Realloc(planeinfo, allocedplanes * sizeof (*planeinfo), PU_LEVEL, &planeinfo); - } - planeinfo[numfloors].fixedheight = fixedheight; - planeinfo[numfloors].lightlevel = lightlevel; - planeinfo[numfloors].lumpnum = lumpnum; - planeinfo[numfloors].xsub = xsub; - planeinfo[numfloors].alpha = alpha; - planeinfo[numfloors].FOFSector = FOFSector; - numfloors++; -} -#endif - -#define DIST_PLANE(i) ABS(planeinfo[(i)].fixedheight-dup_viewz) - -#if 0 -static void HWR_QuickSortPlane(INT32 start, INT32 finish) -{ - INT32 left = start; - INT32 right = finish; - INT32 starterval = (INT32)((right+left)/2); //pick a starter - - planeinfo_t temp; - - //'sort of sort' the two halves of the data list about starterval - while (right > left); - { - while (DIST_PLANE(left) < DIST_PLANE(starterval)) left++; //attempt to find a bigger value on the left - while (DIST_PLANE(right) > DIST_PLANE(starterval)) right--; //attempt to find a smaller value on the right - - if (left < right) //if we haven't gone too far - { - //switch them - M_Memcpy(&temp, &planeinfo[left], sizeof (planeinfo_t)); - M_Memcpy(&planeinfo[left], &planeinfo[right], sizeof (planeinfo_t)); - M_Memcpy(&planeinfo[right], &temp, sizeof (planeinfo_t)); - //move the bounds - left++; - right--; - } - } - - if (start < right) HWR_QuickSortPlane(start, right); - if (left < finish) HWR_QuickSortPlane(left, finish); -} -#endif - -#ifndef SORTING -static void HWR_Render3DWater(void) -{ - size_t i; - - //bubble sort 3D Water for correct alpha blending - { - boolean permut = true; - while (permut) - { - size_t j; - for (j = 0, permut= false; j < numfloors-1; j++) - { - if (ABS(planeinfo[j].fixedheight-dup_viewz) < ABS(planeinfo[j+1].fixedheight-dup_viewz)) - { - planeinfo_t temp; - M_Memcpy(&temp, &planeinfo[j+1], sizeof (planeinfo_t)); - M_Memcpy(&planeinfo[j+1], &planeinfo[j], sizeof (planeinfo_t)); - M_Memcpy(&planeinfo[j], &temp, sizeof (planeinfo_t)); - permut = true; - } - } - } - } -#if 0 //thanks epat, but it's goes looping forever on CTF map Silver Cascade Zone - HWR_QuickSortPlane(0, numplanes-1); -#endif - - gr_frontsector = NULL; //Hurdler: gr_fronsector is no longer valid - for (i = 0; i < numfloors; i++) - { - HWR_GetFlat(planeinfo[i].lumpnum); - HWR_RenderPlane(NULL, planeinfo[i].xsub, planeinfo[i].isceiling, planeinfo[i].fixedheight, PF_Translucent, planeinfo[i].lightlevel, planeinfo[i].lumpnum, - planeinfo[i].FOFSector, planeinfo[i].alpha, planeinfo[i].fogplane, planeinfo[i].planecolormap); - } - numfloors = 0; -} -#endif - static void HWR_AddTransparentWall(wallVert3D *wallVerts, FSurfaceInfo *pSurf, INT32 texnum, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap) { static size_t allocedwalls = 0; @@ -6508,46 +5745,13 @@ static void HWR_AddTransparentWall(wallVert3D *wallVerts, FSurfaceInfo *pSurf, I M_Memcpy(&wallinfo[numwalls].Surf, pSurf, sizeof (FSurfaceInfo)); wallinfo[numwalls].texnum = texnum; wallinfo[numwalls].blend = blend; -#ifdef SORTING wallinfo[numwalls].drawcount = drawcount++; -#endif wallinfo[numwalls].fogwall = fogwall; wallinfo[numwalls].lightlevel = lightlevel; wallinfo[numwalls].wallcolormap = wallcolormap; numwalls++; } -#ifndef SORTING -static void HWR_RenderTransparentWalls(void) -{ - size_t i; - /*{ // sorting is disbale for now, do it! - INT32 permut = 1; - while (permut) - { - INT32 j; - for (j = 0, permut = 0; j < numwalls-1; j++) - { - if (ABS(wallinfo[j].fixedheight-dup_viewz) < ABS(wallinfo[j+1].fixedheight-dup_viewz)) - { - wallinfo_t temp; - M_Memcpy(&temp, &wallinfo[j+1], sizeof (wallinfo_t)); - M_Memcpy(&wallinfo[j+1], &wallinfo[j], sizeof (wallinfo_t)); - M_Memcpy(&wallinfo[j], &temp, sizeof (wallinfo_t)); - permut = 1; - } - } - } - }*/ - - for (i = 0; i < numwalls; i++) - { - HWR_GetTexture(wallinfo[i].texnum); - HWR_RenderWall(wallinfo[i].wallVerts, &wallinfo[i].Surf, wallinfo[i].blend, wallinfo[i].wall->fogwall, wallinfo[i].wall->lightlevel, wallinfo[i].wall->wallcolormap); - } - numwalls = 0; -} -#endif static void HWR_RenderWall(wallVert3D *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap) { FOutVector trVerts[4]; @@ -6563,52 +5767,33 @@ static void HWR_RenderWall(wallVert3D *wallVerts, FSurfaceInfo *pSurf, FBITFIE // also remove the light copy for (i = 0; i < 4; i++, wv++, wallVerts++) { + wv->x = wallVerts->x; + wv->y = wallVerts->y; + wv->z = wallVerts->z; wv->sow = wallVerts->s; wv->tow = wallVerts->t; - wv->x = wallVerts->x; - wv->y = wallVerts->y; - wv->z = wallVerts->z; } - alpha = pSurf->FlatColor.s.alpha; // retain the alpha + alpha = pSurf->PolyColor.s.alpha; // retain the alpha // Lighting is done here instead so that fog isn't drawn incorrectly on transparent walls after sorting if (wallcolormap) - { - if (fogwall) - pSurf->FlatColor.rgba = HWR_Lighting(lightlevel, wallcolormap->rgba, wallcolormap->fadergba, true, false); - else - pSurf->FlatColor.rgba = HWR_Lighting(lightlevel, wallcolormap->rgba, wallcolormap->fadergba, false, false); - } + HWR_Lighting(pSurf, lightlevel, wallcolormap->rgba, wallcolormap->fadergba); else - { - if (fogwall) - pSurf->FlatColor.rgba = HWR_Lighting(lightlevel, NORMALFOG, FADEFOG, true, false); - else - pSurf->FlatColor.rgba = HWR_Lighting(lightlevel, NORMALFOG, FADEFOG, false, false); - } + HWR_NoColormapLighting(pSurf, lightlevel, NORMALFOG, FADEFOG); - pSurf->FlatColor.s.alpha = alpha; // put the alpha back after lighting + pSurf->PolyColor.s.alpha = alpha; // put the alpha back after lighting + HWD.pfnSetShader(2); // jimita: wall shader if (blend & PF_Environment) - HWD.pfnDrawPolygon(pSurf, trVerts, 4, blend|PF_Modulated|PF_Clip|PF_Occlude); // PF_Occlude must be used for solid objects + HWD.pfnDrawPolygon(pSurf, trVerts, 4, blend|PF_Modulated|PF_Occlude); // PF_Occlude must be used for solid objects else - HWD.pfnDrawPolygon(pSurf, trVerts, 4, blend|PF_Modulated|PF_Clip); // No PF_Occlude means overlapping (incorrect) transparency + HWD.pfnDrawPolygon(pSurf, trVerts, 4, blend|PF_Modulated); // No PF_Occlude means overlapping (incorrect) transparency #ifdef WALLSPLATS if (gr_curline->linedef->splats && cv_splats.value) HWR_DrawSegsSplats(pSurf); - -#ifdef ALAM_LIGHTING - //Hurdler: TODO: do static lighting using gr_curline->lm - HWR_WallLighting(trVerts); #endif -#endif -} - -void HWR_SetPaletteColor(INT32 palcolor) -{ - HWD.pfnSetSpecialState(HWD_SET_PALETTECOLOR, palcolor); } INT32 HWR_GetTextureUsed(void) @@ -6639,15 +5824,16 @@ void HWR_DoPostProcessor(player_t *player) // This won't change if the flash palettes are changed unfortunately, but it works for its purpose if (player->flashpal == PAL_NUKE) { - Surf.FlatColor.s.red = 0xff; - Surf.FlatColor.s.green = Surf.FlatColor.s.blue = 0x7F; // The nuke palette is kind of pink-ish + Surf.PolyColor.s.red = 0xff; + Surf.PolyColor.s.green = Surf.PolyColor.s.blue = 0x7F; // The nuke palette is kind of pink-ish } else - Surf.FlatColor.s.red = Surf.FlatColor.s.green = Surf.FlatColor.s.blue = 0xff; + Surf.PolyColor.s.red = Surf.PolyColor.s.green = Surf.PolyColor.s.blue = 0xff; - Surf.FlatColor.s.alpha = 0xc0; // match software mode + Surf.PolyColor.s.alpha = 0xc0; // match software mode - HWD.pfnDrawPolygon(&Surf, v, 4, PF_Modulated|PF_Additive|PF_NoTexture|PF_NoDepthTest|PF_Clip|PF_NoZClip); + HWD.pfnSetShader(0); // jimita + HWD.pfnDrawPolygon(&Surf, v, 4, PF_Modulated|PF_Additive|PF_NoTexture|PF_NoDepthTest); } // Capture the screen for intermission and screen waving @@ -6657,13 +5843,12 @@ void HWR_DoPostProcessor(player_t *player) if (splitscreen) // Not supported in splitscreen - someone want to add support? return; -#ifdef SHUFFLE // Drunken vision! WooOOooo~ if (*type == postimg_water || *type == postimg_heat) { // 10 by 10 grid. 2 coordinates (xy) float v[SCREENVERTS][SCREENVERTS][2]; - static double disStart = 0; + double disStart = leveltime; UINT8 x, y; INT32 WAVELENGTH; INT32 AMPLITUDE; @@ -6693,26 +5878,21 @@ void HWR_DoPostProcessor(player_t *player) } } HWD.pfnPostImgRedraw(v); - disStart += 1; // Capture the screen again for screen waving on the intermission if(gamestate != GS_INTERMISSION) HWD.pfnMakeScreenTexture(); } // Flipping of the screen isn't done here anymore -#endif // SHUFFLE } void HWR_StartScreenWipe(void) { - //CONS_Debug(DBG_RENDER, "In HWR_StartScreenWipe()\n"); HWD.pfnStartScreenWipe(); } void HWR_EndScreenWipe(void) { - HWRWipeCounter = 0.0f; - //CONS_Debug(DBG_RENDER, "In HWR_EndScreenWipe()\n"); HWD.pfnEndScreenWipe(); } @@ -6746,13 +5926,7 @@ void HWR_DoWipe(UINT8 wipenum, UINT8 scrnnum) } HWR_GetFadeMask(lumpnum); - - HWD.pfnDoScreenWipe(HWRWipeCounter); // Still send in wipecounter since old stuff might not support multitexturing - - HWRWipeCounter += 0.05f; // increase opacity of end screen - - if (HWRWipeCounter > 1.0f) - HWRWipeCounter = 1.0f; + HWD.pfnDoScreenWipe(); } void HWR_MakeScreenFinalTexture(void) diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index 59042cf3..ba0c1c84 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -48,7 +48,6 @@ void HWR_DrawCroppedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t scale void HWR_DrawCroppedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, INT32 option, fixed_t scale, fixed_t sx, fixed_t sy, fixed_t w, fixed_t h); void HWR_MakePatch (const patch_t *patch, GLPatch_t *grPatch, GLMipmap_t *grMipmap, boolean makebitmap); void HWR_CreatePlanePolygons(INT32 bspnum); -void HWR_CreateStaticLightmaps(INT32 bspnum); void HWR_PrepLevelCache(size_t pnumtextures); void HWR_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color); void HWR_DrawConsoleFill(INT32 x, INT32 y, INT32 w, INT32 h, UINT32 color, INT32 options); // Lat: separate flags from color since color needs to be an uint to work right. @@ -58,7 +57,6 @@ void HWR_AddCommands(void); void HWR_CorrectSWTricks(void); void transform(float *cx, float *cy, float *cz); FBITFIELD HWR_TranstableToAlpha(INT32 transtablenum, FSurfaceInfo *pSurf); -void HWR_SetPaletteColor(INT32 palcolor); INT32 HWR_GetTextureUsed(void); void HWR_DoPostProcessor(player_t *player); void HWR_StartScreenWipe(void); @@ -69,21 +67,14 @@ void HWR_MakeScreenFinalTexture(void); void HWR_DrawScreenFinalTexture(int width, int height); // This stuff is put here so MD2's can use them -UINT32 HWR_Lighting(INT32 light, UINT32 color, UINT32 fadecolor, boolean fogblockpoly, boolean plane); -FUNCMATH UINT8 LightLevelToLum(INT32 l); +void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor); +void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor); extern CV_PossibleValue_t granisotropicmode_cons_t[]; -#ifdef ALAM_LIGHTING -extern consvar_t cv_grdynamiclighting; -extern consvar_t cv_grstaticlighting; -extern consvar_t cv_grcoronas; -extern consvar_t cv_grcoronasize; -#endif extern consvar_t cv_grfov; extern consvar_t cv_grmd2; extern consvar_t cv_grfog; -extern consvar_t cv_grfogcolor; extern consvar_t cv_grfogdensity; extern consvar_t cv_grsoftwarefog; extern consvar_t cv_grgammared; @@ -92,7 +83,6 @@ extern consvar_t cv_grgammablue; extern consvar_t cv_grfiltermode; extern consvar_t cv_granisotropicmode; extern consvar_t cv_grcorrecttricks; -extern consvar_t cv_voodoocompatibility; extern consvar_t cv_grfovchange; extern consvar_t cv_grsolvetjoin; @@ -100,17 +90,6 @@ extern float gr_viewwidth, gr_viewheight, gr_baseviewwindowy; extern float gr_viewwindowx, gr_basewindowcentery; -// BP: big hack for a test in lighting ref : 1249753487AB -extern fixed_t *hwbbox; extern FTransform atransform; -typedef struct -{ - wallVert3D floorVerts[4]; - FSurfaceInfo Surf; - INT32 texnum; - INT32 blend; - INT32 drawcount; -} floorinfo_t; - #endif diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index cb33562d..707c16fb 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -1,17 +1,12 @@ -// Emacs style mode select -*- C++ -*- +// SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- -// +// Copyright (C) 1993-1996 by id Software, Inc. // Copyright (C) 1998-2000 by DooM Legacy Team. +// Copyright (C) 1999-2019 by Sonic Team Junior. // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. +// This program is free software distributed under the +// terms of the GNU General Public License, version 2. +// See the 'LICENSE' file for more details. //----------------------------------------------------------------------------- /// \file /// \brief MD2 Handling @@ -1224,7 +1219,6 @@ void HWR_DrawMD2(gr_vissprite_t *spr) INT32 frame; FTransform p; md2_t *md2; - UINT8 color[4]; if (!cv_grmd2.value) return; @@ -1236,8 +1230,8 @@ void HWR_DrawMD2(gr_vissprite_t *spr) // colormap test { sector_t *sector = spr->mobj->subsector->sector; - UINT8 lightlevel = 255; extracolormap_t *colormap = sector->extra_colormap; + UINT8 lightlevel = 255; if (sector->numlights) { @@ -1261,9 +1255,9 @@ void HWR_DrawMD2(gr_vissprite_t *spr) } if (colormap) - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, colormap->rgba, colormap->fadergba, false, false); + HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); else - Surf.FlatColor.rgba = HWR_Lighting(lightlevel, NORMALFOG, FADEFOG, false, false); + HWR_NoColormapLighting(&Surf, lightlevel, NORMALFOG, FADEFOG); } // Look at HWR_ProjectSprite for more @@ -1283,11 +1277,11 @@ void HWR_DrawMD2(gr_vissprite_t *spr) //durs = tics; if (spr->mobj->flags2 & MF2_SHADOW) - Surf.FlatColor.s.alpha = 0x40; + Surf.PolyColor.s.alpha = 0x40; else if (spr->mobj->frame & FF_TRANSMASK) HWR_TranstableToAlpha((spr->mobj->frame & FF_TRANSMASK)>>FF_TRANSSHIFT, &Surf); else - Surf.FlatColor.s.alpha = 0xFF; + Surf.PolyColor.s.alpha = 0xFF; // dont forget to enabled the depth test because we can't do this like // before: polygons models are not sorted @@ -1321,7 +1315,6 @@ void HWR_DrawMD2(gr_vissprite_t *spr) return; } } - //HWD.pfnSetBlend(blend); // This seems to actually break translucency? finalscale = md2->scale; //Hurdler: arf, I don't like that implementation at all... too much crappy gpatch = md2->grpatch; @@ -1415,17 +1408,12 @@ void HWR_DrawMD2(gr_vissprite_t *spr) } p.anglex = 0.0f; - color[0] = Surf.FlatColor.s.red; - color[1] = Surf.FlatColor.s.green; - color[2] = Surf.FlatColor.s.blue; - color[3] = Surf.FlatColor.s.alpha; - // SRB2CBTODO: MD2 scaling support finalscale *= FIXED_TO_FLOAT(spr->mobj->scale); p.flip = atransform.flip; - HWD.pfnDrawMD2i(buff, curr, durs, tics, next, &p, finalscale, flip, color); + HWD.pfnDrawMD2(buff, curr, durs, tics, next, &p, finalscale, flip, &Surf); } } diff --git a/src/hardware/hw_md2.h b/src/hardware/hw_md2.h index 299d1240..07088643 100644 --- a/src/hardware/hw_md2.h +++ b/src/hardware/hw_md2.h @@ -1,18 +1,12 @@ -// Emacs style mode select -*- C++ -*- +// SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- -// +// Copyright (C) 1993-1996 by id Software, Inc. // Copyright (C) 1998-2000 by DooM Legacy Team. +// Copyright (C) 1999-2019 by Sonic Team Junior. // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// +// This program is free software distributed under the +// terms of the GNU General Public License, version 2. +// See the 'LICENSE' file for more details. //----------------------------------------------------------------------------- /// \file /// \brief MD2 Handling diff --git a/src/hardware/r_opengl/ogl_win.c b/src/hardware/r_opengl/ogl_win.c index eb9a31a7..7460413c 100644 --- a/src/hardware/r_opengl/ogl_win.c +++ b/src/hardware/r_opengl/ogl_win.c @@ -39,7 +39,6 @@ #ifdef DEBUG_TO_FILE static unsigned long nb_frames = 0; static clock_t my_clock; -FILE *gllogstream; #endif static HDC hDC = NULL; // the window's device context @@ -366,8 +365,6 @@ static INT32 WINAPI SetRes(viddef_t *lvid, vmode_t *pcurrentmode) else maximumAnisotropy = 0; - SetupGLFunc13(); - screen_depth = (GLbyte)(lvid->bpp*8); if (screen_depth > 16) textureformatGL = GL_RGBA; diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index b324fced..645d934e 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -1,18 +1,12 @@ -// Emacs style mode select -*- C++ -*- +// SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- +// Copyright (C) 1993-1996 by id Software, Inc. +// Copyright (C) 1998-2000 by DooM Legacy Team. +// Copyright (C) 1999-2019 by Sonic Team Junior. // -// Copyright (C) 1998-2018 by Sonic Team Junior. -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// +// This program is free software distributed under the +// terms of the GNU General Public License, version 2. +// See the 'LICENSE' file for more details. //----------------------------------------------------------------------------- /// \file /// \brief OpenGL API for Sonic Robo Blast 2 @@ -29,11 +23,6 @@ #include #include -#ifndef SHUFFLE -#ifndef KOS_GL_COMPATIBILITY -#define SHUFFLE -#endif -#endif #include "r_opengl.h" #if defined (HWRENDER) && !defined (NOROPENGL) @@ -70,8 +59,6 @@ static float NEAR_CLIPPING_PLANE = NZCLIP_PLANE; static GLuint NextTexAvail = FIRST_TEX_AVAIL; static GLuint tex_downloaded = 0; static GLfloat fov = 90.0f; -static GLuint pal_col = 0; -static FRGBAFloat const_pal_col; static FBITFIELD CurrentPolyFlags; static FTextureInfo* gr_cachetail = NULL; @@ -83,9 +70,7 @@ GLint screen_height = 0; GLbyte screen_depth = 0; GLint textureformatGL = 0; GLint maximumAnisotropy = 0; -#ifndef KOS_GL_COMPATIBILITY static GLboolean MipMap = GL_FALSE; -#endif static GLint min_filter = GL_LINEAR; static GLint mag_filter = GL_LINEAR; static GLint anisotropic_filter = 0; @@ -94,12 +79,9 @@ static FTransform md2_transform; const GLubyte *gl_extensions = NULL; //Hurdler: 04/10/2000: added for the kick ass coronas as Boris wanted;-) -#ifndef MINI_GL_COMPATIBILITY -static GLdouble modelMatrix[16]; -static GLdouble projMatrix[16]; -static GLint viewport[4]; -#endif - +static GLfloat modelMatrix[16]; +static GLfloat projMatrix[16]; +static GLint viewport[4]; #ifdef USE_PALETTED_TEXTURE PFNGLCOLORTABLEEXTPROC glColorTableEXT = NULL; @@ -109,7 +91,7 @@ static GLint viewport[4]; // Yay for arbitrary numbers! NextTexAvail is buggy for some reason. // Sryder: NextTexAvail is broken for these because palette changes or changes to the texture filter or antialiasing // flush all of the stored textures, leaving them unavailable at times such as between levels -// These need to start at 0 and be set to their number, and be reset to 0 when deleted so that intel GPUs +// These need to start at 0 and be set to their number, and be reset to 0 when deleted so that Intel GPUs // can know when the textures aren't there, as textures are always considered resident in their virtual memory // TODO: Store them in a more normal way #define SCRTEX_SCREENTEXTURE 65535 @@ -120,9 +102,6 @@ static GLuint screentexture = 0; static GLuint startScreenWipe = 0; static GLuint endScreenWipe = 0; static GLuint finalScreenTexture = 0; -#if 0 -GLuint screentexture = FIRST_TEX_AVAIL; -#endif // shortcut for ((float)1/i) static const GLfloat byte2float[256] = { @@ -160,36 +139,32 @@ static const GLfloat byte2float[256] = { 0.972549f, 0.976471f, 0.980392f, 0.984314f, 0.988235f, 0.992157f, 0.996078f, 1.000000f }; -float byteasfloat(UINT8 fbyte) -{ - return (float)(byte2float[fbyte]*2.0f); -} - -static I_Error_t I_Error_GL = NULL; - -#ifndef MINI_GL_COMPATIBILITY -static boolean gl13 = false; // whether we can use opengl 1.3 functions -#endif - - // -----------------+ -// DBG_Printf : Output error messages to debug log if DEBUG_TO_FILE is defined, +// GL_DBG_Printf : Output debug messages to debug log if DEBUG_TO_FILE is defined, // : else do nothing // Returns : // -----------------+ -FUNCPRINTF void DBG_Printf(const char *lpFmt, ...) + +#ifdef DEBUG_TO_FILE +FILE *gllogstream; +#endif + +FUNCPRINTF void GL_DBG_Printf(const char *format, ...) { #ifdef DEBUG_TO_FILE - char str[4096] = ""; + char str[4096] = ""; va_list arglist; - va_start (arglist, lpFmt); - vsnprintf (str, 4096, lpFmt, arglist); - va_end (arglist); - if (gllogstream) - fwrite(str, strlen(str), 1, gllogstream); + if (!gllogstream) + gllogstream = fopen("ogllog.txt", "w"); + + va_start(arglist, format); + vsnprintf(str, 4096, format, arglist); + va_end(arglist); + + fwrite(str, strlen(str), 1, gllogstream); #else - (void)lpFmt; + (void)format; #endif } @@ -202,19 +177,13 @@ FUNCPRINTF void DBG_Printf(const char *lpFmt, ...) #define pglAlphaFunc glAlphaFunc #define pglBlendFunc glBlendFunc #define pglCullFace glCullFace -#define pglPolygonMode glPolygonMode #define pglPolygonOffset glPolygonOffset #define pglScissor glScissor #define pglEnable glEnable #define pglDisable glDisable -#ifndef MINI_GL_COMPATIBILITY -#define pglGetDoublev glGetDoublev -#endif +#define pglGetFloatv glGetFloatv //glGetIntegerv //glGetString -#ifdef KOS_GL_COMPATIBILITY -#define pglHint glHint -#endif /* Depth Buffer */ #define pglClearDepth glClearDepth @@ -228,11 +197,7 @@ FUNCPRINTF void DBG_Printf(const char *lpFmt, ...) #define pglPushMatrix glPushMatrix #define pglPopMatrix glPopMatrix #define pglLoadIdentity glLoadIdentity -#ifdef MINI_GL_COMPATIBILITY -#define pglMultMatrixf glMultMatrixf -#else #define pglMultMatrixd glMultMatrixd -#endif #define pglRotatef glRotatef #define pglScalef glScalef #define pglTranslatef glTranslatef @@ -270,10 +235,8 @@ FUNCPRINTF void DBG_Printf(const char *lpFmt, ...) #define pglDeleteTextures glDeleteTextures #define pglBindTexture glBindTexture /* texture mapping */ //GL_EXT_copy_texture -#ifndef KOS_GL_COMPATIBILITY #define pglCopyTexImage2D glCopyTexImage2D #define pglCopyTexSubImage2D glCopyTexSubImage2D -#endif #else //!STATIC_OPENGL @@ -290,8 +253,6 @@ typedef void (APIENTRY * PFNglBlendFunc) (GLenum sfactor, GLenum dfactor); static PFNglBlendFunc pglBlendFunc; typedef void (APIENTRY * PFNglCullFace) (GLenum mode); static PFNglCullFace pglCullFace; -typedef void (APIENTRY * PFNglPolygonMode) (GLenum face, GLenum mode); -static PFNglPolygonMode pglPolygonMode; typedef void (APIENTRY * PFNglPolygonOffset) (GLfloat factor, GLfloat units); static PFNglPolygonOffset pglPolygonOffset; typedef void (APIENTRY * PFNglScissor) (GLint x, GLint y, GLsizei width, GLsizei height); @@ -300,10 +261,8 @@ typedef void (APIENTRY * PFNglEnable) (GLenum cap); static PFNglEnable pglEnable; typedef void (APIENTRY * PFNglDisable) (GLenum cap); static PFNglDisable pglDisable; -#ifndef MINI_GL_COMPATIBILITY -typedef void (APIENTRY * PFNglGetDoublev) (GLenum pname, GLdouble *params); -static PFNglGetDoublev pglGetDoublev; -#endif +typedef void (APIENTRY * PFNglGetFloatv) (GLenum pname, GLfloat *params); +static PFNglGetFloatv pglGetFloatv; //glGetIntegerv //glGetString @@ -328,13 +287,8 @@ typedef void (APIENTRY * PFNglPopMatrix) (void); static PFNglPopMatrix pglPopMatrix; typedef void (APIENTRY * PFNglLoadIdentity) (void); static PFNglLoadIdentity pglLoadIdentity; -#ifdef MINI_GL_COMPATIBILITY typedef void (APIENTRY * PFNglMultMatrixf) (const GLfloat *m); static PFNglMultMatrixf pglMultMatrixf; -#else -typedef void (APIENTRY * PFNglMultMatrixd) (const GLdouble *m); -static PFNglMultMatrixd pglMultMatrixd; -#endif typedef void (APIENTRY * PFNglRotatef) (GLfloat angle, GLfloat x, GLfloat y, GLfloat z); static PFNglRotatef pglRotatef; typedef void (APIENTRY * PFNglScalef) (GLfloat x, GLfloat y, GLfloat z); @@ -404,15 +358,12 @@ static PFNglCopyTexSubImage2D pglCopyTexSubImage2D; typedef GLint (APIENTRY * PFNgluBuild2DMipmaps) (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); static PFNgluBuild2DMipmaps pgluBuild2DMipmaps; -#ifndef MINI_GL_COMPATIBILITY /* 1.3 functions for multitexturing */ typedef void (APIENTRY *PFNglActiveTexture) (GLenum); static PFNglActiveTexture pglActiveTexture; typedef void (APIENTRY *PFNglMultiTexCoord2f) (GLenum, GLfloat, GLfloat); static PFNglMultiTexCoord2f pglMultiTexCoord2f; -#endif -#ifndef MINI_GL_COMPATIBILITY /* 1.2 Parms */ /* GL_CLAMP_TO_EDGE_EXT */ #ifndef GL_CLAMP_TO_EDGE @@ -433,14 +384,6 @@ static PFNglMultiTexCoord2f pglMultiTexCoord2f; #define GL_TEXTURE1 0x84C1 #endif -#endif - -#ifdef MINI_GL_COMPATIBILITY -#undef GL_CLAMP_TO_EDGE -#undef GL_TEXTURE_MIN_LOD -#undef GL_TEXTURE_MAX_LOD -#endif - boolean SetupGLfunc(void) { #ifndef STATIC_OPENGL @@ -448,124 +391,413 @@ boolean SetupGLfunc(void) func = GetGLFunc(#proc); \ if (!func) \ { \ - DBG_Printf("failed to get OpenGL function: %s", #proc); \ + GL_DBG_Printf("failed to get OpenGL function: %s", #proc); \ } \ GETOPENGLFUNC(pglClearColor, glClearColor) - GETOPENGLFUNC(pglClear , glClear) - GETOPENGLFUNC(pglColorMask , glColorMask) - GETOPENGLFUNC(pglAlphaFunc , glAlphaFunc) - GETOPENGLFUNC(pglBlendFunc , glBlendFunc) - GETOPENGLFUNC(pglCullFace , glCullFace) - GETOPENGLFUNC(pglPolygonMode , glPolygonMode) - GETOPENGLFUNC(pglPolygonOffset , glPolygonOffset) - GETOPENGLFUNC(pglScissor , glScissor) - GETOPENGLFUNC(pglEnable , glEnable) - GETOPENGLFUNC(pglDisable , glDisable) -#ifndef MINI_GL_COMPATIBILITY - GETOPENGLFUNC(pglGetDoublev , glGetDoublev) -#endif - GETOPENGLFUNC(pglGetIntegerv , glGetIntegerv) - GETOPENGLFUNC(pglGetString , glGetString) + GETOPENGLFUNC(pglClear, glClear) + GETOPENGLFUNC(pglColorMask, glColorMask) + GETOPENGLFUNC(pglAlphaFunc, glAlphaFunc) + GETOPENGLFUNC(pglBlendFunc, glBlendFunc) + GETOPENGLFUNC(pglCullFace, glCullFace) + GETOPENGLFUNC(pglPolygonOffset, glPolygonOffset) + GETOPENGLFUNC(pglScissor, glScissor) + GETOPENGLFUNC(pglEnable, glEnable) + GETOPENGLFUNC(pglDisable, glDisable) + GETOPENGLFUNC(pglGetFloatv, glGetFloatv) + GETOPENGLFUNC(pglGetIntegerv, glGetIntegerv) + GETOPENGLFUNC(pglGetString, glGetString) - GETOPENGLFUNC(pglClearDepth , glClearDepth) - GETOPENGLFUNC(pglDepthFunc , glDepthFunc) - GETOPENGLFUNC(pglDepthMask , glDepthMask) - GETOPENGLFUNC(pglDepthRange , glDepthRange) + GETOPENGLFUNC(pglClearDepth, glClearDepth) + GETOPENGLFUNC(pglDepthFunc, glDepthFunc) + GETOPENGLFUNC(pglDepthMask, glDepthMask) + GETOPENGLFUNC(pglDepthRange, glDepthRange) - GETOPENGLFUNC(pglMatrixMode , glMatrixMode) - GETOPENGLFUNC(pglViewport , glViewport) - GETOPENGLFUNC(pglPushMatrix , glPushMatrix) - GETOPENGLFUNC(pglPopMatrix , glPopMatrix) - GETOPENGLFUNC(pglLoadIdentity , glLoadIdentity) -#ifdef MINI_GL_COMPATIBILITY - GETOPENGLFUNC(pglMultMatrixf , glMultMatrixf) -#else - GETOPENGLFUNC(pglMultMatrixd , glMultMatrixd) -#endif - GETOPENGLFUNC(pglRotatef , glRotatef) - GETOPENGLFUNC(pglScalef , glScalef) - GETOPENGLFUNC(pglTranslatef , glTranslatef) + GETOPENGLFUNC(pglMatrixMode, glMatrixMode) + GETOPENGLFUNC(pglViewport, glViewport) + GETOPENGLFUNC(pglPushMatrix, glPushMatrix) + GETOPENGLFUNC(pglPopMatrix, glPopMatrix) + GETOPENGLFUNC(pglLoadIdentity, glLoadIdentity) + GETOPENGLFUNC(pglMultMatrixf, glMultMatrixf) + GETOPENGLFUNC(pglRotatef, glRotatef) + GETOPENGLFUNC(pglScalef, glScalef) + GETOPENGLFUNC(pglTranslatef, glTranslatef) - GETOPENGLFUNC(pglBegin , glBegin) - GETOPENGLFUNC(pglEnd , glEnd) - GETOPENGLFUNC(pglVertex3f , glVertex3f) - GETOPENGLFUNC(pglNormal3f , glNormal3f) - GETOPENGLFUNC(pglColor4f , glColor4f) - GETOPENGLFUNC(pglColor4fv , glColor4fv) - GETOPENGLFUNC(pglTexCoord2f , glTexCoord2f) + GETOPENGLFUNC(pglBegin, glBegin) + GETOPENGLFUNC(pglEnd, glEnd) + GETOPENGLFUNC(pglVertex3f, glVertex3f) + GETOPENGLFUNC(pglNormal3f, glNormal3f) + GETOPENGLFUNC(pglColor4f, glColor4f) + GETOPENGLFUNC(pglColor4fv, glColor4fv) + GETOPENGLFUNC(pglTexCoord2f, glTexCoord2f) - GETOPENGLFUNC(pglShadeModel , glShadeModel) + GETOPENGLFUNC(pglShadeModel, glShadeModel) GETOPENGLFUNC(pglLightfv, glLightfv) - GETOPENGLFUNC(pglLightModelfv , glLightModelfv) - GETOPENGLFUNC(pglMaterialfv , glMaterialfv) + GETOPENGLFUNC(pglLightModelfv, glLightModelfv) + GETOPENGLFUNC(pglMaterialfv, glMaterialfv) - GETOPENGLFUNC(pglPixelStorei , glPixelStorei) - GETOPENGLFUNC(pglReadPixels , glReadPixels) + GETOPENGLFUNC(pglPixelStorei, glPixelStorei) + GETOPENGLFUNC(pglReadPixels, glReadPixels) - GETOPENGLFUNC(pglTexEnvi , glTexEnvi) - GETOPENGLFUNC(pglTexParameteri , glTexParameteri) - GETOPENGLFUNC(pglTexImage2D , glTexImage2D) + GETOPENGLFUNC(pglTexEnvi, glTexEnvi) + GETOPENGLFUNC(pglTexParameteri, glTexParameteri) + GETOPENGLFUNC(pglTexImage2D, glTexImage2D) - GETOPENGLFUNC(pglFogf , glFogf) - GETOPENGLFUNC(pglFogfv , glFogfv) + GETOPENGLFUNC(pglFogf, glFogf) + GETOPENGLFUNC(pglFogfv, glFogfv) - GETOPENGLFUNC(pglDeleteTextures , glDeleteTextures) - GETOPENGLFUNC(pglBindTexture , glBindTexture) + GETOPENGLFUNC(pglDeleteTextures, glDeleteTextures) + GETOPENGLFUNC(pglBindTexture, glBindTexture) - GETOPENGLFUNC(pglCopyTexImage2D , glCopyTexImage2D) - GETOPENGLFUNC(pglCopyTexSubImage2D , glCopyTexSubImage2D) + GETOPENGLFUNC(pglCopyTexImage2D, glCopyTexImage2D) + GETOPENGLFUNC(pglCopyTexSubImage2D, glCopyTexSubImage2D) #undef GETOPENGLFUNC - - pgluBuild2DMipmaps = GetGLFunc("gluBuild2DMipmaps"); - #endif return true; } -// This has to be done after the context is created so the version number can be obtained -boolean SetupGLFunc13(void) +// jtc + +// glstate +static INT32 glstate_fog_mode = 0; +static float glstate_fog_density = 0; + +// glEXT +boolean GLEXT_legacy = false; +boolean GLEXT_shaders = false; + +// hw_glob.h +INT32 gl_leveltime = 0; + +//#define GL_RETAINED_MODE // Immediate mode is faster. Go fucking figure. +#define USE_SHADERS + +typedef void (APIENTRY *PFNglDrawArrays) (GLenum, GLint, GLsizei); +typedef void (APIENTRY *PFNglDrawElements) (GLenum, GLsizei, GLenum, const GLvoid*); +typedef void (APIENTRY *PFNglVertexAttribPointer) (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid*); +typedef void (APIENTRY *PFNglEnableClientState) (GLenum); +typedef void (APIENTRY *PFNglDisableClientState) (GLenum); +typedef void (APIENTRY *PFNglBindVertexArray) (GLuint); +typedef void (APIENTRY *PFNglGenVertexArrays) (GLsizei, GLuint*); +typedef void (APIENTRY *PFNglGenBuffers) (GLsizei, GLuint*); +typedef void (APIENTRY *PFNglBindBuffer) (GLenum, GLuint); +typedef void (APIENTRY *PFNglBufferData) (GLenum, GLsizeiptr, GLvoid*, GLenum); +typedef void (APIENTRY *PFNglBufferSubData) (GLenum, GLintptr, GLsizeiptr, GLvoid*); +typedef void (APIENTRY *PFNglDeleteBuffers) (GLsizei, GLuint*); +typedef void (APIENTRY *PFNglDeleteVertexArrays) (GLsizei, GLuint*); +typedef void (APIENTRY *PFNglEnableVertexAttribArray) (GLuint); +typedef void (APIENTRY *PFNglDisableVertexAttribArray) (GLuint); + +static PFNglDrawArrays pglDrawArrays; +static PFNglDrawElements pglDrawElements; +static PFNglVertexAttribPointer pglVertexAttribPointer; +static PFNglEnableClientState pglEnableClientState; +static PFNglDisableClientState pglDisableClientState; +static PFNglBindVertexArray pglBindVertexArray; +static PFNglGenVertexArrays pglGenVertexArrays; +static PFNglGenBuffers pglGenBuffers; +static PFNglBindBuffer pglBindBuffer; +static PFNglBufferData pglBufferData; +static PFNglBufferSubData pglBufferSubData; +static PFNglDeleteBuffers pglDeleteBuffers; +static PFNglDeleteVertexArrays pglDeleteVertexArrays; +static PFNglEnableVertexAttribArray pglEnableVertexAttribArray; +static PFNglDisableVertexAttribArray pglDisableVertexAttribArray; + +typedef void (APIENTRY *PFNglVertexPointer) (GLint, GLenum, GLsizei, const GLvoid*); +typedef void (APIENTRY *PFNglNormalPointer) (GLenum, GLsizei, const GLvoid*); +typedef void (APIENTRY *PFNglTexCoordPointer) (GLint, GLenum, GLsizei, const GLvoid*); + +static PFNglVertexPointer pglVertexPointer; +static PFNglNormalPointer pglNormalPointer; +static PFNglTexCoordPointer pglTexCoordPointer; + +// shaders +#ifdef USE_SHADERS + +#define MAXSHADERS 16 +#define MAXSHADERPROGRAMS 16 + +static GLuint gl_shaders[MAXSHADERS]; +static GLint gl_totalshaders = 0; + +static boolean gl_shadersenabled = false; +static GLuint gl_currentshaderprogram = 0; +static GLuint gl_shaderprograms[MAXSHADERPROGRAMS]; + +typedef GLuint (APIENTRY *PFNglCreateShader) (GLenum); +typedef void (APIENTRY *PFNglShaderSource) (GLuint, GLsizei, GLchar**, GLint*); +typedef void (APIENTRY *PFNglCompileShader) (GLuint); +typedef void (APIENTRY *PFNglGetShaderiv) (GLuint, GLenum, GLint*); +typedef void (APIENTRY *PFNglDeleteShader) (GLuint); +typedef GLuint (APIENTRY *PFNglCreateProgram) (void); +typedef void (APIENTRY *PFNglAttachShader) (GLuint, GLuint); +typedef void (APIENTRY *PFNglLinkProgram) (GLuint); +typedef void (APIENTRY *PFNglGetProgramiv) (GLuint, GLenum, GLint*); +typedef void (APIENTRY *PFNglUseProgram) (GLuint); +typedef void (APIENTRY *PFNglUniform1i) (GLint, GLint); +typedef void (APIENTRY *PFNglUniform1f) (GLint, GLfloat); +typedef void (APIENTRY *PFNglUniform2f) (GLint, GLfloat, GLfloat); +typedef void (APIENTRY *PFNglUniform3f) (GLint, GLfloat, GLfloat, GLfloat); +typedef void (APIENTRY *PFNglUniform4f) (GLint, GLfloat, GLfloat, GLfloat, GLfloat); +typedef void (APIENTRY *PFNglUniform1fv) (GLint, GLsizei, const GLfloat*); +typedef void (APIENTRY *PFNglUniform2fv) (GLint, GLsizei, const GLfloat*); +typedef void (APIENTRY *PFNglUniform3fv) (GLint, GLsizei, const GLfloat*); +typedef GLint (APIENTRY *PFNglGetUniformLocation) (GLuint, GLchar*); + +static PFNglCreateShader pglCreateShader; +static PFNglShaderSource pglShaderSource; +static PFNglCompileShader pglCompileShader; +static PFNglGetShaderiv pglGetShaderiv; +static PFNglDeleteShader pglDeleteShader; +static PFNglCreateProgram pglCreateProgram; +static PFNglAttachShader pglAttachShader; +static PFNglLinkProgram pglLinkProgram; +static PFNglGetProgramiv pglGetProgramiv; +static PFNglUseProgram pglUseProgram; +static PFNglUniform1i pglUniform1i; +static PFNglUniform1f pglUniform1f; +static PFNglUniform2f pglUniform2f; +static PFNglUniform3f pglUniform3f; +static PFNglUniform4f pglUniform4f; +static PFNglUniform1fv pglUniform1fv; +static PFNglUniform2fv pglUniform2fv; +static PFNglUniform3fv pglUniform3fv; +static PFNglGetUniformLocation pglGetUniformLocation; + +// Macro to reduce boilerplate code +#define GLSL_SHARED_FOG_FUNCTION \ + "float fog(const float dist, const float density, const float globaldensity) {\n" \ + "const float LOG2 = -1.442695;\n" \ + "float d = density * dist;\n" \ + "return 1.0 - clamp(exp(d * globaldensity * LOG2), 0.0, 1.0);\n" \ + "}\n" \ + "float fog2(const float dist, const float density, const float globaldensity) {\n" \ + "const float LOG2 = -1.442695;\n" \ + "float d = density * dist;\n" \ + "return 1.0 - clamp(exp2(d * d * globaldensity * LOG2), 0.0, 1.0);\n" \ + "}\n" + +// Macro to reduce boilerplate code +#define GLSL_SHARED_FOG_MIX \ + "float fog_distance = gl_FragCoord.z / gl_FragCoord.w;\n" \ + "float fog_attenuation = fog(fog_distance, 0.0001 * ((256-lighting)/24), fog_density);\n" \ + "if (fog_mode == 2)\n" \ + "fog_attenuation = floor(fog_attenuation*10)/10;\n" \ + "vec4 fog_color = vec4(fade_color[0], fade_color[1], fade_color[2], 1.0);\n" \ + "vec4 mixed_color = color * mix_color;\n" \ + "vec4 final_color = mix(mixed_color, fog_color, fog_attenuation);\n" \ + "final_color[3] = mixed_color[3];\n" + +// Macro to reduce boilerplate code +#define SHARED_FRAGMENT_SHADER \ + "uniform sampler2D tex;\n" \ + "uniform vec4 mix_color;\n" \ + "uniform vec4 fade_color;\n" \ + "uniform float lighting;\n" \ + "uniform int fog_mode;\n" \ + "uniform float fog_density;\n" \ + GLSL_SHARED_FOG_FUNCTION \ + "void main(void) {\n" \ + "vec4 color = texture2D(tex, gl_TexCoord[0].st);\n" \ + "if (fog_mode == 0)\n" \ + "gl_FragColor = color * mix_color;\n" \ + "else\n" \ + "{\n" \ + GLSL_SHARED_FOG_MIX \ + "gl_FragColor = final_color;\n" \ + "}\n" \ + "}\0" + +static char *fragment_shaders[] = { + // Default shader + "uniform sampler2D tex;\n" + "uniform vec4 mix_color;\n" + "void main(void) {\n" + "vec4 color = texture2D(tex, gl_TexCoord[0].st);\n" + "vec4 mixed_color = color * mix_color;\n" + "gl_FragColor = mixed_color;\n" + "}\0", + + // Floor shader + SHARED_FRAGMENT_SHADER, + + // Wall shader + SHARED_FRAGMENT_SHADER, + + // Sprite shader + SHARED_FRAGMENT_SHADER, + + // Water shader + "uniform sampler2D tex;\n" + "uniform vec4 mix_color;\n" + "uniform vec4 fade_color;\n" + "uniform float lighting;\n" + "uniform int fog_mode;\n" + "uniform int fog_density;\n" + "uniform float leveltime;\n" + + GLSL_SHARED_FOG_FUNCTION + + "void main(void) {\n" + "float texU = gl_TexCoord[0].s;\n" + "float texV = gl_TexCoord[0].t;\n" + "float wtofs = leveltime/16;\n" + "float pi = 3.14159265358979323846;\n" + "texU += cos(pi * 2.0 * (texV/4 + wtofs * 0.125)) * 0.3;\n" + "texV += sin(pi * 2.0 * (texV/6 + wtofs * 0.125)) * 0.4;\n" + "vec4 color = texture2D(tex, vec2(texU, texV));\n" + + GLSL_SHARED_FOG_MIX + + "gl_FragColor = final_color;\n" + "}\0", + + // Sky shader + "uniform sampler2D tex;\n" + "uniform vec2 resolution;\n" + "void main(void) {\n" + "float texU = gl_TexCoord[0].s;\n" + "float texV = gl_TexCoord[0].t;\n" + //"float scale = abs(gl_FragCoord.x - (resolution.x/2.0));\n" + //"scale /= resolution.x;\n" + "gl_FragColor = texture2D(tex, vec2(texU, texV));\n" + "}\0", +}; + +// Macro to reduce boilerplate code +#define BUFFER_OFFSET(i) ((void*)(i)) + +#endif // USE_SHADERS + +static GLuint gl_vertexarrayobject; +static GLuint gl_vertexbuffer; + +void SetupGLFunc4(void) { -#ifdef MINI_GL_COMPATIBILITY - return false; -#else - const GLubyte *version = pglGetString(GL_VERSION); - int glmajor, glminor; + pglActiveTexture = GetGLFunc("glActiveTexture"); + pglMultiTexCoord2f = GetGLFunc("glMultiTexCoord2f"); - gl13 = false; - // Parse the GL version - if (version != NULL) + // 4.x + pglDrawArrays = GetGLFunc("glDrawArrays"); + pglDrawElements = GetGLFunc("glDrawElements"); + pglVertexAttribPointer = GetGLFunc("glVertexAttribPointer"); + pglEnableClientState = GetGLFunc("glEnableClientState"); + pglDisableClientState = GetGLFunc("glDisableClientState"); + pglBindVertexArray = GetGLFunc("glBindVertexArray"); + pglGenVertexArrays = GetGLFunc("glGenVertexArrays"); + pglGenBuffers = GetGLFunc("glGenBuffers"); + pglBindBuffer = GetGLFunc("glBindBuffer"); + pglBufferData = GetGLFunc("glBufferData"); + pglBufferSubData = GetGLFunc("glBufferSubData"); + pglDeleteBuffers = GetGLFunc("glDeleteBuffers"); + pglDeleteVertexArrays = GetGLFunc("glDeleteVertexArrays"); + pglEnableVertexAttribArray = GetGLFunc("glEnableVertexAttribArray"); + pglDisableVertexAttribArray = GetGLFunc("glDisableVertexAttribArray"); + + pglVertexPointer = GetGLFunc("glVertexPointer"); + pglNormalPointer = GetGLFunc("glNormalPointer"); + pglTexCoordPointer = GetGLFunc("glTexCoordPointer"); + +#ifdef USE_SHADERS + pglCreateShader = GetGLFunc("glCreateShader"); + pglShaderSource = GetGLFunc("glShaderSource"); + pglCompileShader = GetGLFunc("glCompileShader"); + pglGetShaderiv = GetGLFunc("glGetShaderiv"); + pglDeleteShader = GetGLFunc("glDeleteShader"); + pglCreateProgram = GetGLFunc("glCreateProgram"); + pglAttachShader = GetGLFunc("glAttachShader"); + pglLinkProgram = GetGLFunc("glLinkProgram"); + pglGetProgramiv = GetGLFunc("glGetProgramiv"); + pglUseProgram = GetGLFunc("glUseProgram"); + pglUniform1i = GetGLFunc("glUniform1i"); + pglUniform1f = GetGLFunc("glUniform1f"); + pglUniform2f = GetGLFunc("glUniform2f"); + pglUniform3f = GetGLFunc("glUniform3f"); + pglUniform4f = GetGLFunc("glUniform4f"); + pglUniform1fv = GetGLFunc("glUniform1fv"); + pglUniform2fv = GetGLFunc("glUniform2fv"); + pglUniform3fv = GetGLFunc("glUniform3fv"); + pglGetUniformLocation = GetGLFunc("glGetUniformLocation"); +#endif + + // GLU + pgluBuild2DMipmaps = GetGLFunc("gluBuild2DMipmaps"); +} + +// jimita +EXPORT void HWRAPI(LoadShaders) (void) +{ +#ifdef USE_SHADERS + GLuint gl_fragShader; + GLint i, result; + + for (i = 0; fragment_shaders[i]; i++) { - if (sscanf((const char*)version, "%d.%d", &glmajor, &glminor) == 2) - { - // Look, we gotta prepare for the inevitable arrival of GL 2.0 code... - if (glmajor == 1 && glminor >= 3) - gl13 = true; - else if (glmajor > 1) - gl13 = true; - } - } + GLchar* shader = fragment_shaders[i]; + if (i >= MAXSHADERS || i >= MAXSHADERPROGRAMS) + break; - if (gl13) + gl_fragShader = gl_shaders[gl_totalshaders++] = pglCreateShader(GL_FRAGMENT_SHADER); + if (!gl_fragShader) + I_Error("Hardware driver: Error creating fragment shader %d", i); + + pglShaderSource(gl_fragShader, 1, &shader, NULL); + pglCompileShader(gl_fragShader); + + // check for compile errors + pglGetShaderiv(gl_fragShader, GL_COMPILE_STATUS, &result); + if (result == GL_FALSE) + I_Error("Hardware driver: Error compiling fragment shader %d", i); + + gl_shaderprograms[i] = pglCreateProgram(); + pglAttachShader(gl_shaderprograms[i], gl_fragShader); + pglLinkProgram(gl_shaderprograms[i]); + + // check link status + pglGetProgramiv(gl_shaderprograms[i], GL_LINK_STATUS, &result); + if (result != GL_TRUE) + I_Error("Hardware driver: Error linking shader program %d", i); + } +#endif +} + +EXPORT void HWRAPI(SetShader) (int shader) +{ +#ifdef USE_SHADERS + if (GLEXT_shaders) { - pglActiveTexture = GetGLFunc("glActiveTexture"); - pglMultiTexCoord2f = GetGLFunc("glMultiTexCoord2f"); + gl_shadersenabled = true; + gl_currentshaderprogram = shader; } - else if (isExtAvailable("GL_ARB_multitexture", gl_extensions)) +#endif +} + +EXPORT void HWRAPI(UnSetShader) (void) +{ +#ifdef USE_SHADERS + gl_shadersenabled = false; + gl_currentshaderprogram = 0; +#endif +} + +EXPORT void HWRAPI(KillShaders) (void) +{ +#ifdef USE_SHADERS + GLint total_shaders = gl_totalshaders; + GLint i; + + if (!total_shaders) + return; + + for (i = 0; i < total_shaders; i++) { - // Get the functions - pglActiveTexture = GetGLFunc("glActiveTextureARB"); - pglMultiTexCoord2f = GetGLFunc("glMultiTexCoord2fARB"); - - gl13 = true; // This is now true, so the new fade mask stuff can be done, if OpenGL version is less than 1.3, it still uses the old fade stuff. - DBG_Printf("GL_ARB_multitexture support: enabled\n"); - + pglDeleteShader(gl_shaders[i]); + gl_shaders[i] = 0; + gl_totalshaders--; } - else - DBG_Printf("GL_ARB_multitexture support: disabled\n"); - return true; #endif } @@ -582,91 +814,41 @@ static void SetNoTexture(void) } } -static void GLPerspective(GLdouble fovy, GLdouble aspect) +static void GLPerspective(GLfloat fovy, GLfloat aspect) { -#ifdef MINI_GL_COMPATIBILITY GLfloat m[4][4] = -#else - GLdouble m[4][4] = -#endif { { 1.0f, 0.0f, 0.0f, 0.0f}, { 0.0f, 1.0f, 0.0f, 0.0f}, { 0.0f, 0.0f, 1.0f,-1.0f}, { 0.0f, 0.0f, 0.0f, 0.0f}, }; - const GLdouble zNear = NEAR_CLIPPING_PLANE; - const GLdouble zFar = FAR_CLIPPING_PLANE; - const GLdouble radians = (GLdouble)(fovy / 2.0f * M_PIl / 180.0f); - const GLdouble sine = sin(radians); - const GLdouble deltaZ = zFar - zNear; - GLdouble cotangent; + const GLfloat zNear = NEAR_CLIPPING_PLANE; + const GLfloat zFar = FAR_CLIPPING_PLANE; + const GLfloat radians = (GLfloat)(fovy / 2.0f * M_PIl / 180.0f); + const GLfloat sine = sin(radians); + const GLfloat deltaZ = zFar - zNear; + GLfloat cotangent; if ((fabsf((float)deltaZ) < 1.0E-36f) || fpclassify(sine) == FP_ZERO || fpclassify(aspect) == FP_ZERO) { return; } - cotangent = cos(radians) / sine; + cotangent = cosf(radians) / sine; m[0][0] = cotangent / aspect; m[1][1] = cotangent; m[2][2] = -(zFar + zNear) / deltaZ; m[3][2] = -2.0f * zNear * zFar / deltaZ; -#ifdef MINI_GL_COMPATIBILITY pglMultMatrixf(&m[0][0]); -#else - pglMultMatrixd(&m[0][0]); -#endif } -#ifndef MINI_GL_COMPATIBILITY -static void GLProject(GLdouble objX, GLdouble objY, GLdouble objZ, - GLdouble* winX, GLdouble* winY, GLdouble* winZ) -{ - GLdouble in[4], out[4]; - int i; - - for (i=0; i<4; i++) - { - out[i] = - objX * modelMatrix[0*4+i] + - objY * modelMatrix[1*4+i] + - objZ * modelMatrix[2*4+i] + - modelMatrix[3*4+i]; - } - for (i=0; i<4; i++) - { - in[i] = - out[0] * projMatrix[0*4+i] + - out[1] * projMatrix[1*4+i] + - out[2] * projMatrix[2*4+i] + - out[3] * projMatrix[3*4+i]; - } - if (fpclassify(in[3]) == FP_ZERO) return; - in[0] /= in[3]; - in[1] /= in[3]; - in[2] /= in[3]; - /* Map x, y and z to range 0-1 */ - in[0] = in[0] * 0.5f + 0.5f; - in[1] = in[1] * 0.5f + 0.5f; - in[2] = in[2] * 0.5f + 0.5f; - - /* Map x,y to viewport */ - in[0] = in[0] * viewport[2] + viewport[0]; - in[1] = in[1] * viewport[3] + viewport[1]; - - *winX=in[0]; - *winY=in[1]; - *winZ=in[2]; -} -#endif - // -----------------+ // SetModelView : // -----------------+ void SetModelView(GLint w, GLint h) { -// DBG_Printf("SetModelView(): %dx%d\n", (int)w, (int)h); + //GL_DBG_Printf("SetModelView(): %dx%d\n", (int)w, (int)h); // The screen textures need to be flushed if the width or height change so that they be remade for the correct size if (screen_width != w || screen_height != h) @@ -687,13 +869,10 @@ void SetModelView(GLint w, GLint h) pglLoadIdentity(); GLPerspective(fov, ASPECT_RATIO); - //pglScalef(1.0f, 320.0f/200.0f, 1.0f); // gr_scalefrustum (ORIGINAL_ASPECT) // added for new coronas' code (without depth buffer) -#ifndef MINI_GL_COMPATIBILITY pglGetIntegerv(GL_VIEWPORT, viewport); - pglGetDoublev(GL_PROJECTION_MATRIX, projMatrix); -#endif + pglGetFloatv(GL_PROJECTION_MATRIX, projMatrix); } @@ -702,83 +881,48 @@ void SetModelView(GLint w, GLint h) // -----------------+ void SetStates(void) { - // Bind little white RGBA texture to ID NOTEXTURE_NUM. - /* - FUINT Data[8*8]; - INT32 i; - */ -#ifdef GL_LIGHT_MODEL_AMBIENT - GLfloat LightDiffuse[] = {1.0f, 1.0f, 1.0f, 1.0f}; -#endif - -// DBG_Printf("SetStates()\n"); - - // Hurdler: not necessary, is it? - pglShadeModel(GL_SMOOTH); // iterate vertice colors - //pglShadeModel(GL_FLAT); - pglEnable(GL_TEXTURE_2D); // two-dimensional texturing -#ifndef KOS_GL_COMPATIBILITY pglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); pglAlphaFunc(GL_NOTEQUAL, 0.0f); -#endif - //pglBlendFunc(GL_ONE, GL_ZERO); // copy pixel to frame buffer (opaque) pglEnable(GL_BLEND); // enable color blending -#ifndef KOS_GL_COMPATIBILITY pglColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); -#endif - //pglDisable(GL_DITHER); // faB: ??? (undocumented in OpenGL 1.1) - // Hurdler: yes, it is! pglEnable(GL_DEPTH_TEST); // check the depth buffer pglDepthMask(GL_TRUE); // enable writing to depth buffer pglClearDepth(1.0f); pglDepthRange(0.0f, 1.0f); pglDepthFunc(GL_LEQUAL); - // this set CurrentPolyFlags to the acctual configuration + // this set CurrentPolyFlags to the actual configuration CurrentPolyFlags = 0xffffffff; SetBlend(0); - /* - for (i = 0; i < 64; i++) - Data[i] = 0xffFFffFF; // white pixel - */ - tex_downloaded = (GLuint)-1; SetNoTexture(); - //pglBindTexture(GL_TEXTURE_2D, NOTEXTURE_NUM); - //tex_downloaded = NOTEXTURE_NUM; - //pglTexImage2D(GL_TEXTURE_2D, 0, 4, 8, 8, 0, GL_RGBA, GL_UNSIGNED_BYTE, Data); -#ifndef KOS_GL_COMPATIBILITY pglPolygonOffset(-1.0f, -1.0f); -#endif - - //pglEnable(GL_CULL_FACE); - //pglCullFace(GL_FRONT); - //pglPolygonMode(GL_FRONT_AND_BACK, GL_LINE); - //pglPolygonMode(GL_FRONT, GL_LINE); - - //glFogi(GL_FOG_MODE, GL_EXP); - //pglHint(GL_FOG_HINT, GL_FASTEST); - //pglFogfv(GL_FOG_COLOR, fogcolor); - //pglFogf(GL_FOG_DENSITY, 0.0005f); - - // Lighting for models -#ifdef GL_LIGHT_MODEL_AMBIENT - pglLightModelfv(GL_LIGHT_MODEL_AMBIENT, LightDiffuse); - pglEnable(GL_LIGHT0); -#endif // bp : when no t&l :) pglLoadIdentity(); pglScalef(1.0f, 1.0f, -1.0f); -#ifndef MINI_GL_COMPATIBILITY - pglGetDoublev(GL_MODELVIEW_MATRIX, modelMatrix); // added for new coronas' code (without depth buffer) + pglGetFloatv(GL_MODELVIEW_MATRIX, modelMatrix); // added for new coronas' code (without depth buffer) + + // jimita +#ifndef GL_RETAINED_MODE + if (!GLEXT_legacy) + I_Error("GPU does not support legacy specifications"); #endif + + pglDeleteVertexArrays(1, &gl_vertexarrayobject); + pglDeleteBuffers(1, &gl_vertexbuffer); + + pglGenVertexArrays(1, &gl_vertexarrayobject); + pglGenBuffers(1, &gl_vertexbuffer); + + pglBindVertexArray(gl_vertexarrayobject); + pglBindBuffer(GL_ARRAY_BUFFER, gl_vertexbuffer); } @@ -788,37 +932,18 @@ void SetStates(void) // -----------------+ void Flush(void) { - //DBG_Printf ("HWR_Flush()\n"); + //GL_DBG_Printf("HWR_Flush()\n"); while (gr_cachehead) { // ceci n'est pas du tout necessaire vu que tu les a charger normalement et // donc il sont dans ta liste ! -#if 0 - //Hurdler: 25/04/2000: now support colormap in hardware mode - FTextureInfo *tmp = gr_cachehead->nextskin; - - // The memory should be freed in the main code - while (tmp) - { - pglDeleteTextures(1, &tmp->downloaded); - tmp->downloaded = 0; - tmp = tmp->nextcolormap; - } -#endif pglDeleteTextures(1, (GLuint *)&gr_cachehead->downloaded); gr_cachehead->downloaded = 0; gr_cachehead = gr_cachehead->nextmipmap; } gr_cachetail = gr_cachehead = NULL; //Hurdler: well, gr_cachehead is already NULL NextTexAvail = FIRST_TEX_AVAIL; -#if 0 - if (screentexture != FIRST_TEX_AVAIL) - { - pglDeleteTextures(1, &screentexture); - screentexture = FIRST_TEX_AVAIL; - } -#endif tex_downloaded = 0; } @@ -856,10 +981,8 @@ INT32 isExtAvailable(const char *extension, const GLubyte *start) // Init : Initialise the OpenGL interface API // Returns : // -----------------+ -EXPORT boolean HWRAPI(Init) (I_Error_t FatalErrorFunction) +EXPORT boolean HWRAPI(Init) (void) { - I_Error_GL = FatalErrorFunction; - DBG_Printf ("%s %s\n", DRIVER_STRING, VERSIONSTRING); return LoadGL(); } @@ -869,7 +992,6 @@ EXPORT boolean HWRAPI(Init) (I_Error_t FatalErrorFunction) // -----------------+ EXPORT void HWRAPI(ClearMipMapCache) (void) { - // DBG_Printf ("HWR_Flush(exe)\n"); Flush(); } @@ -882,16 +1004,8 @@ EXPORT void HWRAPI(ClearMipMapCache) (void) EXPORT void HWRAPI(ReadRect) (INT32 x, INT32 y, INT32 width, INT32 height, INT32 dst_stride, UINT16 * dst_data) { -#ifdef KOS_GL_COMPATIBILITY - (void)x; - (void)y; - (void)width; - (void)height; - (void)dst_stride; - (void)dst_data; -#else INT32 i; - // DBG_Printf ("ReadRect()\n"); + //GL_DBG_Printf("ReadRect()\n"); if (dst_stride == width*3) { GLubyte*top = (GLvoid*)dst_data, *bottom = top + dst_stride * (height - 1); @@ -931,7 +1045,6 @@ EXPORT void HWRAPI(ReadRect) (INT32 x, INT32 y, INT32 width, INT32 height, } free(image); } -#endif } @@ -940,7 +1053,7 @@ EXPORT void HWRAPI(ReadRect) (INT32 x, INT32 y, INT32 width, INT32 height, // -----------------+ EXPORT void HWRAPI(GClipRect) (INT32 minx, INT32 miny, INT32 maxx, INT32 maxy, float nearclip) { - // DBG_Printf ("GClipRect(%d, %d, %d, %d)\n", minx, miny, maxx, maxy); + //GL_DBG_Printf("GClipRect(%d, %d, %d, %d)\n", minx, miny, maxx, maxy); pglViewport(minx, screen_height-maxy, maxx-minx, maxy-miny); NEAR_CLIPPING_PLANE = nearclip; @@ -952,10 +1065,8 @@ EXPORT void HWRAPI(GClipRect) (INT32 minx, INT32 miny, INT32 maxx, INT32 maxy, f pglMatrixMode(GL_MODELVIEW); // added for new coronas' code (without depth buffer) -#ifndef MINI_GL_COMPATIBILITY pglGetIntegerv(GL_VIEWPORT, viewport); - pglGetDoublev(GL_PROJECTION_MATRIX, projMatrix); -#endif + pglGetFloatv(GL_PROJECTION_MATRIX, projMatrix); } @@ -966,7 +1077,7 @@ EXPORT void HWRAPI(ClearBuffer) (FBOOLEAN ColorMask, FBOOLEAN DepthMask, FRGBAFloat * ClearColor) { - // DBG_Printf ("ClearBuffer(%d)\n", alpha); + //GL_DBG_Printf("ClearBuffer(%d)\n", alpha); GLbitfield ClearMask = 0; if (ColorMask) @@ -1001,13 +1112,7 @@ EXPORT void HWRAPI(Draw2DLine) (F2DCoord * v1, { GLRGBAFloat c; - // DBG_Printf ("DrawLine() (%f %f %f) %d\n", v1->x, -v1->y, -v1->z, v1->argb); -#ifdef MINI_GL_COMPATIBILITY - GLfloat px1, px2, px3, px4; - GLfloat py1, py2, py3, py4; - GLfloat dx, dy; - GLfloat angle; -#endif + //GL_DBG_Printf("DrawLine() (%f %f %f) %d\n", v1->x, -v1->y, -v1->z, v1->argb); // BP: we should reflect the new state in our variable //SetBlend(PF_Modulated|PF_NoTexture); @@ -1019,33 +1124,11 @@ EXPORT void HWRAPI(Draw2DLine) (F2DCoord * v1, c.blue = byte2float[Color.s.blue]; c.alpha = byte2float[Color.s.alpha]; -#ifndef MINI_GL_COMPATIBILITY pglColor4fv(&c.red); // is in RGBA float format pglBegin(GL_LINES); pglVertex3f(v1->x, -v1->y, 1.0f); pglVertex3f(v2->x, -v2->y, 1.0f); pglEnd(); -#else - if (v2->x != v1->x) - angle = (float)atan((v2->y-v1->y)/(v2->x-v1->x)); - else - angle = N_PI_DEMI; - dx = (float)sin(angle) / (float)screen_width; - dy = (float)cos(angle) / (float)screen_height; - - px1 = v1->x - dx; py1 = v1->y + dy; - px2 = v2->x - dx; py2 = v2->y + dy; - px3 = v2->x + dx; py3 = v2->y - dy; - px4 = v1->x + dx; py4 = v1->y - dy; - - pglColor4f(c.red, c.green, c.blue, c.alpha); - pglBegin(GL_TRIANGLE_FAN); - pglVertex3f(px1, -py1, 1); - pglVertex3f(px2, -py2, 1); - pglVertex3f(px3, -py3, 1); - pglVertex3f(px4, -py4, 1); - pglEnd(); -#endif pglEnable(GL_TEXTURE_2D); } @@ -1075,60 +1158,41 @@ EXPORT void HWRAPI(SetBlend) (FBITFIELD PolyFlags) switch (PolyFlags & PF_Blending) { case PF_Translucent & PF_Blending: pglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // alpha = level of transparency -#ifndef KOS_GL_COMPATIBILITY pglAlphaFunc(GL_NOTEQUAL, 0.0f); -#endif break; case PF_Masked & PF_Blending: // Hurdler: does that mean lighting is only made by alpha src? // it sounds ok, but not for polygonsmooth pglBlendFunc(GL_SRC_ALPHA, GL_ZERO); // 0 alpha = holes in texture -#ifndef KOS_GL_COMPATIBILITY pglAlphaFunc(GL_GREATER, 0.5f); -#endif break; case PF_Additive & PF_Blending: -#ifdef ATI_RAGE_PRO_COMPATIBILITY - pglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // alpha = level of transparency -#else pglBlendFunc(GL_SRC_ALPHA, GL_ONE); // src * alpha + dest -#endif -#ifndef KOS_GL_COMPATIBILITY pglAlphaFunc(GL_NOTEQUAL, 0.0f); -#endif break; case PF_Environment & PF_Blending: pglBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); -#ifndef KOS_GL_COMPATIBILITY pglAlphaFunc(GL_NOTEQUAL, 0.0f); -#endif break; case PF_Substractive & PF_Blending: // good for shadow // not realy but what else ? pglBlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_COLOR); -#ifndef KOS_GL_COMPATIBILITY pglAlphaFunc(GL_NOTEQUAL, 0.0f); -#endif break; case PF_Fog & PF_Fog: // Sryder: Fog // multiplies input colour by input alpha, and destination colour by input colour, then adds them pglBlendFunc(GL_SRC_ALPHA, GL_SRC_COLOR); -#ifndef KOS_GL_COMPATIBILITY pglAlphaFunc(GL_NOTEQUAL, 0.0f); -#endif break; default : // must be 0, otherwise it's an error // No blending pglBlendFunc(GL_ONE, GL_ZERO); // the same as no blending -#ifndef KOS_GL_COMPATIBILITY pglAlphaFunc(GL_GREATER, 0.5f); -#endif break; } } -#ifndef KOS_GL_COMPATIBILITY if (Xor & PF_NoAlphaTest) { if (PolyFlags & PF_NoAlphaTest) @@ -1144,7 +1208,6 @@ EXPORT void HWRAPI(SetBlend) (FBITFIELD PolyFlags) else pglDisable(GL_POLYGON_OFFSET_FILL); } -#endif if (Xor&PF_NoDepthTest) { if (PolyFlags & PF_NoDepthTest) @@ -1171,10 +1234,6 @@ EXPORT void HWRAPI(SetBlend) (FBITFIELD PolyFlags) pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); } -#ifdef KOS_GL_COMPATIBILITY - if (Xor&PF_Modulated && !(PolyFlags & PF_Modulated)) - pglColor4f(1.0f, 1.0f, 1.0f, 1.0f); -#else if (Xor&PF_Modulated) { #if defined (__unix__) || defined (UNIXCOMMON) @@ -1185,23 +1244,19 @@ EXPORT void HWRAPI(SetBlend) (FBITFIELD PolyFlags) } else #endif + + // mix texture colour with Surface->PolyColor if (PolyFlags & PF_Modulated) - { // mix texture colour with Surface->FlatColor pglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); - } + // colour from texture is unchanged before blending else - { // colour from texture is unchanged before blending pglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); - } } -#endif if (Xor & PF_Occlude) // depth test but (no) depth write { if (PolyFlags&PF_Occlude) - { pglDepthMask(1); - } else pglDepthMask(0); } @@ -1219,9 +1274,7 @@ EXPORT void HWRAPI(SetBlend) (FBITFIELD PolyFlags) } } if (PolyFlags & PF_NoTexture) - { SetNoTexture(); - } } CurrentPolyFlags = PolyFlags; } @@ -1248,15 +1301,11 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo) else { // Download a mipmap -#ifdef KOS_GL_COMPATIBILITY - static GLushort tex[2048*2048]; -#else static RGBA_t tex[2048*2048]; -#endif const GLvoid *ptex = tex; INT32 w, h; - //DBG_Printf ("DownloadMipmap %d %x\n",NextTexAvail,pTexInfo->grInfo.data); + //GL_DBG_Printf("DownloadMipmap %d\n", NextTexAvail, pTexInfo->grInfo.data); w = pTexInfo->width; h = pTexInfo->height; @@ -1271,102 +1320,7 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo) } else #endif -#ifdef KOS_GL_COMPATIBILITY - if ((pTexInfo->grInfo.format == GR_TEXFMT_P_8) || - (pTexInfo->grInfo.format == GR_TEXFMT_AP_88)) - { - const GLubyte *pImgData = (const GLubyte *)pTexInfo->grInfo.data; - INT32 i, j; - for (j = 0; j < h; j++) - { - for (i = 0; i < w; i++) - { - if ((*pImgData == HWR_PATCHES_CHROMAKEY_COLORINDEX) && - (pTexInfo->flags & TF_CHROMAKEYED)) - { - tex[w*j+i] = 0; - } - else - { - if (pTexInfo->grInfo.format == GR_TEXFMT_AP_88 && !(pTexInfo->flags & TF_CHROMAKEYED)) - tex[w*j+i] = 0; - else - tex[w*j+i] = (myPaletteData[*pImgData].s.alpha>>4)<<12; - - tex[w*j+i] |= (myPaletteData[*pImgData].s.red >>4)<<8; - tex[w*j+i] |= (myPaletteData[*pImgData].s.green>>4)<<4; - tex[w*j+i] |= (myPaletteData[*pImgData].s.blue >>4); - } - - pImgData++; - - if (pTexInfo->grInfo.format == GR_TEXFMT_AP_88) - { - if (!(pTexInfo->flags & TF_CHROMAKEYED)) - tex[w*j+i] |= ((*pImgData)>>4)<<12; - pImgData++; - } - - } - } - } - else if (pTexInfo->grInfo.format == GR_RGBA) - { - // corona test : passed as ARGB 8888, which is not in glide formats - // Hurdler: not used for coronas anymore, just for dynamic lighting - const RGBA_t *pImgData = (const RGBA_t *)pTexInfo->grInfo.data; - INT32 i, j; - - for (j = 0; j < h; j++) - { - for (i = 0; i < w; i++) - { - tex[w*j+i] = (pImgData->s.alpha>>4)<<12; - tex[w*j+i] |= (pImgData->s.red >>4)<<8; - tex[w*j+i] |= (pImgData->s.green>>4)<<4; - tex[w*j+i] |= (pImgData->s.blue >>4); - pImgData++; - } - } - } - else if (pTexInfo->grInfo.format == GR_TEXFMT_ALPHA_INTENSITY_88) - { - const GLubyte *pImgData = (const GLubyte *)pTexInfo->grInfo.data; - INT32 i, j; - - for (j = 0; j < h; j++) - { - for (i = 0; i < w; i++) - { - const GLubyte sID = (*pImgData)>>4; - tex[w*j+i] = sID<<8 | sID<<4 | sID; - pImgData++; - tex[w*j+i] |= ((*pImgData)>>4)<<12; - pImgData++; - } - } - } - else if (pTexInfo->grInfo.format == GR_TEXFMT_ALPHA_8) // Used for fade masks - { - const GLubyte *pImgData = (const GLubyte *)pTexInfo->grInfo.data; - INT32 i, j; - - for (j = 0; j < h; j++) - { - for (i = 0; i < w; i++) - { - tex[w*j+i] = (pImgData>>4)<<12; - tex[w*j+i] |= (255>>4)<<8; - tex[w*j+i] |= (255>>4)<<4; - tex[w*j+i] |= (255>>4); - pImgData++; - } - } - } - else - DBG_Printf ("SetTexture(bad format) %ld\n", pTexInfo->grInfo.format); -#else if ((pTexInfo->grInfo.format == GR_TEXFMT_P_8) || (pTexInfo->grInfo.format == GR_TEXFMT_AP_88)) { @@ -1448,8 +1402,7 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo) } } else - DBG_Printf ("SetTexture(bad format) %ld\n", pTexInfo->grInfo.format); -#endif + GL_DBG_Printf("SetTexture(bad format) %ld\n", pTexInfo->grInfo.format); pTexInfo->downloaded = NextTexAvail++; tex_downloaded = pTexInfo->downloaded; @@ -1458,13 +1411,8 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo) // disable texture filtering on any texture that has holes so there's no dumb borders or blending issues if (pTexInfo->flags & TF_TRANSPARENT) { -#ifdef KOS_GL_COMPATIBILITY - pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NONE); - pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NONE); -#else pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); -#endif } else { @@ -1472,18 +1420,6 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo) pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, min_filter); } -#ifdef KOS_GL_COMPATIBILITY - pglTexImage2D(GL_TEXTURE_2D, 0, GL_ARGB4444, w, h, 0, GL_ARGB4444, GL_UNSIGNED_BYTE, ptex); -#else -#ifdef MINI_GL_COMPATIBILITY - //if (pTexInfo->grInfo.format == GR_TEXFMT_ALPHA_INTENSITY_88) - //pglTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE_ALPHA, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, ptex); - //else - if (MipMap) - pgluBuild2DMipmaps(GL_TEXTURE_2D, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, ptex); - else - pglTexImage2D(GL_TEXTURE_2D, 0, 4, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, ptex); -#else #ifdef USE_PALETTED_TEXTURE //Hurdler: not really supported and not tested recently if (glColorTableEXT && @@ -1554,8 +1490,6 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo) else pglTexImage2D(GL_TEXTURE_2D, 0, textureformatGL, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, ptex); } -#endif -#endif if (pTexInfo->flags & TF_WRAPX) pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); @@ -1579,134 +1513,127 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo) else // initialisation de la liste gr_cachetail = gr_cachehead = pTexInfo; } -#ifdef MINI_GL_COMPATIBILITY - switch (pTexInfo->flags) +} + +// jimita + +static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *mix, GLRGBAFloat *fade) +{ +#ifdef USE_SHADERS + if (gl_shadersenabled) { - case 0 : - pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); - pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); - break; - default: - pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); - pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - break; + if (gl_shaderprograms[gl_currentshaderprogram]) + { + pglUseProgram(gl_shaderprograms[gl_currentshaderprogram]); + + // + // set uniforms + // + GLint UNIFORM_fog_mode = pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], "fog_mode"); + GLint UNIFORM_fog_density = pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], "fog_density"); + + GLint UNIFORM_mix_color = pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], "mix_color"); + GLint UNIFORM_fade_color = pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], "fade_color"); + GLint UNIFORM_lighting = pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], "lighting"); + + GLint UNIFORM_resolution = pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], "resolution"); + GLint UNIFORM_leveltime = pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], "leveltime"); + + #define UNIFORM_1(uniform, a, function) \ + if (uniform != -1) \ + function (uniform, a); + + #define UNIFORM_2(uniform, a, b, function) \ + if (uniform != -1) \ + function (uniform, a, b); + + #define UNIFORM_3(uniform, a, b, c, function) \ + if (uniform != -1) \ + function (uniform, a, b, c); + + #define UNIFORM_4(uniform, a, b, c, d, function) \ + if (uniform != -1) \ + function (uniform, a, b, c, d); + + // glstate + UNIFORM_1(UNIFORM_fog_mode, glstate_fog_mode, pglUniform1i); + UNIFORM_1(UNIFORM_fog_density, glstate_fog_density, pglUniform1f); + + // polygon + UNIFORM_4(UNIFORM_mix_color, mix->red, mix->green, mix->blue, mix->alpha, pglUniform4f); + UNIFORM_4(UNIFORM_fade_color, fade->red, fade->green, fade->blue, fade->alpha, pglUniform4f); + UNIFORM_1(UNIFORM_lighting, Surface->LightInfo.light_level, pglUniform1f); + + UNIFORM_2(UNIFORM_resolution, screen_width, screen_height, pglUniform2f); + UNIFORM_1(UNIFORM_leveltime, (float)gl_leveltime, pglUniform1f); + + #undef UNIFORM_1 + #undef UNIFORM_2 + #undef UNIFORM_3 + #undef UNIFORM_4 + } + else + pglUseProgram(0); } #endif } - // -----------------+ // DrawPolygon : Render a polygon, set the texture, set render mode // -----------------+ -EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, - //FTextureInfo *pTexInfo, - FOutVector *pOutVerts, - FUINT iNumPts, - FBITFIELD PolyFlags) +EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUINT iNumPts, FBITFIELD PolyFlags) { + static GLRGBAFloat mix = {0,0,0,0}; + static GLRGBAFloat fade = {0,0,0,0}; +#ifndef GL_RETAINED_MODE FUINT i; -#ifndef MINI_GL_COMPATIBILITY - FUINT j; -#endif - GLRGBAFloat c = {0,0,0,0}; - -#ifdef MINI_GL_COMPATIBILITY - if (PolyFlags & PF_Corona) - PolyFlags &= ~PF_NoDepthTest; -#else - if ((PolyFlags & PF_Corona) && (oglflags & GLF_NOZBUFREAD)) - PolyFlags &= ~(PF_NoDepthTest|PF_Corona); #endif SetBlend(PolyFlags); //TODO: inline (#pragma..) - // If Modulated, mix the surface colour to the texture - if ((CurrentPolyFlags & PF_Modulated) && pSurf) + // PolyColor + if (pSurf) { - if (pal_col) - { // hack for non-palettized mode - c.red = (const_pal_col.red +byte2float[pSurf->FlatColor.s.red]) /2.0f; - c.green = (const_pal_col.green+byte2float[pSurf->FlatColor.s.green])/2.0f; - c.blue = (const_pal_col.blue +byte2float[pSurf->FlatColor.s.blue]) /2.0f; - c.alpha = byte2float[pSurf->FlatColor.s.alpha]; - } - else + // If Modulated, mix the surface colour to the texture + if (CurrentPolyFlags & PF_Modulated) { - c.red = byte2float[pSurf->FlatColor.s.red]; - c.green = byte2float[pSurf->FlatColor.s.green]; - c.blue = byte2float[pSurf->FlatColor.s.blue]; - c.alpha = byte2float[pSurf->FlatColor.s.alpha]; + // Mix color + mix.red = byte2float[pSurf->PolyColor.s.red]; + mix.green = byte2float[pSurf->PolyColor.s.green]; + mix.blue = byte2float[pSurf->PolyColor.s.blue]; + mix.alpha = byte2float[pSurf->PolyColor.s.alpha]; + + pglColor4fv(&mix.red); } -#ifdef MINI_GL_COMPATIBILITY - pglColor4f(c.red, c.green, c.blue, c.alpha); + // Fade color + fade.red = byte2float[pSurf->FadeColor.s.red]; + fade.green = byte2float[pSurf->FadeColor.s.green]; + fade.blue = byte2float[pSurf->FadeColor.s.blue]; + fade.alpha = byte2float[pSurf->FadeColor.s.alpha]; + } + + // jimita + load_shaders(pSurf, &mix, &fade); + +#ifdef GL_RETAINED_MODE + pglBufferData(GL_ARRAY_BUFFER, sizeof(FOutVector)*iNumPts, &pOutVerts[0].x, GL_STATIC_DRAW); + + pglEnableClientState(GL_VERTEX_ARRAY); + pglEnableClientState(GL_TEXTURE_COORD_ARRAY); + + pglVertexPointer(3, GL_FLOAT, sizeof(FOutVector), BUFFER_OFFSET(0)); + pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVector), BUFFER_OFFSET(sizeof(FLOAT)*3)); + pglDrawArrays(GL_TRIANGLE_FAN, 0, iNumPts); #else - pglColor4fv(&c.red); // is in RGBA float format -#endif - } - - // this test is added for new coronas' code (without depth buffer) - // I think I should do a separate function for drawing coronas, so it will be a little faster -#ifndef MINI_GL_COMPATIBILITY - if (PolyFlags & PF_Corona) // check to see if we need to draw the corona - { - //rem: all 8 (or 8.0f) values are hard coded: it can be changed to a higher value - GLfloat buf[8][8]; - GLdouble cx, cy, cz; - GLdouble px = 0.0f, py = 0.0f, pz = -1.0f; - GLfloat scalef = 0.0f; - - cx = (pOutVerts[0].x + pOutVerts[2].x) / 2.0f; // we should change the coronas' ... - cy = (pOutVerts[0].y + pOutVerts[2].y) / 2.0f; // ... code so its only done once. - cz = pOutVerts[0].z; - - // I dont know if this is slow or not - GLProject(cx, cy, cz, &px, &py, &pz); - //DBG_Printf("Projection: (%f, %f, %f)\n", px, py, pz); - - if ((pz < 0.0l) || - (px < -8.0l) || - (py < viewport[1]-8.0l) || - (px > viewport[2]+8.0l) || - (py > viewport[1]+viewport[3]+8.0l)) - return; - - // the damned slow glReadPixels functions :( - pglReadPixels((INT32)px-4, (INT32)py, 8, 8, GL_DEPTH_COMPONENT, GL_FLOAT, buf); - //DBG_Printf("DepthBuffer: %f %f\n", buf[0][0], buf[3][3]); - - for (i = 0; i < 8; i++) - for (j = 0; j < 8; j++) - scalef += (pz > buf[i][j]+0.00005f) ? 0 : 1; - - // quick test for screen border (not 100% correct, but looks ok) - if (px < 4) scalef -= (GLfloat)(8*(4-px)); - if (py < viewport[1]+4) scalef -= (GLfloat)(8*(viewport[1]+4-py)); - if (px > viewport[2]-4) scalef -= (GLfloat)(8*(4-(viewport[2]-px))); - if (py > viewport[1]+viewport[3]-4) scalef -= (GLfloat)(8*(4-(viewport[1]+viewport[3]-py))); - - scalef /= 64; - //DBG_Printf("Scale factor: %f\n", scalef); - - if (scalef < 0.05f) - return; - - c.alpha *= scalef; // change the alpha value (it seems better than changing the size of the corona) - pglColor4fv(&c.red); - } -#endif - if (PolyFlags & PF_MD2) - return; - pglBegin(GL_TRIANGLE_FAN); for (i = 0; i < iNumPts; i++) { pglTexCoord2f(pOutVerts[i].sow, pOutVerts[i].tow); - //Hurdler: test code: -pOutVerts[i].z => pOutVerts[i].z pglVertex3f(pOutVerts[i].x, pOutVerts[i].y, pOutVerts[i].z); - //pglVertex3f(pOutVerts[i].x, pOutVerts[i].y, -pOutVerts[i].z); } pglEnd(); +#endif if (PolyFlags & PF_RemoveYWrap) pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); @@ -1716,8 +1643,16 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, if (PolyFlags & PF_ForceWrapY) Clamp2D(GL_TEXTURE_WRAP_T); -} +#ifdef GL_RETAINED_MODE + pglDisableClientState(GL_VERTEX_ARRAY); + pglDisableClientState(GL_TEXTURE_COORD_ARRAY); +#endif + +#ifdef USE_SHADERS + pglUseProgram(0); +#endif +} // ========================================================================== // @@ -1726,103 +1661,17 @@ EXPORT void HWRAPI(SetSpecialState) (hwdspecialstate_t IdState, INT32 Value) { switch (IdState) { - -#if 0 - case 77: - { - //08/01/00: Hurdler this is a test for mirror - if (!Value) - ClearBuffer(false, true, 0); // clear depth buffer - break; - } -#endif - - case HWD_SET_PALETTECOLOR: - { - pal_col = Value; - const_pal_col.blue = byte2float[((Value>>16)&0xff)]; - const_pal_col.green = byte2float[((Value>>8)&0xff)]; - const_pal_col.red = byte2float[((Value)&0xff)]; - break; - } - - case HWD_SET_FOG_COLOR: - { - GLfloat fogcolor[4]; - - fogcolor[0] = byte2float[((Value>>16)&0xff)]; - fogcolor[1] = byte2float[((Value>>8)&0xff)]; - fogcolor[2] = byte2float[((Value)&0xff)]; - fogcolor[3] = 0x0; - pglFogfv(GL_FOG_COLOR, fogcolor); - break; - } - case HWD_SET_FOG_DENSITY: - pglFogf(GL_FOG_DENSITY, Value*1200/(500*1000000.0f)); - break; - case HWD_SET_FOG_MODE: - if (Value) - { - pglEnable(GL_FOG); - // experimental code - /* - switch (Value) - { - case 1: - glFogi(GL_FOG_MODE, GL_LINEAR); - pglFogf(GL_FOG_START, -1000.0f); - pglFogf(GL_FOG_END, 2000.0f); - break; - case 2: - glFogi(GL_FOG_MODE, GL_EXP); - break; - case 3: - glFogi(GL_FOG_MODE, GL_EXP2); - break; - } - */ - } - else - pglDisable(GL_FOG); + glstate_fog_mode = Value; break; - case HWD_SET_POLYGON_SMOOTH: -#ifdef KOS_GL_COMPATIBILITY // GL_POLYGON_SMOOTH_HINT - if (Value) - pglHint(GL_POLYGON_SMOOTH_HINT,GL_NICEST); - else - pglHint(GL_POLYGON_SMOOTH_HINT,GL_FASTEST); -#else - if (Value) - pglEnable(GL_POLYGON_SMOOTH); - else - pglDisable(GL_POLYGON_SMOOTH); -#endif + case HWD_SET_FOG_DENSITY: + glstate_fog_density = FIXED_TO_FLOAT(Value); break; case HWD_SET_TEXTUREFILTERMODE: switch (Value) { -#ifdef KOS_GL_COMPATIBILITY - case HWD_SET_TEXTUREFILTER_TRILINEAR: - case HWD_SET_TEXTUREFILTER_BILINEAR: - min_filter = mag_filter = GL_FILTER_BILINEAR; - break; - case HWD_SET_TEXTUREFILTER_POINTSAMPLED: - min_filter = mag_filter = GL_FILTER_NONE; - case HWD_SET_TEXTUREFILTER_MIXED1: - min_filter = GL_FILTER_NONE; - mag_filter = GL_LINEAR; - case HWD_SET_TEXTUREFILTER_MIXED2: - min_filter = GL_LINEAR; - mag_filter = GL_FILTER_NONE; - break; - case HWD_SET_TEXTUREFILTER_MIXED3: - min_filter = GL_FILTER_BILINEAR; - mag_filter = GL_FILTER_NONE; - break; -#elif !defined (MINI_GL_COMPATIBILITY) case HWD_SET_TEXTUREFILTER_TRILINEAR: min_filter = GL_LINEAR_MIPMAP_LINEAR; mag_filter = GL_LINEAR; @@ -1851,14 +1700,9 @@ EXPORT void HWRAPI(SetSpecialState) (hwdspecialstate_t IdState, INT32 Value) mag_filter = GL_NEAREST; MipMap = GL_TRUE; break; -#endif default: -#ifdef KOS_GL_COMPATIBILITY - min_filter = mag_filter = GL_FILTER_NONE; -#else mag_filter = GL_LINEAR; min_filter = GL_NEAREST; -#endif } if (!pgluBuild2DMipmaps) { @@ -1879,20 +1723,16 @@ EXPORT void HWRAPI(SetSpecialState) (hwdspecialstate_t IdState, INT32 Value) } } -static void DrawMD2Ex(INT32 *gl_cmd_buffer, md2_frame_t *frame, INT32 duration, INT32 tics, md2_frame_t *nextframe, FTransform *pos, float scale, UINT8 flipped, UINT8 *color) +static void DrawMD2Ex(INT32 *gl_cmd_buffer, md2_frame_t *frame, INT32 duration, INT32 tics, md2_frame_t *nextframe, FTransform *pos, float scale, UINT8 flipped, FSurfaceInfo *Surface) { - INT32 val, count, pindex; + INT32 val, count, pindex; GLfloat s, t; - GLfloat ambient[4]; - GLfloat diffuse[4]; float pol = 0.0f; float scalex = scale, scaley = scale, scalez = scale; - // Because Otherwise, scaling the screen negatively vertically breaks the lighting -#ifndef KOS_GL_COMPATIBILITY - GLfloat LightPos[] = {0.0f, 1.0f, 0.0f, 0.0f}; -#endif + static GLRGBAFloat mix = {0,0,0,0}; + static GLRGBAFloat fade = {0,0,0,0}; if (duration != 0 && duration != -1 && tics != -1) // don't interpolate if instantaneous or infinite in length { @@ -1907,88 +1747,97 @@ static void DrawMD2Ex(INT32 *gl_cmd_buffer, md2_frame_t *frame, INT32 duration, pol = 0.0f; } - if (color) - { - ambient[0] = (color[0]/255.0f); - ambient[1] = (color[1]/255.0f); - ambient[2] = (color[2]/255.0f); - ambient[3] = (color[3]/255.0f); - diffuse[0] = (color[0]/255.0f); - diffuse[1] = (color[1]/255.0f); - diffuse[2] = (color[2]/255.0f); - diffuse[3] = (color[3]/255.0f); + mix.red = byte2float[Surface->PolyColor.s.red]; + mix.green = byte2float[Surface->PolyColor.s.green]; + mix.blue = byte2float[Surface->PolyColor.s.blue]; + mix.alpha = byte2float[Surface->PolyColor.s.alpha]; - if (ambient[0] > 0.75f) - ambient[0] = 0.75f; - if (ambient[1] > 0.75f) - ambient[1] = 0.75f; - if (ambient[2] > 0.75f) - ambient[2] = 0.75f; - } + if (mix.alpha < 1) + SetBlend(PF_Translucent|PF_Modulated); + else + SetBlend(PF_Masked|PF_Modulated|PF_Occlude); + + fade.red = byte2float[Surface->FadeColor.s.red]; + fade.green = byte2float[Surface->FadeColor.s.green]; + fade.blue = byte2float[Surface->FadeColor.s.blue]; + fade.alpha = byte2float[Surface->FadeColor.s.alpha]; pglEnable(GL_CULL_FACE); // pos->flip is if the screen is flipped too if (flipped != pos->flip) // If either are active, but not both, invert the model's culling - { pglCullFace(GL_FRONT); - } else - { pglCullFace(GL_BACK); - } -#ifndef KOS_GL_COMPATIBILITY - pglLightfv(GL_LIGHT0, GL_POSITION, LightPos); -#endif - - pglShadeModel(GL_SMOOTH); - if (color) - { -#ifdef GL_LIGHT_MODEL_AMBIENT - pglEnable(GL_LIGHTING); - pglMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, ambient); - pglMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, diffuse); -#endif - if (color[3] < 255) - SetBlend(PF_Translucent|PF_Modulated|PF_Clip); - else - SetBlend(PF_Masked|PF_Modulated|PF_Occlude|PF_Clip); - } - - pglPushMatrix(); // should be the same as glLoadIdentity - //Hurdler: now it seems to work + pglPushMatrix(); pglTranslatef(pos->x, pos->z, pos->y); if (flipped) scaley = -scaley; pglRotatef(pos->angley, 0.0f, -1.0f, 0.0f); pglRotatef(pos->anglex, -1.0f, 0.0f, 0.0f); + // jimita + load_shaders(Surface, &mix, &fade); + + pglVertexPointer(3, GL_FLOAT, sizeof(FOutVectorMD2), BUFFER_OFFSET(0)); + pglNormalPointer(GL_FLOAT, sizeof(FOutVectorMD2), BUFFER_OFFSET(sizeof(float)*3)); + pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVectorMD2), BUFFER_OFFSET(sizeof(float)*6)); + val = *gl_cmd_buffer++; while (val != 0) { +#ifdef GL_RETAINED_MODE + FOutVectorMD2 *polydata; + int polyindex = 0; +#endif + int drawarraytype; + if (val < 0) { - pglBegin(GL_TRIANGLE_FAN); + drawarraytype = GL_TRIANGLE_FAN; count = -val; } else { - pglBegin(GL_TRIANGLE_STRIP); + drawarraytype = GL_TRIANGLE_STRIP; count = val; } +#ifndef GL_RETAINED_MODE + pglBegin(drawarraytype); +#else + polydata = malloc(sizeof(FOutVectorMD2) * count); +#endif + while (count--) { s = *(float *) gl_cmd_buffer++; t = *(float *) gl_cmd_buffer++; pindex = *gl_cmd_buffer++; +#ifdef GL_RETAINED_MODE + polydata[polyindex].s = s; + polydata[polyindex].t = t; +#else pglTexCoord2f(s, t); +#endif if (!nextframe || fpclassify(pol) == FP_ZERO) { +#ifdef GL_RETAINED_MODE + polydata[polyindex].vx = frame->vertices[pindex].vertex[0]*scalex/2.0f; + polydata[polyindex].vy = frame->vertices[pindex].vertex[1]*scaley/2.0f; + polydata[polyindex].vz = frame->vertices[pindex].vertex[2]*scalez/2.0f; + + polydata[polyindex].nx = frame->vertices[pindex].normal[0]; + polydata[polyindex].ny = frame->vertices[pindex].normal[1]; + polydata[polyindex].nz = frame->vertices[pindex].normal[2]; + + polyindex++; +#else + pglNormal3f(frame->vertices[pindex].normal[0], frame->vertices[pindex].normal[1], frame->vertices[pindex].normal[2]); @@ -1996,6 +1845,7 @@ static void DrawMD2Ex(INT32 *gl_cmd_buffer, md2_frame_t *frame, INT32 duration, pglVertex3f(frame->vertices[pindex].vertex[0]*scalex/2.0f, frame->vertices[pindex].vertex[1]*scaley/2.0f, frame->vertices[pindex].vertex[2]*scalez/2.0f); +#endif } else { @@ -2013,40 +1863,68 @@ static void DrawMD2Ex(INT32 *gl_cmd_buffer, md2_frame_t *frame, INT32 duration, float nz1 = frame->vertices[pindex].normal[2]; float nz2 = nextframe->vertices[pindex].normal[2]; +#ifdef GL_RETAINED_MODE + polydata[polyindex].vx = (px1 + pol * (px2 - px1)); + polydata[polyindex].vy = (py1 + pol * (py2 - py1)); + polydata[polyindex].vz = (pz1 + pol * (pz2 - pz1)); + + polydata[polyindex].nx = (nx1 + pol * (nx2 - nx1)); + polydata[polyindex].ny = (ny1 + pol * (ny2 - ny1)); + polydata[polyindex].nz = (nz1 + pol * (nz2 - nz1)); + + polyindex++; +#else pglNormal3f((nx1 + pol * (nx2 - nx1)), (ny1 + pol * (ny2 - ny1)), (nz1 + pol * (nz2 - nz1))); pglVertex3f((px1 + pol * (px2 - px1)), (py1 + pol * (py2 - py1)), (pz1 + pol * (pz2 - pz1))); +#endif } } +#ifdef GL_RETAINED_MODE + pglEnableClientState(GL_VERTEX_ARRAY); + pglEnableClientState(GL_NORMAL_ARRAY); + pglEnableClientState(GL_TEXTURE_COORD_ARRAY); + + pglBufferData(GL_ARRAY_BUFFER, sizeof(FOutVectorMD2)*polyindex, &polydata[0].vx, GL_DYNAMIC_DRAW); + + pglDrawArrays(drawarraytype, 0, polyindex); + + free(polydata); +#else pglEnd(); +#endif val = *gl_cmd_buffer++; } - pglPopMatrix(); // should be the same as glLoadIdentity - if (color) - pglDisable(GL_LIGHTING); - pglShadeModel(GL_FLAT); + + pglPopMatrix(); pglDisable(GL_CULL_FACE); + + pglDisableClientState(GL_VERTEX_ARRAY); + pglDisableClientState(GL_NORMAL_ARRAY); + pglDisableClientState(GL_TEXTURE_COORD_ARRAY); + +#ifdef USE_SHADERS + pglUseProgram(0); +#endif } // -----------------+ // HWRAPI DrawMD2 : Draw an MD2 model with glcommands // -----------------+ -EXPORT void HWRAPI(DrawMD2i) (INT32 *gl_cmd_buffer, md2_frame_t *frame, INT32 duration, INT32 tics, md2_frame_t *nextframe, FTransform *pos, float scale, UINT8 flipped, UINT8 *color) +EXPORT void HWRAPI(DrawMD2) ( + INT32 *gl_cmd_buffer, md2_frame_t *frame, + INT32 duration, INT32 tics, md2_frame_t *nextframe, + FTransform *pos, float scale, UINT8 flipped, + FSurfaceInfo *Surface) // jimita 17032019 { - DrawMD2Ex(gl_cmd_buffer, frame, duration, tics, nextframe, pos, scale, flipped, color); + DrawMD2Ex(gl_cmd_buffer, frame, duration, tics, nextframe, pos, scale, flipped, Surface); } -EXPORT void HWRAPI(DrawMD2) (INT32 *gl_cmd_buffer, md2_frame_t *frame, FTransform *pos, float scale) -{ - DrawMD2Ex(gl_cmd_buffer, frame, 0, 0, NULL, pos, scale, false, NULL); -} - - // -----------------+ // SetTransform : // -----------------+ @@ -2065,7 +1943,7 @@ EXPORT void HWRAPI(SetTransform) (FTransform *stransform) else pglScalef(stransform->scalex, stransform->scaley, -stransform->scalez); - pglRotatef(stransform->anglex , 1.0f, 0.0f, 0.0f); + pglRotatef(stransform->anglex, 1.0f, 0.0f, 0.0f); pglRotatef(stransform->angley+270.0f, 0.0f, 1.0f, 0.0f); pglTranslatef(-stransform->x, -stransform->z, -stransform->y); @@ -2074,12 +1952,10 @@ EXPORT void HWRAPI(SetTransform) (FTransform *stransform) fovx90 = stransform->fovxangle > 0.0f && fabsf(stransform->fovxangle - 90.0f) < 0.5f; special_splitscreen = (stransform->splitscreen && fovx90); if (special_splitscreen) - GLPerspective(53.13l, 2*ASPECT_RATIO); // 53.13 = 2*atan(0.5) + GLPerspective(53.13f, 2*ASPECT_RATIO); // 53.13 = 2*atan(0.5) else GLPerspective(stransform->fovxangle, ASPECT_RATIO); -#ifndef MINI_GL_COMPATIBILITY - pglGetDoublev(GL_PROJECTION_MATRIX, projMatrix); // added for new coronas' code (without depth buffer) -#endif + pglGetFloatv(GL_PROJECTION_MATRIX, projMatrix); // added for new coronas' code (without depth buffer) pglMatrixMode(GL_MODELVIEW); } else @@ -2089,19 +1965,15 @@ EXPORT void HWRAPI(SetTransform) (FTransform *stransform) pglMatrixMode(GL_PROJECTION); pglLoadIdentity(); if (special_splitscreen) - GLPerspective(53.13l, 2*ASPECT_RATIO); // 53.13 = 2*atan(0.5) + GLPerspective(53.13f, 2*ASPECT_RATIO); // 53.13 = 2*atan(0.5) else //Hurdler: is "fov" correct? GLPerspective(fov, ASPECT_RATIO); -#ifndef MINI_GL_COMPATIBILITY - pglGetDoublev(GL_PROJECTION_MATRIX, projMatrix); // added for new coronas' code (without depth buffer) -#endif + pglGetFloatv(GL_PROJECTION_MATRIX, projMatrix); // added for new coronas' code (without depth buffer) pglMatrixMode(GL_MODELVIEW); } -#ifndef MINI_GL_COMPATIBILITY - pglGetDoublev(GL_MODELVIEW_MATRIX, modelMatrix); // added for new coronas' code (without depth buffer) -#endif + pglGetFloatv(GL_MODELVIEW_MATRIX, modelMatrix); // added for new coronas' code (without depth buffer) } EXPORT INT32 HWRAPI(GetTextureUsed) (void) @@ -2122,7 +1994,6 @@ EXPORT INT32 HWRAPI(GetRenderVersion) (void) return VERSION; } -#ifdef SHUFFLE EXPORT void HWRAPI(PostImgRedraw) (float points[SCREENVERTS][SCREENVERTS][2]) { INT32 x, y; @@ -2182,7 +2053,6 @@ EXPORT void HWRAPI(PostImgRedraw) (float points[SCREENVERTS][SCREENVERTS][2]) pglEnable(GL_DEPTH_TEST); pglEnable(GL_BLEND); } -#endif //SHUFFLE // Sryder: This needs to be called whenever the screen changes resolution in order to reset the screen textures to use // a new size @@ -2217,23 +2087,14 @@ EXPORT void HWRAPI(StartScreenWipe) (void) if (firstTime) { -#ifdef KOS_GL_COMPATIBILITY - pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_FILTER_NONE); - pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_FILTER_NONE); -#else pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); -#endif Clamp2D(GL_TEXTURE_WRAP_S); Clamp2D(GL_TEXTURE_WRAP_T); -#ifndef KOS_GL_COMPATIBILITY pglCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, texsize, texsize, 0); -#endif } else -#ifndef KOS_GL_COMPATIBILITY pglCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, texsize, texsize); -#endif tex_downloaded = startScreenWipe; } @@ -2257,29 +2118,18 @@ EXPORT void HWRAPI(EndScreenWipe)(void) if (firstTime) { -#ifdef KOS_GL_COMPATIBILITY - pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_FILTER_NONE); - pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_FILTER_NONE); -#else pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); -#endif Clamp2D(GL_TEXTURE_WRAP_S); Clamp2D(GL_TEXTURE_WRAP_T); -#ifndef KOS_GL_COMPATIBILITY pglCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, texsize, texsize, 0); -#endif } else -#ifndef KOS_GL_COMPATIBILITY pglCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, texsize, texsize); -#endif - tex_downloaded = endScreenWipe; } - // Draw the last scene under the intermission EXPORT void HWRAPI(DrawIntermissionBG)(void) { @@ -2322,15 +2172,11 @@ EXPORT void HWRAPI(DrawIntermissionBG)(void) } // Do screen fades! -EXPORT void HWRAPI(DoScreenWipe)(float alpha) +EXPORT void HWRAPI(DoScreenWipe)(void) { INT32 texsize = 2048; float xfix, yfix; -#ifndef MINI_GL_COMPATIBILITY - INT32 fademaskdownloaded = tex_downloaded; // the fade mask that has been set -#endif - // Use a power of two texture, dammit if(screen_width <= 1024) texsize = 1024; @@ -2342,7 +2188,7 @@ EXPORT void HWRAPI(DoScreenWipe)(float alpha) pglClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); - SetBlend(PF_Modulated|PF_NoDepthTest|PF_Clip|PF_NoZClip); + SetBlend(PF_Modulated|PF_NoDepthTest); // Draw the original screen pglBindTexture(GL_TEXTURE_2D, startScreenWipe); @@ -2367,80 +2213,47 @@ EXPORT void HWRAPI(DoScreenWipe)(float alpha) pglEnd(); - SetBlend(PF_Modulated|PF_Translucent|PF_NoDepthTest|PF_Clip|PF_NoZClip); + SetBlend(PF_Modulated|PF_Translucent|PF_NoDepthTest); -#ifndef MINI_GL_COMPATIBILITY - if (gl13) - { - // Draw the end screen that fades in - pglActiveTexture(GL_TEXTURE0); - pglEnable(GL_TEXTURE_2D); - pglBindTexture(GL_TEXTURE_2D, endScreenWipe); - pglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); - - pglActiveTexture(GL_TEXTURE1); - pglEnable(GL_TEXTURE_2D); - pglBindTexture(GL_TEXTURE_2D, fademaskdownloaded); - - pglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); - pglBegin(GL_QUADS); - pglColor4f(1.0f, 1.0f, 1.0f, 1.0f); - - // Bottom left - pglMultiTexCoord2f(GL_TEXTURE0, 0.0f, 0.0f); - pglMultiTexCoord2f(GL_TEXTURE1, 0.0f, 1.0f); - pglVertex3f(-1.0f, -1.0f, 1.0f); - - // Top left - pglMultiTexCoord2f(GL_TEXTURE0, 0.0f, yfix); - pglMultiTexCoord2f(GL_TEXTURE1, 0.0f, 0.0f); - pglVertex3f(-1.0f, 1.0f, 1.0f); - - // Top right - pglMultiTexCoord2f(GL_TEXTURE0, xfix, yfix); - pglMultiTexCoord2f(GL_TEXTURE1, 1.0f, 0.0f); - pglVertex3f(1.0f, 1.0f, 1.0f); - - // Bottom right - pglMultiTexCoord2f(GL_TEXTURE0, xfix, 0.0f); - pglMultiTexCoord2f(GL_TEXTURE1, 1.0f, 1.0f); - pglVertex3f(1.0f, -1.0f, 1.0f); - pglEnd(); - - pglDisable(GL_TEXTURE_2D); // disable the texture in the 2nd texture unit - pglActiveTexture(GL_TEXTURE0); - tex_downloaded = endScreenWipe; - } - else - { -#endif // Draw the end screen that fades in + pglActiveTexture(GL_TEXTURE0); + pglEnable(GL_TEXTURE_2D); pglBindTexture(GL_TEXTURE_2D, endScreenWipe); + pglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); + + pglActiveTexture(GL_TEXTURE1); + pglEnable(GL_TEXTURE_2D); + pglBindTexture(GL_TEXTURE_2D, tex_downloaded); + + pglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); pglBegin(GL_QUADS); - pglColor4f(1.0f, 1.0f, 1.0f, alpha); + pglColor4f(1.0f, 1.0f, 1.0f, 1.0f); // Bottom left - pglTexCoord2f(0.0f, 0.0f); + pglMultiTexCoord2f(GL_TEXTURE0, 0.0f, 0.0f); + pglMultiTexCoord2f(GL_TEXTURE1, 0.0f, 1.0f); pglVertex3f(-1.0f, -1.0f, 1.0f); // Top left - pglTexCoord2f(0.0f, yfix); + pglMultiTexCoord2f(GL_TEXTURE0, 0.0f, yfix); + pglMultiTexCoord2f(GL_TEXTURE1, 0.0f, 0.0f); pglVertex3f(-1.0f, 1.0f, 1.0f); // Top right - pglTexCoord2f(xfix, yfix); + pglMultiTexCoord2f(GL_TEXTURE0, xfix, yfix); + pglMultiTexCoord2f(GL_TEXTURE1, 1.0f, 0.0f); pglVertex3f(1.0f, 1.0f, 1.0f); // Bottom right - pglTexCoord2f(xfix, 0.0f); + pglMultiTexCoord2f(GL_TEXTURE0, xfix, 0.0f); + pglMultiTexCoord2f(GL_TEXTURE1, 1.0f, 1.0f); pglVertex3f(1.0f, -1.0f, 1.0f); pglEnd(); - tex_downloaded = endScreenWipe; -#ifndef MINI_GL_COMPATIBILITY - } -#endif -} + pglDisable(GL_TEXTURE_2D); // disable the texture in the 2nd texture unit + pglActiveTexture(GL_TEXTURE0); + tex_downloaded = endScreenWipe; +} // Create a texture from the screen. EXPORT void HWRAPI(MakeScreenTexture) (void) @@ -2461,23 +2274,14 @@ EXPORT void HWRAPI(MakeScreenTexture) (void) if (firstTime) { -#ifdef KOS_GL_COMPATIBILITY - pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_FILTER_NONE); - pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_FILTER_NONE); -#else pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); -#endif Clamp2D(GL_TEXTURE_WRAP_S); Clamp2D(GL_TEXTURE_WRAP_T); -#ifndef KOS_GL_COMPATIBILITY pglCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, texsize, texsize, 0); -#endif } else -#ifndef KOS_GL_COMPATIBILITY pglCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, texsize, texsize); -#endif tex_downloaded = screentexture; } @@ -2500,26 +2304,16 @@ EXPORT void HWRAPI(MakeScreenFinalTexture) (void) if (firstTime) { -#ifdef KOS_GL_COMPATIBILITY - pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_FILTER_NONE); - pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_FILTER_NONE); -#else pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); -#endif Clamp2D(GL_TEXTURE_WRAP_S); Clamp2D(GL_TEXTURE_WRAP_T); -#ifndef KOS_GL_COMPATIBILITY pglCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, texsize, texsize, 0); -#endif } else -#ifndef KOS_GL_COMPATIBILITY pglCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, texsize, texsize); -#endif tex_downloaded = finalScreenTexture; - } EXPORT void HWRAPI(DrawScreenFinalTexture)(int width, int height) diff --git a/src/hardware/r_opengl/r_opengl.h b/src/hardware/r_opengl/r_opengl.h index 6a2eba1d..289ca1a9 100644 --- a/src/hardware/r_opengl/r_opengl.h +++ b/src/hardware/r_opengl/r_opengl.h @@ -37,13 +37,11 @@ #include #include -#ifndef MINI_GL_COMPATIBILITY #ifdef STATIC_OPENGL // Because of the 1.3 functions, you'll need GLext to compile it if static #define GL_GLEXT_PROTOTYPES #include #endif #endif -#endif #define _CREATE_DLL_ // necessary for Unix AND Windows #include "../../doomdef.h" @@ -59,24 +57,10 @@ #undef DEBUG_TO_FILE // maybe defined in previous *.h #define DEBUG_TO_FILE // output debugging msgs to ogllog.txt -// todo: find some way of getting SDL to log to ogllog.txt, without -// interfering with r_opengl.dll -#ifdef HAVE_SDL -#undef DEBUG_TO_FILE -#endif -//#if defined(HAVE_SDL) && !defined(_DEBUG) -//#undef DEBUG_TO_FILE -//#endif - #ifdef DEBUG_TO_FILE extern FILE *gllogstream; #endif -#ifndef DRIVER_STRING -// #define USE_PALETTED_TEXTURE -#define DRIVER_STRING "HWRAPI Init(): SRB2 OpenGL renderer" // Tails -#endif - // ========================================================================== // PROTOS // ========================================================================== @@ -84,13 +68,12 @@ extern FILE *gllogstream; boolean LoadGL(void); void *GetGLFunc(const char *proc); boolean SetupGLfunc(void); -boolean SetupGLFunc13(void); +void SetupGLFunc4(void); void Flush(void); INT32 isExtAvailable(const char *extension, const GLubyte *start); int SetupPixelFormat(INT32 WantColorBits, INT32 WantStencilBits, INT32 WantDepthBits); void SetModelView(GLint w, GLint h); void SetStates(void); -FUNCMATH float byteasfloat(UINT8 fbyte); #ifdef USE_PALETTED_TEXTURE extern PFNGLCOLORTABLEEXTPROC glColorTableEXT; extern GLubyte palette_tex[256*3]; @@ -133,6 +116,10 @@ extern GLint screen_height; extern GLbyte screen_depth; extern GLint maximumAnisotropy; +// jimita +extern boolean GLEXT_legacy; +extern boolean GLEXT_shaders; + /** \brief OpenGL flags for video driver */ extern INT32 oglflags; diff --git a/src/info.c b/src/info.c index 08470d4c..b2e8b8b1 100644 --- a/src/info.c +++ b/src/info.c @@ -20,9 +20,6 @@ #include "z_zone.h" #include "d_player.h" #include "lzf.h" -#ifdef HWRENDER -#include "hardware/hw_light.h" -#endif // Hey, moron! If you change this table, don't forget about the sprite enum in info.h and the sprite lights in hw_light.c! char sprnames[NUMSPRITES + 1][5] = @@ -13776,7 +13773,7 @@ void P_PatchInfoTables(void) char *tempname; #if NUMSPRITEFREESLOTS > 1000 -"Update P_PatchInfoTables, you big dumb head" +#error "Update P_PatchInfoTables, you big dumb head" #endif // empty out free slots @@ -13788,9 +13785,6 @@ void P_PatchInfoTables(void) tempname[2] = (char)('0' + (char)(((i-SPR_FIRSTFREESLOT+1)/10)%10)); tempname[3] = (char)('0' + (char)((i-SPR_FIRSTFREESLOT+1)%10)); tempname[4] = '\0'; -#ifdef HWRENDER - t_lspr[i] = &lspr[NOLIGHT]; -#endif } sprnames[i][0] = '\0'; // i == NUMSPRITES memset(&states[S_FIRSTFREESLOT], 0, sizeof (state_t) * NUMSTATEFREESLOTS); diff --git a/src/info.h b/src/info.h index cba49667..cda752bf 100644 --- a/src/info.h +++ b/src/info.h @@ -3168,7 +3168,7 @@ typedef enum mobj_type // Castle Eggman Scenery MT_CHAIN, // CEZ Chain - MT_FLAME, // Flame (has corona) + MT_FLAME, // Flame MT_EGGSTATUE, // Eggman Statue MT_MACEPOINT, // Mace rotation point MT_SWINGMACEPOINT, // Mace swinging point diff --git a/src/m_menu.c b/src/m_menu.c index c241a088..72f30cb4 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -356,9 +356,6 @@ static void M_HandleLevelStats(INT32 choice); static void M_HandleConnectIP(INT32 choice); #endif static void M_HandleSetupMultiPlayer(INT32 choice); -#ifdef HWRENDER -static void M_HandleFogColor(INT32 choice); -#endif static void M_HandleVideoMode(INT32 choice); // Consvar onchange functions @@ -1182,7 +1179,7 @@ static menuitem_t OP_VideoOptionsMenu[] = {IT_STRING | IT_CALL, NULL, "Video Modes...", M_VideoModeMenu, 10}, #ifdef HWRENDER - {IT_SUBMENU|IT_STRING, NULL, "3D Card Options...", &OP_OpenGLOptionsDef, 20}, + {IT_SUBMENU|IT_STRING, NULL, "GPU Options...", &OP_OpenGLOptionsDef, 20}, #endif #if (defined (__unix__) && !defined (MSDOS)) || defined (UNIXCOMMON) || defined (HAVE_SDL) @@ -1215,30 +1212,16 @@ static menuitem_t OP_OpenGLOptionsMenu[] = {IT_STRING|IT_CVAR, NULL, "Anisotropic", &cv_granisotropicmode,40}, #ifdef _WINDOWS {IT_STRING|IT_CVAR, NULL, "Fullscreen", &cv_fullscreen, 50}, -#endif -#ifdef ALAM_LIGHTING - {IT_SUBMENU|IT_STRING, NULL, "Lighting...", &OP_OpenGLLightingDef, 70}, #endif {IT_SUBMENU|IT_STRING, NULL, "Fog...", &OP_OpenGLFogDef, 80}, {IT_SUBMENU|IT_STRING, NULL, "Gamma...", &OP_OpenGLColorDef, 90}, }; -#ifdef ALAM_LIGHTING -static menuitem_t OP_OpenGLLightingMenu[] = -{ - {IT_STRING|IT_CVAR, NULL, "Coronas", &cv_grcoronas, 0}, - {IT_STRING|IT_CVAR, NULL, "Coronas size", &cv_grcoronasize, 10}, - {IT_STRING|IT_CVAR, NULL, "Dynamic lighting", &cv_grdynamiclighting, 20}, - {IT_STRING|IT_CVAR, NULL, "Static lighting", &cv_grstaticlighting, 30}, -}; -#endif - static menuitem_t OP_OpenGLFogMenu[] = { {IT_STRING|IT_CVAR, NULL, "Fog", &cv_grfog, 10}, - {IT_STRING|IT_KEYHANDLER, NULL, "Fog color", M_HandleFogColor, 20}, - {IT_STRING|IT_CVAR, NULL, "Fog density", &cv_grfogdensity, 30}, - {IT_STRING|IT_CVAR, NULL, "Software Fog",&cv_grsoftwarefog,40}, + {IT_STRING|IT_CVAR, NULL, "Fog density", &cv_grfogdensity, 20}, + {IT_STRING|IT_CVAR, NULL, "Software fog",&cv_grsoftwarefog,30}, }; static menuitem_t OP_OpenGLColorMenu[] = @@ -1793,9 +1776,6 @@ menu_t OP_MonitorToggleDef = #ifdef HWRENDER menu_t OP_OpenGLOptionsDef = DEFAULTMENUSTYLE("M_VIDEO", OP_OpenGLOptionsMenu, &OP_VideoOptionsDef, 30, 30); -#ifdef ALAM_LIGHTING -menu_t OP_OpenGLLightingDef = DEFAULTMENUSTYLE("M_VIDEO", OP_OpenGLLightingMenu, &OP_OpenGLOptionsDef, 60, 40); -#endif menu_t OP_OpenGLFogDef = { "M_VIDEO", @@ -7959,7 +7939,7 @@ static void M_QuitSRB2(INT32 choice) // OpenGL specific options // ===================================================================== -#define FOG_COLOR_ITEM 1 +#define FOG_DENSITY_ITEM 1 // =================== // M_OGL_DrawFogMenu() // =================== @@ -7970,12 +7950,8 @@ static void M_OGL_DrawFogMenu(void) mx = currentMenu->x; my = currentMenu->y; M_DrawGenericMenu(); // use generic drawer for cursor, items and title - V_DrawString(BASEVIDWIDTH - mx - V_StringWidth(cv_grfogcolor.string, 0), - my + currentMenu->menuitems[FOG_COLOR_ITEM].alphaKey, V_YELLOWMAP, cv_grfogcolor.string); - // blink cursor on FOG_COLOR_ITEM if selected - if (itemOn == FOG_COLOR_ITEM && skullAnimCounter < 4) - V_DrawCharacter(BASEVIDWIDTH - mx, - my + currentMenu->menuitems[FOG_COLOR_ITEM].alphaKey, '_' | 0x80,false); + V_DrawString(BASEVIDWIDTH - mx - V_StringWidth(cv_grfogdensity.string, 0), + my + currentMenu->menuitems[FOG_DENSITY_ITEM].alphaKey, V_YELLOWMAP, cv_grfogdensity.string); } // ===================== @@ -7992,61 +7968,4 @@ static void M_OGL_DrawColorMenu(void) V_YELLOWMAP, "Gamma correction"); } -//=================== -// M_HandleFogColor() -//=================== -static void M_HandleFogColor(INT32 choice) -{ - size_t i, l; - char temp[8]; - boolean exitmenu = false; // exit to previous menu and send name change - - switch (choice) - { - case KEY_DOWNARROW: - S_StartSound(NULL, sfx_menu1); - itemOn++; - break; - - case KEY_UPARROW: - S_StartSound(NULL, sfx_menu1); - itemOn--; - break; - - case KEY_ESCAPE: - S_StartSound(NULL, sfx_menu1); - exitmenu = true; - break; - - case KEY_BACKSPACE: - S_StartSound(NULL, sfx_menu1); - strcpy(temp, cv_grfogcolor.string); - strcpy(cv_grfogcolor.zstring, "000000"); - l = strlen(temp)-1; - for (i = 0; i < l; i++) - cv_grfogcolor.zstring[i + 6 - l] = temp[i]; - break; - - default: - if ((choice >= '0' && choice <= '9') || (choice >= 'a' && choice <= 'f') - || (choice >= 'A' && choice <= 'F')) - { - S_StartSound(NULL, sfx_menu1); - strcpy(temp, cv_grfogcolor.string); - strcpy(cv_grfogcolor.zstring, "000000"); - l = strlen(temp); - for (i = 0; i < l; i++) - cv_grfogcolor.zstring[5 - i] = temp[l - i]; - cv_grfogcolor.zstring[5] = (char)choice; - } - break; - } - if (exitmenu) - { - if (currentMenu->prevMenu) - M_SetupNextMenu(currentMenu->prevMenu); - else - M_ClearMenus(true); - } -} #endif diff --git a/src/p_setup.c b/src/p_setup.c index 5e135598..578f8999 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -442,11 +442,7 @@ static void P_LoadRawSegs(UINT8 *data, size_t i) li->length = P_SegLength(li); #ifdef HWRENDER if (rendermode == render_opengl) - { li->flength = P_SegLengthFloat(li); - //Hurdler: 04/12/2000: for now, only used in hardware mode - li->lightmaps = NULL; // list of static lightmap for this seg - } li->pv1 = li->pv2 = NULL; #endif @@ -1473,6 +1469,17 @@ static void P_LoadRawSideDefs2(void *data) sec->extra_colormap->rgba += (ALPHA2INT(col[7]) << 24); else sec->extra_colormap->rgba += (25 << 24); + + /*nearest = NearestColor( + (HEX2INT(col[1]) << 4) + (HEX2INT(col[2]) << 0), + (HEX2INT(col[3]) << 4) + (HEX2INT(col[4]) << 0), + (HEX2INT(col[5]) << 4) + (HEX2INT(col[6]) << 0) + ); + + sec->extra_colormap->rgba = + pLocalPalette[nearest].s.red + + (pLocalPalette[nearest].s.green << 8) + + (pLocalPalette[nearest].s.blue << 16);*/ } else sec->extra_colormap->rgba = 0; @@ -2949,10 +2956,6 @@ boolean P_SetupLevel(boolean skipprecip) #ifdef HWRENDER // not win32 only 19990829 by Kin if (rendermode != render_soft && rendermode != render_none) { -#ifdef ALAM_LIGHTING - // BP: reset light between levels (we draw preview frame lights on current frame) - HWR_ResetLights(); -#endif // Correct missing sidedefs & deep water trick HWR_CorrectSWTricks(); HWR_CreatePlanePolygons((INT32)numnodes - 1); diff --git a/src/r_data.c b/src/r_data.c index a21ba49a..90acc280 100644 --- a/src/r_data.c +++ b/src/r_data.c @@ -1142,7 +1142,6 @@ INT32 R_ColormapNumForName(char *name) // static double deltas[256][3], map[256][3]; -static UINT8 NearestColor(UINT8 r, UINT8 g, UINT8 b); static int RoundUp(double number); INT32 R_CreateColormap(char *p1, char *p2, char *p3) @@ -1322,7 +1321,7 @@ INT32 R_CreateColormap(char *p1, char *p2, char *p3) // Thanks to quake2 source! // utils3/qdata/images.c -static UINT8 NearestColor(UINT8 r, UINT8 g, UINT8 b) +UINT8 NearestColor(UINT8 r, UINT8 g, UINT8 b) { int dr, dg, db; int distortion, bestdistortion = 256 * 256 * 4, bestcolor = 0, i; diff --git a/src/r_data.h b/src/r_data.h index 5de51ccd..5aa05286 100644 --- a/src/r_data.h +++ b/src/r_data.h @@ -97,4 +97,6 @@ const char *R_ColormapNameForNum(INT32 num); extern INT32 numtextures; +UINT8 NearestColor(UINT8 r, UINT8 g, UINT8 b); + #endif diff --git a/src/r_defs.h b/src/r_defs.h index 1cb4e081..3f6da80d 100644 --- a/src/r_defs.h +++ b/src/r_defs.h @@ -526,31 +526,6 @@ typedef struct mprecipsecnode_s boolean visited; // used in search algorithms } mprecipsecnode_t; -// for now, only used in hardware mode -// maybe later for software as well? -// that's why it's moved here -typedef struct light_s -{ - UINT16 type; // light,... (cfr #define in hwr_light.c) - - float light_xoffset; - float light_yoffset; // y offset to adjust corona's height - - UINT32 corona_color; // color of the light for static lighting - float corona_radius; // radius of the coronas - - UINT32 dynamic_color; // color of the light for dynamic lighting - float dynamic_radius; // radius of the light ball - float dynamic_sqrradius; // radius^2 of the light ball -} light_t; - -typedef struct lightmap_s -{ - float s[2], t[2]; - light_t *light; - struct lightmap_s *next; -} lightmap_t; - // // The lineseg. // @@ -579,8 +554,6 @@ typedef struct seg_s void *pv1; // polyvertex_t void *pv2; // polyvertex_t float flength; // length of the seg, used by hardware renderer - - lightmap_t *lightmaps; // for static lightmap #endif // Why slow things down by calculating lightlists for every thick side? diff --git a/src/r_main.c b/src/r_main.c index 94945af5..10a1216e 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -1397,15 +1397,8 @@ void R_RegisterEngineStuff(void) CV_RegisterVar(&cv_grgammared); CV_RegisterVar(&cv_grfovchange); CV_RegisterVar(&cv_grfog); - CV_RegisterVar(&cv_voodoocompatibility); - CV_RegisterVar(&cv_grfogcolor); CV_RegisterVar(&cv_grsoftwarefog); -#ifdef ALAM_LIGHTING - CV_RegisterVar(&cv_grstaticlighting); - CV_RegisterVar(&cv_grdynamiclighting); - CV_RegisterVar(&cv_grcoronas); - CV_RegisterVar(&cv_grcoronasize); -#endif + CV_RegisterVar(&cv_grfogdensity); CV_RegisterVar(&cv_grmd2); #endif diff --git a/src/sdl/hwsym_sdl.c b/src/sdl/hwsym_sdl.c index 05ac6450..5ee984b2 100644 --- a/src/sdl/hwsym_sdl.c +++ b/src/sdl/hwsym_sdl.c @@ -75,7 +75,8 @@ void *hwSym(const char *funcName,void *handle) void *funcPointer = NULL; #ifdef HWRENDER if (0 == strcmp("SetPalette", funcName)) - funcPointer = &OglSdlSetPalette; + funcPointer = &OglSdlSetPalette; + GETFUNC(Init); GETFUNC(Draw2DLine); GETFUNC(DrawPolygon); @@ -88,12 +89,9 @@ void *hwSym(const char *funcName,void *handle) GETFUNC(SetSpecialState); GETFUNC(GetTextureUsed); GETFUNC(DrawMD2); - GETFUNC(DrawMD2i); GETFUNC(SetTransform); GETFUNC(GetRenderVersion); -#ifdef SHUFFLE GETFUNC(PostImgRedraw); -#endif //SHUFFLE GETFUNC(FlushScreenTextures); GETFUNC(StartScreenWipe); GETFUNC(EndScreenWipe); @@ -102,6 +100,13 @@ void *hwSym(const char *funcName,void *handle) GETFUNC(MakeScreenTexture); GETFUNC(MakeScreenFinalTexture); GETFUNC(DrawScreenFinalTexture); + + // jimita + GETFUNC(LoadShaders); + GETFUNC(KillShaders); + GETFUNC(SetShader); + GETFUNC(UnSetShader); + #else //HWRENDER if (0 == strcmp("FinishUpdate", funcName)) return funcPointer; //&FinishUpdate; diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index dbaa7037..d0c34d93 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -350,11 +350,6 @@ static INT32 Impl_SDL_Scancode_To_Keycode(SDL_Scancode code) case SDL_SCANCODE_RGUI: return KEY_RIGHTWIN; default: break; } -#ifdef HWRENDER - DBG_Printf("Unknown incoming scancode: %d, represented %c\n", - code, - SDL_GetKeyName(SDL_GetKeyFromScancode(code))); -#endif return 0; } @@ -1491,12 +1486,9 @@ void I_StartupGraphics(void) HWD.pfnSetPalette = hwSym("SetPalette",NULL); HWD.pfnGetTextureUsed = hwSym("GetTextureUsed",NULL); HWD.pfnDrawMD2 = hwSym("DrawMD2",NULL); - HWD.pfnDrawMD2i = hwSym("DrawMD2i",NULL); HWD.pfnSetTransform = hwSym("SetTransform",NULL); HWD.pfnGetRenderVersion = hwSym("GetRenderVersion",NULL); -#ifdef SHUFFLE HWD.pfnPostImgRedraw = hwSym("PostImgRedraw",NULL); -#endif HWD.pfnFlushScreenTextures=hwSym("FlushScreenTextures",NULL); HWD.pfnStartScreenWipe = hwSym("StartScreenWipe",NULL); HWD.pfnEndScreenWipe = hwSym("EndScreenWipe",NULL); @@ -1505,13 +1497,18 @@ void I_StartupGraphics(void) HWD.pfnMakeScreenTexture= hwSym("MakeScreenTexture",NULL); HWD.pfnMakeScreenFinalTexture=hwSym("MakeScreenFinalTexture",NULL); HWD.pfnDrawScreenFinalTexture=hwSym("DrawScreenFinalTexture",NULL); + + // jimita + HWD.pfnLoadShaders = hwSym("LoadShaders",NULL); + HWD.pfnKillShaders = hwSym("KillShaders",NULL); + HWD.pfnSetShader = hwSym("SetShader",NULL); + HWD.pfnUnSetShader = hwSym("UnSetShader",NULL); + // check gl renderer lib if (HWD.pfnGetRenderVersion() != VERSION) I_Error("%s", M_GetText("The version of the renderer doesn't match the version of the executable\nBe sure you have installed SRB2 properly.\n")); - if (!HWD.pfnInit(I_Error)) // let load the OpenGL library - { + if (!HWD.pfnInit()) // load the OpenGL library rendermode = render_soft; - } } #endif diff --git a/src/sdl/ogl_sdl.c b/src/sdl/ogl_sdl.c index 4347b35b..9da3b38e 100644 --- a/src/sdl/ogl_sdl.c +++ b/src/sdl/ogl_sdl.c @@ -89,15 +89,15 @@ boolean LoadGL(void) const char *OGLLibname = NULL; const char *GLULibname = NULL; - if (M_CheckParm ("-OGLlib") && M_IsNextParm()) + if (M_CheckParm("-OGLlib") && M_IsNextParm()) OGLLibname = M_GetNextParm(); if (SDL_GL_LoadLibrary(OGLLibname) != 0) { - I_OutputMsg("Could not load OpenGL Library: %s\n" + CONS_Alert(CONS_ERROR, "Could not load OpenGL Library: %s\n" "Falling back to Software mode.\n", SDL_GetError()); - if (!M_CheckParm ("-OGLlib")) - I_OutputMsg("If you know what is the OpenGL library's name, use -OGLlib\n"); + if (!M_CheckParm("-OGLlib")) + CONS_Printf("If you know what is the OpenGL library's name, use -OGLlib\n"); return 0; } @@ -117,7 +117,7 @@ boolean LoadGL(void) GLULibname = NULL; #endif - if (M_CheckParm ("-GLUlib") && M_IsNextParm()) + if (M_CheckParm("-GLUlib") && M_IsNextParm()) GLULibname = M_GetNextParm(); if (GLULibname) @@ -127,15 +127,15 @@ boolean LoadGL(void) return SetupGLfunc(); else { - I_OutputMsg("Could not load GLU Library: %s\n", GLULibname); - if (!M_CheckParm ("-GLUlib")) - I_OutputMsg("If you know what is the GLU library's name, use -GLUlib\n"); + CONS_Alert(CONS_ERROR, "Could not load GLU Library: %s\n", GLULibname); + if (!M_CheckParm("-GLUlib")) + CONS_Printf("If you know what is the GLU library's name, use -GLUlib\n"); } } else { - I_OutputMsg("Could not load GLU Library\n"); - I_OutputMsg("If you know what is the GLU library's name, use -GLUlib\n"); + CONS_Alert(CONS_ERROR, "Could not load GLU Library\n"); + CONS_Printf("If you know what is the GLU library's name, use -GLUlib\n"); } #endif return SetupGLfunc(); @@ -151,31 +151,37 @@ boolean LoadGL(void) */ boolean OglSdlSurface(INT32 w, INT32 h) { - INT32 cbpp; - const GLvoid *glvendor = NULL, *glrenderer = NULL, *glversion = NULL; + INT32 cbpp = cv_scr_depth.value < 16 ? 16 : cv_scr_depth.value; + const GLvoid *gl_version = NULL, *gl_renderer = NULL; + static boolean first_init = false; - cbpp = cv_scr_depth.value < 16 ? 16 : cv_scr_depth.value; - - glvendor = pglGetString(GL_VENDOR); - // Get info and extensions. - //BP: why don't we make it earlier ? - //Hurdler: we cannot do that before intialising gl context - glrenderer = pglGetString(GL_RENDERER); - glversion = pglGetString(GL_VERSION); + gl_version = pglGetString(GL_VERSION); + gl_renderer = pglGetString(GL_RENDERER); gl_extensions = pglGetString(GL_EXTENSIONS); - - DBG_Printf("Vendor : %s\n", glvendor); - DBG_Printf("Renderer : %s\n", glrenderer); - DBG_Printf("Version : %s\n", glversion); - DBG_Printf("Extensions : %s\n", gl_extensions); oglflags = 0; + if (!first_init) + { + GL_DBG_Printf("OpenGL %s\n", (char *)gl_version); + GL_DBG_Printf("GPU: %s\n", (char *)gl_renderer); + GL_DBG_Printf("Extensions: %s\n", gl_extensions); + } + first_init = true; + if (isExtAvailable("GL_EXT_texture_filter_anisotropic", gl_extensions)) pglGetIntegerv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &maximumAnisotropy); else maximumAnisotropy = 1; - SetupGLFunc13(); + SetupGLFunc4(); + + // jimita + if (isExtAvailable("GL_ARB_compatibility", gl_extensions)) + GLEXT_legacy = true; + + if (isExtAvailable("GL_ARB_fragment_shader", gl_extensions) + && isExtAvailable("GL_ARB_vertex_shader", gl_extensions)) + GLEXT_shaders = true; granisotropicmode_cons_t[1].value = maximumAnisotropy; @@ -221,7 +227,7 @@ void OglSdlFinishUpdate(boolean waitvbl) HWR_DrawScreenFinalTexture(realwidth, realheight); } -EXPORT void HWRAPI( OglSdlSetPalette) (RGBA_t *palette, RGBA_t *pgamma) +EXPORT void HWRAPI(OglSdlSetPalette) (RGBA_t *palette, RGBA_t *pgamma) { INT32 i = -1; UINT32 redgamma = pgamma->s.red, greengamma = pgamma->s.green, diff --git a/src/st_stuff.c b/src/st_stuff.c index 1f8dbbf6..fdd5d02f 100644 --- a/src/st_stuff.c +++ b/src/st_stuff.c @@ -604,8 +604,15 @@ static void ST_drawDebugInfo(void) } if (cv_debug & DBG_MEMORY) - { V_DrawRightAlignedString(320, height, V_MONOSPACE, va("Heap used: %7sKB", sizeu1(Z_TagsUsage(0, INT32_MAX)>>10))); + + // jimita + if (cv_debug & DBG_RENDER) + { + height = 0; +#ifdef HWRENDER + V_DrawString(0, height, V_MONOSPACE|V_ALLOWLOWERCASE|V_NOSCALESTART, va("glstate_fog: %d", cv_grfog.value ? (cv_grsoftwarefog.value ? 2 : 1) : 0)); +#endif // HWRENDER } } @@ -1903,8 +1910,6 @@ static void ST_overlayDrawer(void) V_DrawCenteredString(BASEVIDWIDTH/2, STRINGY(164), V_HUDTRANSHALF, M_GetText("Press Jump to float and Spin to sink.")); } } - - ST_drawDebugInfo(); } void ST_Drawer(void) @@ -1953,4 +1958,5 @@ void ST_Drawer(void) ST_overlayDrawer(); } } + ST_drawDebugInfo(); } diff --git a/src/v_video.c b/src/v_video.c index cfe7d036..a2294731 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -58,25 +58,18 @@ static void CV_Gammaxxx_ONChange(void); // - You can change them in software, // but they won't do anything. static CV_PossibleValue_t grgamma_cons_t[] = {{1, "MIN"}, {255, "MAX"}, {0, NULL}}; -static CV_PossibleValue_t grsoftwarefog_cons_t[] = {{0, "Off"}, {1, "On"}, {2, "LightPlanes"}, {0, NULL}}; +static CV_PossibleValue_t grfogdensity_cons_t[] = {{FRACUNIT/2, "MIN"}, {FRACUNIT*2, "MAX"}, {0, NULL}}; -consvar_t cv_voodoocompatibility = {"gr_voodoocompatibility", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfovchange = {"gr_fovchange", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfog = {"gr_fog", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grfogcolor = {"gr_fogcolor", "AAAAAA", CV_SAVE, NULL, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grsoftwarefog = {"gr_softwarefog", "Off", CV_SAVE, grsoftwarefog_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grsoftwarefog = {"gr_softwarefog", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grfogdensity = {"gr_fogdensity", "1", CV_SAVE|CV_FLOAT, grfogdensity_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grgammared = {"gr_gammared", "127", CV_SAVE|CV_CALL, grgamma_cons_t, CV_Gammaxxx_ONChange, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grgammagreen = {"gr_gammagreen", "127", CV_SAVE|CV_CALL, grgamma_cons_t, CV_Gammaxxx_ONChange, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grgammablue = {"gr_gammablue", "127", CV_SAVE|CV_CALL, grgamma_cons_t, CV_Gammaxxx_ONChange, 0, NULL, NULL, 0, 0, NULL}; -#ifdef ALAM_LIGHTING -consvar_t cv_grdynamiclighting = {"gr_dynamiclighting", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grstaticlighting = {"gr_staticlighting", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grcoronas = {"gr_coronas", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grcoronasize = {"gr_coronasize", "1", CV_SAVE| CV_FLOAT, 0, NULL, 0, NULL, NULL, 0, 0, NULL}; -#endif static CV_PossibleValue_t CV_MD2[] = {{0, "Off"}, {1, "On"}, {2, "Old"}, {0, NULL}}; // console variables in development From 9879734d528c7dd523af6f056064077b498c8539 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Mon, 18 Mar 2019 15:54:29 -0300 Subject: [PATCH 022/245] I don't care about DirectDraw Neither SDL 1.2 --- src/hardware/r_opengl/ogl_win.c | 598 -------------------------------- src/sdl12/hwsym_sdl.c | 39 --- src/sdl12/i_video.c | 161 ++------- src/sdl12/ogl_sdl.c | 317 ----------------- src/sdl12/ogl_sdl.h | 30 -- src/win32/CMakeLists.txt | 5 - src/win32/win_dll.c | 93 +---- src/win32/win_dll.h | 5 - src/win32/win_vid.c | 99 +----- src/win32ce/win_dll.c | 48 +-- src/win32ce/win_dll.h | 5 - src/win32ce/win_vid.c | 95 +---- 12 files changed, 36 insertions(+), 1459 deletions(-) delete mode 100644 src/hardware/r_opengl/ogl_win.c delete mode 100644 src/sdl12/ogl_sdl.c delete mode 100644 src/sdl12/ogl_sdl.h diff --git a/src/hardware/r_opengl/ogl_win.c b/src/hardware/r_opengl/ogl_win.c deleted file mode 100644 index 7460413c..00000000 --- a/src/hardware/r_opengl/ogl_win.c +++ /dev/null @@ -1,598 +0,0 @@ -// Emacs style mode select -*- C++ -*- -//----------------------------------------------------------------------------- -// -// Copyright (C) 1998-2000 by DooM Legacy Team. -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -//----------------------------------------------------------------------------- -/// \file -/// \brief Windows specific part of the OpenGL API for Doom Legacy -/// -/// TODO: -/// - check if windowed mode works -/// - support different pixel formats - - -#if defined (_WIN32) - -//#define WIN32_LEAN_AND_MEAN -#define RPC_NO_WINDOWS_H -#include -#include -#undef GETTEXT -#include "r_opengl.h" - - -// ************************************************************************** -// GLOBALS -// ************************************************************************** - -#ifdef DEBUG_TO_FILE -static unsigned long nb_frames = 0; -static clock_t my_clock; -#endif - -static HDC hDC = NULL; // the window's device context -static HGLRC hGLRC = NULL; // the OpenGL rendering context -static HWND hWnd = NULL; -static BOOL WasFullScreen = FALSE; -static void UnSetRes(void); - -#ifdef USE_WGL_SWAP -PFNWGLEXTSWAPCONTROLPROC wglSwapIntervalEXT = NULL; -#endif - -PFNglClear pglClear; -PFNglGetIntegerv pglGetIntegerv; -PFNglGetString pglGetString; - -#define MAX_VIDEO_MODES 32 -static vmode_t video_modes[MAX_VIDEO_MODES]; -INT32 oglflags = 0; - -// ************************************************************************** -// FUNCTIONS -// ************************************************************************** - -// -----------------+ -// APIENTRY DllMain : DLL Entry Point, -// : open/close debug log -// Returns : -// -----------------+ -BOOL WINAPI DllMain(HINSTANCE hinstDLL, // handle to DLL module - DWORD fdwReason, // reason for calling function - LPVOID lpvReserved) // reserved -{ - // Perform actions based on the reason for calling. - UNREFERENCED_PARAMETER(lpvReserved); - switch (fdwReason) - { - case DLL_PROCESS_ATTACH: - // Initialize once for each new process. - // Return FALSE to fail DLL load. -#ifdef DEBUG_TO_FILE - gllogstream = fopen("ogllog.txt", "wt"); - if (gllogstream == NULL) - return FALSE; -#endif - DisableThreadLibraryCalls(hinstDLL); - break; - - case DLL_THREAD_ATTACH: - // Do thread-specific initialization. - break; - - case DLL_THREAD_DETACH: - // Do thread-specific cleanup. - break; - - case DLL_PROCESS_DETACH: - // Perform any necessary cleanup. -#ifdef DEBUG_TO_FILE - if (gllogstream) - { - fclose(gllogstream); - gllogstream = NULL; - } -#endif - break; - } - - return TRUE; // Successful DLL_PROCESS_ATTACH. -} - -#ifdef STATIC_OPENGL -#define pwglGetProcAddress wglGetProcAddress; -#define pwglCreateContext wglCreateContext; -#define pwglDeleteContext wglDeleteContext; -#define pwglMakeCurrent wglMakeCurrent; -#else -static HMODULE OGL32, GLU32; -typedef void *(WINAPI *PFNwglGetProcAddress) (const char *); -static PFNwglGetProcAddress pwglGetProcAddress; -typedef HGLRC (WINAPI *PFNwglCreateContext) (HDC hdc); -static PFNwglCreateContext pwglCreateContext; -typedef BOOL (WINAPI *PFNwglDeleteContext) (HGLRC hglrc); -static PFNwglDeleteContext pwglDeleteContext; -typedef BOOL (WINAPI *PFNwglMakeCurrent) (HDC hdc, HGLRC hglrc); -static PFNwglMakeCurrent pwglMakeCurrent; -#endif - -#ifndef STATIC_OPENGL -void *GetGLFunc(const char *proc) -{ - void *func = NULL; - if (strncmp(proc, "glu", 3) == 0) - { - if (GLU32) - func = GetProcAddress(GLU32, proc); - else - return NULL; - } - if (pwglGetProcAddress) - func = pwglGetProcAddress(proc); - if (!func) - func = GetProcAddress(OGL32, proc); - return func; -} -#endif - -boolean LoadGL(void) -{ -#ifndef STATIC_OPENGL - OGL32 = LoadLibrary("OPENGL32.DLL"); - - if (!OGL32) - return 0; - - GLU32 = LoadLibrary("GLU32.DLL"); - - pwglGetProcAddress = GetGLFunc("wglGetProcAddress"); - pwglCreateContext = GetGLFunc("wglCreateContext"); - pwglDeleteContext = GetGLFunc("wglDeleteContext"); - pwglMakeCurrent = GetGLFunc("wglMakeCurrent"); -#endif - return SetupGLfunc(); -} - -// -----------------+ -// SetupPixelFormat : Set the device context's pixel format -// Note : Because we currently use only the desktop's BPP format, all the -// : video modes in Doom Legacy OpenGL are of the same BPP, thus the -// : PixelFormat is set only once. -// : Setting the pixel format more than once on the same window -// : doesn't work. (ultimately for different pixel formats, we -// : should close the window, and re-create it) -// -----------------+ -int SetupPixelFormat(INT32 WantColorBits, INT32 WantStencilBits, INT32 WantDepthBits) -{ - static DWORD iLastPFD = 0; - INT32 nPixelFormat; - PIXELFORMATDESCRIPTOR pfd = - { - sizeof (PIXELFORMATDESCRIPTOR), // size - 1, // version - PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, - PFD_TYPE_RGBA, // color type - 32 /*WantColorBits*/, // cColorBits : prefered color depth - 0, 0, // cRedBits, cRedShift - 0, 0, // cGreenBits, cGreenShift - 0, 0, // cBlueBits, cBlueShift - 0, 0, // cAlphaBits, cAlphaShift - 0, // cAccumBits - 0, 0, 0, 0, // cAccum Red/Green/Blue/Alpha Bits - 0, // cDepthBits (0,16,24,32) - 0, // cStencilBits - 0, // cAuxBuffers - PFD_MAIN_PLANE, // iLayerType - 0, // reserved, must be zero - 0, 0, 0, // dwLayerMask, dwVisibleMask, dwDamageMask - }; - - DWORD iPFD = (WantColorBits<<16) | (WantStencilBits<<8) | WantDepthBits; - - pfd.cDepthBits = (BYTE)WantDepthBits; - pfd.cStencilBits = (BYTE)WantStencilBits; - - if (iLastPFD) - { - DBG_Printf("WARNING : SetPixelFormat() called twise not supported by all drivers !\n"); - } - - // set the pixel format only if different than the current - if (iPFD == iLastPFD) - return 2; - else - iLastPFD = iPFD; - - DBG_Printf("SetupPixelFormat() - %d ColorBits - %d StencilBits - %d DepthBits\n", - WantColorBits, WantStencilBits, WantDepthBits); - - nPixelFormat = ChoosePixelFormat(hDC, &pfd); - - if (nPixelFormat == 0) - DBG_Printf("ChoosePixelFormat() FAILED\n"); - - if (SetPixelFormat(hDC, nPixelFormat, &pfd) == 0) - { - DBG_Printf("SetPixelFormat() FAILED\n"); - return 0; - } - - return 1; -} - - -// -----------------+ -// SetRes : Set a display mode -// Notes : pcurrentmode is actually not used -// -----------------+ -static INT32 WINAPI SetRes(viddef_t *lvid, vmode_t *pcurrentmode) -{ - LPCSTR renderer; - BOOL WantFullScreen = !(lvid->u.windowed); //(lvid->u.windowed ? 0 : CDS_FULLSCREEN); - - UNREFERENCED_PARAMETER(pcurrentmode); - DBG_Printf ("SetMode(): %dx%d %d bits (%s)\n", - lvid->width, lvid->height, lvid->bpp*8, - WantFullScreen ? "fullscreen" : "windowed"); - - hWnd = lvid->WndParent; - - // BP : why flush texture ? - // if important flush also the first one (white texture) and restore it ! - Flush(); // Flush textures. - -// TODO: if not fullscreen, skip display stuff and just resize viewport stuff ... - - // Exit previous mode - //if (hGLRC) //Hurdler: TODO: check if this is valid - // UnSetRes(); - if (WasFullScreen) - ChangeDisplaySettings(NULL, CDS_FULLSCREEN); //switch in and out of fullscreen - - // Change display settings. - if (WantFullScreen) - { - DEVMODE dm; - ZeroMemory(&dm, sizeof (dm)); - dm.dmSize = sizeof (dm); - dm.dmPelsWidth = lvid->width; - dm.dmPelsHeight = lvid->height; - dm.dmBitsPerPel = lvid->bpp*8; - dm.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL; - if (ChangeDisplaySettings(&dm, CDS_TEST) != DISP_CHANGE_SUCCESSFUL) - return -2; - if (ChangeDisplaySettings(&dm, CDS_FULLSCREEN) !=DISP_CHANGE_SUCCESSFUL) - return -3; - - SetWindowLong(hWnd, GWL_STYLE, WS_POPUP|WS_VISIBLE); - // faB : book says to put these, surely for windowed mode - //WS_CLIPCHILDREN|WS_CLIPSIBLINGS); - SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, lvid->width, lvid->height, SWP_NOACTIVATE|SWP_NOZORDER); - } - else - { - RECT bounds; - INT32 x, y; - INT32 w = lvid->width, h = lvid->height; - GetWindowRect(hWnd, &bounds); - bounds.right = bounds.left+w; - bounds.bottom = bounds.top+h; - AdjustWindowRectEx(&bounds, GetWindowLong(hWnd, GWL_STYLE), (GetMenu(hWnd) != NULL), 0); - w = bounds.right-bounds.left; - h = bounds.bottom-bounds.top; - x = (GetSystemMetrics(SM_CXSCREEN)-w)/2; - y = (GetSystemMetrics(SM_CYSCREEN)-h)/2; - SetWindowPos(hWnd, NULL, x, y, w, h, SWP_NOACTIVATE|SWP_NOZORDER); - } - - if (!hDC) - hDC = GetDC(hWnd); - if (!hDC) - { - DBG_Printf("GetDC() FAILED\n"); - return 0; - } - - { - INT32 res; - - // Set res. - res = SetupPixelFormat(lvid->bpp*8, 0, 16); - - if (res == 0) - return 0; - else if (res == 1) - { - // Exit previous mode - if (hGLRC) - UnSetRes(); - hGLRC = pwglCreateContext(hDC); - if (!hGLRC) - { - DBG_Printf("pwglCreateContext() FAILED\n"); - return 0; - } - if (!pwglMakeCurrent(hDC, hGLRC)) - { - DBG_Printf("wglMakeCurrent() FAILED\n"); - return 0; - } - } - } - - gl_extensions = pglGetString(GL_EXTENSIONS); - // Get info and extensions. - //BP: why don't we make it earlier ? - //Hurdler: we cannot do that before intialising gl context - renderer = (LPCSTR)pglGetString(GL_RENDERER); - DBG_Printf("Vendor : %s\n", pglGetString(GL_VENDOR)); - DBG_Printf("Renderer : %s\n", renderer); - DBG_Printf("Version : %s\n", pglGetString(GL_VERSION)); - DBG_Printf("Extensions : %s\n", gl_extensions); - - // BP: disable advenced feature that don't work on somes hardware - // Hurdler: Now works on G400 with bios 1.6 and certified drivers 6.04 - if (strstr(renderer, "810")) oglflags |= GLF_NOZBUFREAD; - DBG_Printf("oglflags : 0x%X\n", oglflags); - -#ifdef USE_PALETTED_TEXTURE - if (isExtAvailable("GL_EXT_paletted_texture",gl_extensions)) - glColorTableEXT = GetGLFunc("glColorTableEXT"); - else - glColorTableEXT = NULL; -#endif - -#ifdef USE_WGL_SWAP - if (isExtAvailable("WGL_EXT_swap_control",gl_extensions)) - wglSwapIntervalEXT = GetGLFunc("wglSwapIntervalEXT"); - else - wglSwapIntervalEXT = NULL; -#endif - - if (isExtAvailable("GL_EXT_texture_filter_anisotropic",gl_extensions)) - pglGetIntegerv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &maximumAnisotropy); - else - maximumAnisotropy = 0; - - screen_depth = (GLbyte)(lvid->bpp*8); - if (screen_depth > 16) - textureformatGL = GL_RGBA; - else - textureformatGL = GL_RGB5_A1; - - SetModelView(lvid->width, lvid->height); - SetStates(); - // we need to clear the depth buffer. Very important!!! - pglClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); - - lvid->buffer = NULL; // unless we use the software view - lvid->direct = NULL; // direct access to video memory, old DOS crap - - WasFullScreen = WantFullScreen; - - return 1; // on renvoie une valeur pour dire que cela s'est bien pass� -} - - -// -----------------+ -// UnSetRes : Restore the original display mode -// -----------------+ -static void UnSetRes(void) -{ - DBG_Printf("UnSetRes()\n"); - - pwglMakeCurrent(hDC, NULL); - pwglDeleteContext(hGLRC); - hGLRC = NULL; - if (WasFullScreen) - ChangeDisplaySettings(NULL, CDS_FULLSCREEN); -} - - -// -----------------+ -// GetModeList : Return the list of available display modes. -// Returns : pvidmodes - points to list of detected OpenGL video modes -// : numvidmodes - number of detected OpenGL video modes -// -----------------+ -EXPORT void HWRAPI(GetModeList) (vmode_t** pvidmodes, INT32 *numvidmodes) -{ - INT32 i; - -#if 1 - INT32 iMode; -/* - faB test code - - Commented out because there might be a problem with combo (Voodoo2 + other card), - we need to get the 3D card's display modes only. -*/ - (*pvidmodes) = &video_modes[0]; - - // Get list of device modes - for (i = 0,iMode = 0; iMode < MAX_VIDEO_MODES; i++) - { - DEVMODE Tmp; - ZeroMemory(&Tmp, sizeof (Tmp)); - Tmp.dmSize = sizeof (Tmp); - if (!EnumDisplaySettings(NULL, i, &Tmp)) - break; - - // add video mode - if (Tmp.dmBitsPerPel == 16 && - (iMode == 0 || ! - (Tmp.dmPelsWidth == video_modes[iMode-1].width && - Tmp.dmPelsHeight == video_modes[iMode-1].height) - ) - ) - { - video_modes[iMode].pnext = &video_modes[iMode+1]; - video_modes[iMode].windowed = 0; // fullscreen is the default - video_modes[iMode].misc = 0; - video_modes[iMode].name = malloc(12 * sizeof (CHAR)); - sprintf(video_modes[iMode].name, "%dx%d", (INT32)Tmp.dmPelsWidth, (INT32)Tmp.dmPelsHeight); - DBG_Printf ("Mode: %s\n", video_modes[iMode].name); - video_modes[iMode].width = Tmp.dmPelsWidth; - video_modes[iMode].height = Tmp.dmPelsHeight; - video_modes[iMode].bytesperpixel = Tmp.dmBitsPerPel/8; - video_modes[iMode].rowbytes = Tmp.dmPelsWidth * video_modes[iMode].bytesperpixel; - video_modes[iMode].pextradata = NULL; - video_modes[iMode].setmode = SetRes; - iMode++; - } - } - (*numvidmodes) = iMode; -#else - - // classic video modes (fullscreen/windowed) - // Added some. Tails - INT32 res[][2] = { - { 320, 200}, - { 320, 240}, - { 400, 300}, - { 512, 384}, - { 640, 400}, - { 640, 480}, - { 800, 600}, - { 960, 600}, - {1024, 768}, - {1152, 864}, - {1280, 800}, - {1280, 960}, - {1280,1024}, - {1600,1000}, - {1680,1050}, - {1920,1200}, -}; - - HDC bpphdc; - INT32 iBitsPerPel; - - DBG_Printf ("HWRAPI GetModeList()\n"); - - bpphdc = GetDC(NULL); // on obtient le bpp actuel - iBitsPerPel = GetDeviceCaps(bpphdc, BITSPIXEL); - - ReleaseDC(NULL, bpphdc); - - (*pvidmodes) = &video_modes[0]; - (*numvidmodes) = sizeof (res) / sizeof (res[0]); - for (i = 0; i < (*numvidmodes); i++) - { - video_modes[i].pnext = &video_modes[i+1]; - video_modes[i].windowed = 0; // fullscreen is the default - video_modes[i].misc = 0; - video_modes[i].name = malloc(12 * sizeof (CHAR)); - sprintf(video_modes[i].name, "%dx%d", res[i][0], res[i][1]); - DBG_Printf ("Mode: %s\n", video_modes[i].name); - video_modes[i].width = res[i][0]; - video_modes[i].height = res[i][1]; - video_modes[i].bytesperpixel = iBitsPerPel/8; - video_modes[i].rowbytes = res[i][0] * video_modes[i].bytesperpixel; - video_modes[i].pextradata = NULL; - video_modes[i].setmode = SetRes; - } -#endif - video_modes[(*numvidmodes)-1].pnext = NULL; -} - - -// -----------------+ -// Shutdown : Shutdown OpenGL, restore the display mode -// -----------------+ -EXPORT void HWRAPI(Shutdown) (void) -{ -#ifdef DEBUG_TO_FILE - long nb_centiemes; - - DBG_Printf ("HWRAPI Shutdown()\n"); - nb_centiemes = ((clock()-my_clock)*100)/CLOCKS_PER_SEC; - DBG_Printf("Nb frames: %li; Nb sec: %2.2f -> %2.1f fps\n", - nb_frames, nb_centiemes/100.0f, (100*nb_frames)/(double)nb_centiemes); -#endif - - Flush(); - - // Exit previous mode - if (hGLRC) - UnSetRes(); - - if (hDC) - { - ReleaseDC(hWnd, hDC); - hDC = NULL; - } - FreeLibrary(GLU32); - FreeLibrary(OGL32); - DBG_Printf ("HWRAPI Shutdown(DONE)\n"); -} - -// -----------------+ -// FinishUpdate : Swap front and back buffers -// -----------------+ -EXPORT void HWRAPI(FinishUpdate) (INT32 waitvbl) -{ -#ifdef USE_WGL_SWAP - static INT32 oldwaitvbl = 0; -#else - UNREFERENCED_PARAMETER(waitvbl); -#endif - // DBG_Printf ("FinishUpdate()\n"); -#ifdef DEBUG_TO_FILE - if ((++nb_frames)==2) // on ne commence pas � la premi�re frame - my_clock = clock(); -#endif - -#ifdef USE_WGL_SWAP - if (oldwaitvbl != waitvbl && wglSwapIntervalEXT) - wglSwapIntervalEXT(waitvbl); - oldwaitvbl = waitvbl; -#endif - - SwapBuffers(hDC); -} - - -// -----------------+ -// SetPalette : Set the color lookup table for paletted textures -// : in OpenGL, we store values for conversion of paletted graphics when -// : they are downloaded to the 3D card. -// -----------------+ -EXPORT void HWRAPI(SetPalette) (RGBA_t *pal, RGBA_t *gamma) -{ - INT32 i; - - for (i = 0; i < 256; i++) - { - myPaletteData[i].s.red = (UINT8)MIN((pal[i].s.red*gamma->s.red)/127, 255); - myPaletteData[i].s.green = (UINT8)MIN((pal[i].s.green*gamma->s.green)/127, 255); - myPaletteData[i].s.blue = (UINT8)MIN((pal[i].s.blue*gamma->s.blue)/127, 255); - myPaletteData[i].s.alpha = pal[i].s.alpha; - } -#ifdef USE_PALETTED_TEXTURE - if (glColorTableEXT) - { - for (i = 0; i < 256; i++) - { - palette_tex[3*i+0] = pal[i].s.red; - palette_tex[3*i+1] = pal[i].s.green; - palette_tex[3*i+2] = pal[i].s.blue; - } - glColorTableEXT(GL_TEXTURE_2D, GL_RGB8, 256, GL_RGB, GL_UNSIGNED_BYTE, palette_tex); - } -#endif - // on a chang� de palette, il faut recharger toutes les textures - Flush(); -} - -#endif diff --git a/src/sdl12/hwsym_sdl.c b/src/sdl12/hwsym_sdl.c index 49340138..b6f6313f 100644 --- a/src/sdl12/hwsym_sdl.c +++ b/src/sdl12/hwsym_sdl.c @@ -49,14 +49,6 @@ #define _CREATE_DLL_ // necessary for Unix AND Windows -#ifdef HWRENDER -#include "../hardware/hw_drv.h" -#include "ogl_sdl.h" -#ifdef STATIC_OPENGL -#include "../hardware/r_opengl/r_opengl.h" -#endif -#endif - #ifdef HW3SOUND #include "../hardware/hw3dsdrv.h" #endif @@ -79,39 +71,8 @@ void *hwSym(const char *funcName,void *handle) { void *funcPointer = NULL; -#ifdef HWRENDER - if (0 == strcmp("SetPalette", funcName)) - funcPointer = &OglSdlSetPalette; - GETFUNC(Init); - GETFUNC(Draw2DLine); - GETFUNC(DrawPolygon); - GETFUNC(SetBlend); - GETFUNC(ClearBuffer); - GETFUNC(SetTexture); - GETFUNC(ReadRect); - GETFUNC(GClipRect); - GETFUNC(ClearMipMapCache); - GETFUNC(SetSpecialState); - GETFUNC(GetTextureUsed); - GETFUNC(DrawMD2); - GETFUNC(DrawMD2i); - GETFUNC(SetTransform); - GETFUNC(GetRenderVersion); -#ifdef SHUFFLE - GETFUNC(PostImgRedraw); -#endif //SHUFFLE - GETFUNC(FlushScreenTextures); - GETFUNC(StartScreenWipe); - GETFUNC(EndScreenWipe); - GETFUNC(DoScreenWipe); - GETFUNC(DrawIntermissionBG); - GETFUNC(MakeScreenTexture); - GETFUNC(MakeScreenFinalTexture); - GETFUNC(DrawScreenFinalTexture); -#else //HWRENDER if (0 == strcmp("FinishUpdate", funcName)) return funcPointer; //&FinishUpdate; -#endif //!HWRENDER #ifdef STATIC3DS GETFUNC(Startup); GETFUNC(AddSfx); diff --git a/src/sdl12/i_video.c b/src/sdl12/i_video.c index 349e06cb..253a8d06 100644 --- a/src/sdl12/i_video.c +++ b/src/sdl12/i_video.c @@ -104,13 +104,6 @@ #include "../console.h" #include "../command.h" #include "sdlmain.h" -#ifdef HWRENDER -#include "../hardware/hw_main.h" -#include "../hardware/hw_drv.h" -// For dynamic referencing of HW rendering functions -#include "hwsym_sdl.h" -#include "ogl_sdl.h" -#endif #ifdef REMOTE_DEBUGGING #ifdef _WII @@ -169,9 +162,7 @@ static SDL_bool disable_mouse = SDL_FALSE; static INT32 firstEntry = 0; // SDL vars -#ifndef HWRENDER //[segabor] !!! I had problem compiling this source with gcc 3.3 static SDL_Surface *vidSurface = NULL; -#endif static SDL_Surface *bufSurface = NULL; static SDL_Surface *icoSurface = NULL; static SDL_Color localPalette[256]; @@ -664,11 +655,7 @@ static void VID_Command_ModeList_f(void) { #if !defined (DC) && !defined (_WIN32_WCE) && !defined (_PSP) && !defined(GP2X) INT32 i; -#ifdef HWRENDER - if (rendermode == render_opengl) - modeList = SDL_ListModes(NULL, SDL_OPENGL|SDL_FULLSCREEN); - else -#endif + modeList = SDL_ListModes(NULL, surfaceFlagsF|SDL_HWSURFACE); //Alam: At least hardware surface if (modeList == (SDL_Rect **)0 && cv_fullscreen.value) @@ -1277,11 +1264,7 @@ void I_UpdateNoBlit(void) { if (!vidSurface) return; -#ifdef HWRENDER - if (rendermode != render_soft) - OglSdlFinishUpdate(cv_vidwait.value); - else -#endif + if (vidSurface->flags&SDL_DOUBLEBUF) SDL_Flip(vidSurface); else if (exposevideo) @@ -1492,12 +1475,6 @@ void I_FinishUpdate(void) else I_OutputMsg("%s\n",SDL_GetError()); } -#ifdef HWRENDER - else - { - OglSdlFinishUpdate(cv_vidwait.value); - } -#endif exposevideo = SDL_FALSE; } @@ -1644,11 +1621,6 @@ void VID_PrepareModeList(void) firstEntry = 0; -#ifdef HWRENDER - if (rendermode == render_opengl) - modeList = SDL_ListModes(NULL, SDL_OPENGL|SDL_FULLSCREEN); - else -#endif modeList = SDL_ListModes(NULL, surfaceFlagsF|SDL_HWSURFACE); //Alam: At least hardware surface if (disable_fullscreen?0:cv_fullscreen.value) // only fullscreen needs preparation @@ -1784,23 +1756,6 @@ INT32 VID_SetMode(INT32 modeNum) I_Error("Could not set vidmode: %s\n",SDL_GetError()); } } -#ifdef HWRENDER - else // (render_soft != rendermode) - { - if (!OglSdlSurface(vid.width, vid.height, true)) - { - cv_fullscreen.value = 0; - modeNum = VID_GetModeForSize(vid.width,vid.height); - vid.width = windowedModes[modeNum][0]; - vid.height = windowedModes[modeNum][1]; - if (!OglSdlSurface(vid.width, vid.height,false)) - I_Error("Could not set vidmode: %s\n",SDL_GetError()); - } - - realwidth = (Uint16)vid.width; - realheight = (Uint16)vid.height; - } -#endif } else //(cv_fullscreen.value) { @@ -1813,15 +1768,6 @@ INT32 VID_SetMode(INT32 modeNum) if (!vidSurface) I_Error("Could not set vidmode: %s\n",SDL_GetError()); } -#ifdef HWRENDER - else //(render_soft != rendermode) - { - if (!OglSdlSurface(vid.width, vid.height, false)) - I_Error("Could not set vidmode: %s\n",SDL_GetError()); - realwidth = (Uint16)vid.width; - realheight = (Uint16)vid.height; - } -#endif } vid.modenum = VID_GetModeForSize(vidSurface->w,vidSurface->h); @@ -1948,92 +1894,31 @@ void I_StartupGraphics(void) //DisableAero(); //also disable Aero on Vista #endif -#ifdef HWRENDER - if (M_CheckParm("-opengl") || rendermode == render_opengl) - { - rendermode = render_opengl; - HWD.pfnInit = hwSym("Init",NULL); - HWD.pfnFinishUpdate = NULL; - HWD.pfnDraw2DLine = hwSym("Draw2DLine",NULL); - HWD.pfnDrawPolygon = hwSym("DrawPolygon",NULL); - HWD.pfnSetBlend = hwSym("SetBlend",NULL); - HWD.pfnClearBuffer = hwSym("ClearBuffer",NULL); - HWD.pfnSetTexture = hwSym("SetTexture",NULL); - HWD.pfnReadRect = hwSym("ReadRect",NULL); - HWD.pfnGClipRect = hwSym("GClipRect",NULL); - HWD.pfnClearMipMapCache = hwSym("ClearMipMapCache",NULL); - HWD.pfnSetSpecialState = hwSym("SetSpecialState",NULL); - HWD.pfnSetPalette = hwSym("SetPalette",NULL); - HWD.pfnGetTextureUsed = hwSym("GetTextureUsed",NULL); - HWD.pfnDrawMD2 = hwSym("DrawMD2",NULL); - HWD.pfnDrawMD2i = hwSym("DrawMD2i",NULL); - HWD.pfnSetTransform = hwSym("SetTransform",NULL); - HWD.pfnGetRenderVersion = hwSym("GetRenderVersion",NULL); -#ifdef SHUFFLE - HWD.pfnPostImgRedraw = hwSym("PostImgRedraw",NULL); -#endif - HWD.pfnFlushScreenTextures=hwSym("FlushScreenTextures",NULL); - HWD.pfnStartScreenWipe = hwSym("StartScreenWipe",NULL); - HWD.pfnEndScreenWipe = hwSym("EndScreenWipe",NULL); - HWD.pfnDoScreenWipe = hwSym("DoScreenWipe",NULL); - HWD.pfnDrawIntermissionBG=hwSym("DrawIntermissionBG",NULL); - HWD.pfnMakeScreenTexture= hwSym("MakeScreenTexture",NULL); - // check gl renderer lib - if (HWD.pfnGetRenderVersion() != VERSION) - I_Error("%s", M_GetText("The version of the renderer doesn't match the version of the executable\nBe sure you have installed SRB2 properly.\n")); -#if 1 //#ifdef _WIN32_WCE - vid.width = BASEVIDWIDTH; - vid.height = BASEVIDHEIGHT; -#else - vid.width = 640; // hack to make voodoo cards work in 640x480 - vid.height = 480; -#endif - if (HWD.pfnInit(I_Error)) // let load the OpenGL library - { - /* - * We want at least 1 bit R, G, and B, - * and at least 16 bpp. Why 1 bit? May be more? - */ - SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 1); - SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 1); - SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 1); - SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); - if (!OglSdlSurface(vid.width, vid.height, (USE_FULLSCREEN))) - if (!OglSdlSurface(vid.width, vid.height, !(USE_FULLSCREEN))) - rendermode = render_soft; - } - else - rendermode = render_soft; - } -#else rendermode = render_soft; //force software mode when there no HWRENDER code -#endif - if (render_soft == rendermode) - { #if defined(_WII) - vid.width = 640; - vid.height = 480; + vid.width = 640; + vid.height = 480; #elif defined(_PS3) - vid.width = 720; - vid.height = 480; + vid.width = 720; + vid.height = 480; #else - vid.width = BASEVIDWIDTH; - vid.height = BASEVIDHEIGHT; + vid.width = BASEVIDWIDTH; + vid.height = BASEVIDHEIGHT; #endif - SDLSetMode(vid.width, vid.height, BitsPerPixel, surfaceFlagsW); - if (!vidSurface) - { - CONS_Printf(M_GetText("Could not set vidmode: %s\n") ,SDL_GetError()); - vid.rowbytes = 0; - graphics_started = true; - return; - } - vid.rowbytes = vid.width * vid.bpp; - vid.direct = SDLGetDirect(); - vid.buffer = malloc(vid.rowbytes*vid.height*NUMSCREENS); - if (vid.buffer) memset(vid.buffer,0x00,vid.rowbytes*vid.height*NUMSCREENS); - else CONS_Printf("%s", M_GetText("Not enough memory for video buffer\n")); + SDLSetMode(vid.width, vid.height, BitsPerPixel, surfaceFlagsW); + if (!vidSurface) + { + CONS_Printf(M_GetText("Could not set vidmode: %s\n") ,SDL_GetError()); + vid.rowbytes = 0; + graphics_started = true; + return; } + vid.rowbytes = vid.width * vid.bpp; + vid.direct = SDLGetDirect(); + vid.buffer = malloc(vid.rowbytes*vid.height*NUMSCREENS); + if (vid.buffer) memset(vid.buffer,0x00,vid.rowbytes*vid.height*NUMSCREENS); + else CONS_Printf("%s", M_GetText("Not enough memory for video buffer\n")); + if (M_CheckParm("-nomousegrab")) mousegrabok = SDL_FALSE; #ifdef _DEBUG @@ -2089,10 +1974,6 @@ void I_ShutdownGraphics(void) #endif graphics_started = false; CONS_Printf("%s", M_GetText("shut down\n")); -#ifdef HWRENDER - if (GLUhandle) - hwClose(GLUhandle); -#endif #ifndef _arch_dreamcast SDL_QuitSubSystem(SDL_INIT_VIDEO); #endif diff --git a/src/sdl12/ogl_sdl.c b/src/sdl12/ogl_sdl.c deleted file mode 100644 index eb7e9996..00000000 --- a/src/sdl12/ogl_sdl.c +++ /dev/null @@ -1,317 +0,0 @@ -// Emacs style mode select -*- C++ -*- -//----------------------------------------------------------------------------- -// -// Copyright (C) 1998-2000 by DooM Legacy Team. -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -//----------------------------------------------------------------------------- -/// \file -/// \brief SDL specific part of the OpenGL API for SRB2 - -#ifdef _MSC_VER -#pragma warning(disable : 4214 4244) -#endif - -#ifdef HAVE_SDL - -#include "SDL.h" - -#ifdef _MSC_VER -#pragma warning(default : 4214 4244) -#endif - -#include "../doomdef.h" - -#ifdef HWRENDER -#include "../hardware/r_opengl/r_opengl.h" -#include "ogl_sdl.h" -#include "../i_system.h" -#include "hwsym_sdl.h" -#include "../m_argv.h" - -#ifdef DEBUG_TO_FILE -#include -#if defined (_WIN32) && !defined (__CYGWIN__) -#include -#else -#include -#endif -#include -#include -#endif - -#ifdef USE_WGL_SWAP -PFNWGLEXTSWAPCONTROLPROC wglSwapIntervalEXT = NULL; -#else -typedef int (*PFNGLXSWAPINTERVALPROC) (int); -PFNGLXSWAPINTERVALPROC glXSwapIntervalSGIEXT = NULL; -#endif - -#ifndef STATIC_OPENGL -PFNglClear pglClear; -PFNglGetIntegerv pglGetIntegerv; -PFNglGetString pglGetString; -#endif - -#ifdef _PSP -static const Uint32 WOGLFlags = SDL_HWSURFACE|SDL_OPENGL/*|SDL_RESIZABLE*/; -static const Uint32 FOGLFlags = SDL_HWSURFACE|SDL_OPENGL|SDL_FULLSCREEN; -#else -static const Uint32 WOGLFlags = SDL_OPENGL/*|SDL_RESIZABLE*/; -static const Uint32 FOGLFlags = SDL_OPENGL|SDL_FULLSCREEN; -#endif - -/** \brief SDL video display surface -*/ -SDL_Surface *vidSurface = NULL; -INT32 oglflags = 0; -void *GLUhandle = NULL; - -#ifndef STATIC_OPENGL -void *GetGLFunc(const char *proc) -{ - if (strncmp(proc, "glu", 3) == 0) - { - if (GLUhandle) - return hwSym(proc, GLUhandle); - else - return NULL; - } - return SDL_GL_GetProcAddress(proc); -} -#endif - -boolean LoadGL(void) -{ -#ifndef STATIC_OPENGL - const char *OGLLibname = NULL; - const char *GLULibname = NULL; - - if (M_CheckParm ("-OGLlib") && M_IsNextParm()) - OGLLibname = M_GetNextParm(); - - if (SDL_GL_LoadLibrary(OGLLibname) != 0) - { - I_OutputMsg("Could not load OpenGL Library: %s\n" - "Falling back to Software mode.\n", SDL_GetError()); - if (!M_CheckParm ("-OGLlib")) - I_OutputMsg("If you know what is the OpenGL library's name, use -OGLlib\n"); - return 0; - } - -#if 0 - GLULibname = "/proc/self/exe"; -#elif defined (_WIN32) - GLULibname = "GLU32.DLL"; -#elif defined (__MACH__) - GLULibname = "/System/Library/Frameworks/OpenGL.framework/Libraries/libGLU.dylib"; -#elif defined (macintos) - GLULibname = "OpenGLLibrary"; -#elif defined (__unix__) - GLULibname = "libGLU.so.1"; -#elif defined (__HAIKU__) - GLULibname = "libGLU.so"; -#else - GLULibname = NULL; -#endif - - if (M_CheckParm ("-GLUlib") && M_IsNextParm()) - GLULibname = M_GetNextParm(); - - if (GLULibname) - { - GLUhandle = hwOpen(GLULibname); - if (GLUhandle) - return SetupGLfunc(); - else - { - I_OutputMsg("Could not load GLU Library: %s\n", GLULibname); - if (!M_CheckParm ("-GLUlib")) - I_OutputMsg("If you know what is the GLU library's name, use -GLUlib\n"); - } - } - else - { - I_OutputMsg("Could not load GLU Library\n"); - I_OutputMsg("If you know what is the GLU library's name, use -GLUlib\n"); - } -#endif - return SetupGLfunc(); -} - -/** \brief The OglSdlSurface function - - \param w width - \param h height - \param isFullscreen if true, go fullscreen - - \return if true, changed video mode -*/ -boolean OglSdlSurface(INT32 w, INT32 h, boolean isFullscreen) -{ - INT32 cbpp; - Uint32 OGLFlags; - const GLvoid *glvendor = NULL, *glrenderer = NULL, *glversion = NULL; - - cbpp = cv_scr_depth.value < 16 ? 16 : cv_scr_depth.value; - - if (vidSurface) - { - //Alam: SDL_Video system free vidSurface for me -#ifdef VOODOOSAFESWITCHING - SDL_QuitSubSystem(SDL_INIT_VIDEO); - SDL_InitSubSystem(SDL_INIT_VIDEO); -#endif - } - - if (isFullscreen) - OGLFlags = FOGLFlags; - else - OGLFlags = WOGLFlags; - - cbpp = SDL_VideoModeOK(w, h, cbpp, OGLFlags); - if (cbpp < 16) - return true; //Alam: Let just say we did, ok? - - vidSurface = SDL_SetVideoMode(w, h, cbpp, OGLFlags); - if (!vidSurface) - return false; - - glvendor = pglGetString(GL_VENDOR); - // Get info and extensions. - //BP: why don't we make it earlier ? - //Hurdler: we cannot do that before intialising gl context - glrenderer = pglGetString(GL_RENDERER); - glversion = pglGetString(GL_VERSION); - gl_extensions = pglGetString(GL_EXTENSIONS); - - DBG_Printf("Vendor : %s\n", glvendor); - DBG_Printf("Renderer : %s\n", glrenderer); - DBG_Printf("Version : %s\n", glversion); - DBG_Printf("Extensions : %s\n", gl_extensions); - oglflags = 0; - -#ifdef _WIN32 - // BP: disable advenced feature that don't work on somes hardware - // Hurdler: Now works on G400 with bios 1.6 and certified drivers 6.04 - if (strstr(glrenderer, "810")) oglflags |= GLF_NOZBUFREAD; -#elif defined (unix) || defined (UNIXCOMMON) - // disable advanced features not working on somes hardware - if (strstr(glrenderer, "G200")) oglflags |= GLF_NOTEXENV; - if (strstr(glrenderer, "G400")) oglflags |= GLF_NOTEXENV; -#endif - DBG_Printf("oglflags : 0x%X\n", oglflags ); - -#ifdef USE_PALETTED_TEXTURE - if (isExtAvailable("GL_EXT_paletted_texture", gl_extensions)) - glColorTableEXT = SDL_GL_GetProcAddress("glColorTableEXT"); - else - glColorTableEXT = NULL; -#endif - -#ifdef USE_WGL_SWAP - if (isExtAvailable("WGL_EXT_swap_control", gl_extensions)) - wglSwapIntervalEXT = SDL_GL_GetProcAddress("wglSwapIntervalEXT"); - else - wglSwapIntervalEXT = NULL; -#else - if (isExtAvailable("GLX_SGI_swap_control", gl_extensions)) - glXSwapIntervalSGIEXT = SDL_GL_GetProcAddress("glXSwapIntervalSGI"); - else - glXSwapIntervalSGIEXT = NULL; -#endif - -#ifndef KOS_GL_COMPATIBILITY - if (isExtAvailable("GL_EXT_texture_filter_anisotropic", gl_extensions)) - pglGetIntegerv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &maximumAnisotropy); - else -#endif - maximumAnisotropy = 0; - - SetupGLFunc13(); - - granisotropicmode_cons_t[1].value = maximumAnisotropy; - - SetModelView(w, h); - SetStates(); - pglClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); - - HWR_Startup(); -#ifdef KOS_GL_COMPATIBILITY - textureformatGL = GL_ARGB4444; -#else - textureformatGL = cbpp > 16 ? GL_RGBA : GL_RGB5_A1; -#endif - - return true; -} - -/** \brief The OglSdlFinishUpdate function - - \param vidwait wait for video sync - - \return void -*/ -void OglSdlFinishUpdate(boolean waitvbl) -{ - static boolean oldwaitvbl = false; - if (oldwaitvbl != waitvbl) - { -#ifdef USE_WGL_SWAP - if (wglSwapIntervalEXT) - wglSwapIntervalEXT(waitvbl); -#else - if (glXSwapIntervalSGIEXT) - glXSwapIntervalSGIEXT(waitvbl); -#endif - } - oldwaitvbl = waitvbl; - - SDL_GL_SwapBuffers(); -} - -EXPORT void HWRAPI( OglSdlSetPalette) (RGBA_t *palette, RGBA_t *pgamma) -{ - INT32 i = -1; - UINT32 redgamma = pgamma->s.red, greengamma = pgamma->s.green, - bluegamma = pgamma->s.blue; - -#if 0 // changing the gamma to 127 is a bad idea - i = SDL_SetGamma(byteasfloat(redgamma), byteasfloat(greengamma), byteasfloat(bluegamma)); -#endif - if (i == 0) redgamma = greengamma = bluegamma = 0x7F; //Alam: cool - for (i = 0; i < 256; i++) - { - myPaletteData[i].s.red = (UINT8)MIN((palette[i].s.red * redgamma) /127, 255); - myPaletteData[i].s.green = (UINT8)MIN((palette[i].s.green * greengamma)/127, 255); - myPaletteData[i].s.blue = (UINT8)MIN((palette[i].s.blue * bluegamma) /127, 255); - myPaletteData[i].s.alpha = palette[i].s.alpha; - } -#ifdef USE_PALETTED_TEXTURE - if (glColorTableEXT) - { - for (i = 0; i < 256; i++) - { - palette_tex[(3*i)+0] = palette[i].s.red; - palette_tex[(3*i)+1] = palette[i].s.green; - palette_tex[(3*i)+2] = palette[i].s.blue; - } - glColorTableEXT(GL_TEXTURE_2D, GL_RGB8, 256, GL_RGB, GL_UNSIGNED_BYTE, palette_tex); - } -#endif - // on a chang�de palette, il faut recharger toutes les textures - // jaja, und noch viel mehr ;-) - Flush(); -} - -#endif //HWRENDER -#endif //SDL diff --git a/src/sdl12/ogl_sdl.h b/src/sdl12/ogl_sdl.h deleted file mode 100644 index 43c28fa4..00000000 --- a/src/sdl12/ogl_sdl.h +++ /dev/null @@ -1,30 +0,0 @@ -// Emacs style mode select -*- C++ -*- -//----------------------------------------------------------------------------- -// -// Copyright (C) 1998-2000 by DooM Legacy Team. -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -//----------------------------------------------------------------------------- -/// \file -/// \brief SDL specific part of the OpenGL API for SRB2 - -#include "../v_video.h" - -extern SDL_Surface *vidSurface; -extern void *GLUhandle; - -boolean OglSdlSurface(INT32 w, INT32 h, boolean isFullscreen); - -void OglSdlFinishUpdate(boolean vidwait); - -#ifdef _CREATE_DLL_ -EXPORT void HWRAPI( OglSdlSetPalette ) (RGBA_t *palette, RGBA_t *pgamma); -#endif diff --git a/src/win32/CMakeLists.txt b/src/win32/CMakeLists.txt index 39b01588..71ce88d0 100644 --- a/src/win32/CMakeLists.txt +++ b/src/win32/CMakeLists.txt @@ -1,10 +1,5 @@ file(GLOB SRB2_WIN_SOURCES *.c *.h *.rc) -if(${SRB2_CONFIG_HWRENDER}) - set(SRB2_WIN_SOURCES ${SRB2_WIN_SOURCES} ${SRB2_HWRENDER_SOURCES} ${SRB2_HWRENDER_HEADERS}) - set(SRB2_WIN_SOURCES ${SRB2_WIN_SOURCES} ${SRB2_R_OPENGL_SOURCES} ${SRB2_R_OPENGL_HEADERS}) -endif() - add_executable(SRB2DD EXCLUDE_FROM_ALL WIN32 ${SRB2_WIN_SOURCES} ) diff --git a/src/win32/win_dll.c b/src/win32/win_dll.c index 71eda043..77ddc6e3 100644 --- a/src/win32/win_dll.c +++ b/src/win32/win_dll.c @@ -17,9 +17,6 @@ /// \brief load and initialise the 3D driver DLL #include "../doomdef.h" -#ifdef HWRENDER -#include "../hardware/hw_drv.h" // get the standard 3D Driver DLL exports prototypes -#endif #ifdef HW3SOUND #include "../hardware/hw3dsdrv.h" // get the 3D sound driver DLL export prototypes @@ -30,7 +27,7 @@ #include "win_dll.h" #include "win_main.h" // I_ShowLastError() -#if defined(HWRENDER) || defined(HW3SOUND) +#if defined(HW3SOUND) typedef struct loadfunc_s { LPCSTR fnName; LPVOID fnPointer; @@ -84,94 +81,6 @@ static VOID UnloadDLL (HMODULE* pModule) } #endif -// ========================================================================== -// STANDARD 3D DRIVER DLL FOR DOOM LEGACY -// ========================================================================== - -// note : the 3D driver loading should be put somewhere else.. - -#ifdef HWRENDER -static HMODULE hwdModule = NULL; - -static loadfunc_t hwdFuncTable[] = { -#ifdef _X86_ - {"Init@4", &hwdriver.pfnInit}, - {"Shutdown@0", &hwdriver.pfnShutdown}, - {"GetModeList@8", &hwdriver.pfnGetModeList}, - {"SetPalette@8", &hwdriver.pfnSetPalette}, - {"FinishUpdate@4", &hwdriver.pfnFinishUpdate}, - {"Draw2DLine@12", &hwdriver.pfnDraw2DLine}, - {"DrawPolygon@16", &hwdriver.pfnDrawPolygon}, - {"SetBlend@4", &hwdriver.pfnSetBlend}, - {"ClearBuffer@12", &hwdriver.pfnClearBuffer}, - {"SetTexture@4", &hwdriver.pfnSetTexture}, - {"ReadRect@24", &hwdriver.pfnReadRect}, - {"GClipRect@20", &hwdriver.pfnGClipRect}, - {"ClearMipMapCache@0", &hwdriver.pfnClearMipMapCache}, - {"SetSpecialState@8", &hwdriver.pfnSetSpecialState}, - {"DrawMD2@16", &hwdriver.pfnDrawMD2}, - {"DrawMD2i@36", &hwdriver.pfnDrawMD2i}, - {"SetTransform@4", &hwdriver.pfnSetTransform}, - {"GetTextureUsed@0", &hwdriver.pfnGetTextureUsed}, - {"GetRenderVersion@0", &hwdriver.pfnGetRenderVersion}, -#ifdef SHUFFLE - {"PostImgRedraw@4", &hwdriver.pfnPostImgRedraw}, -#endif - {"FlushScreenTextures@0",&hwdriver.pfnFlushScreenTextures}, - {"StartScreenWipe@0", &hwdriver.pfnStartScreenWipe}, - {"EndScreenWipe@0", &hwdriver.pfnEndScreenWipe}, - {"DoScreenWipe@4", &hwdriver.pfnDoScreenWipe}, - {"DrawIntermissionBG@0",&hwdriver.pfnDrawIntermissionBG}, - {"MakeScreenTexture@0", &hwdriver.pfnMakeScreenTexture}, - {"MakeScreenFinalTexture@0", &hwdriver.pfnMakeScreenFinalTexture}, - {"DrawScreenFinalTexture@8", &hwdriver.pfnDrawScreenFinalTexture}, -#else - {"Init", &hwdriver.pfnInit}, - {"Shutdown", &hwdriver.pfnShutdown}, - {"GetModeList", &hwdriver.pfnGetModeList}, - {"SetPalette", &hwdriver.pfnSetPalette}, - {"FinishUpdate", &hwdriver.pfnFinishUpdate}, - {"Draw2DLine", &hwdriver.pfnDraw2DLine}, - {"DrawPolygon", &hwdriver.pfnDrawPolygon}, - {"SetBlend", &hwdriver.pfnSetBlend}, - {"ClearBuffer", &hwdriver.pfnClearBuffer}, - {"SetTexture", &hwdriver.pfnSetTexture}, - {"ReadRect", &hwdriver.pfnReadRect}, - {"GClipRect", &hwdriver.pfnGClipRect}, - {"ClearMipMapCache", &hwdriver.pfnClearMipMapCache}, - {"SetSpecialState", &hwdriver.pfnSetSpecialState}, - {"DrawMD2", &hwdriver.pfnDrawMD2}, - {"DrawMD2i", &hwdriver.pfnDrawMD2i}, - {"SetTransform", &hwdriver.pfnSetTransform}, - {"GetTextureUsed", &hwdriver.pfnGetTextureUsed}, - {"GetRenderVersion", &hwdriver.pfnGetRenderVersion}, -#ifdef SHUFFLE - {"PostImgRedraw", &hwdriver.pfnPostImgRedraw}, -#endif - {"FlushScreenTextures", &hwdriver.pfnFlushScreenTextures}, - {"StartScreenWipe", &hwdriver.pfnStartScreenWipe}, - {"EndScreenWipe", &hwdriver.pfnEndScreenWipe}, - {"DoScreenWipe", &hwdriver.pfnDoScreenWipe}, - {"DrawIntermissionBG", &hwdriver.pfnDrawIntermissionBG}, - {"MakeScreenTexture", &hwdriver.pfnMakeScreenTexture}, - {"MakeScreenFinalTexture", &hwdriver.pfnMakeScreenFinalTexture}, - {"DrawScreenFinalTexture", &hwdriver.pfnDrawScreenFinalTexture}, -#endif - {NULL,NULL} -}; - -BOOL Init3DDriver (LPCSTR dllName) -{ - hwdModule = LoadDLL(dllName, hwdFuncTable); - return (hwdModule != NULL); -} - -VOID Shutdown3DDriver (VOID) -{ - UnloadDLL(&hwdModule); -} -#endif - #ifdef HW3SOUND static HMODULE hwsModule = NULL; diff --git a/src/win32/win_dll.h b/src/win32/win_dll.h index b4b25958..f69a8c21 100644 --- a/src/win32/win_dll.h +++ b/src/win32/win_dll.h @@ -20,11 +20,6 @@ #define RPC_NO_WINDOWS_H #include -#ifdef HWRENDER -BOOL Init3DDriver (LPCSTR dllName); -VOID Shutdown3DDriver (VOID); -#endif - #ifdef HW3SOUND BOOL Init3DSDriver(LPCSTR dllName); VOID Shutdown3DSDriver(VOID); diff --git a/src/win32/win_vid.c b/src/win32/win_vid.c index cca7810b..1a072aba 100644 --- a/src/win32/win_vid.c +++ b/src/win32/win_vid.c @@ -36,12 +36,6 @@ #include "../command.h" #include "../screen.h" -#ifdef HWRENDER -#include "win_dll.h" // loading the render DLL -#include "../hardware/hw_drv.h" // calling driver init & shutdown -#include "../hardware/hw_main.h" // calling HWR module init & shutdown -#endif - // ------- // Globals // ------- @@ -222,12 +216,7 @@ void I_StartupGraphics(void) if (graphics_started) return; -#ifdef HWRENDER - else if (M_CheckParm("-opengl")) - rendermode = render_opengl; - else -#endif - rendermode = render_soft; + rendermode = render_soft; if (dedicated) rendermode = render_none; @@ -245,10 +234,6 @@ void I_StartupGraphics(void) // ------------------ void I_ShutdownGraphics(void) { -#ifdef HWRENDER - const rendermode_t oldrendermode = rendermode; -#endif - // This is BAD because it makes the I_Error box screw up! // rendermode = render_none; @@ -273,15 +258,6 @@ void I_ShutdownGraphics(void) bmiMain = NULL; } -#ifdef HWRENDER - if (oldrendermode != render_soft) - { - HWR_Shutdown(); // free stuff from the hardware renderer - HWD.pfnShutdown(); // close 3d card display - Shutdown3DDriver(); // free the driver DLL - } -#endif - // free the last video mode screen buffers if (vid.buffer) { @@ -289,10 +265,7 @@ void I_ShutdownGraphics(void) vid.buffer = NULL; } -#ifdef HWRENDER - if (rendermode == render_soft) -#endif - CloseDirectDraw(); + CloseDirectDraw(); graphics_started = false; } @@ -378,11 +351,6 @@ void I_FinishUpdate(void) DIB_RGB_COLORS); } else -#ifdef HWRENDER - if (rendermode != render_soft) - HWD.pfnFinishUpdate(cv_vidwait.value); - else -#endif { // DIRECT DRAW // copy virtual screen to real screen @@ -484,9 +452,6 @@ void I_SetPalette(RGBA_t *palette) } } else -#ifdef HWRENDER - if (rendermode == render_soft) -#endif { PALETTEENTRY mainpal[256]; @@ -678,56 +643,14 @@ static VOID VID_Init(VOID) bDIBMode = TRUE; bAppFullScreen = FALSE; -#ifdef HWRENDER - // initialize the appropriate display device - if (rendermode != render_soft) + if (!bWinParm) { - const char *drvname = NULL; - - switch (rendermode) - { - case render_opengl: - drvname = "r_opengl.dll"; - break; - default: - I_Error("Unknown hardware render mode"); - } - - // load the DLL - if (drvname && Init3DDriver(drvname)) - { - int hwdversion = HWD.pfnGetRenderVersion(); - if (hwdversion != VERSION) - CONS_Alert(CONS_WARNING, M_GetText("This r_opengl version is not supported, use it at your own risk!\n")); - - // perform initialisations - HWD.pfnInit(I_Error); - // get available display modes for the device - HWD.pfnGetModeList(&pvidmodes, &numvidmodes); - } - else - { - switch (rendermode) - { - case render_opengl: - I_Error("Error initializing OpenGL"); - default: - break; - } - rendermode = render_soft; - } + if (!CreateDirectDrawInstance()) + bWinParm = TRUE; + else // get available display modes for the device + VID_GetExtraModes(); } - if (rendermode == render_soft) -#endif - if (!bWinParm) - { - if (!CreateDirectDrawInstance()) - bWinParm = TRUE; - else // get available display modes for the device - VID_GetExtraModes(); - } - // the game boots in 320x200 standard VGA, but // we need a highcolor mode to run the game in highcolor if (highcolor && !numvidmodes) @@ -925,14 +848,6 @@ INT32 VID_SetMode(INT32 modenum) // we switch to fullscreen bAppFullScreen = TRUE; bDIBMode = FALSE; -#ifdef HWRENDER - if (rendermode != render_soft) - { - // purge all patch graphics stored in software format - //Z_FreeTags (PU_PURGELEVEL, PU_PURGELEVEL+100); - HWR_Startup(); - } -#endif } I_RestartSysMouse(); diff --git a/src/win32ce/win_dll.c b/src/win32ce/win_dll.c index 8b88f84d..2bda7126 100644 --- a/src/win32ce/win_dll.c +++ b/src/win32ce/win_dll.c @@ -17,9 +17,6 @@ /// \brief load and initialise the 3D driver DLL #include "../doomdef.h" -#ifdef HWRENDER -#include "../hardware/hw_drv.h" // get the standard 3D Driver DLL exports prototypes -#endif #ifdef HW3SOUND #include "../hardware/hw3dsdrv.h" // get the 3D sound driver DLL export prototypes @@ -28,7 +25,7 @@ #include "win_dll.h" #include "win_main.h" // I_GetLastErrorMsgBox() -#if defined(HWRENDER) || defined(HW3SOUND) +#if defined(HW3SOUND) typedef struct loadfunc_s { LPCSTR fnName; LPVOID fnPointer; @@ -82,49 +79,6 @@ static inline VOID UnloadDLL (HMODULE* pModule) } #endif -// ========================================================================== -// STANDARD 3D DRIVER DLL FOR DOOM LEGACY -// ========================================================================== - -// note : the 3D driver loading should be put somewhere else.. - -#ifdef HWRENDER -static HMODULE hwdModule = NULL; - -static loadfunc_t hwdFuncTable[] = { - {"_Init@4", &hwdriver.pfnInit}, - {"_Shutdown@0", &hwdriver.pfnShutdown}, - {"_GetModeList@8", &hwdriver.pfnGetModeList}, - {"_SetPalette@8", &hwdriver.pfnSetPalette}, - {"_FinishUpdate@4", &hwdriver.pfnFinishUpdate}, - {"_Draw2DLine@12", &hwdriver.pfnDraw2DLine}, - {"_DrawPolygon@16", &hwdriver.pfnDrawPolygon}, - {"_SetBlend@4", &hwdriver.pfnSetBlend}, - {"_ClearBuffer@12", &hwdriver.pfnClearBuffer}, - {"_SetTexture@4", &hwdriver.pfnSetTexture}, - {"_ReadRect@24", &hwdriver.pfnReadRect}, - {"_GClipRect@20", &hwdriver.pfnGClipRect}, - {"_ClearMipMapCache@0",&hwdriver.pfnClearMipMapCache}, - {"_SetSpecialState@8", &hwdriver.pfnSetSpecialState}, - {"_DrawMD2@16", &hwdriver.pfnDrawMD2}, - {"_SetTransform@4", &hwdriver.pfnSetTransform}, - {"_GetTextureUsed@0", &hwdriver.pfnGetTextureUsed}, - {"_GetRenderVersion@0",&hwdriver.pfnGetRenderVersion}, - {NULL,NULL} -}; - -BOOL Init3DDriver (LPCSTR dllName) -{ - hwdModule = LoadDLL(dllName, hwdFuncTable); - return (hwdModule != NULL); -} - -VOID Shutdown3DDriver (VOID) -{ - UnloadDLL(&hwdModule); -} -#endif - #ifdef HW3SOUND static HMODULE hwsModule = NULL; diff --git a/src/win32ce/win_dll.h b/src/win32ce/win_dll.h index b4b25958..f69a8c21 100644 --- a/src/win32ce/win_dll.h +++ b/src/win32ce/win_dll.h @@ -20,11 +20,6 @@ #define RPC_NO_WINDOWS_H #include -#ifdef HWRENDER -BOOL Init3DDriver (LPCSTR dllName); -VOID Shutdown3DDriver (VOID); -#endif - #ifdef HW3SOUND BOOL Init3DSDriver(LPCSTR dllName); VOID Shutdown3DSDriver(VOID); diff --git a/src/win32ce/win_vid.c b/src/win32ce/win_vid.c index b9c2e131..ddbd953b 100644 --- a/src/win32ce/win_vid.c +++ b/src/win32ce/win_vid.c @@ -34,12 +34,6 @@ #include "../command.h" #include "../screen.h" -#ifdef HWRENDER -#include "win_dll.h" // loading the render DLL -#include "../hardware/hw_drv.h" // calling driver init & shutdown -#include "../hardware/hw_main.h" // calling HWR module init & shutdown -#endif - // ------- // Globals // ------- @@ -110,13 +104,6 @@ void I_StartupGraphics(void) if (graphics_started) return; -#ifdef HWRENDER - if (M_CheckParm("-opengl")) - rendermode = render_opengl; - else - rendermode = render_soft; -#endif - if (dedicated) rendermode = render_none; else @@ -152,15 +139,6 @@ void I_ShutdownGraphics(void) bmiMain = NULL; } -#ifdef HWRENDER - if (rendermode != render_soft) - { - HWR_Shutdown(); // free stuff from the hardware renderer - HWD.pfnShutdown(); // close 3d card display - Shutdown3DDriver(); // free the driver DLL - } -#endif - // free the last video mode screen buffers if (vid.buffer) { @@ -168,10 +146,7 @@ void I_ShutdownGraphics(void) vid.buffer = NULL; } -#ifdef HWRENDER - if (rendermode == render_soft) -#endif - CloseDirectDraw(); + CloseDirectDraw(); graphics_started = false; } @@ -209,11 +184,6 @@ void I_FinishUpdate(void) DIB_RGB_COLORS); } else -#ifdef HWRENDER - if (rendermode != render_soft) - HWD.pfnFinishUpdate(cv_vidwait.value); - else -#endif { // DIRECT DRAW // copy virtual screen to real screen @@ -292,9 +262,6 @@ void I_SetPalette(RGBA_t *palette) } } else -#ifdef HWRENDER - if (rendermode == render_soft) -#endif { PALETTEENTRY mainpal[256]; @@ -455,56 +422,14 @@ static void VID_Init(void) bDIBMode = TRUE; bAppFullScreen = FALSE; -#ifdef HWRENDER - // initialize the appropriate display device - if (rendermode != render_soft) + if (!bWinParm) { - const char *drvname = NULL; - - switch (rendermode) - { - case render_opengl: - drvname = "r_opengl.dll"; - break; - default: - I_Error("Unknown hardware render mode"); - } - - // load the DLL - if (drvname && Init3DDriver(drvname)) - { - int hwdversion = HWD.pfnGetRenderVersion(); - if (hwdversion != VERSION) - CONS_Printf("WARNING: This r_opengl version is not supported, use it at your own risk.\n"); - - // perform initialisations - HWD.pfnInit(I_Error); - // get available display modes for the device - HWD.pfnGetModeList(&pvidmodes, &numvidmodes); - } - else - { - switch (rendermode) - { - case render_opengl: - I_Error("Error initializing OpenGL"); - default: - break; - } - rendermode = render_soft; - } + if (!CreateDirectDrawInstance()) + I_Error("Error initializing DirectDraw"); + // get available display modes for the device + VID_GetExtraModes(); } - if (rendermode == render_soft) -#endif - if (!bWinParm) - { - if (!CreateDirectDrawInstance()) - I_Error("Error initializing DirectDraw"); - // get available display modes for the device - VID_GetExtraModes(); - } - // the game boots in 320x200 standard VGA, but // we need a highcolor mode to run the game in highcolor if (highcolor && !numvidmodes) @@ -702,14 +627,6 @@ INT32 VID_SetMode(INT32 modenum) // we switch to fullscreen bAppFullScreen = TRUE; bDIBMode = FALSE; -#ifdef HWRENDER - if (rendermode != render_soft) - { - // purge all patch graphics stored in software format - //Z_FreeTags (PU_PURGELEVEL, PU_PURGELEVEL+100); - HWR_Startup(); - } -#endif } I_RestartSysMouse(); From f2100537351f7abf7e1a586fb195d037bc2a4143 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Mon, 18 Mar 2019 18:34:20 -0300 Subject: [PATCH 023/245] md3-vanilla --- src/CMakeLists.txt | 8 + src/Makefile | 28 +- src/doomtype.h | 16 +- src/hardware/hw_defs.h | 25 +- src/hardware/hw_drv.h | 6 +- src/hardware/hw_md2.c | 429 ++--------- src/hardware/hw_md2.h | 94 +-- src/hardware/hw_md2load.c | 564 ++++++++++++++ src/hardware/hw_md2load.h | 20 + src/hardware/hw_md3load.c | 510 +++++++++++++ src/hardware/hw_md3load.h | 19 + src/hardware/hw_model.c | 593 +++++++++++++++ src/hardware/hw_model.h | 104 +++ src/hardware/r_opengl/r_opengl.c | 994 +++++++++++++++---------- src/hardware/r_opengl/r_vbo.h | 52 ++ src/hardware/u_list.c | 231 ++++++ src/hardware/u_list.h | 29 + src/m_fixed.c | 38 +- src/m_fixed.h | 4 +- src/sdl/Srb2SDL-vc10.vcxproj | 10 +- src/sdl/Srb2SDL-vc10.vcxproj.filters | 26 +- src/sdl/hwsym_sdl.c | 3 +- src/sdl/i_video.c | 3 +- src/win32/Srb2win-vc10.vcxproj | 21 +- src/win32/Srb2win-vc10.vcxproj.filters | 56 +- 25 files changed, 2921 insertions(+), 962 deletions(-) create mode 100644 src/hardware/hw_md2load.c create mode 100644 src/hardware/hw_md2load.h create mode 100644 src/hardware/hw_md3load.c create mode 100644 src/hardware/hw_md3load.h create mode 100644 src/hardware/hw_model.c create mode 100644 src/hardware/hw_model.h create mode 100644 src/hardware/r_opengl/r_vbo.h create mode 100644 src/hardware/u_list.c create mode 100644 src/hardware/u_list.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a6fab34f..85cda35f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -399,7 +399,11 @@ if(${SRB2_CONFIG_HWRENDER}) ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_light.c ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_main.c ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_md2.c + ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_md2load.c + ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_md3load.c + ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_model.c ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_trick.c + ${CMAKE_CURRENT_SOURCE_DIR}/hardware/u_list.c ) set (SRB2_HWRENDER_HEADERS @@ -413,6 +417,10 @@ if(${SRB2_CONFIG_HWRENDER}) ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_light.h ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_main.h ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_md2.h + ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_md2load.h + ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_md3load.h + ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_model.h + ${CMAKE_CURRENT_SOURCE_DIR}/hardware/u_list.h ) set(SRB2_R_OPENGL_SOURCES diff --git a/src/Makefile b/src/Makefile index 6363ab7d..6f792707 100644 --- a/src/Makefile +++ b/src/Makefile @@ -279,7 +279,8 @@ ifndef DC endif OPTS+=-DHWRENDER OBJS+=$(OBJDIR)/hw_bsp.o $(OBJDIR)/hw_draw.o $(OBJDIR)/hw_light.o \ - $(OBJDIR)/hw_main.o $(OBJDIR)/hw_clip.o $(OBJDIR)/hw_md2.o $(OBJDIR)/hw_cache.o $(OBJDIR)/hw_trick.o + $(OBJDIR)/hw_main.o $(OBJDIR)/hw_clip.o $(OBJDIR)/hw_md2.o $(OBJDIR)/hw_cache.o $(OBJDIR)/hw_trick.o \ + $(OBJDIR)/hw_md2load.o $(OBJDIR)/hw_md3load.o $(OBJDIR)/hw_model.o $(OBJDIR)/u_list.o endif ifdef NOHS @@ -732,16 +733,18 @@ ifdef MINGW $(OBJDIR)/r_opengl.o: hardware/r_opengl/r_opengl.c hardware/r_opengl/r_opengl.h \ doomdef.h doomtype.h g_state.h m_swap.h hardware/hw_drv.h screen.h \ command.h hardware/hw_data.h hardware/hw_glide.h hardware/hw_defs.h \ - hardware/hw_md2.h hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h am_map.h \ - d_event.h d_player.h p_pspr.h m_fixed.h tables.h info.h d_think.h \ + hardware/hw_md2.h hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h \ + hardware/hw_md2load.h hardware/hw_md3load.h hardware/hw_model.h hardware/u_list.h \ + am_map.h d_event.h d_player.h p_pspr.h m_fixed.h tables.h info.h d_think.h \ p_mobj.h doomdata.h d_ticcmd.h r_defs.h hardware/hw_dll.h $(CC) $(CFLAGS) $(WFLAGS) -c $< -o $@ else $(OBJDIR)/r_opengl.o: hardware/r_opengl/r_opengl.c hardware/r_opengl/r_opengl.h \ doomdef.h doomtype.h g_state.h m_swap.h hardware/hw_drv.h screen.h \ command.h hardware/hw_data.h hardware/hw_glide.h hardware/hw_defs.h \ - hardware/hw_md2.h hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h am_map.h \ - d_event.h d_player.h p_pspr.h m_fixed.h tables.h info.h d_think.h \ + hardware/hw_md2.h hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h \ + hardware/hw_md2load.h hardware/hw_md3load.h hardware/hw_model.h hardware/u_list.h \ + am_map.h d_event.h d_player.h p_pspr.h m_fixed.h tables.h info.h d_think.h \ p_mobj.h doomdata.h d_ticcmd.h r_defs.h hardware/hw_dll.h $(CC) $(CFLAGS) $(WFLAGS) -I/usr/X11R6/include -c $< -o $@ endif @@ -893,24 +896,27 @@ ifndef NOHW $(OBJDIR)/r_opengl.o: hardware/r_opengl/r_opengl.c hardware/r_opengl/r_opengl.h \ doomdef.h doomtype.h g_state.h m_swap.h hardware/hw_drv.h screen.h \ command.h hardware/hw_data.h hardware/hw_glide.h hardware/hw_defs.h \ - hardware/hw_md2.h hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h am_map.h \ - d_event.h d_player.h p_pspr.h m_fixed.h tables.h info.h d_think.h \ + hardware/hw_md2.h hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h \ + hardware/hw_md2load.h hardware/hw_md3load.h hardware/hw_model.h hardware/u_list.h \ + am_map.h d_event.h d_player.h p_pspr.h m_fixed.h tables.h info.h d_think.h \ p_mobj.h doomdata.h d_ticcmd.h r_defs.h hardware/hw_dll.h $(CC) $(CFLAGS) $(WFLAGS) -D_WINDOWS -mwindows -c $< -o $@ $(OBJDIR)/ogl_win.o: hardware/r_opengl/ogl_win.c hardware/r_opengl/r_opengl.h \ doomdef.h doomtype.h g_state.h m_swap.h hardware/hw_drv.h screen.h \ command.h hardware/hw_data.h hardware/hw_glide.h hardware/hw_defs.h \ - hardware/hw_md2.h hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h am_map.h \ - d_event.h d_player.h p_pspr.h m_fixed.h tables.h info.h d_think.h \ + hardware/hw_md2.h hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h \ + hardware/hw_md2load.h hardware/hw_md3load.h hardware/hw_model.h hardware/u_list.h \ + am_map.h d_event.h d_player.h p_pspr.h m_fixed.h tables.h info.h d_think.h \ p_mobj.h doomdata.h d_ticcmd.h r_defs.h hardware/hw_dll.h $(CC) $(CFLAGS) $(WFLAGS) -D_WINDOWS -mwindows -c $< -o $@ $(OBJDIR)/r_minigl.o: hardware/r_minigl/r_minigl.c hardware/r_opengl/r_opengl.h \ doomdef.h doomtype.h g_state.h m_swap.h hardware/hw_drv.h screen.h \ command.h hardware/hw_data.h hardware/hw_glide.h hardware/hw_defs.h \ - hardware/hw_md2.h hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h am_map.h \ - d_event.h d_player.h p_pspr.h m_fixed.h tables.h info.h d_think.h \ + hardware/hw_md2.h hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h \ + hardware/hw_md2load.h hardware/hw_md3load.h hardware/hw_model.h hardware/u_list.h \ + am_map.h d_event.h d_player.h p_pspr.h m_fixed.h tables.h info.h d_think.h \ p_mobj.h doomdata.h d_ticcmd.h r_defs.h hardware/hw_dll.h $(CC) $(CFLAGS) $(WFLAGS) -D_WINDOWS -mwindows -c $< -o $@ endif diff --git a/src/doomtype.h b/src/doomtype.h index b44e32e4..dd4268cd 100644 --- a/src/doomtype.h +++ b/src/doomtype.h @@ -366,16 +366,18 @@ size_t strlcpy(char *dst, const char *src, size_t siz); /* Miscellaneous types that don't fit anywhere else (Can this be changed?) */ +typedef struct +{ + UINT8 red; + UINT8 green; + UINT8 blue; + UINT8 alpha; +} byteColor_t; + union FColorRGBA { UINT32 rgba; - struct - { - UINT8 red; - UINT8 green; - UINT8 blue; - UINT8 alpha; - } s; + byteColor_t s; } ATTRPACK; typedef union FColorRGBA RGBA_t; diff --git a/src/hardware/hw_defs.h b/src/hardware/hw_defs.h index b0ac599e..4fd2fd18 100644 --- a/src/hardware/hw_defs.h +++ b/src/hardware/hw_defs.h @@ -89,14 +89,29 @@ typedef struct //Hurdler: Transform (coords + angles) //BP: transform order : scale(rotation_x(rotation_y(translation(v)))) + +// Kart features +//#define USE_FTRANSFORM_ANGLEZ +//#define USE_FTRANSFORM_MIRROR + +// Vanilla features +#define USE_MODEL_NEXTFRAME + typedef struct { FLOAT x,y,z; // position +#ifdef USE_FTRANSFORM_ANGLEZ + FLOAT anglex,angley,anglez; // aimingangle / viewangle +#else FLOAT anglex,angley; // aimingangle / viewangle +#endif FLOAT scalex,scaley,scalez; FLOAT fovxangle, fovyangle; - INT32 splitscreen; + UINT8 splitscreen; boolean flip; // screenflip +#ifdef USE_FTRANSFORM_MIRROR + boolean mirror; // SRB2Kart: Encore Mode +#endif } FTransform; // Transformed vector, as passed to HWR API @@ -108,14 +123,6 @@ typedef struct FUINT argb; // flat-shaded color } FOutVector; -// jimita -typedef struct -{ - float vx, vy, vz; - float nx, ny, nz; - float s, t; -} FOutVectorMD2; - // ========================================================================== // RENDER MODES // ========================================================================== diff --git a/src/hardware/hw_drv.h b/src/hardware/hw_drv.h index e0def221..9cefff68 100644 --- a/src/hardware/hw_drv.h +++ b/src/hardware/hw_drv.h @@ -52,7 +52,8 @@ EXPORT void HWRAPI(ClearMipMapCache) (void); EXPORT void HWRAPI(SetSpecialState) (hwdspecialstate_t IdState, INT32 Value); //Hurdler: added for new development -EXPORT void HWRAPI(DrawMD2) (INT32 *gl_cmd_buffer, md2_frame_t *frame, INT32 duration, INT32 tics, md2_frame_t *nextframe, FTransform *pos, float scale, UINT8 flipped, FSurfaceInfo *Surface); +EXPORT void HWRAPI(DrawModel) (model_t *model, INT32 frameIndex, INT32 duration, INT32 tics, INT32 nextFrameIndex, FTransform *pos, float scale, UINT8 flipped, FSurfaceInfo *Surface); +EXPORT void HWRAPI(CreateModelVBOs) (model_t *model); EXPORT void HWRAPI(SetTransform) (FTransform *ptransform); EXPORT INT32 HWRAPI(GetTextureUsed) (void); EXPORT INT32 HWRAPI(GetRenderVersion) (void); @@ -95,7 +96,8 @@ struct hwdriver_s GClipRect pfnGClipRect; ClearMipMapCache pfnClearMipMapCache; SetSpecialState pfnSetSpecialState; - DrawMD2 pfnDrawMD2; + DrawModel pfnDrawModel; + CreateModelVBOs pfnCreateModelVBOs; SetTransform pfnSetTransform; GetTextureUsed pfnGetTextureUsed; GetRenderVersion pfnGetRenderVersion; diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 707c16fb..708ac4a3 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -35,6 +35,9 @@ #include "../w_wad.h" #include "../z_zone.h" #include "../r_things.h" +#include "../r_draw.h" +#include "../p_tick.h" +#include "hw_model.h" #include "hw_main.h" #include "../v_video.h" @@ -67,171 +70,6 @@ #include "errno.h" #endif -#define NUMVERTEXNORMALS 162 -float avertexnormals[NUMVERTEXNORMALS][3] = { -{-0.525731f, 0.000000f, 0.850651f}, -{-0.442863f, 0.238856f, 0.864188f}, -{-0.295242f, 0.000000f, 0.955423f}, -{-0.309017f, 0.500000f, 0.809017f}, -{-0.162460f, 0.262866f, 0.951056f}, -{0.000000f, 0.000000f, 1.000000f}, -{0.000000f, 0.850651f, 0.525731f}, -{-0.147621f, 0.716567f, 0.681718f}, -{0.147621f, 0.716567f, 0.681718f}, -{0.000000f, 0.525731f, 0.850651f}, -{0.309017f, 0.500000f, 0.809017f}, -{0.525731f, 0.000000f, 0.850651f}, -{0.295242f, 0.000000f, 0.955423f}, -{0.442863f, 0.238856f, 0.864188f}, -{0.162460f, 0.262866f, 0.951056f}, -{-0.681718f, 0.147621f, 0.716567f}, -{-0.809017f, 0.309017f, 0.500000f}, -{-0.587785f, 0.425325f, 0.688191f}, -{-0.850651f, 0.525731f, 0.000000f}, -{-0.864188f, 0.442863f, 0.238856f}, -{-0.716567f, 0.681718f, 0.147621f}, -{-0.688191f, 0.587785f, 0.425325f}, -{-0.500000f, 0.809017f, 0.309017f}, -{-0.238856f, 0.864188f, 0.442863f}, -{-0.425325f, 0.688191f, 0.587785f}, -{-0.716567f, 0.681718f, -0.147621f}, -{-0.500000f, 0.809017f, -0.309017f}, -{-0.525731f, 0.850651f, 0.000000f}, -{0.000000f, 0.850651f, -0.525731f}, -{-0.238856f, 0.864188f, -0.442863f}, -{0.000000f, 0.955423f, -0.295242f}, -{-0.262866f, 0.951056f, -0.162460f}, -{0.000000f, 1.000000f, 0.000000f}, -{0.000000f, 0.955423f, 0.295242f}, -{-0.262866f, 0.951056f, 0.162460f}, -{0.238856f, 0.864188f, 0.442863f}, -{0.262866f, 0.951056f, 0.162460f}, -{0.500000f, 0.809017f, 0.309017f}, -{0.238856f, 0.864188f, -0.442863f}, -{0.262866f, 0.951056f, -0.162460f}, -{0.500000f, 0.809017f, -0.309017f}, -{0.850651f, 0.525731f, 0.000000f}, -{0.716567f, 0.681718f, 0.147621f}, -{0.716567f, 0.681718f, -0.147621f}, -{0.525731f, 0.850651f, 0.000000f}, -{0.425325f, 0.688191f, 0.587785f}, -{0.864188f, 0.442863f, 0.238856f}, -{0.688191f, 0.587785f, 0.425325f}, -{0.809017f, 0.309017f, 0.500000f}, -{0.681718f, 0.147621f, 0.716567f}, -{0.587785f, 0.425325f, 0.688191f}, -{0.955423f, 0.295242f, 0.000000f}, -{1.000000f, 0.000000f, 0.000000f}, -{0.951056f, 0.162460f, 0.262866f}, -{0.850651f, -0.525731f, 0.000000f}, -{0.955423f, -0.295242f, 0.000000f}, -{0.864188f, -0.442863f, 0.238856f}, -{0.951056f, -0.162460f, 0.262866f}, -{0.809017f, -0.309017f, 0.500000f}, -{0.681718f, -0.147621f, 0.716567f}, -{0.850651f, 0.000000f, 0.525731f}, -{0.864188f, 0.442863f, -0.238856f}, -{0.809017f, 0.309017f, -0.500000f}, -{0.951056f, 0.162460f, -0.262866f}, -{0.525731f, 0.000000f, -0.850651f}, -{0.681718f, 0.147621f, -0.716567f}, -{0.681718f, -0.147621f, -0.716567f}, -{0.850651f, 0.000000f, -0.525731f}, -{0.809017f, -0.309017f, -0.500000f}, -{0.864188f, -0.442863f, -0.238856f}, -{0.951056f, -0.162460f, -0.262866f}, -{0.147621f, 0.716567f, -0.681718f}, -{0.309017f, 0.500000f, -0.809017f}, -{0.425325f, 0.688191f, -0.587785f}, -{0.442863f, 0.238856f, -0.864188f}, -{0.587785f, 0.425325f, -0.688191f}, -{0.688191f, 0.587785f, -0.425325f}, -{-0.147621f, 0.716567f, -0.681718f}, -{-0.309017f, 0.500000f, -0.809017f}, -{0.000000f, 0.525731f, -0.850651f}, -{-0.525731f, 0.000000f, -0.850651f}, -{-0.442863f, 0.238856f, -0.864188f}, -{-0.295242f, 0.000000f, -0.955423f}, -{-0.162460f, 0.262866f, -0.951056f}, -{0.000000f, 0.000000f, -1.000000f}, -{0.295242f, 0.000000f, -0.955423f}, -{0.162460f, 0.262866f, -0.951056f}, -{-0.442863f, -0.238856f, -0.864188f}, -{-0.309017f, -0.500000f, -0.809017f}, -{-0.162460f, -0.262866f, -0.951056f}, -{0.000000f, -0.850651f, -0.525731f}, -{-0.147621f, -0.716567f, -0.681718f}, -{0.147621f, -0.716567f, -0.681718f}, -{0.000000f, -0.525731f, -0.850651f}, -{0.309017f, -0.500000f, -0.809017f}, -{0.442863f, -0.238856f, -0.864188f}, -{0.162460f, -0.262866f, -0.951056f}, -{0.238856f, -0.864188f, -0.442863f}, -{0.500000f, -0.809017f, -0.309017f}, -{0.425325f, -0.688191f, -0.587785f}, -{0.716567f, -0.681718f, -0.147621f}, -{0.688191f, -0.587785f, -0.425325f}, -{0.587785f, -0.425325f, -0.688191f}, -{0.000000f, -0.955423f, -0.295242f}, -{0.000000f, -1.000000f, 0.000000f}, -{0.262866f, -0.951056f, -0.162460f}, -{0.000000f, -0.850651f, 0.525731f}, -{0.000000f, -0.955423f, 0.295242f}, -{0.238856f, -0.864188f, 0.442863f}, -{0.262866f, -0.951056f, 0.162460f}, -{0.500000f, -0.809017f, 0.309017f}, -{0.716567f, -0.681718f, 0.147621f}, -{0.525731f, -0.850651f, 0.000000f}, -{-0.238856f, -0.864188f, -0.442863f}, -{-0.500000f, -0.809017f, -0.309017f}, -{-0.262866f, -0.951056f, -0.162460f}, -{-0.850651f, -0.525731f, 0.000000f}, -{-0.716567f, -0.681718f, -0.147621f}, -{-0.716567f, -0.681718f, 0.147621f}, -{-0.525731f, -0.850651f, 0.000000f}, -{-0.500000f, -0.809017f, 0.309017f}, -{-0.238856f, -0.864188f, 0.442863f}, -{-0.262866f, -0.951056f, 0.162460f}, -{-0.864188f, -0.442863f, 0.238856f}, -{-0.809017f, -0.309017f, 0.500000f}, -{-0.688191f, -0.587785f, 0.425325f}, -{-0.681718f, -0.147621f, 0.716567f}, -{-0.442863f, -0.238856f, 0.864188f}, -{-0.587785f, -0.425325f, 0.688191f}, -{-0.309017f, -0.500000f, 0.809017f}, -{-0.147621f, -0.716567f, 0.681718f}, -{-0.425325f, -0.688191f, 0.587785f}, -{-0.162460f, -0.262866f, 0.951056f}, -{0.442863f, -0.238856f, 0.864188f}, -{0.162460f, -0.262866f, 0.951056f}, -{0.309017f, -0.500000f, 0.809017f}, -{0.147621f, -0.716567f, 0.681718f}, -{0.000000f, -0.525731f, 0.850651f}, -{0.425325f, -0.688191f, 0.587785f}, -{0.587785f, -0.425325f, 0.688191f}, -{0.688191f, -0.587785f, 0.425325f}, -{-0.955423f, 0.295242f, 0.000000f}, -{-0.951056f, 0.162460f, 0.262866f}, -{-1.000000f, 0.000000f, 0.000000f}, -{-0.850651f, 0.000000f, 0.525731f}, -{-0.955423f, -0.295242f, 0.000000f}, -{-0.951056f, -0.162460f, 0.262866f}, -{-0.864188f, 0.442863f, -0.238856f}, -{-0.951056f, 0.162460f, -0.262866f}, -{-0.809017f, 0.309017f, -0.500000f}, -{-0.864188f, -0.442863f, -0.238856f}, -{-0.951056f, -0.162460f, -0.262866f}, -{-0.809017f, -0.309017f, -0.500000f}, -{-0.681718f, 0.147621f, -0.716567f}, -{-0.681718f, -0.147621f, -0.716567f}, -{-0.850651f, 0.000000f, -0.525731f}, -{-0.688191f, 0.587785f, -0.425325f}, -{-0.587785f, 0.425325f, -0.688191f}, -{-0.425325f, 0.688191f, -0.587785f}, -{-0.425325f, -0.688191f, -0.587785f}, -{-0.587785f, -0.425325f, -0.688191f}, -{-0.688191f, -0.587785f, -0.425325f}, -}; md2_t md2_models[NUMSPRITES]; md2_t md2_playermodels[MAXSKINS]; @@ -240,194 +78,24 @@ md2_t md2_playermodels[MAXSKINS]; /* * free model */ -static void md2_freeModel (md2_model_t *model) +#if 0 +static void md2_freeModel (model_t *model) { - if (model) - { - if (model->skins) - free(model->skins); - - if (model->texCoords) - free(model->texCoords); - - if (model->triangles) - free(model->triangles); - - if (model->frames) - { - size_t i; - - for (i = 0; i < model->header.numFrames; i++) - { - if (model->frames[i].vertices) - free(model->frames[i].vertices); - } - free(model->frames); - } - - if (model->glCommandBuffer) - free(model->glCommandBuffer); - - free(model); - } + UnloadModel(model); } - +#endif // // load model // // Hurdler: the current path is the Legacy.exe path -static md2_model_t *md2_readModel(const char *filename) +static model_t *md2_readModel(const char *filename) { - FILE *file; - md2_model_t *model; - UINT8 buffer[MD2_MAX_FRAMESIZE]; - size_t i; - - model = calloc(1, sizeof (*model)); - if (model == NULL) - return 0; - //Filename checking fixed ~Monster Iestyn and Golden - file = fopen(va("%s"PATHSEP"%s", srb2home, filename), "rb"); - if (!file) - { - free(model); - return 0; - } - - // initialize model and read header - - if (fread(&model->header, sizeof (model->header), 1, file) != 1 - || model->header.magic != MD2_IDENT - || model->header.version != MD2_VERSION) - { - fclose(file); - free(model); - return 0; - } - - model->header.numSkins = 1; - -#define MD2LIMITCHECK(field, max, msgname) \ - if (field > max) \ - { \ - CONS_Alert(CONS_ERROR, "md2_readModel: %s has too many " msgname " (# found: %d, maximum: %d)\n", filename, field, max); \ - md2_freeModel (model); \ - fclose(file); \ - return 0; \ - } - - // Uncomment if these are actually needed -// MD2LIMITCHECK(model->header.numSkins, MD2_MAX_SKINS, "skins") -// MD2LIMITCHECK(model->header.numTexCoords, MD2_MAX_TEXCOORDS, "texture coordinates") - MD2LIMITCHECK(model->header.numTriangles, MD2_MAX_TRIANGLES, "triangles") - MD2LIMITCHECK(model->header.numFrames, MD2_MAX_FRAMES, "frames") - MD2LIMITCHECK(model->header.numVertices, MD2_MAX_VERTICES, "vertices") - -#undef MD2LIMITCHECK - - // read skins - fseek(file, model->header.offsetSkins, SEEK_SET); - if (model->header.numSkins > 0) - { - model->skins = calloc(sizeof (md2_skin_t), model->header.numSkins); - if (!model->skins || model->header.numSkins != - fread(model->skins, sizeof (md2_skin_t), model->header.numSkins, file)) - { - md2_freeModel (model); - fclose(file); - return 0; - } - } - - // read texture coordinates - fseek(file, model->header.offsetTexCoords, SEEK_SET); - if (model->header.numTexCoords > 0) - { - model->texCoords = calloc(sizeof (md2_textureCoordinate_t), model->header.numTexCoords); - if (!model->texCoords || model->header.numTexCoords != - fread(model->texCoords, sizeof (md2_textureCoordinate_t), model->header.numTexCoords, file)) - { - md2_freeModel (model); - fclose(file); - return 0; - } - } - - // read triangles - fseek(file, model->header.offsetTriangles, SEEK_SET); - if (model->header.numTriangles > 0) - { - model->triangles = calloc(sizeof (md2_triangle_t), model->header.numTriangles); - if (!model->triangles || model->header.numTriangles != - fread(model->triangles, sizeof (md2_triangle_t), model->header.numTriangles, file)) - { - md2_freeModel (model); - fclose(file); - return 0; - } - } - - // read alias frames - fseek(file, model->header.offsetFrames, SEEK_SET); - if (model->header.numFrames > 0) - { - model->frames = calloc(sizeof (md2_frame_t), model->header.numFrames); - if (!model->frames) - { - md2_freeModel (model); - fclose(file); - return 0; - } - - for (i = 0; i < model->header.numFrames; i++) - { - md2_alias_frame_t *frame = (md2_alias_frame_t *)(void *)buffer; - size_t j; - - model->frames[i].vertices = calloc(sizeof (md2_triangleVertex_t), model->header.numVertices); - if (!model->frames[i].vertices || model->header.frameSize != - fread(frame, 1, model->header.frameSize, file)) - { - md2_freeModel (model); - fclose(file); - return 0; - } - - strcpy(model->frames[i].name, frame->name); - for (j = 0; j < model->header.numVertices; j++) - { - model->frames[i].vertices[j].vertex[0] = (float) ((INT32) frame->alias_vertices[j].vertex[0]) * frame->scale[0] + frame->translate[0]; - model->frames[i].vertices[j].vertex[2] = -1* ((float) ((INT32) frame->alias_vertices[j].vertex[1]) * frame->scale[1] + frame->translate[1]); - model->frames[i].vertices[j].vertex[1] = (float) ((INT32) frame->alias_vertices[j].vertex[2]) * frame->scale[2] + frame->translate[2]; - model->frames[i].vertices[j].normal[0] = avertexnormals[frame->alias_vertices[j].lightNormalIndex][0]; - model->frames[i].vertices[j].normal[1] = avertexnormals[frame->alias_vertices[j].lightNormalIndex][1]; - model->frames[i].vertices[j].normal[2] = avertexnormals[frame->alias_vertices[j].lightNormalIndex][2]; - } - } - } - - // read gl commands - fseek(file, model->header.offsetGlCommands, SEEK_SET); - if (model->header.numGlCommands) - { - model->glCommandBuffer = calloc(sizeof (INT32), model->header.numGlCommands); - if (!model->glCommandBuffer || model->header.numGlCommands != - fread(model->glCommandBuffer, sizeof (INT32), model->header.numGlCommands, file)) - { - md2_freeModel (model); - fclose(file); - return 0; - } - } - - fclose(file); - - return model; + return LoadModel(va("%s"PATHSEP"%s", srb2home, filename), PU_STATIC); } -static inline void md2_printModelInfo (md2_model_t *model) +static inline void md2_printModelInfo (model_t *model) { #if 0 INT32 i; @@ -882,7 +550,7 @@ void HWR_AddPlayerMD2(int skin) // For MD2's that were added after startup return; } - // Check for any MD2s that match the names of player skins! + // Check for any MD2s that match the names of sprite names! while (fscanf(f, "%19s %31s %f %f", name, filename, &scale, &offset) == 4) { if (stricmp(name, skins[skin].name) == 0) @@ -1195,30 +863,21 @@ static void HWR_GetBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, con // : (monsters, bonuses, weapons, lights, ...) // Returns : // -----------------+ - /* - wait/stand - death - pain - walk - shoot/fire - die? - atka? - atkb? - attacka/b/c/d? - res? - run? - */ +// hw_main.c #define NORMALFOG 0x00000000 #define FADEFOG 0x19000000 + void HWR_DrawMD2(gr_vissprite_t *spr) { - FSurfaceInfo Surf; + md2_t *md2; char filename[64]; - INT32 frame; + INT32 frame = 0; + INT32 nextFrame = -1; + FTransform p; - md2_t *md2; + FSurfaceInfo Surf; if (!cv_grmd2.value) return; @@ -1263,10 +922,9 @@ void HWR_DrawMD2(gr_vissprite_t *spr) // Look at HWR_ProjectSprite for more { GLPatch_t *gpatch; - INT32 *buff; INT32 durs = spr->mobj->state->tics; INT32 tics = spr->mobj->tics; - md2_frame_t *curr, *next = NULL; + //mdlframe_t *next = NULL; const UINT8 flip = (UINT8)((spr->mobj->eflags & MFE_VERTICALFLIP) == MFE_VERTICALFLIP); spritedef_t *sprdef; spriteframe_t *sprframe; @@ -1307,6 +965,7 @@ void HWR_DrawMD2(gr_vissprite_t *spr) if (md2->model) { md2_printModelInfo(md2->model); + HWD.pfnCreateModelVBOs(md2->model); } else { @@ -1355,30 +1014,30 @@ void HWR_DrawMD2(gr_vissprite_t *spr) } //FIXME: this is not yet correct - frame = (spr->mobj->frame & FF_FRAMEMASK) % md2->model->header.numFrames; - buff = md2->model->glCommandBuffer; - curr = &md2->model->frames[frame]; + frame = (spr->mobj->frame & FF_FRAMEMASK) % md2->model->meshes[0].numFrames; +#ifdef USE_MODEL_NEXTFRAME if (cv_grmd2.value == 1 && tics <= durs) { // frames are handled differently for states with FF_ANIMATE, so get the next frame differently for the interpolation if (spr->mobj->frame & FF_ANIMATE) { - UINT32 nextframe = (spr->mobj->frame & FF_FRAMEMASK) + 1; - if (nextframe >= (UINT32)spr->mobj->state->var1) - nextframe = (spr->mobj->state->frame & FF_FRAMEMASK); - nextframe %= md2->model->header.numFrames; - next = &md2->model->frames[nextframe]; + nextFrame = (spr->mobj->frame & FF_FRAMEMASK) + 1; + if (nextFrame >= spr->mobj->state->var1) + nextFrame = (spr->mobj->state->frame & FF_FRAMEMASK); + nextFrame %= md2->model->meshes[0].numFrames; + //next = &md2->model->meshes[0].frames[nextFrame]; } else { if (spr->mobj->state->nextstate != S_NULL && states[spr->mobj->state->nextstate].sprite != SPR_NULL && !(spr->mobj->player && (spr->mobj->state->nextstate == S_PLAY_TAP1 || spr->mobj->state->nextstate == S_PLAY_TAP2) && spr->mobj->state == &states[S_PLAY_STND])) { - const UINT32 nextframe = (states[spr->mobj->state->nextstate].frame & FF_FRAMEMASK) % md2->model->header.numFrames; - next = &md2->model->frames[nextframe]; + nextFrame = (states[spr->mobj->state->nextstate].frame & FF_FRAMEMASK) % md2->model->meshes[0].numFrames; + //next = &md2->model->meshes[0].frames[nextFrame]; } } } +#endif //Hurdler: it seems there is still a small problem with mobj angle p.x = FIXED_TO_FLOAT(spr->mobj->x); @@ -1398,7 +1057,14 @@ void HWR_DrawMD2(gr_vissprite_t *spr) if (sprframe->rotate) { - const fixed_t anglef = AngleFixed(spr->mobj->angle); + fixed_t anglef = AngleFixed(spr->mobj->angle); + // \todo adapt for 2.2 directionchar? The below code is from Kart +#if 0 + if (spr->mobj->player) + anglef = AngleFixed(spr->mobj->player->frameangle); + else + anglef = AngleFixed(spr->mobj->angle); +#endif p.angley = FIXED_TO_FLOAT(anglef); } else @@ -1407,13 +1073,30 @@ void HWR_DrawMD2(gr_vissprite_t *spr) p.angley = FIXED_TO_FLOAT(anglef); } p.anglex = 0.0f; +#ifdef USE_FTRANSFORM_ANGLEZ + // Slope rotation from Kart + p.anglez = 0.0f; + if (spr->mobj->standingslope) + { + fixed_t tempz = spr->mobj->standingslope->normal.z; + fixed_t tempy = spr->mobj->standingslope->normal.y; + fixed_t tempx = spr->mobj->standingslope->normal.x; + fixed_t tempangle = AngleFixed(R_PointToAngle2(0, 0, FixedSqrt(FixedMul(tempy, tempy) + FixedMul(tempz, tempz)), tempx)); + p.anglez = FIXED_TO_FLOAT(tempangle); + tempangle = -AngleFixed(R_PointToAngle2(0, 0, tempz, tempy)); + p.anglex = FIXED_TO_FLOAT(tempangle); + } +#endif // SRB2CBTODO: MD2 scaling support finalscale *= FIXED_TO_FLOAT(spr->mobj->scale); p.flip = atransform.flip; +#ifdef USE_FTRANSFORM_MIRROR + p.mirror = atransform.mirror; // from Kart +#endif - HWD.pfnDrawMD2(buff, curr, durs, tics, next, &p, finalscale, flip, &Surf); + HWD.pfnDrawModel(md2->model, frame, durs, tics, nextFrame, &p, finalscale, flip, &Surf); } } diff --git a/src/hardware/hw_md2.h b/src/hardware/hw_md2.h index 07088643..fab8e6ad 100644 --- a/src/hardware/hw_md2.h +++ b/src/hardware/hw_md2.h @@ -16,97 +16,7 @@ #define _HW_MD2_H_ #include "hw_glob.h" - -// magic number "IDP2" or 844121161 -#define MD2_IDENT (INT32)(('2' << 24) + ('P' << 16) + ('D' << 8) + 'I') -// model version -#define MD2_VERSION 8 - -#define MD2_MAX_TRIANGLES 8192 -#define MD2_MAX_VERTICES 4096 -#define MD2_MAX_TEXCOORDS 4096 -#define MD2_MAX_FRAMES 512 -#define MD2_MAX_SKINS 32 -#define MD2_MAX_FRAMESIZE (MD2_MAX_VERTICES * 4 + 128) - -#if defined(_MSC_VER) -#pragma pack(1) -#endif -typedef struct -{ - UINT32 magic; - UINT32 version; - UINT32 skinWidth; - UINT32 skinHeight; - UINT32 frameSize; - UINT32 numSkins; - UINT32 numVertices; - UINT32 numTexCoords; - UINT32 numTriangles; - UINT32 numGlCommands; - UINT32 numFrames; - UINT32 offsetSkins; - UINT32 offsetTexCoords; - UINT32 offsetTriangles; - UINT32 offsetFrames; - UINT32 offsetGlCommands; - UINT32 offsetEnd; -} ATTRPACK md2_header_t; //NOTE: each of md2_header's members are 4 unsigned bytes - -typedef struct -{ - UINT8 vertex[3]; - UINT8 lightNormalIndex; -} ATTRPACK md2_alias_triangleVertex_t; - -typedef struct -{ - float vertex[3]; - float normal[3]; -} ATTRPACK md2_triangleVertex_t; - -typedef struct -{ - INT16 vertexIndices[3]; - INT16 textureIndices[3]; -} ATTRPACK md2_triangle_t; - -typedef struct -{ - INT16 s, t; -} ATTRPACK md2_textureCoordinate_t; - -typedef struct -{ - float scale[3]; - float translate[3]; - char name[16]; - md2_alias_triangleVertex_t alias_vertices[1]; -} ATTRPACK md2_alias_frame_t; - -typedef struct -{ - char name[16]; - md2_triangleVertex_t *vertices; -} ATTRPACK md2_frame_t; - -typedef char md2_skin_t[64]; - -typedef struct -{ - float s, t; - INT32 vertexIndex; -} ATTRPACK md2_glCommandVertex_t; - -typedef struct -{ - md2_header_t header; - md2_skin_t *skins; - md2_textureCoordinate_t *texCoords; - md2_triangle_t *triangles; - md2_frame_t *frames; - INT32 *glCommandBuffer; -} ATTRPACK md2_model_t; +#include "hw_model.h" #if defined(_MSC_VER) #pragma pack() @@ -117,7 +27,7 @@ typedef struct char filename[32]; float scale; float offset; - md2_model_t *model; + model_t *model; void *grpatch; void *blendgrpatch; boolean notfound; diff --git a/src/hardware/hw_md2load.c b/src/hardware/hw_md2load.c new file mode 100644 index 00000000..3805deff --- /dev/null +++ b/src/hardware/hw_md2load.c @@ -0,0 +1,564 @@ +/* + From the 'Wizard2' engine by Spaddlewit Inc. ( http://www.spaddlewit.com ) + An experimental work-in-progress. + + Donated to Sonic Team Junior and adapted to work with + Sonic Robo Blast 2. The license of this code matches whatever + the licensing is for Sonic Robo Blast 2. +*/ + +#include +#include +#include +#include "../doomdef.h" +#include "hw_md2load.h" +#include "hw_model.h" +#include "../z_zone.h" + +#define NUMVERTEXNORMALS 162 + +// Quake 2 normals are indexed. Use avertexnormals[normalindex][x/y/z] and +// you'll have your normals. +float avertexnormals[NUMVERTEXNORMALS][3] = { +{-0.525731f, 0.000000f, 0.850651f}, +{-0.442863f, 0.238856f, 0.864188f}, +{-0.295242f, 0.000000f, 0.955423f}, +{-0.309017f, 0.500000f, 0.809017f}, +{-0.162460f, 0.262866f, 0.951056f}, +{0.000000f, 0.000000f, 1.000000f}, +{0.000000f, 0.850651f, 0.525731f}, +{-0.147621f, 0.716567f, 0.681718f}, +{0.147621f, 0.716567f, 0.681718f}, +{0.000000f, 0.525731f, 0.850651f}, +{0.309017f, 0.500000f, 0.809017f}, +{0.525731f, 0.000000f, 0.850651f}, +{0.295242f, 0.000000f, 0.955423f}, +{0.442863f, 0.238856f, 0.864188f}, +{0.162460f, 0.262866f, 0.951056f}, +{-0.681718f, 0.147621f, 0.716567f}, +{-0.809017f, 0.309017f, 0.500000f}, +{-0.587785f, 0.425325f, 0.688191f}, +{-0.850651f, 0.525731f, 0.000000f}, +{-0.864188f, 0.442863f, 0.238856f}, +{-0.716567f, 0.681718f, 0.147621f}, +{-0.688191f, 0.587785f, 0.425325f}, +{-0.500000f, 0.809017f, 0.309017f}, +{-0.238856f, 0.864188f, 0.442863f}, +{-0.425325f, 0.688191f, 0.587785f}, +{-0.716567f, 0.681718f, -0.147621f}, +{-0.500000f, 0.809017f, -0.309017f}, +{-0.525731f, 0.850651f, 0.000000f}, +{0.000000f, 0.850651f, -0.525731f}, +{-0.238856f, 0.864188f, -0.442863f}, +{0.000000f, 0.955423f, -0.295242f}, +{-0.262866f, 0.951056f, -0.162460f}, +{0.000000f, 1.000000f, 0.000000f}, +{0.000000f, 0.955423f, 0.295242f}, +{-0.262866f, 0.951056f, 0.162460f}, +{0.238856f, 0.864188f, 0.442863f}, +{0.262866f, 0.951056f, 0.162460f}, +{0.500000f, 0.809017f, 0.309017f}, +{0.238856f, 0.864188f, -0.442863f}, +{0.262866f, 0.951056f, -0.162460f}, +{0.500000f, 0.809017f, -0.309017f}, +{0.850651f, 0.525731f, 0.000000f}, +{0.716567f, 0.681718f, 0.147621f}, +{0.716567f, 0.681718f, -0.147621f}, +{0.525731f, 0.850651f, 0.000000f}, +{0.425325f, 0.688191f, 0.587785f}, +{0.864188f, 0.442863f, 0.238856f}, +{0.688191f, 0.587785f, 0.425325f}, +{0.809017f, 0.309017f, 0.500000f}, +{0.681718f, 0.147621f, 0.716567f}, +{0.587785f, 0.425325f, 0.688191f}, +{0.955423f, 0.295242f, 0.000000f}, +{1.000000f, 0.000000f, 0.000000f}, +{0.951056f, 0.162460f, 0.262866f}, +{0.850651f, -0.525731f, 0.000000f}, +{0.955423f, -0.295242f, 0.000000f}, +{0.864188f, -0.442863f, 0.238856f}, +{0.951056f, -0.162460f, 0.262866f}, +{0.809017f, -0.309017f, 0.500000f}, +{0.681718f, -0.147621f, 0.716567f}, +{0.850651f, 0.000000f, 0.525731f}, +{0.864188f, 0.442863f, -0.238856f}, +{0.809017f, 0.309017f, -0.500000f}, +{0.951056f, 0.162460f, -0.262866f}, +{0.525731f, 0.000000f, -0.850651f}, +{0.681718f, 0.147621f, -0.716567f}, +{0.681718f, -0.147621f, -0.716567f}, +{0.850651f, 0.000000f, -0.525731f}, +{0.809017f, -0.309017f, -0.500000f}, +{0.864188f, -0.442863f, -0.238856f}, +{0.951056f, -0.162460f, -0.262866f}, +{0.147621f, 0.716567f, -0.681718f}, +{0.309017f, 0.500000f, -0.809017f}, +{0.425325f, 0.688191f, -0.587785f}, +{0.442863f, 0.238856f, -0.864188f}, +{0.587785f, 0.425325f, -0.688191f}, +{0.688191f, 0.587785f, -0.425325f}, +{-0.147621f, 0.716567f, -0.681718f}, +{-0.309017f, 0.500000f, -0.809017f}, +{0.000000f, 0.525731f, -0.850651f}, +{-0.525731f, 0.000000f, -0.850651f}, +{-0.442863f, 0.238856f, -0.864188f}, +{-0.295242f, 0.000000f, -0.955423f}, +{-0.162460f, 0.262866f, -0.951056f}, +{0.000000f, 0.000000f, -1.000000f}, +{0.295242f, 0.000000f, -0.955423f}, +{0.162460f, 0.262866f, -0.951056f}, +{-0.442863f, -0.238856f, -0.864188f}, +{-0.309017f, -0.500000f, -0.809017f}, +{-0.162460f, -0.262866f, -0.951056f}, +{0.000000f, -0.850651f, -0.525731f}, +{-0.147621f, -0.716567f, -0.681718f}, +{0.147621f, -0.716567f, -0.681718f}, +{0.000000f, -0.525731f, -0.850651f}, +{0.309017f, -0.500000f, -0.809017f}, +{0.442863f, -0.238856f, -0.864188f}, +{0.162460f, -0.262866f, -0.951056f}, +{0.238856f, -0.864188f, -0.442863f}, +{0.500000f, -0.809017f, -0.309017f}, +{0.425325f, -0.688191f, -0.587785f}, +{0.716567f, -0.681718f, -0.147621f}, +{0.688191f, -0.587785f, -0.425325f}, +{0.587785f, -0.425325f, -0.688191f}, +{0.000000f, -0.955423f, -0.295242f}, +{0.000000f, -1.000000f, 0.000000f}, +{0.262866f, -0.951056f, -0.162460f}, +{0.000000f, -0.850651f, 0.525731f}, +{0.000000f, -0.955423f, 0.295242f}, +{0.238856f, -0.864188f, 0.442863f}, +{0.262866f, -0.951056f, 0.162460f}, +{0.500000f, -0.809017f, 0.309017f}, +{0.716567f, -0.681718f, 0.147621f}, +{0.525731f, -0.850651f, 0.000000f}, +{-0.238856f, -0.864188f, -0.442863f}, +{-0.500000f, -0.809017f, -0.309017f}, +{-0.262866f, -0.951056f, -0.162460f}, +{-0.850651f, -0.525731f, 0.000000f}, +{-0.716567f, -0.681718f, -0.147621f}, +{-0.716567f, -0.681718f, 0.147621f}, +{-0.525731f, -0.850651f, 0.000000f}, +{-0.500000f, -0.809017f, 0.309017f}, +{-0.238856f, -0.864188f, 0.442863f}, +{-0.262866f, -0.951056f, 0.162460f}, +{-0.864188f, -0.442863f, 0.238856f}, +{-0.809017f, -0.309017f, 0.500000f}, +{-0.688191f, -0.587785f, 0.425325f}, +{-0.681718f, -0.147621f, 0.716567f}, +{-0.442863f, -0.238856f, 0.864188f}, +{-0.587785f, -0.425325f, 0.688191f}, +{-0.309017f, -0.500000f, 0.809017f}, +{-0.147621f, -0.716567f, 0.681718f}, +{-0.425325f, -0.688191f, 0.587785f}, +{-0.162460f, -0.262866f, 0.951056f}, +{0.442863f, -0.238856f, 0.864188f}, +{0.162460f, -0.262866f, 0.951056f}, +{0.309017f, -0.500000f, 0.809017f}, +{0.147621f, -0.716567f, 0.681718f}, +{0.000000f, -0.525731f, 0.850651f}, +{0.425325f, -0.688191f, 0.587785f}, +{0.587785f, -0.425325f, 0.688191f}, +{0.688191f, -0.587785f, 0.425325f}, +{-0.955423f, 0.295242f, 0.000000f}, +{-0.951056f, 0.162460f, 0.262866f}, +{-1.000000f, 0.000000f, 0.000000f}, +{-0.850651f, 0.000000f, 0.525731f}, +{-0.955423f, -0.295242f, 0.000000f}, +{-0.951056f, -0.162460f, 0.262866f}, +{-0.864188f, 0.442863f, -0.238856f}, +{-0.951056f, 0.162460f, -0.262866f}, +{-0.809017f, 0.309017f, -0.500000f}, +{-0.864188f, -0.442863f, -0.238856f}, +{-0.951056f, -0.162460f, -0.262866f}, +{-0.809017f, -0.309017f, -0.500000f}, +{-0.681718f, 0.147621f, -0.716567f}, +{-0.681718f, -0.147621f, -0.716567f}, +{-0.850651f, 0.000000f, -0.525731f}, +{-0.688191f, 0.587785f, -0.425325f}, +{-0.587785f, 0.425325f, -0.688191f}, +{-0.425325f, 0.688191f, -0.587785f}, +{-0.425325f, -0.688191f, -0.587785f}, +{-0.587785f, -0.425325f, -0.688191f}, +{-0.688191f, -0.587785f, -0.425325f}, +}; + +typedef struct +{ + int ident; // A "magic number" that's used to identify the .md2 file + int version; // The version of the file, always 8 + int skinwidth; // Width of the skin(s) in pixels + int skinheight; // Height of the skin(s) in pixels + int framesize; // Size of each frame in bytes + int numSkins; // Number of skins with the model + int numXYZ; // Number of vertices in each frame + int numST; // Number of texture coordinates in each frame. + int numTris; // Number of triangles in each frame + int numGLcmds; // Number of dwords (4 bytes) in the gl command list. + int numFrames; // Number of frames + int offsetSkins; // Offset, in bytes from the start of the file, to the list of skin names. + int offsetST; // Offset, in bytes from the start of the file, to the list of texture coordinates + int offsetTris; // Offset, in bytes from the start of the file, to the list of triangles + int offsetFrames; // Offset, in bytes from the start of the file, to the list of frames + int offsetGLcmds; // Offset, in bytes from the start of the file, to the list of gl commands + int offsetEnd; // Offset, in bytes from the start of the file, to the end of the file (filesize) +} md2header_t; + +typedef struct +{ + unsigned short meshIndex[3]; // indices into the array of vertices in each frames + unsigned short stIndex[3]; // indices into the array of texture coordinates +} md2triangle_t; + +typedef struct +{ + short s; + short t; +} md2texcoord_t; + +typedef struct +{ + unsigned char v[3]; // Scaled vertices. You'll need to multiply them with scale[x] to make them normal. + unsigned char lightNormalIndex; // Index to the array of normals +} md2vertex_t; + +typedef struct +{ + float scale[3]; // Used by the v member in the md2framePoint structure + float translate[3]; // Used by the v member in the md2framePoint structure + char name[16]; // Name of the frame +} md2frame_t; + +// Load the model +model_t *MD2_LoadModel(const char *fileName, int ztag, boolean useFloat) +{ + FILE *f; + + model_t *retModel = NULL; + md2header_t *header; + + size_t fileLen; + int i, j; + size_t namelen; + char *texturefilename; + const char *texPos; + + char *buffer; + + const float WUNITS = 1.0f; + float dataScale = WUNITS; + + md2triangle_t *tris; + md2texcoord_t *texcoords; + md2frame_t *frames; + + int t; + + // MD2 currently does not work with tinyframes, so force useFloat = true + // + // + // the UV coordinates in MD2 are not compatible with glDrawElements like MD3 is. So they need to be loaded as full float. + // + // MD2 is intended to be draw in triangle strips and fans + // not very compatible with a modern GL implementation, either + // so the idea would be to full float expand it, and put it in a vertex buffer object + // I'm sure there's a way to convert the UVs to 'tinyframes', but maybe that's a job for someone else. + // You'd have to decompress the model, then recompress, reindexing the triangles and weeding out duplicate coordinates + // I already have the decompression work done + + useFloat = true; + + f = fopen(fileName, "rb"); + + if (!f) + return NULL; + + retModel = (model_t*)Z_Calloc(sizeof(model_t), ztag, 0); + + //size_t fileLen; + + //int i, j; + + //size_t namelen; + //char *texturefilename; + texPos = strchr(fileName, '/'); + + if (texPos) + { + texPos++; + namelen = strlen(texPos) + 1; + texturefilename = (char*)Z_Malloc(namelen, PU_CACHE, 0); + strcpy(texturefilename, texPos); + } + else + { + namelen = strlen(fileName) + 1; + texturefilename = (char*)Z_Malloc(namelen, PU_CACHE, 0); + strcpy(texturefilename, fileName); + } + + texturefilename[namelen - 2] = 'z'; + texturefilename[namelen - 3] = 'u'; + texturefilename[namelen - 4] = 'b'; + + // find length of file + fseek(f, 0, SEEK_END); + fileLen = ftell(f); + fseek(f, 0, SEEK_SET); + + // read in file + buffer = malloc(fileLen); + if (fread(buffer, fileLen, 1, f)) { } // squash ignored fread error + fclose(f); + + // get pointer to file header + header = (md2header_t*)buffer; + + retModel->numMeshes = 1; // MD2 only has one mesh + retModel->meshes = (mesh_t*)Z_Calloc(sizeof(mesh_t) * retModel->numMeshes, ztag, 0); + retModel->meshes[0].numFrames = header->numFrames; + // const float WUNITS = 1.0f; + // float dataScale = WUNITS; + + // Tris and ST are simple structures that can be straight-copied + tris = (md2triangle_t*)&buffer[header->offsetTris]; + texcoords = (md2texcoord_t*)&buffer[header->offsetST]; + frames = (md2frame_t*)&buffer[header->offsetFrames]; + + // Read in textures + retModel->numMaterials = header->numSkins; + + if (retModel->numMaterials <= 0) // Always at least one skin, duh + retModel->numMaterials = 1; + + retModel->materials = (material_t*)Z_Calloc(sizeof(material_t)*retModel->numMaterials, ztag, 0); + + // int t; + for (t = 0; t < retModel->numMaterials; t++) + { + retModel->materials[t].ambient[0] = 0.8f; + retModel->materials[t].ambient[1] = 0.8f; + retModel->materials[t].ambient[2] = 0.8f; + retModel->materials[t].ambient[3] = 1.0f; + retModel->materials[t].diffuse[0] = 0.8f; + retModel->materials[t].diffuse[1] = 0.8f; + retModel->materials[t].diffuse[2] = 0.8f; + retModel->materials[t].diffuse[3] = 1.0f; + retModel->materials[t].emissive[0] = 0.0f; + retModel->materials[t].emissive[1] = 0.0f; + retModel->materials[t].emissive[2] = 0.0f; + retModel->materials[t].emissive[3] = 1.0f; + retModel->materials[t].specular[0] = 0.0f; + retModel->materials[t].specular[1] = 0.0f; + retModel->materials[t].specular[2] = 0.0f; + retModel->materials[t].specular[3] = 1.0f; + retModel->materials[t].shininess = 0.0f; + retModel->materials[t].spheremap = false; + + /* retModel->materials[t].texture = Texture::ReadTexture((char*)texturefilename, ZT_TEXTURE); + + if (!systemSucks) + { + // Check for a normal map...?? + char openfilename[1024]; + char normalMapName[1024]; + strcpy(normalMapName, texturefilename); + size_t len = strlen(normalMapName); + char *ptr = &normalMapName[len]; + ptr--; // z + ptr--; // u + ptr--; // b + ptr--; // . + *ptr++ = '_'; + *ptr++ = 'n'; + *ptr++ = '.'; + *ptr++ = 'b'; + *ptr++ = 'u'; + *ptr++ = 'z'; + *ptr++ = '\0'; + + sprintf(openfilename, "%s/%s", "textures", normalMapName); + // Convert backslashes to forward slashes + for (int k = 0; k < 1024; k++) + { + if (openfilename[k] == '\0') + break; + + if (openfilename[k] == '\\') + openfilename[k] = '/'; + } + + Resource::resource_t *res = Resource::Open(openfilename); + if (res) + { + Resource::Close(res); + retModel->materials[t].lightmap = Texture::ReadTexture(normalMapName, ZT_TEXTURE); + } + }*/ + } + + retModel->meshes[0].numTriangles = header->numTris; + + if (!useFloat) // Decompress to MD3 'tinyframe' space + { + char *ptr; + + md2triangle_t *trisPtr; + unsigned short *indexptr; + float *uvptr; + + dataScale = 0.015624f; // 1 / 64.0f + retModel->meshes[0].tinyframes = (tinyframe_t*)Z_Calloc(sizeof(tinyframe_t)*header->numFrames, ztag, 0); + retModel->meshes[0].numVertices = header->numXYZ; + retModel->meshes[0].uvs = (float*)Z_Malloc(sizeof(float) * 2 * retModel->meshes[0].numVertices, ztag, 0); + + ptr = (char*)frames; + for (i = 0; i < header->numFrames; i++, ptr += header->framesize) + { + short *vertptr; + char *normptr; + // char *tanptr; + + md2vertex_t *vertex; + + md2frame_t *framePtr = (md2frame_t*)ptr; + retModel->meshes[0].tinyframes[i].vertices = (short*)Z_Malloc(sizeof(short) * 3 * header->numXYZ, ztag, 0); + retModel->meshes[0].tinyframes[i].normals = (char*)Z_Malloc(sizeof(char) * 3 * header->numXYZ, ztag, 0); + + // if (retModel->materials[0].lightmap) + // retModel->meshes[0].tinyframes[i].tangents = (char*)malloc(sizeof(char));//(char*)Z_Malloc(sizeof(char)*3*header->numVerts, ztag); + retModel->meshes[0].indices = (unsigned short*)Z_Malloc(sizeof(unsigned short) * 3 * header->numTris, ztag, 0); + + vertptr = retModel->meshes[0].tinyframes[i].vertices; + normptr = retModel->meshes[0].tinyframes[i].normals; + + // tanptr = retModel->meshes[0].tinyframes[i].tangents; + retModel->meshes[0].tinyframes[i].material = &retModel->materials[0]; + + framePtr++; // Advance to vertex list + vertex = (md2vertex_t*)framePtr; + framePtr--; + for (j = 0; j < header->numXYZ; j++, vertex++) + { + *vertptr = (short)(((vertex->v[0] * framePtr->scale[0]) + framePtr->translate[0]) / dataScale); + vertptr++; + *vertptr = (short)(((vertex->v[2] * framePtr->scale[2]) + framePtr->translate[2]) / dataScale); + vertptr++; + *vertptr = -1.0f * (short)(((vertex->v[1] * framePtr->scale[1]) + framePtr->translate[1]) / dataScale); + vertptr++; + + // Normal + *normptr++ = (char)(avertexnormals[vertex->lightNormalIndex][0] * 127); + *normptr++ = (char)(avertexnormals[vertex->lightNormalIndex][2] * 127); + *normptr++ = (char)(avertexnormals[vertex->lightNormalIndex][1] * 127); + } + } + + // This doesn't need to be done every frame! + trisPtr = tris; + indexptr = retModel->meshes[0].indices; + uvptr = (float*)retModel->meshes[0].uvs; + for (j = 0; j < header->numTris; j++, trisPtr++) + { + *indexptr = trisPtr->meshIndex[0]; + indexptr++; + *indexptr = trisPtr->meshIndex[1]; + indexptr++; + *indexptr = trisPtr->meshIndex[2]; + indexptr++; + + uvptr[trisPtr->meshIndex[0] * 2] = texcoords[trisPtr->stIndex[0]].s / (float)header->skinwidth; + uvptr[trisPtr->meshIndex[0] * 2 + 1] = (texcoords[trisPtr->stIndex[0]].t / (float)header->skinheight); + uvptr[trisPtr->meshIndex[1] * 2] = texcoords[trisPtr->stIndex[1]].s / (float)header->skinwidth; + uvptr[trisPtr->meshIndex[1] * 2 + 1] = (texcoords[trisPtr->stIndex[1]].t / (float)header->skinheight); + uvptr[trisPtr->meshIndex[2] * 2] = texcoords[trisPtr->stIndex[2]].s / (float)header->skinwidth; + uvptr[trisPtr->meshIndex[2] * 2 + 1] = (texcoords[trisPtr->stIndex[2]].t / (float)header->skinheight); + } + } + else // Full float loading method + { + md2triangle_t *trisPtr; + float *uvptr; + + char *ptr; + + retModel->meshes[0].numVertices = header->numTris * 3; + retModel->meshes[0].frames = (mdlframe_t*)Z_Calloc(sizeof(mdlframe_t)*header->numFrames, ztag, 0); + retModel->meshes[0].uvs = (float*)Z_Malloc(sizeof(float) * 2 * retModel->meshes[0].numVertices, ztag, 0); + + trisPtr = tris; + uvptr = retModel->meshes[0].uvs; + for (i = 0; i < retModel->meshes[0].numTriangles; i++, trisPtr++) + { + *uvptr++ = texcoords[trisPtr->stIndex[0]].s / (float)header->skinwidth; + *uvptr++ = (texcoords[trisPtr->stIndex[0]].t / (float)header->skinheight); + *uvptr++ = texcoords[trisPtr->stIndex[1]].s / (float)header->skinwidth; + *uvptr++ = (texcoords[trisPtr->stIndex[1]].t / (float)header->skinheight); + *uvptr++ = texcoords[trisPtr->stIndex[2]].s / (float)header->skinwidth; + *uvptr++ = (texcoords[trisPtr->stIndex[2]].t / (float)header->skinheight); + } + + ptr = (char*)frames; + for (i = 0; i < header->numFrames; i++, ptr += header->framesize) + { + float *vertptr, *normptr; + + md2vertex_t *vertex; + + md2frame_t *framePtr = (md2frame_t*)ptr; + retModel->meshes[0].frames[i].normals = (float*)Z_Malloc(sizeof(float) * 3 * header->numTris * 3, ztag, 0); + retModel->meshes[0].frames[i].vertices = (float*)Z_Malloc(sizeof(float) * 3 * header->numTris * 3, ztag, 0); + // if (retModel->materials[0].lightmap) + // retModel->meshes[0].frames[i].tangents = (float*)malloc(sizeof(float));//(float*)Z_Malloc(sizeof(float)*3*header->numTris*3, ztag); + //float *vertptr, *normptr; + normptr = (float*)retModel->meshes[0].frames[i].normals; + vertptr = (float*)retModel->meshes[0].frames[i].vertices; + trisPtr = tris; + + retModel->meshes[0].frames[i].material = &retModel->materials[0]; + + framePtr++; // Advance to vertex list + vertex = (md2vertex_t*)framePtr; + framePtr--; + for (j = 0; j < header->numTris; j++, trisPtr++) + { + *vertptr = ((vertex[trisPtr->meshIndex[0]].v[0] * framePtr->scale[0]) + framePtr->translate[0]) * WUNITS; + vertptr++; + *vertptr = ((vertex[trisPtr->meshIndex[0]].v[2] * framePtr->scale[2]) + framePtr->translate[2]) * WUNITS; + vertptr++; + *vertptr = -1.0f * ((vertex[trisPtr->meshIndex[0]].v[1] * framePtr->scale[1]) + framePtr->translate[1]) * WUNITS; + vertptr++; + + *vertptr = ((vertex[trisPtr->meshIndex[1]].v[0] * framePtr->scale[0]) + framePtr->translate[0]) * WUNITS; + vertptr++; + *vertptr = ((vertex[trisPtr->meshIndex[1]].v[2] * framePtr->scale[2]) + framePtr->translate[2]) * WUNITS; + vertptr++; + *vertptr = -1.0f * ((vertex[trisPtr->meshIndex[1]].v[1] * framePtr->scale[1]) + framePtr->translate[1]) * WUNITS; + vertptr++; + + *vertptr = ((vertex[trisPtr->meshIndex[2]].v[0] * framePtr->scale[0]) + framePtr->translate[0]) * WUNITS; + vertptr++; + *vertptr = ((vertex[trisPtr->meshIndex[2]].v[2] * framePtr->scale[2]) + framePtr->translate[2]) * WUNITS; + vertptr++; + *vertptr = -1.0f * ((vertex[trisPtr->meshIndex[2]].v[1] * framePtr->scale[1]) + framePtr->translate[1]) * WUNITS; + vertptr++; + + *normptr++ = avertexnormals[vertex[trisPtr->meshIndex[0]].lightNormalIndex][0]; + *normptr++ = avertexnormals[vertex[trisPtr->meshIndex[0]].lightNormalIndex][2]; + *normptr++ = avertexnormals[vertex[trisPtr->meshIndex[0]].lightNormalIndex][1]; + + *normptr++ = avertexnormals[vertex[trisPtr->meshIndex[1]].lightNormalIndex][0]; + *normptr++ = avertexnormals[vertex[trisPtr->meshIndex[1]].lightNormalIndex][2]; + *normptr++ = avertexnormals[vertex[trisPtr->meshIndex[1]].lightNormalIndex][1]; + + *normptr++ = avertexnormals[vertex[trisPtr->meshIndex[2]].lightNormalIndex][0]; + *normptr++ = avertexnormals[vertex[trisPtr->meshIndex[2]].lightNormalIndex][2]; + *normptr++ = avertexnormals[vertex[trisPtr->meshIndex[2]].lightNormalIndex][1]; + } + } + } + + free(buffer); + return retModel; +} diff --git a/src/hardware/hw_md2load.h b/src/hardware/hw_md2load.h new file mode 100644 index 00000000..942aac1a --- /dev/null +++ b/src/hardware/hw_md2load.h @@ -0,0 +1,20 @@ +/* + From the 'Wizard2' engine by Spaddlewit Inc. ( http://www.spaddlewit.com ) + An experimental work-in-progress. + + Donated to Sonic Team Junior and adapted to work with + Sonic Robo Blast 2. The license of this code matches whatever + the licensing is for Sonic Robo Blast 2. +*/ + +#ifndef _HW_MD2LOAD_H_ +#define _HW_MD2LOAD_H_ + +#include "hw_model.h" +#include "../doomtype.h" + +// Load the Model +model_t *MD2_LoadModel(const char *fileName, int ztag, boolean useFloat); + +#endif + diff --git a/src/hardware/hw_md3load.c b/src/hardware/hw_md3load.c new file mode 100644 index 00000000..53f6034c --- /dev/null +++ b/src/hardware/hw_md3load.c @@ -0,0 +1,510 @@ +/* + From the 'Wizard2' engine by Spaddlewit Inc. ( http://www.spaddlewit.com ) + An experimental work-in-progress. + + Donated to Sonic Team Junior and adapted to work with + Sonic Robo Blast 2. The license of this code matches whatever + the licensing is for Sonic Robo Blast 2. +*/ + +#include +#include +#include +#include "../doomdef.h" +#include "hw_md3load.h" +#include "hw_model.h" +#include "../z_zone.h" + +typedef struct +{ + int ident; // A "magic number" that's used to identify the .md3 file + int version; // The version of the file, always 15 + char name[64]; + int flags; + int numFrames; // Number of frames + int numTags; + int numSurfaces; + int numSkins; // Number of skins with the model + int offsetFrames; + int offsetTags; + int offsetSurfaces; + int offsetEnd; // Offset, in bytes from the start of the file, to the end of the file (filesize) +} md3modelHeader; + +typedef struct +{ + float minBounds[3]; // First corner of the bounding box + float maxBounds[3]; // Second corner of the bounding box + float localOrigin[3]; // Local origin, usually (0, 0, 0) + float radius; // Radius of bounding sphere + char name[16]; // Name of frame +} md3Frame; + +typedef struct +{ + char name[64]; // Name of tag + float origin[3]; // Coordinates of tag + float axis[9]; // Orientation of tag object +} md3Tag; + +typedef struct +{ + int ident; + char name[64]; // Name of this surface + int flags; + int numFrames; // # of keyframes + int numShaders; // # of shaders + int numVerts; // # of vertices + int numTriangles; // # of triangles + int offsetTriangles; // Relative offset from start of this struct to where the list of Triangles start + int offsetShaders; // Relative offset from start of this struct to where the list of Shaders start + int offsetST; // Relative offset from start of this struct to where the list of tex coords start + int offsetXYZNormal; // Relative offset from start of this struct to where the list of vertices start + int offsetEnd; // Relative offset from start of this struct to where this surface ends +} md3Surface; + +typedef struct +{ + char name[64]; // Name of this shader + int shaderIndex; // Shader index number +} md3Shader; + +typedef struct +{ + int index[3]; // List of offset values into the list of Vertex objects that constitute the corners of the Triangle object. +} md3Triangle; + +typedef struct +{ + float st[2]; +} md3TexCoord; + +typedef struct +{ + short x, y, z, n; +} md3Vertex; + +static float latlnglookup[256][256][3]; + +static void GetNormalFromLatLong(short latlng, float *out) +{ + float *lookup = latlnglookup[(unsigned char)(latlng >> 8)][(unsigned char)(latlng & 255)]; + + out[0] = *lookup++; + out[1] = *lookup++; + out[2] = *lookup++; +} + +#if 0 +static void NormalToLatLng(float *n, short *out) +{ + // Special cases + if (0.0f == n[0] && 0.0f == n[1]) + { + if (n[2] > 0.0f) + *out = 0; + else + *out = 128; + } + else + { + char x, y; + + x = (char)(57.2957795f * (atan2(n[1], n[0])) * (255.0f / 360.0f)); + y = (char)(57.2957795f * (acos(n[2])) * (255.0f / 360.0f)); + + *out = (x << 8) + y; + } +} +#endif + +static inline void LatLngToNormal(short n, float *out) +{ + const float PI = (3.1415926535897932384626433832795f); + float lat = (float)(n >> 8); + float lng = (float)(n & 255); + + lat *= PI / 128.0f; + lng *= PI / 128.0f; + + out[0] = cosf(lat) * sinf(lng); + out[1] = sinf(lat) * sinf(lng); + out[2] = cosf(lng); +} + +static void LatLngInit(void) +{ + int i, j; + for (i = 0; i < 256; i++) + { + for (j = 0; j < 256; j++) + LatLngToNormal((short)((i << 8) + j), latlnglookup[i][j]); + } +} + +static boolean latlnginit = false; + +model_t *MD3_LoadModel(const char *fileName, int ztag, boolean useFloat) +{ + const float WUNITS = 1.0f; + model_t *retModel = NULL; + md3modelHeader *mdh; + long fileLen; + long fileReadLen; + char *buffer; + int surfEnd; + int i, t; + int matCount; + FILE *f; + + if (!latlnginit) + { + LatLngInit(); + latlnginit = true; + } + + f = fopen(fileName, "rb"); + + if (!f) + return NULL; + + retModel = (model_t*)Z_Calloc(sizeof(model_t), ztag, 0); + + // find length of file + fseek(f, 0, SEEK_END); + fileLen = ftell(f); + fseek(f, 0, SEEK_SET); + + // read in file + buffer = malloc(fileLen); + fileReadLen = fread(buffer, fileLen, 1, f); + fclose(f); + + (void)fileReadLen; // intentionally ignore return value, per buildbot + + // get pointer to file header + mdh = (md3modelHeader*)buffer; + + retModel->numMeshes = mdh->numSurfaces; + + retModel->numMaterials = 0; + surfEnd = 0; + for (i = 0; i < mdh->numSurfaces; i++) + { + md3Surface *mdS = (md3Surface*)&buffer[mdh->offsetSurfaces]; + surfEnd += mdS->offsetEnd; + + retModel->numMaterials += mdS->numShaders; + } + + // Initialize materials + if (retModel->numMaterials <= 0) // Always at least one skin, duh + retModel->numMaterials = 1; + + retModel->materials = (material_t*)Z_Calloc(sizeof(material_t)*retModel->numMaterials, ztag, 0); + + for (t = 0; t < retModel->numMaterials; t++) + { + retModel->materials[t].ambient[0] = 0.3686f; + retModel->materials[t].ambient[1] = 0.3684f; + retModel->materials[t].ambient[2] = 0.3684f; + retModel->materials[t].ambient[3] = 1.0f; + retModel->materials[t].diffuse[0] = 0.8863f; + retModel->materials[t].diffuse[1] = 0.8850f; + retModel->materials[t].diffuse[2] = 0.8850f; + retModel->materials[t].diffuse[3] = 1.0f; + retModel->materials[t].emissive[0] = 0.0f; + retModel->materials[t].emissive[1] = 0.0f; + retModel->materials[t].emissive[2] = 0.0f; + retModel->materials[t].emissive[3] = 1.0f; + retModel->materials[t].specular[0] = 0.4902f; + retModel->materials[t].specular[1] = 0.4887f; + retModel->materials[t].specular[2] = 0.4887f; + retModel->materials[t].specular[3] = 1.0f; + retModel->materials[t].shininess = 25.0f; + retModel->materials[t].spheremap = false; + } + + retModel->meshes = (mesh_t*)Z_Calloc(sizeof(mesh_t)*retModel->numMeshes, ztag, 0); + + matCount = 0; + for (i = 0, surfEnd = 0; i < mdh->numSurfaces; i++) + { + int j; + md3Shader *mdShader; + md3Surface *mdS = (md3Surface*)&buffer[mdh->offsetSurfaces + surfEnd]; + surfEnd += mdS->offsetEnd; + + mdShader = (md3Shader*)((char*)mdS + mdS->offsetShaders); + + for (j = 0; j < mdS->numShaders; j++, matCount++) + { + size_t len = strlen(mdShader[j].name); + mdShader[j].name[len-1] = 'z'; + mdShader[j].name[len-2] = 'u'; + mdShader[j].name[len-3] = 'b'; + + // Load material +/* retModel->materials[matCount].texture = Texture::ReadTexture(mdShader[j].name, ZT_TEXTURE); + + if (!systemSucks) + { + // Check for a normal map...?? + char openfilename[1024]; + char normalMapName[1024]; + strcpy(normalMapName, mdShader[j].name); + len = strlen(normalMapName); + char *ptr = &normalMapName[len]; + ptr--; // z + ptr--; // u + ptr--; // b + ptr--; // . + *ptr++ = '_'; + *ptr++ = 'n'; + *ptr++ = '.'; + *ptr++ = 'b'; + *ptr++ = 'u'; + *ptr++ = 'z'; + *ptr++ = '\0'; + + sprintf(openfilename, "%s/%s", "textures", normalMapName); + // Convert backslashes to forward slashes + for (int k = 0; k < 1024; k++) + { + if (openfilename[k] == '\0') + break; + + if (openfilename[k] == '\\') + openfilename[k] = '/'; + } + + Resource::resource_t *res = Resource::Open(openfilename); + if (res) + { + Resource::Close(res); + retModel->materials[matCount].lightmap = Texture::ReadTexture(normalMapName, ZT_TEXTURE); + } + }*/ + } + + retModel->meshes[i].numFrames = mdS->numFrames; + retModel->meshes[i].numTriangles = mdS->numTriangles; + + if (!useFloat) // 'tinyframe' mode with indices + { + float tempNormal[3]; + float *uvptr; + md3TexCoord *mdST; + unsigned short *indexptr; + md3Triangle *mdT; + + retModel->meshes[i].tinyframes = (tinyframe_t*)Z_Calloc(sizeof(tinyframe_t)*mdS->numFrames, ztag, 0); + retModel->meshes[i].numVertices = mdS->numVerts; + retModel->meshes[i].uvs = (float*)Z_Malloc(sizeof(float)*2*mdS->numVerts, ztag, 0); + for (j = 0; j < mdS->numFrames; j++) + { + short *vertptr; + char *normptr; + // char *tanptr; + int k; + md3Vertex *mdV = (md3Vertex*)((char*)mdS + mdS->offsetXYZNormal + (mdS->numVerts*j*sizeof(md3Vertex))); + retModel->meshes[i].tinyframes[j].vertices = (short*)Z_Malloc(sizeof(short)*3*mdS->numVerts, ztag, 0); + retModel->meshes[i].tinyframes[j].normals = (char*)Z_Malloc(sizeof(char)*3*mdS->numVerts, ztag, 0); + +// if (retModel->materials[0].lightmap) +// retModel->meshes[i].tinyframes[j].tangents = (char*)malloc(sizeof(char));//(char*)Z_Malloc(sizeof(char)*3*mdS->numVerts, ztag); + retModel->meshes[i].indices = (unsigned short*)Z_Malloc(sizeof(unsigned short) * 3 * mdS->numTriangles, ztag, 0); + vertptr = retModel->meshes[i].tinyframes[j].vertices; + normptr = retModel->meshes[i].tinyframes[j].normals; + +// tanptr = retModel->meshes[i].tinyframes[j].tangents; + retModel->meshes[i].tinyframes[j].material = &retModel->materials[i]; + + for (k = 0; k < mdS->numVerts; k++) + { + // Vertex + *vertptr = mdV[k].x; + vertptr++; + *vertptr = mdV[k].z; + vertptr++; + *vertptr = 1.0f - mdV[k].y; + vertptr++; + + // Normal + GetNormalFromLatLong(mdV[k].n, tempNormal); + *normptr = (char)(tempNormal[0] * 127); + normptr++; + *normptr = (char)(tempNormal[2] * 127); + normptr++; + *normptr = (char)(tempNormal[1] * 127); + normptr++; + } + } + + uvptr = (float*)retModel->meshes[i].uvs; + mdST = (md3TexCoord*)((char*)mdS + mdS->offsetST); + for (j = 0; j < mdS->numVerts; j++) + { + *uvptr = mdST[j].st[0]; + uvptr++; + *uvptr = mdST[j].st[1]; + uvptr++; + } + + indexptr = retModel->meshes[i].indices; + mdT = (md3Triangle*)((char*)mdS + mdS->offsetTriangles); + for (j = 0; j < mdS->numTriangles; j++, mdT++) + { + // Indices + *indexptr = (unsigned short)mdT->index[0]; + indexptr++; + *indexptr = (unsigned short)mdT->index[1]; + indexptr++; + *indexptr = (unsigned short)mdT->index[2]; + indexptr++; + } + } + else // Traditional full-float loading method + { + float dataScale = 0.015624f * WUNITS; + float tempNormal[3]; + md3TexCoord *mdST; + md3Triangle *mdT; + float *uvptr; + int k; + + retModel->meshes[i].numVertices = mdS->numTriangles * 3;//mdS->numVerts; + retModel->meshes[i].frames = (mdlframe_t*)Z_Calloc(sizeof(mdlframe_t)*mdS->numFrames, ztag, 0); + retModel->meshes[i].uvs = (float*)Z_Malloc(sizeof(float)*2*mdS->numTriangles*3, ztag, 0); + + for (j = 0; j < mdS->numFrames; j++) + { + float *vertptr; + float *normptr; + md3Vertex *mdV = (md3Vertex*)((char*)mdS + mdS->offsetXYZNormal + (mdS->numVerts*j*sizeof(md3Vertex))); + retModel->meshes[i].frames[j].vertices = (float*)Z_Malloc(sizeof(float)*3*mdS->numTriangles*3, ztag, 0); + retModel->meshes[i].frames[j].normals = (float*)Z_Malloc(sizeof(float)*3*mdS->numTriangles*3, ztag, 0); +// if (retModel->materials[i].lightmap) +// retModel->meshes[i].frames[j].tangents = (float*)malloc(sizeof(float));//(float*)Z_Malloc(sizeof(float)*3*mdS->numTriangles*3, ztag); + vertptr = retModel->meshes[i].frames[j].vertices; + normptr = retModel->meshes[i].frames[j].normals; + retModel->meshes[i].frames[j].material = &retModel->materials[i]; + + mdT = (md3Triangle*)((char*)mdS + mdS->offsetTriangles); + + for (k = 0; k < mdS->numTriangles; k++) + { + // Vertex 1 + *vertptr = mdV[mdT->index[0]].x * dataScale; + vertptr++; + *vertptr = mdV[mdT->index[0]].z * dataScale; + vertptr++; + *vertptr = 1.0f - mdV[mdT->index[0]].y * dataScale; + vertptr++; + + GetNormalFromLatLong(mdV[mdT->index[0]].n, tempNormal); + *normptr = tempNormal[0]; + normptr++; + *normptr = tempNormal[2]; + normptr++; + *normptr = tempNormal[1]; + normptr++; + + // Vertex 2 + *vertptr = mdV[mdT->index[1]].x * dataScale; + vertptr++; + *vertptr = mdV[mdT->index[1]].z * dataScale; + vertptr++; + *vertptr = 1.0f - mdV[mdT->index[1]].y * dataScale; + vertptr++; + + GetNormalFromLatLong(mdV[mdT->index[1]].n, tempNormal); + *normptr = tempNormal[0]; + normptr++; + *normptr = tempNormal[2]; + normptr++; + *normptr = tempNormal[1]; + normptr++; + + // Vertex 3 + *vertptr = mdV[mdT->index[2]].x * dataScale; + vertptr++; + *vertptr = mdV[mdT->index[2]].z * dataScale; + vertptr++; + *vertptr = 1.0f - mdV[mdT->index[2]].y * dataScale; + vertptr++; + + GetNormalFromLatLong(mdV[mdT->index[2]].n, tempNormal); + *normptr = tempNormal[0]; + normptr++; + *normptr = tempNormal[2]; + normptr++; + *normptr = tempNormal[1]; + normptr++; + + mdT++; // Advance to next triangle + } + } + + mdST = (md3TexCoord*)((char*)mdS + mdS->offsetST); + uvptr = (float*)retModel->meshes[i].uvs; + mdT = (md3Triangle*)((char*)mdS + mdS->offsetTriangles); + + for (k = 0; k < mdS->numTriangles; k++) + { + *uvptr = mdST[mdT->index[0]].st[0]; + uvptr++; + *uvptr = mdST[mdT->index[0]].st[1]; + uvptr++; + + *uvptr = mdST[mdT->index[1]].st[0]; + uvptr++; + *uvptr = mdST[mdT->index[1]].st[1]; + uvptr++; + + *uvptr = mdST[mdT->index[2]].st[0]; + uvptr++; + *uvptr = mdST[mdT->index[2]].st[1]; + uvptr++; + + mdT++; // Advance to next triangle + } + } + } + /* + // Tags? + retModel->numTags = mdh->numTags; + retModel->maxNumFrames = mdh->numFrames; + retModel->tags = (tag_t*)Z_Calloc(sizeof(tag_t) * retModel->numTags * mdh->numFrames, ztag); + md3Tag *mdTag = (md3Tag*)&buffer[mdh->offsetTags]; + tag_t *curTag = retModel->tags; + for (i = 0; i < mdh->numFrames; i++) + { + int j; + for (j = 0; j < retModel->numTags; j++, mdTag++) + { + strcpys(curTag->name, mdTag->name, sizeof(curTag->name) / sizeof(char)); + curTag->transform.m[0][0] = mdTag->axis[0]; + curTag->transform.m[0][1] = mdTag->axis[1]; + curTag->transform.m[0][2] = mdTag->axis[2]; + curTag->transform.m[1][0] = mdTag->axis[3]; + curTag->transform.m[1][1] = mdTag->axis[4]; + curTag->transform.m[1][2] = mdTag->axis[5]; + curTag->transform.m[2][0] = mdTag->axis[6]; + curTag->transform.m[2][1] = mdTag->axis[7]; + curTag->transform.m[2][2] = mdTag->axis[8]; + curTag->transform.m[3][0] = mdTag->origin[0] * WUNITS; + curTag->transform.m[3][1] = mdTag->origin[1] * WUNITS; + curTag->transform.m[3][2] = mdTag->origin[2] * WUNITS; + curTag->transform.m[3][3] = 1.0f; + + Matrix::Rotate(&curTag->transform, 90.0f, &Vector::Xaxis); + curTag++; + } + }*/ + + + free(buffer); + + return retModel; +} diff --git a/src/hardware/hw_md3load.h b/src/hardware/hw_md3load.h new file mode 100644 index 00000000..c0e0522f --- /dev/null +++ b/src/hardware/hw_md3load.h @@ -0,0 +1,19 @@ +/* + From the 'Wizard2' engine by Spaddlewit Inc. ( http://www.spaddlewit.com ) + An experimental work-in-progress. + + Donated to Sonic Team Junior and adapted to work with + Sonic Robo Blast 2. The license of this code matches whatever + the licensing is for Sonic Robo Blast 2. +*/ + +#ifndef _HW_MD3LOAD_H_ +#define _HW_MD3LOAD_H_ + +#include "hw_model.h" +#include "../doomtype.h" + +// Load the Model +model_t *MD3_LoadModel(const char *fileName, int ztag, boolean useFloat); + +#endif diff --git a/src/hardware/hw_model.c b/src/hardware/hw_model.c new file mode 100644 index 00000000..2c36f974 --- /dev/null +++ b/src/hardware/hw_model.c @@ -0,0 +1,593 @@ +/* + From the 'Wizard2' engine by Spaddlewit Inc. ( http://www.spaddlewit.com ) + An experimental work-in-progress. + + Donated to Sonic Team Junior and adapted to work with + Sonic Robo Blast 2. The license of this code matches whatever + the licensing is for Sonic Robo Blast 2. +*/ + +#include "../z_zone.h" +#include "../doomdef.h" +#include "hw_model.h" +#include "hw_md2load.h" +#include "hw_md3load.h" +#include "u_list.h" +#include + +static float PI = (3.1415926535897932384626433832795f); +static float U_Deg2Rad(float deg) +{ + return deg * ((float)PI / 180.0f); +} + +vector_t vectorXaxis = { 1.0f, 0.0f, 0.0f }; +vector_t vectorYaxis = { 0.0f, 1.0f, 0.0f }; +vector_t vectorZaxis = { 0.0f, 0.0f, 1.0f }; + +void VectorRotate(vector_t *rotVec, const vector_t *axisVec, float angle) +{ + float ux, uy, uz, vx, vy, vz, wx, wy, wz, sa, ca; + + angle = U_Deg2Rad(angle); + + // Rotate the point (x,y,z) around the vector (u,v,w) + ux = axisVec->x * rotVec->x; + uy = axisVec->x * rotVec->y; + uz = axisVec->x * rotVec->z; + vx = axisVec->y * rotVec->x; + vy = axisVec->y * rotVec->y; + vz = axisVec->y * rotVec->z; + wx = axisVec->z * rotVec->x; + wy = axisVec->z * rotVec->y; + wz = axisVec->z * rotVec->z; + sa = sinf(angle); + ca = cosf(angle); + + rotVec->x = axisVec->x*(ux + vy + wz) + (rotVec->x*(axisVec->y*axisVec->y + axisVec->z*axisVec->z) - axisVec->x*(vy + wz))*ca + (-wy + vz)*sa; + rotVec->y = axisVec->y*(ux + vy + wz) + (rotVec->y*(axisVec->x*axisVec->x + axisVec->z*axisVec->z) - axisVec->y*(ux + wz))*ca + (wx - uz)*sa; + rotVec->z = axisVec->z*(ux + vy + wz) + (rotVec->z*(axisVec->x*axisVec->x + axisVec->y*axisVec->y) - axisVec->z*(ux + vy))*ca + (-vx + uy)*sa; +} + +void UnloadModel(model_t *model) +{ + // Wouldn't it be great if C just had destructors? + int i; + for (i = 0; i < model->numMeshes; i++) + { + mesh_t *mesh = &model->meshes[i]; + + if (mesh->frames) + { + int j; + for (j = 0; j < mesh->numFrames; j++) + { + if (mesh->frames[j].normals) + Z_Free(mesh->frames[j].normals); + + if (mesh->frames[j].tangents) + Z_Free(mesh->frames[j].tangents); + + if (mesh->frames[j].vertices) + Z_Free(mesh->frames[j].vertices); + + if (mesh->frames[j].colors) + Z_Free(mesh->frames[j].colors); + } + + Z_Free(mesh->frames); + } + else if (mesh->tinyframes) + { + int j; + for (j = 0; j < mesh->numFrames; j++) + { + if (mesh->tinyframes[j].normals) + Z_Free(mesh->tinyframes[j].normals); + + if (mesh->tinyframes[j].tangents) + Z_Free(mesh->tinyframes[j].tangents); + + if (mesh->tinyframes[j].vertices) + Z_Free(mesh->tinyframes[j].vertices); + } + + if (mesh->indices) + Z_Free(mesh->indices); + + Z_Free(mesh->tinyframes); + } + + if (mesh->uvs) + Z_Free(mesh->uvs); + + if (mesh->lightuvs) + Z_Free(mesh->lightuvs); + } + + if (model->meshes) + Z_Free(model->meshes); + + if (model->tags) + Z_Free(model->tags); + + if (model->materials) + Z_Free(model->materials); + + DeleteVBOs(model); + Z_Free(model); +} + +tag_t *GetTagByName(model_t *model, char *name, int frame) +{ + if (frame < model->maxNumFrames) + { + tag_t *iterator = &model->tags[frame * model->numTags]; + + int i; + for (i = 0; i < model->numTags; i++) + { + if (!stricmp(iterator[i].name, name)) + return &iterator[i]; + } + } + + return NULL; +} + +// +// LoadModel +// +// Load a model and +// convert it to the +// internal format. +// +model_t *LoadModel(const char *filename, int ztag) +{ + model_t *model; + + // What type of file? + const char *extension = NULL; + int i; + for (i = (int)strlen(filename)-1; i >= 0; i--) + { + if (filename[i] != '.') + continue; + + extension = &filename[i]; + break; + } + + if (!extension) + { + CONS_Printf("Model %s is lacking a file extension, unable to determine type!\n", filename); + return NULL; + } + + if (!strcmp(extension, ".md3")) + { + if (!(model = MD3_LoadModel(filename, ztag, false))) + return NULL; + } + else if (!strcmp(extension, ".md3s")) // MD3 that will be converted in memory to use full floats + { + if (!(model = MD3_LoadModel(filename, ztag, true))) + return NULL; + } + else if (!strcmp(extension, ".md2")) + { + if (!(model = MD2_LoadModel(filename, ztag, false))) + return NULL; + } + else if (!strcmp(extension, ".md2s")) + { + if (!(model = MD2_LoadModel(filename, ztag, true))) + return NULL; + } + else + { + CONS_Printf("Unknown model format: %s\n", extension); + return NULL; + } + + model->mdlFilename = (char*)Z_Malloc(strlen(filename)+1, ztag, 0); + strcpy(model->mdlFilename, filename); + + Optimize(model); + GeneratePolygonNormals(model, ztag); + + // Default material properties + for (i = 0 ; i < model->numMaterials; i++) + { + material_t *material = &model->materials[i]; + material->ambient[0] = 0.7686f; + material->ambient[1] = 0.7686f; + material->ambient[2] = 0.7686f; + material->ambient[3] = 1.0f; + material->diffuse[0] = 0.5863f; + material->diffuse[1] = 0.5863f; + material->diffuse[2] = 0.5863f; + material->diffuse[3] = 1.0f; + material->specular[0] = 0.4902f; + material->specular[1] = 0.4902f; + material->specular[2] = 0.4902f; + material->specular[3] = 1.0f; + material->shininess = 25.0f; + } + + return model; +} + +// +// GenerateVertexNormals +// +// Creates a new normal for a vertex using the average of all of the polygons it belongs to. +// +void GenerateVertexNormals(model_t *model) +{ + int i; + for (i = 0; i < model->numMeshes; i++) + { + int j; + + mesh_t *mesh = &model->meshes[i]; + + if (!mesh->frames) + continue; + + for (j = 0; j < mesh->numFrames; j++) + { + mdlframe_t *frame = &mesh->frames[j]; + int memTag = PU_STATIC; + float *newNormals = (float*)Z_Malloc(sizeof(float)*3*mesh->numTriangles*3, memTag, 0); + int k; + float *vertPtr = frame->vertices; + float *oldNormals; + + M_Memcpy(newNormals, frame->normals, sizeof(float)*3*mesh->numTriangles*3); + +/* if (!systemSucks) + { + memTag = Z_GetTag(frame->tangents); + float *newTangents = (float*)Z_Malloc(sizeof(float)*3*mesh->numTriangles*3, memTag); + M_Memcpy(newTangents, frame->tangents, sizeof(float)*3*mesh->numTriangles*3); + }*/ + + for (k = 0; k < mesh->numVertices; k++) + { + float x, y, z; + int vCount = 0; + vector_t normal; + int l; + float *testPtr = frame->vertices; + + x = *vertPtr++; + y = *vertPtr++; + z = *vertPtr++; + + normal.x = normal.y = normal.z = 0; + + for (l = 0; l < mesh->numVertices; l++) + { + float testX, testY, testZ; + testX = *testPtr++; + testY = *testPtr++; + testZ = *testPtr++; + + if (fabsf(x - testX) > FLT_EPSILON + || fabsf(y - testY) > FLT_EPSILON + || fabsf(z - testZ) > FLT_EPSILON) + continue; + + // Found a vertex match! Add it... + normal.x += frame->normals[3 * l + 0]; + normal.y += frame->normals[3 * l + 1]; + normal.z += frame->normals[3 * l + 2]; + vCount++; + } + + if (vCount > 1) + { +// Vector::Normalize(&normal); + newNormals[3 * k + 0] = (float)normal.x; + newNormals[3 * k + 1] = (float)normal.y; + newNormals[3 * k + 2] = (float)normal.z; + +/* if (!systemSucks) + { + Vector::vector_t tangent; + Vector::Tangent(&normal, &tangent); + newTangents[3 * k + 0] = tangent.x; + newTangents[3 * k + 1] = tangent.y; + newTangents[3 * k + 2] = tangent.z; + }*/ + } + } + + oldNormals = frame->normals; + frame->normals = newNormals; + Z_Free(oldNormals); + +/* if (!systemSucks) + { + float *oldTangents = frame->tangents; + frame->tangents = newTangents; + Z_Free(oldTangents); + }*/ + } + } +} + +typedef struct materiallist_s +{ + struct materiallist_s *next; + struct materiallist_s *prev; + material_t *material; +} materiallist_t; + +static boolean AddMaterialToList(materiallist_t **head, material_t *material) +{ + materiallist_t *node, *newMatNode; + for (node = *head; node; node = node->next) + { + if (node->material == material) + return false; + } + + // Didn't find it, so add to the list + newMatNode = (materiallist_t*)Z_Malloc(sizeof(materiallist_t), PU_CACHE, 0); + newMatNode->material = material; + ListAdd(newMatNode, (listitem_t**)head); + return true; +} + +// +// Optimize +// +// Groups triangles from meshes in the model +// Only works for models with 1 frame +// +void Optimize(model_t *model) +{ + int numMeshes = 0; + int i; + materiallist_t *matListHead = NULL; + int memTag; + mesh_t *newMeshes; + materiallist_t *node; + + if (model->numMeshes <= 1) + return; // No need + + for (i = 0; i < model->numMeshes; i++) + { + mesh_t *curMesh = &model->meshes[i]; + + if (curMesh->numFrames > 1) + return; // Can't optimize models with > 1 frame + + if (!curMesh->frames) + return; // Don't optimize tinyframe models (no need) + + // We are condensing to 1 mesh per material, so + // the # of materials we use will be the new + // # of meshes + if (AddMaterialToList(&matListHead, curMesh->frames[0].material)) + numMeshes++; + } + + memTag = PU_STATIC; + newMeshes = (mesh_t*)Z_Calloc(sizeof(mesh_t) * numMeshes, memTag, 0); + + i = 0; + for (node = matListHead; node; node = node->next) + { + material_t *curMat = node->material; + mesh_t *newMesh = &newMeshes[i]; + mdlframe_t *curFrame; + int uvCount; + int vertCount; + int colorCount; + + // Find all triangles with this material and count them + int numTriangles = 0; + int j; + for (j = 0; j < model->numMeshes; j++) + { + mesh_t *curMesh = &model->meshes[j]; + + if (curMesh->frames[0].material == curMat) + numTriangles += curMesh->numTriangles; + } + + newMesh->numFrames = 1; + newMesh->numTriangles = numTriangles; + newMesh->numVertices = numTriangles * 3; + newMesh->uvs = (float*)Z_Malloc(sizeof(float)*2*numTriangles*3, memTag, 0); +// if (node->material->lightmap) +// newMesh->lightuvs = (float*)Z_Malloc(sizeof(float)*2*numTriangles*3, memTag, 0); + newMesh->frames = (mdlframe_t*)Z_Calloc(sizeof(mdlframe_t), memTag, 0); + curFrame = &newMesh->frames[0]; + + curFrame->material = curMat; + curFrame->normals = (float*)Z_Malloc(sizeof(float)*3*numTriangles*3, memTag, 0); +// if (!systemSucks) +// curFrame->tangents = (float*)Z_Malloc(sizeof(float)*3*numTriangles*3, memTag, 0); + curFrame->vertices = (float*)Z_Malloc(sizeof(float)*3*numTriangles*3, memTag, 0); + curFrame->colors = (char*)Z_Malloc(sizeof(char)*4*numTriangles*3, memTag, 0); + + // Now traverse the meshes of the model, adding in + // vertices/normals/uvs that match the current material + uvCount = 0; + vertCount = 0; + colorCount = 0; + for (j = 0; j < model->numMeshes; j++) + { + mesh_t *curMesh = &model->meshes[j]; + + if (curMesh->frames[0].material == curMat) + { + float *dest; + float *src; + char *destByte; + char *srcByte; + + M_Memcpy(&newMesh->uvs[uvCount], + curMesh->uvs, + sizeof(float)*2*curMesh->numTriangles*3); + +/* if (node->material->lightmap) + { + M_Memcpy(&newMesh->lightuvs[uvCount], + curMesh->lightuvs, + sizeof(float)*2*curMesh->numTriangles*3); + }*/ + uvCount += 2*curMesh->numTriangles*3; + + dest = (float*)newMesh->frames[0].vertices; + src = (float*)curMesh->frames[0].vertices; + M_Memcpy(&dest[vertCount], + src, + sizeof(float)*3*curMesh->numTriangles*3); + + dest = (float*)newMesh->frames[0].normals; + src = (float*)curMesh->frames[0].normals; + M_Memcpy(&dest[vertCount], + src, + sizeof(float)*3*curMesh->numTriangles*3); + +/* if (!systemSucks) + { + dest = (float*)newMesh->frames[0].tangents; + src = (float*)curMesh->frames[0].tangents; + M_Memcpy(&dest[vertCount], + src, + sizeof(float)*3*curMesh->numTriangles*3); + }*/ + + vertCount += 3 * curMesh->numTriangles * 3; + + destByte = (char*)newMesh->frames[0].colors; + srcByte = (char*)curMesh->frames[0].colors; + + if (srcByte) + { + M_Memcpy(&destByte[colorCount], + srcByte, + sizeof(char)*4*curMesh->numTriangles*3); + } + else + { + memset(&destByte[colorCount], + 255, + sizeof(char)*4*curMesh->numTriangles*3); + } + + colorCount += 4 * curMesh->numTriangles * 3; + } + } + + i++; + } + + CONS_Printf("Model::Optimize(): Model reduced from %d to %d meshes.\n", model->numMeshes, numMeshes); + model->meshes = newMeshes; + model->numMeshes = numMeshes; +} + +void GeneratePolygonNormals(model_t *model, int ztag) +{ + int i; + for (i = 0; i < model->numMeshes; i++) + { + int j; + mesh_t *mesh = &model->meshes[i]; + + if (!mesh->frames) + continue; + + for (j = 0; j < mesh->numFrames; j++) + { + int k; + mdlframe_t *frame = &mesh->frames[j]; + const float *vertices = frame->vertices; + vector_t *polyNormals; + + frame->polyNormals = (vector_t*)Z_Malloc(sizeof(vector_t) * mesh->numTriangles, ztag, 0); + + polyNormals = frame->polyNormals; + + for (k = 0; k < mesh->numTriangles; k++) + { +// Vector::Normal(vertices, polyNormals); + vertices += 3 * 3; + polyNormals++; + } + } + } +} + +// +// Reload +// +// Reload VBOs +// +#if 0 +static void Reload(void) +{ +/* model_t *node; + for (node = modelHead; node; node = node->next) + { + int i; + for (i = 0; i < node->numMeshes; i++) + { + mesh_t *mesh = &node->meshes[i]; + + if (mesh->frames) + { + int j; + for (j = 0; j < mesh->numFrames; j++) + CreateVBO(mesh, &mesh->frames[j]); + } + else if (mesh->tinyframes) + { + int j; + for (j = 0; j < mesh->numFrames; j++) + CreateVBO(mesh, &mesh->tinyframes[j]); + } + } + }*/ +} +#endif + +void DeleteVBOs(model_t *model) +{ + (void)model; +/* for (int i = 0; i < model->numMeshes; i++) + { + mesh_t *mesh = &model->meshes[i]; + + if (mesh->frames) + { + for (int j = 0; j < mesh->numFrames; j++) + { + mdlframe_t *frame = &mesh->frames[j]; + if (!frame->vboID) + continue; + bglDeleteBuffers(1, &frame->vboID); + frame->vboID = 0; + } + } + else if (mesh->tinyframes) + { + for (int j = 0; j < mesh->numFrames; j++) + { + tinyframe_t *frame = &mesh->tinyframes[j]; + if (!frame->vboID) + continue; + bglDeleteBuffers(1, &frame->vboID); + frame->vboID = 0; + } + } + }*/ +} diff --git a/src/hardware/hw_model.h b/src/hardware/hw_model.h new file mode 100644 index 00000000..1803f4c5 --- /dev/null +++ b/src/hardware/hw_model.h @@ -0,0 +1,104 @@ +/* + From the 'Wizard2' engine by Spaddlewit Inc. ( http://www.spaddlewit.com ) + An experimental work-in-progress. + + Donated to Sonic Team Junior and adapted to work with + Sonic Robo Blast 2. The license of this code matches whatever + the licensing is for Sonic Robo Blast 2. +*/ + +#ifndef _HW_MODEL_H_ +#define _HW_MODEL_H_ + +#include "../doomtype.h" + +typedef struct +{ + float x, y, z; +} vector_t; + +extern vector_t vectorXaxis; +extern vector_t vectorYaxis; +extern vector_t vectorZaxis; + +void VectorRotate(vector_t *rotVec, const vector_t *axisVec, float angle); + +typedef struct +{ + float ambient[4], diffuse[4], specular[4], emissive[4]; + float shininess; + boolean spheremap; +// Texture::texture_t *texture; +// Texture::texture_t *lightmap; +} material_t; + +typedef struct +{ + material_t *material; // Pointer to the allocated 'materials' list in model_t + float *vertices; + float *normals; + float *tangents; + char *colors; + unsigned int vboID; + vector_t *polyNormals; +} mdlframe_t; + +typedef struct +{ + material_t *material; + short *vertices; + char *normals; + char *tangents; + unsigned int vboID; +} tinyframe_t; + +// Equivalent to MD3's many 'surfaces' +typedef struct mesh_s +{ + int numVertices; + int numTriangles; + + float *uvs; + float *lightuvs; + + int numFrames; + mdlframe_t *frames; + tinyframe_t *tinyframes; + unsigned short *indices; +} mesh_t; + +typedef struct tag_s +{ + char name[64]; +// matrix_t transform; +} tag_t; + +typedef struct model_s +{ + int maxNumFrames; + + int numMaterials; + material_t *materials; + int numMeshes; + mesh_t *meshes; + int numTags; + tag_t *tags; + + char *mdlFilename; + boolean unloaded; +} model_t; + +extern int numModels; +extern model_t *modelHead; + +tag_t *GetTagByName(model_t *model, char *name, int frame); +model_t *LoadModel(const char *filename, int ztag); +void UnloadModel(model_t *model); +void Optimize(model_t *model); +void GenerateVertexNormals(model_t *model); +void GeneratePolygonNormals(model_t *model, int ztag); +void CreateVBOTiny(mesh_t *mesh, tinyframe_t *frame); +void CreateVBO(mesh_t *mesh, mdlframe_t *frame); +void DeleteVBOs(model_t *model); + +#endif diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 645d934e..25852c53 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -24,9 +24,9 @@ #include #include #include "r_opengl.h" +#include "r_vbo.h" #if defined (HWRENDER) && !defined (NOROPENGL) -// for KOS: GL_TEXTURE_ENV, glAlphaFunc, glColorMask, glPolygonOffset, glReadPixels, GL_ALPHA_TEST, GL_POLYGON_OFFSET_FILL struct GLRGBAFloat { @@ -36,6 +36,7 @@ struct GLRGBAFloat GLfloat alpha; }; typedef struct GLRGBAFloat GLRGBAFloat; +static const GLubyte white[4] = { 255, 255, 255, 255 }; // ========================================================================== // CONSTANTS @@ -94,10 +95,10 @@ static GLint viewport[4]; // These need to start at 0 and be set to their number, and be reset to 0 when deleted so that Intel GPUs // can know when the textures aren't there, as textures are always considered resident in their virtual memory // TODO: Store them in a more normal way -#define SCRTEX_SCREENTEXTURE 65535 -#define SCRTEX_STARTSCREENWIPE 65534 -#define SCRTEX_ENDSCREENWIPE 65533 -#define SCRTEX_FINALSCREENTEXTURE 65532 +#define SCRTEX_SCREENTEXTURE 4294967295U +#define SCRTEX_STARTSCREENWIPE 4294967294U +#define SCRTEX_ENDSCREENWIPE 4294967293U +#define SCRTEX_FINALSCREENTEXTURE 4294967292U static GLuint screentexture = 0; static GLuint startScreenWipe = 0; static GLuint endScreenWipe = 0; @@ -203,13 +204,19 @@ FUNCPRINTF void GL_DBG_Printf(const char *format, ...) #define pglTranslatef glTranslatef /* Drawing Functions */ -#define pglBegin glBegin -#define pglEnd glEnd -#define pglVertex3f glVertex3f -#define pglNormal3f glNormal3f -#define pglColor4f glColor4f -#define pglColor4fv glColor4fv -#define pglTexCoord2f glTexCoord2f +#define pglColor4ubv glColor4ubv +#define pglVertexPointer glVertexPointer +#define pglNormalPointer glNormalPointer +#define pglTexCoordPointer glTexCoordPointer +#define pglDrawArrays glDrawArrays +#define pglDrawElements glDrawElements +#define pglEnableClientState glEnableClientState +#define pglDisableClientState glDisableClientState +#define pglClientActiveTexture glClientActiveTexture +#define pglGenBuffers glGenBuffers +#define pglBindBuffer glBindBuffer +#define pglBufferData glBufferData +#define pglDeleteBuffers glDeleteBuffers /* Lighting */ #define pglShadeModel glShadeModel @@ -297,20 +304,30 @@ typedef void (APIENTRY * PFNglTranslatef) (GLfloat x, GLfloat y, GLfloat z); static PFNglTranslatef pglTranslatef; /* Drawing Functions */ -typedef void (APIENTRY * PFNglBegin) (GLenum mode); -static PFNglBegin pglBegin; -typedef void (APIENTRY * PFNglEnd) (void); -static PFNglEnd pglEnd; -typedef void (APIENTRY * PFNglVertex3f) (GLfloat x, GLfloat y, GLfloat z); -static PFNglVertex3f pglVertex3f; -typedef void (APIENTRY * PFNglNormal3f) (GLfloat x, GLfloat y, GLfloat z); -static PFNglNormal3f pglNormal3f; -typedef void (APIENTRY * PFNglColor4f) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); -static PFNglColor4f pglColor4f; -typedef void (APIENTRY * PFNglColor4fv) (const GLfloat *v); -static PFNglColor4fv pglColor4fv; -typedef void (APIENTRY * PFNglTexCoord2f) (GLfloat s, GLfloat t); -static PFNglTexCoord2f pglTexCoord2f; +typedef void (APIENTRY * PFNglColor4ubv) (const GLubyte *v); +static PFNglColor4ubv pglColor4ubv; +typedef void (APIENTRY * PFNglVertexPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +static PFNglVertexPointer pglVertexPointer; +typedef void (APIENTRY * PFNglNormalPointer) (GLenum type, GLsizei stride, const GLvoid *pointer); +static PFNglNormalPointer pglNormalPointer; +typedef void (APIENTRY * PFNglTexCoordPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +static PFNglTexCoordPointer pglTexCoordPointer; +typedef void (APIENTRY * PFNglDrawArrays) (GLenum mode, GLint first, GLsizei count); +static PFNglDrawArrays pglDrawArrays; +typedef void (APIENTRY * PFNglDrawElements) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices); +static PFNglDrawElements pglDrawElements; +typedef void (APIENTRY * PFNglEnableClientState) (GLenum cap); +static PFNglEnableClientState pglEnableClientState; +typedef void (APIENTRY * PFNglDisableClientState) (GLenum cap); +static PFNglDisableClientState pglDisableClientState; +typedef void (APIENTRY * PFNglGenBuffers) (GLsizei n, GLuint *buffers); +static PFNglGenBuffers pglGenBuffers; +typedef void (APIENTRY * PFNglBindBuffer) (GLenum target, GLuint buffer); +static PFNglBindBuffer pglBindBuffer; +typedef void (APIENTRY * PFNglBufferData) (GLenum target, GLsizei size, const GLvoid *data, GLenum usage); +static PFNglBufferData pglBufferData; +typedef void (APIENTRY * PFNglDeleteBuffers) (GLsizei n, const GLuint *buffers); +static PFNglDeleteBuffers pglDeleteBuffers; /* Lighting */ typedef void (APIENTRY * PFNglShadeModel) (GLenum mode); @@ -363,6 +380,10 @@ typedef void (APIENTRY *PFNglActiveTexture) (GLenum); static PFNglActiveTexture pglActiveTexture; typedef void (APIENTRY *PFNglMultiTexCoord2f) (GLenum, GLfloat, GLfloat); static PFNglMultiTexCoord2f pglMultiTexCoord2f; +typedef void (APIENTRY *PFNglMultiTexCoord2fv) (GLenum target, const GLfloat *v); +static PFNglMultiTexCoord2fv pglMultiTexCoord2fv; +typedef void (APIENTRY *PFNglClientActiveTexture) (GLenum); +static PFNglClientActiveTexture pglClientActiveTexture; /* 1.2 Parms */ /* GL_CLAMP_TO_EDGE_EXT */ @@ -424,13 +445,18 @@ boolean SetupGLfunc(void) GETOPENGLFUNC(pglScalef, glScalef) GETOPENGLFUNC(pglTranslatef, glTranslatef) - GETOPENGLFUNC(pglBegin, glBegin) - GETOPENGLFUNC(pglEnd, glEnd) - GETOPENGLFUNC(pglVertex3f, glVertex3f) - GETOPENGLFUNC(pglNormal3f, glNormal3f) - GETOPENGLFUNC(pglColor4f, glColor4f) - GETOPENGLFUNC(pglColor4fv, glColor4fv) - GETOPENGLFUNC(pglTexCoord2f, glTexCoord2f) + GETOPENGLFUNC(pglColor4ubv, glColor4ubv) + + GETOPENGLFUNC(pglVertexPointer, glVertexPointer) + GETOPENGLFUNC(pglNormalPointer, glNormalPointer) + GETOPENGLFUNC(pglTexCoordPointer, glTexCoordPointer) + GETOPENGLFUNC(pglDrawArrays, glDrawArrays) + GETOPENGLFUNC(pglDrawElements, glDrawElements) + GETOPENGLFUNC(pglEnableClientState, glEnableClientState) + GETOPENGLFUNC(pglDisableClientState, glDisableClientState) + GETOPENGLFUNC(pglClientActiveTexture, glClientActiveTexture) + if (!pglClientActiveTexture) + GETOPENGLFUNC(pglClientActiveTexture, glClientActiveTextureARB) GETOPENGLFUNC(pglShadeModel, glShadeModel) GETOPENGLFUNC(pglLightfv, glLightfv) @@ -471,49 +497,8 @@ boolean GLEXT_shaders = false; // hw_glob.h INT32 gl_leveltime = 0; -//#define GL_RETAINED_MODE // Immediate mode is faster. Go fucking figure. #define USE_SHADERS -typedef void (APIENTRY *PFNglDrawArrays) (GLenum, GLint, GLsizei); -typedef void (APIENTRY *PFNglDrawElements) (GLenum, GLsizei, GLenum, const GLvoid*); -typedef void (APIENTRY *PFNglVertexAttribPointer) (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid*); -typedef void (APIENTRY *PFNglEnableClientState) (GLenum); -typedef void (APIENTRY *PFNglDisableClientState) (GLenum); -typedef void (APIENTRY *PFNglBindVertexArray) (GLuint); -typedef void (APIENTRY *PFNglGenVertexArrays) (GLsizei, GLuint*); -typedef void (APIENTRY *PFNglGenBuffers) (GLsizei, GLuint*); -typedef void (APIENTRY *PFNglBindBuffer) (GLenum, GLuint); -typedef void (APIENTRY *PFNglBufferData) (GLenum, GLsizeiptr, GLvoid*, GLenum); -typedef void (APIENTRY *PFNglBufferSubData) (GLenum, GLintptr, GLsizeiptr, GLvoid*); -typedef void (APIENTRY *PFNglDeleteBuffers) (GLsizei, GLuint*); -typedef void (APIENTRY *PFNglDeleteVertexArrays) (GLsizei, GLuint*); -typedef void (APIENTRY *PFNglEnableVertexAttribArray) (GLuint); -typedef void (APIENTRY *PFNglDisableVertexAttribArray) (GLuint); - -static PFNglDrawArrays pglDrawArrays; -static PFNglDrawElements pglDrawElements; -static PFNglVertexAttribPointer pglVertexAttribPointer; -static PFNglEnableClientState pglEnableClientState; -static PFNglDisableClientState pglDisableClientState; -static PFNglBindVertexArray pglBindVertexArray; -static PFNglGenVertexArrays pglGenVertexArrays; -static PFNglGenBuffers pglGenBuffers; -static PFNglBindBuffer pglBindBuffer; -static PFNglBufferData pglBufferData; -static PFNglBufferSubData pglBufferSubData; -static PFNglDeleteBuffers pglDeleteBuffers; -static PFNglDeleteVertexArrays pglDeleteVertexArrays; -static PFNglEnableVertexAttribArray pglEnableVertexAttribArray; -static PFNglDisableVertexAttribArray pglDisableVertexAttribArray; - -typedef void (APIENTRY *PFNglVertexPointer) (GLint, GLenum, GLsizei, const GLvoid*); -typedef void (APIENTRY *PFNglNormalPointer) (GLenum, GLsizei, const GLvoid*); -typedef void (APIENTRY *PFNglTexCoordPointer) (GLint, GLenum, GLsizei, const GLvoid*); - -static PFNglVertexPointer pglVertexPointer; -static PFNglNormalPointer pglNormalPointer; -static PFNglTexCoordPointer pglTexCoordPointer; - // shaders #ifdef USE_SHADERS @@ -667,39 +652,18 @@ static char *fragment_shaders[] = { "}\0", }; -// Macro to reduce boilerplate code -#define BUFFER_OFFSET(i) ((void*)(i)) - #endif // USE_SHADERS -static GLuint gl_vertexarrayobject; -static GLuint gl_vertexbuffer; - void SetupGLFunc4(void) { pglActiveTexture = GetGLFunc("glActiveTexture"); pglMultiTexCoord2f = GetGLFunc("glMultiTexCoord2f"); - - // 4.x - pglDrawArrays = GetGLFunc("glDrawArrays"); - pglDrawElements = GetGLFunc("glDrawElements"); - pglVertexAttribPointer = GetGLFunc("glVertexAttribPointer"); - pglEnableClientState = GetGLFunc("glEnableClientState"); - pglDisableClientState = GetGLFunc("glDisableClientState"); - pglBindVertexArray = GetGLFunc("glBindVertexArray"); - pglGenVertexArrays = GetGLFunc("glGenVertexArrays"); + pglClientActiveTexture = GetGLFunc("glClientActiveTexture"); + pglMultiTexCoord2fv = GetGLFunc("glMultiTexCoord2fv"); pglGenBuffers = GetGLFunc("glGenBuffers"); pglBindBuffer = GetGLFunc("glBindBuffer"); pglBufferData = GetGLFunc("glBufferData"); - pglBufferSubData = GetGLFunc("glBufferSubData"); pglDeleteBuffers = GetGLFunc("glDeleteBuffers"); - pglDeleteVertexArrays = GetGLFunc("glDeleteVertexArrays"); - pglEnableVertexAttribArray = GetGLFunc("glEnableVertexAttribArray"); - pglDisableVertexAttribArray = GetGLFunc("glDisableVertexAttribArray"); - - pglVertexPointer = GetGLFunc("glVertexPointer"); - pglNormalPointer = GetGLFunc("glNormalPointer"); - pglTexCoordPointer = GetGLFunc("glTexCoordPointer"); #ifdef USE_SHADERS pglCreateShader = GetGLFunc("glCreateShader"); @@ -881,6 +845,12 @@ void SetModelView(GLint w, GLint h) // -----------------+ void SetStates(void) { +#ifdef GL_LIGHT_MODEL_AMBIENT + GLfloat LightDiffuse[] = {1.0f, 1.0f, 1.0f, 1.0f}; +#endif + + pglShadeModel(GL_SMOOTH); // iterate vertice colors + pglEnable(GL_TEXTURE_2D); // two-dimensional texturing pglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); @@ -904,25 +874,16 @@ void SetStates(void) pglPolygonOffset(-1.0f, -1.0f); + // Lighting for models +#ifdef GL_LIGHT_MODEL_AMBIENT + pglLightModelfv(GL_LIGHT_MODEL_AMBIENT, LightDiffuse); + pglEnable(GL_LIGHT0); +#endif + // bp : when no t&l :) pglLoadIdentity(); pglScalef(1.0f, 1.0f, -1.0f); pglGetFloatv(GL_MODELVIEW_MATRIX, modelMatrix); // added for new coronas' code (without depth buffer) - - // jimita -#ifndef GL_RETAINED_MODE - if (!GLEXT_legacy) - I_Error("GPU does not support legacy specifications"); -#endif - - pglDeleteVertexArrays(1, &gl_vertexarrayobject); - pglDeleteBuffers(1, &gl_vertexbuffer); - - pglGenVertexArrays(1, &gl_vertexarrayobject); - pglGenBuffers(1, &gl_vertexbuffer); - - pglBindVertexArray(gl_vertexarrayobject); - pglBindBuffer(GL_ARRAY_BUFFER, gl_vertexbuffer); } @@ -1100,6 +1061,8 @@ EXPORT void HWRAPI(ClearBuffer) (FBOOLEAN ColorMask, SetBlend(DepthMask ? PF_Occlude | CurrentPolyFlags : CurrentPolyFlags&~PF_Occlude); pglClear(ClearMask); + pglEnableClientState(GL_VERTEX_ARRAY); // We always use this one + pglEnableClientState(GL_TEXTURE_COORD_ARRAY); // And mostly this one, too } @@ -1110,26 +1073,35 @@ EXPORT void HWRAPI(Draw2DLine) (F2DCoord * v1, F2DCoord * v2, RGBA_t Color) { - GLRGBAFloat c; - //GL_DBG_Printf("DrawLine() (%f %f %f) %d\n", v1->x, -v1->y, -v1->z, v1->argb); + GLfloat p[12]; + GLfloat dx, dy; + GLfloat angle; // BP: we should reflect the new state in our variable //SetBlend(PF_Modulated|PF_NoTexture); pglDisable(GL_TEXTURE_2D); - c.red = byte2float[Color.s.red]; - c.green = byte2float[Color.s.green]; - c.blue = byte2float[Color.s.blue]; - c.alpha = byte2float[Color.s.alpha]; + // This is the preferred, 'modern' way of rendering lines -- creating a polygon. + if (fabsf(v2->x - v1->x) > FLT_EPSILON) + angle = (float)atan((v2->y-v1->y)/(v2->x-v1->x)); + else + angle = (float)N_PI_DEMI; + dx = (float)sin(angle) / (float)screen_width; + dy = (float)cos(angle) / (float)screen_height; - pglColor4fv(&c.red); // is in RGBA float format - pglBegin(GL_LINES); - pglVertex3f(v1->x, -v1->y, 1.0f); - pglVertex3f(v2->x, -v2->y, 1.0f); - pglEnd(); + p[0] = v1->x - dx; p[1] = -(v1->y + dy); p[2] = 1; + p[3] = v2->x - dx; p[4] = -(v2->y + dy); p[5] = 1; + p[6] = v2->x + dx; p[7] = -(v2->y - dy); p[8] = 1; + p[9] = v1->x + dx; p[10] = -(v1->y - dy); p[11] = 1; + pglDisableClientState(GL_TEXTURE_COORD_ARRAY); + pglColor4ubv((GLubyte*)&Color.s); + pglVertexPointer(3, GL_FLOAT, 0, p); + pglDrawArrays(GL_TRIANGLE_FAN, 0, 4); + + pglEnableClientState(GL_TEXTURE_COORD_ARRAY); pglEnable(GL_TEXTURE_2D); } @@ -1176,7 +1148,7 @@ EXPORT void HWRAPI(SetBlend) (FBITFIELD PolyFlags) break; case PF_Substractive & PF_Blending: // good for shadow - // not realy but what else ? + // not really but what else ? pglBlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_COLOR); pglAlphaFunc(GL_NOTEQUAL, 0.0f); break; @@ -1240,7 +1212,7 @@ EXPORT void HWRAPI(SetBlend) (FBITFIELD PolyFlags) if (oglflags & GLF_NOTEXENV) { if (!(PolyFlags & PF_Modulated)) - pglColor4f(1.0f, 1.0f, 1.0f, 1.0f); + pglColor4ubv(white); } else #endif @@ -1585,9 +1557,6 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUI { static GLRGBAFloat mix = {0,0,0,0}; static GLRGBAFloat fade = {0,0,0,0}; -#ifndef GL_RETAINED_MODE - FUINT i; -#endif SetBlend(PolyFlags); //TODO: inline (#pragma..) @@ -1603,7 +1572,7 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUI mix.blue = byte2float[pSurf->PolyColor.s.blue]; mix.alpha = byte2float[pSurf->PolyColor.s.alpha]; - pglColor4fv(&mix.red); + pglColor4ubv((GLubyte*)&pSurf->PolyColor.s); } // Fade color @@ -1616,24 +1585,9 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUI // jimita load_shaders(pSurf, &mix, &fade); -#ifdef GL_RETAINED_MODE - pglBufferData(GL_ARRAY_BUFFER, sizeof(FOutVector)*iNumPts, &pOutVerts[0].x, GL_STATIC_DRAW); - - pglEnableClientState(GL_VERTEX_ARRAY); - pglEnableClientState(GL_TEXTURE_COORD_ARRAY); - - pglVertexPointer(3, GL_FLOAT, sizeof(FOutVector), BUFFER_OFFSET(0)); - pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVector), BUFFER_OFFSET(sizeof(FLOAT)*3)); + pglVertexPointer(3, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].x); + pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].sow); pglDrawArrays(GL_TRIANGLE_FAN, 0, iNumPts); -#else - pglBegin(GL_TRIANGLE_FAN); - for (i = 0; i < iNumPts; i++) - { - pglTexCoord2f(pOutVerts[i].sow, pOutVerts[i].tow); - pglVertex3f(pOutVerts[i].x, pOutVerts[i].y, pOutVerts[i].z); - } - pglEnd(); -#endif if (PolyFlags & PF_RemoveYWrap) pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); @@ -1644,11 +1598,6 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUI if (PolyFlags & PF_ForceWrapY) Clamp2D(GL_TEXTURE_WRAP_T); -#ifdef GL_RETAINED_MODE - pglDisableClientState(GL_VERTEX_ARRAY); - pglDisableClientState(GL_TEXTURE_COORD_ARRAY); -#endif - #ifdef USE_SHADERS pglUseProgram(0); #endif @@ -1723,17 +1672,225 @@ EXPORT void HWRAPI(SetSpecialState) (hwdspecialstate_t IdState, INT32 Value) } } -static void DrawMD2Ex(INT32 *gl_cmd_buffer, md2_frame_t *frame, INT32 duration, INT32 tics, md2_frame_t *nextframe, FTransform *pos, float scale, UINT8 flipped, FSurfaceInfo *Surface) +static float *vertBuffer = NULL; +static float *normBuffer = NULL; +static size_t lerpBufferSize = 0; +static short *vertTinyBuffer = NULL; +static char *normTinyBuffer = NULL; +static size_t lerpTinyBufferSize = 0; + +// Static temporary buffer for doing frame interpolation +// 'size' is the vertex size +static void AllocLerpBuffer(size_t size) { - INT32 val, count, pindex; - GLfloat s, t; + if (lerpBufferSize >= size) + return; - float pol = 0.0f; - float scalex = scale, scaley = scale, scalez = scale; + if (vertBuffer != NULL) + free(vertBuffer); + if (normBuffer != NULL) + free(normBuffer); + + lerpBufferSize = size; + vertBuffer = malloc(lerpBufferSize); + normBuffer = malloc(lerpBufferSize); +} + +// Static temporary buffer for doing frame interpolation +// 'size' is the vertex size +static void AllocLerpTinyBuffer(size_t size) +{ + if (lerpTinyBufferSize >= size) + return; + + if (vertTinyBuffer != NULL) + free(vertTinyBuffer); + + if (normTinyBuffer != NULL) + free(normTinyBuffer); + + lerpTinyBufferSize = size; + vertTinyBuffer = malloc(lerpTinyBufferSize); + normTinyBuffer = malloc(lerpTinyBufferSize / 2); +} + +#ifndef GL_STATIC_DRAW +#define GL_STATIC_DRAW 0x88E4 +#endif + +#ifndef GL_ARRAY_BUFFER +#define GL_ARRAY_BUFFER 0x8892 +#endif + +static void CreateModelVBO(mesh_t *mesh, mdlframe_t *frame) +{ + int bufferSize = sizeof(vbo64_t)*mesh->numTriangles * 3; + vbo64_t *buffer = (vbo64_t*)malloc(bufferSize); + vbo64_t *bufPtr = buffer; + + float *vertPtr = frame->vertices; + float *normPtr = frame->normals; + float *tanPtr = frame->tangents; + float *uvPtr = mesh->uvs; + float *lightPtr = mesh->lightuvs; + char *colorPtr = frame->colors; + + int i; + for (i = 0; i < mesh->numTriangles * 3; i++) + { + bufPtr->x = *vertPtr++; + bufPtr->y = *vertPtr++; + bufPtr->z = *vertPtr++; + + bufPtr->nx = *normPtr++; + bufPtr->ny = *normPtr++; + bufPtr->nz = *normPtr++; + + bufPtr->s0 = *uvPtr++; + bufPtr->t0 = *uvPtr++; + + if (tanPtr != NULL) + { + bufPtr->tan0 = *tanPtr++; + bufPtr->tan1 = *tanPtr++; + bufPtr->tan2 = *tanPtr++; + } + + if (lightPtr != NULL) + { + bufPtr->s1 = *lightPtr++; + bufPtr->t1 = *lightPtr++; + } + + if (colorPtr) + { + bufPtr->r = *colorPtr++; + bufPtr->g = *colorPtr++; + bufPtr->b = *colorPtr++; + bufPtr->a = *colorPtr++; + } + else + { + bufPtr->r = 255; + bufPtr->g = 255; + bufPtr->b = 255; + bufPtr->a = 255; + } + + bufPtr++; + } + + pglGenBuffers(1, &frame->vboID); + pglBindBuffer(GL_ARRAY_BUFFER, frame->vboID); + pglBufferData(GL_ARRAY_BUFFER, bufferSize, buffer, GL_STATIC_DRAW); + free(buffer); +} + +static void CreateModelVBOTiny(mesh_t *mesh, tinyframe_t *frame) +{ + int bufferSize = sizeof(vbotiny_t)*mesh->numTriangles * 3; + vbotiny_t *buffer = (vbotiny_t*)malloc(bufferSize); + vbotiny_t *bufPtr = buffer; + + short *vertPtr = frame->vertices; + char *normPtr = frame->normals; + float *uvPtr = mesh->uvs; + char *tanPtr = frame->tangents; + + int i; + for (i = 0; i < mesh->numVertices; i++) + { + bufPtr->x = *vertPtr++; + bufPtr->y = *vertPtr++; + bufPtr->z = *vertPtr++; + + bufPtr->nx = *normPtr++; + bufPtr->ny = *normPtr++; + bufPtr->nz = *normPtr++; + + bufPtr->s0 = *uvPtr++; + bufPtr->t0 = *uvPtr++; + + if (tanPtr) + { + bufPtr->tanx = *tanPtr++; + bufPtr->tany = *tanPtr++; + bufPtr->tanz = *tanPtr++; + } + + bufPtr++; + } + + pglGenBuffers(1, &frame->vboID); + pglBindBuffer(GL_ARRAY_BUFFER, frame->vboID); + pglBufferData(GL_ARRAY_BUFFER, bufferSize, buffer, GL_STATIC_DRAW); + free(buffer); +} + +EXPORT void HWRAPI(CreateModelVBOs) (model_t *model) +{ + int i; + for (i = 0; i < model->numMeshes; i++) + { + mesh_t *mesh = &model->meshes[i]; + + if (mesh->frames) + { + int j; + for (j = 0; j < model->meshes[i].numFrames; j++) + { + mdlframe_t *frame = &mesh->frames[j]; + if (frame->vboID) + pglDeleteBuffers(1, &frame->vboID); + frame->vboID = 0; + CreateModelVBO(mesh, frame); + } + } + else if (mesh->tinyframes) + { + int j; + for (j = 0; j < model->meshes[i].numFrames; j++) + { + tinyframe_t *frame = &mesh->tinyframes[j]; + if (frame->vboID) + pglDeleteBuffers(1, &frame->vboID); + frame->vboID = 0; + CreateModelVBOTiny(mesh, frame); + } + } + } +} + +// Macro to +#define BUFFER_OFFSET(i) ((void*)(i)) + +static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32 tics, INT32 nextFrameIndex, FTransform *pos, float scale, UINT8 flipped, FSurfaceInfo *Surface) +{ static GLRGBAFloat mix = {0,0,0,0}; static GLRGBAFloat fade = {0,0,0,0}; +#ifdef GL_LIGHT_MODEL_AMBIENT + GLfloat ambient[4]; + GLfloat diffuse[4]; +#endif + + float pol = 0.0f; + float scalex, scaley, scalez; + + boolean useTinyFrames; + + int i; + + // Because Otherwise, scaling the screen negatively vertically breaks the lighting + GLfloat LightPos[] = {0.0f, 1.0f, 0.0f, 0.0f}; + + // Affect input model scaling + scale *= 0.5f; + scalex = scale; + scaley = scale; + scalez = scale; + if (duration != 0 && duration != -1 && tics != -1) // don't interpolate if instantaneous or infinite in length { UINT32 newtime = (duration - tics); // + 1; @@ -1752,6 +1909,25 @@ static void DrawMD2Ex(INT32 *gl_cmd_buffer, md2_frame_t *frame, INT32 duration, mix.blue = byte2float[Surface->PolyColor.s.blue]; mix.alpha = byte2float[Surface->PolyColor.s.alpha]; +#ifdef GL_LIGHT_MODEL_AMBIENT + ambient[0] = (mix.red/255.0f); + ambient[1] = (mix.green/255.0f); + ambient[2] = (mix.blue/255.0f); + ambient[3] = (mix.alpha/255.0f); + + diffuse[0] = (mix.red/255.0f); + diffuse[1] = (mix.green/255.0f); + diffuse[2] = (mix.blue/255.0f); + diffuse[3] = (mix.alpha/255.0f); + + if (ambient[0] > 0.75f) + ambient[0] = 0.75f; + if (ambient[1] > 0.75f) + ambient[1] = 0.75f; + if (ambient[2] > 0.75f) + ambient[2] = 0.75f; +#endif + if (mix.alpha < 1) SetBlend(PF_Translucent|PF_Modulated); else @@ -1762,151 +1938,158 @@ static void DrawMD2Ex(INT32 *gl_cmd_buffer, md2_frame_t *frame, INT32 duration, fade.blue = byte2float[Surface->FadeColor.s.blue]; fade.alpha = byte2float[Surface->FadeColor.s.alpha]; - pglEnable(GL_CULL_FACE); + // jimita + load_shaders(Surface, &mix, &fade); + pglEnable(GL_CULL_FACE); + pglEnable(GL_NORMALIZE); + +#ifdef USE_FTRANSFORM_MIRROR + // flipped is if the object is flipped + // pos->flip is if the screen is flipped vertically + // pos->mirror is if the screen is flipped horizontally + // XOR all the flips together to figure out what culling to use! + { + boolean reversecull = (flipped ^ pos->flip ^ pos->mirror); + if (reversecull) + pglCullFace(GL_FRONT); + else + pglCullFace(GL_BACK); + } +#else // pos->flip is if the screen is flipped too if (flipped != pos->flip) // If either are active, but not both, invert the model's culling pglCullFace(GL_FRONT); else pglCullFace(GL_BACK); +#endif - pglPushMatrix(); + pglLightfv(GL_LIGHT0, GL_POSITION, LightPos); + pglShadeModel(GL_SMOOTH); +#ifdef GL_LIGHT_MODEL_AMBIENT + pglEnable(GL_LIGHTING); + pglMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, ambient); + pglMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, diffuse); +#endif + + pglPushMatrix(); // should be the same as glLoadIdentity pglTranslatef(pos->x, pos->z, pos->y); if (flipped) scaley = -scaley; - pglRotatef(pos->angley, 0.0f, -1.0f, 0.0f); +#ifdef USE_FTRANSFORM_ANGLEZ + pglRotatef(pos->anglez, 0.0f, 0.0f, -1.0f); // rotate by slope from Kart +#endif pglRotatef(pos->anglex, -1.0f, 0.0f, 0.0f); + pglRotatef(pos->angley, 0.0f, -1.0f, 0.0f); - // jimita - load_shaders(Surface, &mix, &fade); + pglScalef(scalex, scaley, scalez); - pglVertexPointer(3, GL_FLOAT, sizeof(FOutVectorMD2), BUFFER_OFFSET(0)); - pglNormalPointer(GL_FLOAT, sizeof(FOutVectorMD2), BUFFER_OFFSET(sizeof(float)*3)); - pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVectorMD2), BUFFER_OFFSET(sizeof(float)*6)); + useTinyFrames = model->meshes[0].tinyframes != NULL; - val = *gl_cmd_buffer++; + if (useTinyFrames) + pglScalef(1 / 64.0f, 1 / 64.0f, 1 / 64.0f); - while (val != 0) + pglEnableClientState(GL_NORMAL_ARRAY); + + for (i = 0; i < model->numMeshes; i++) { -#ifdef GL_RETAINED_MODE - FOutVectorMD2 *polydata; - int polyindex = 0; -#endif - int drawarraytype; + mesh_t *mesh = &model->meshes[i]; - if (val < 0) + if (useTinyFrames) { - drawarraytype = GL_TRIANGLE_FAN; - count = -val; - } - else - { - drawarraytype = GL_TRIANGLE_STRIP; - count = val; - } + tinyframe_t *frame = &mesh->tinyframes[frameIndex % mesh->numFrames]; + tinyframe_t *nextframe = NULL; -#ifndef GL_RETAINED_MODE - pglBegin(drawarraytype); -#else - polydata = malloc(sizeof(FOutVectorMD2) * count); -#endif - - while (count--) - { - s = *(float *) gl_cmd_buffer++; - t = *(float *) gl_cmd_buffer++; - pindex = *gl_cmd_buffer++; - -#ifdef GL_RETAINED_MODE - polydata[polyindex].s = s; - polydata[polyindex].t = t; -#else - pglTexCoord2f(s, t); -#endif + if (nextFrameIndex != -1) + nextframe = &mesh->tinyframes[nextFrameIndex % mesh->numFrames]; if (!nextframe || fpclassify(pol) == FP_ZERO) { -#ifdef GL_RETAINED_MODE - polydata[polyindex].vx = frame->vertices[pindex].vertex[0]*scalex/2.0f; - polydata[polyindex].vy = frame->vertices[pindex].vertex[1]*scaley/2.0f; - polydata[polyindex].vz = frame->vertices[pindex].vertex[2]*scalez/2.0f; - - polydata[polyindex].nx = frame->vertices[pindex].normal[0]; - polydata[polyindex].ny = frame->vertices[pindex].normal[1]; - polydata[polyindex].nz = frame->vertices[pindex].normal[2]; - - polyindex++; -#else - - pglNormal3f(frame->vertices[pindex].normal[0], - frame->vertices[pindex].normal[1], - frame->vertices[pindex].normal[2]); - - pglVertex3f(frame->vertices[pindex].vertex[0]*scalex/2.0f, - frame->vertices[pindex].vertex[1]*scaley/2.0f, - frame->vertices[pindex].vertex[2]*scalez/2.0f); -#endif + pglBindBuffer(GL_ARRAY_BUFFER, frame->vboID); + pglVertexPointer(3, GL_SHORT, sizeof(vbotiny_t), BUFFER_OFFSET(0)); + pglNormalPointer(GL_BYTE, sizeof(vbotiny_t), BUFFER_OFFSET(sizeof(short)*3)); + pglTexCoordPointer(2, GL_FLOAT, sizeof(vbotiny_t), BUFFER_OFFSET(sizeof(short) * 3 + sizeof(char) * 6)); + pglDrawElements(GL_TRIANGLES, mesh->numTriangles * 3, GL_UNSIGNED_SHORT, mesh->indices); + pglBindBuffer(GL_ARRAY_BUFFER, 0); } else { - // Interpolate - float px1 = frame->vertices[pindex].vertex[0]*scalex/2.0f; - float px2 = nextframe->vertices[pindex].vertex[0]*scalex/2.0f; - float py1 = frame->vertices[pindex].vertex[1]*scaley/2.0f; - float py2 = nextframe->vertices[pindex].vertex[1]*scaley/2.0f; - float pz1 = frame->vertices[pindex].vertex[2]*scalez/2.0f; - float pz2 = nextframe->vertices[pindex].vertex[2]*scalez/2.0f; - float nx1 = frame->vertices[pindex].normal[0]; - float nx2 = nextframe->vertices[pindex].normal[0]; - float ny1 = frame->vertices[pindex].normal[1]; - float ny2 = nextframe->vertices[pindex].normal[1]; - float nz1 = frame->vertices[pindex].normal[2]; - float nz2 = nextframe->vertices[pindex].normal[2]; + short *vertPtr; + char *normPtr; + int j = 0; -#ifdef GL_RETAINED_MODE - polydata[polyindex].vx = (px1 + pol * (px2 - px1)); - polydata[polyindex].vy = (py1 + pol * (py2 - py1)); - polydata[polyindex].vz = (pz1 + pol * (pz2 - pz1)); + // Dangit, I soooo want to do this in a GLSL shader... + AllocLerpTinyBuffer(mesh->numVertices * sizeof(short) * 3); + vertPtr = vertTinyBuffer; + normPtr = normTinyBuffer; - polydata[polyindex].nx = (nx1 + pol * (nx2 - nx1)); - polydata[polyindex].ny = (ny1 + pol * (ny2 - ny1)); - polydata[polyindex].nz = (nz1 + pol * (nz2 - nz1)); + for (j = 0; j < mesh->numVertices * 3; j++) + { + // Interpolate + *vertPtr++ = (short)(frame->vertices[j] + (pol * (nextframe->vertices[j] - frame->vertices[j]))); + *normPtr++ = (char)(frame->normals[j] + (pol * (nextframe->normals[j] - frame->normals[j]))); + } - polyindex++; -#else - pglNormal3f((nx1 + pol * (nx2 - nx1)), - (ny1 + pol * (ny2 - ny1)), - (nz1 + pol * (nz2 - nz1))); - pglVertex3f((px1 + pol * (px2 - px1)), - (py1 + pol * (py2 - py1)), - (pz1 + pol * (pz2 - pz1))); -#endif + pglVertexPointer(3, GL_SHORT, 0, vertTinyBuffer); + pglNormalPointer(GL_BYTE, 0, normTinyBuffer); + pglTexCoordPointer(2, GL_FLOAT, 0, mesh->uvs); + pglDrawElements(GL_TRIANGLES, mesh->numTriangles * 3, GL_UNSIGNED_SHORT, mesh->indices); } } + else + { + mdlframe_t *frame = &mesh->frames[frameIndex % mesh->numFrames]; + mdlframe_t *nextframe = NULL; -#ifdef GL_RETAINED_MODE - pglEnableClientState(GL_VERTEX_ARRAY); - pglEnableClientState(GL_NORMAL_ARRAY); - pglEnableClientState(GL_TEXTURE_COORD_ARRAY); + if (nextFrameIndex != -1) + nextframe = &mesh->frames[nextFrameIndex % mesh->numFrames]; - pglBufferData(GL_ARRAY_BUFFER, sizeof(FOutVectorMD2)*polyindex, &polydata[0].vx, GL_DYNAMIC_DRAW); + if (!nextframe || pol == 0.0f) + { + // Zoom! Take advantage of just shoving the entire arrays to the GPU. + pglBindBuffer(GL_ARRAY_BUFFER, frame->vboID); + pglVertexPointer(3, GL_FLOAT, sizeof(vbo64_t), BUFFER_OFFSET(0)); + pglNormalPointer(GL_FLOAT, sizeof(vbo64_t), BUFFER_OFFSET(sizeof(float) * 3)); + pglTexCoordPointer(2, GL_FLOAT, sizeof(vbo64_t), BUFFER_OFFSET(sizeof(float) * 6)); - pglDrawArrays(drawarraytype, 0, polyindex); + pglDrawArrays(GL_TRIANGLES, 0, mesh->numTriangles * 3); + pglBindBuffer(GL_ARRAY_BUFFER, 0); + } + else + { + float *vertPtr; + float *normPtr; + int j = 0; - free(polydata); -#else - pglEnd(); -#endif + // Dangit, I soooo want to do this in a GLSL shader... + AllocLerpBuffer(mesh->numVertices * sizeof(float) * 3); + vertPtr = vertBuffer; + normPtr = normBuffer; - val = *gl_cmd_buffer++; + for (j = 0; j < mesh->numVertices * 3; j++) + { + // Interpolate + *vertPtr++ = frame->vertices[j] + (pol * (nextframe->vertices[j] - frame->vertices[j])); + *normPtr++ = frame->normals[j] + (pol * (nextframe->normals[j] - frame->normals[j])); + } + + pglVertexPointer(3, GL_FLOAT, 0, vertBuffer); + pglNormalPointer(GL_FLOAT, 0, normBuffer); + pglTexCoordPointer(2, GL_FLOAT, 0, mesh->uvs); + pglDrawArrays(GL_TRIANGLES, 0, mesh->numVertices); + } + } } - pglPopMatrix(); - pglDisable(GL_CULL_FACE); - - pglDisableClientState(GL_VERTEX_ARRAY); pglDisableClientState(GL_NORMAL_ARRAY); - pglDisableClientState(GL_TEXTURE_COORD_ARRAY); + + pglPopMatrix(); // should be the same as glLoadIdentity +#ifdef GL_LIGHT_MODEL_AMBIENT + pglDisable(GL_LIGHTING); +#endif + pglShadeModel(GL_FLAT); + pglDisable(GL_CULL_FACE); + pglDisable(GL_NORMALIZE); #ifdef USE_SHADERS pglUseProgram(0); @@ -1914,15 +2097,11 @@ static void DrawMD2Ex(INT32 *gl_cmd_buffer, md2_frame_t *frame, INT32 duration, } // -----------------+ -// HWRAPI DrawMD2 : Draw an MD2 model with glcommands +// HWRAPI DrawModel : Draw a model // -----------------+ -EXPORT void HWRAPI(DrawMD2) ( - INT32 *gl_cmd_buffer, md2_frame_t *frame, - INT32 duration, INT32 tics, md2_frame_t *nextframe, - FTransform *pos, float scale, UINT8 flipped, - FSurfaceInfo *Surface) // jimita 17032019 +EXPORT void HWRAPI(DrawModel) (model_t *model, INT32 frameIndex, INT32 duration, INT32 tics, INT32 nextFrameIndex, FTransform *pos, float scale, UINT8 flipped, FSurfaceInfo *Surface) { - DrawMD2Ex(gl_cmd_buffer, frame, duration, tics, nextframe, pos, scale, flipped, Surface); + DrawModelEx(model, frameIndex, duration, tics, nextFrameIndex, pos, scale, flipped, Surface); } // -----------------+ @@ -1930,14 +2109,19 @@ EXPORT void HWRAPI(DrawMD2) ( // -----------------+ EXPORT void HWRAPI(SetTransform) (FTransform *stransform) { - static INT32 special_splitscreen; + static boolean special_splitscreen; pglLoadIdentity(); if (stransform) { - boolean fovx90; // keep a trace of the transformation for md2 memcpy(&md2_transform, stransform, sizeof (md2_transform)); +#ifdef USE_FTRANSFORM_MIRROR + // mirroring from Kart + if (stransform->mirror) + pglScalef(-stransform->scalex, stransform->scaley, -stransform->scalez); + else +#endif if (stransform->flip) pglScalef(stransform->scalex, -stransform->scaley, -stransform->scalez); else @@ -1949,8 +2133,7 @@ EXPORT void HWRAPI(SetTransform) (FTransform *stransform) pglMatrixMode(GL_PROJECTION); pglLoadIdentity(); - fovx90 = stransform->fovxangle > 0.0f && fabsf(stransform->fovxangle - 90.0f) < 0.5f; - special_splitscreen = (stransform->splitscreen && fovx90); + special_splitscreen = (stransform->splitscreen == 1 && stransform->fovxangle == 90.0f); if (special_splitscreen) GLPerspective(53.13f, 2*ASPECT_RATIO); // 53.13 = 2*atan(0.5) else @@ -2001,7 +2184,15 @@ EXPORT void HWRAPI(PostImgRedraw) (float points[SCREENVERTS][SCREENVERTS][2]) float xfix, yfix; INT32 texsize = 2048; - // Use a power of two texture, dammit + const float blackBack[16] = + { + -16.0f, -16.0f, 6.0f, + -16.0f, 16.0f, 6.0f, + 16.0f, 16.0f, 6.0f, + 16.0f, -16.0f, 6.0f + }; + + // Use a power of two texture if(screen_width <= 1024) texsize = 1024; if(screen_width <= 512) @@ -2013,43 +2204,60 @@ EXPORT void HWRAPI(PostImgRedraw) (float points[SCREENVERTS][SCREENVERTS][2]) pglDisable(GL_DEPTH_TEST); pglDisable(GL_BLEND); - pglBegin(GL_QUADS); - // Draw a black square behind the screen texture, - // so nothing shows through the edges - pglColor4f(1.0f, 1.0f, 1.0f, 1.0f); - pglVertex3f(-16.0f, -16.0f, 6.0f); - pglVertex3f(-16.0f, 16.0f, 6.0f); - pglVertex3f(16.0f, 16.0f, 6.0f); - pglVertex3f(16.0f, -16.0f, 6.0f); + // Draw a black square behind the screen texture, + // so nothing shows through the edges + pglColor4ubv(white); - for(x=0;xprev = (*itemHead)->next = NULL; + } + else + { + listitem_t *tail; + tail = *itemHead; + + while (tail->next != NULL) + tail = tail->next; + + tail->next = item; + + tail->next->prev = tail; + + item->next = NULL; + } +} + +// +// ListAddFront +// +// Adds an item to the front of the list +// (This is much faster) +// +void ListAddFront(void *pItem, listitem_t **itemHead) +{ + listitem_t *item = (listitem_t*)pItem; + + if (*itemHead == NULL) + { + *itemHead = item; + (*itemHead)->prev = (*itemHead)->next = NULL; + } + else + { + (*itemHead)->prev = item; + item->next = (*itemHead); + item->prev = NULL; + *itemHead = item; + } +} + +// +// ListAddBefore +// +// Adds an item before the item specified in the list +// +void ListAddBefore(void *pItem, void *pSpot, listitem_t **itemHead) +{ + listitem_t *item = (listitem_t*)pItem; + listitem_t *spot = (listitem_t*)pSpot; + + listitem_t *prev = spot->prev; + + if (!prev) + ListAddFront(pItem, itemHead); + else + { + item->next = spot; + spot->prev = item; + item->prev = prev; + prev->next = item; + } +} + +// +// ListAddAfter +// +// Adds an item after the item specified in the list +// +void ListAddAfter(void *pItem, void *pSpot, listitem_t **itemHead) +{ + listitem_t *item = (listitem_t*)pItem; + listitem_t *spot = (listitem_t*)pSpot; + + listitem_t *next = spot->next; + + if (!next) + ListAdd(pItem, itemHead); + else + { + item->prev = spot; + spot->next = item; + item->next = next; + next->prev = item; + } +} + +// +// ListRemove +// +// Take an item out of the list and free its memory. +// +void ListRemove(void *pItem, listitem_t **itemHead) +{ + listitem_t *item = (listitem_t*)pItem; + + if (item == *itemHead) // Start of list + { + *itemHead = item->next; + + if (*itemHead) + (*itemHead)->prev = NULL; + } + else if (item->next == NULL) // end of list + { + item->prev->next = NULL; + } + else // Somewhere in between + { + item->prev->next = item->next; + item->next->prev = item->prev; + } + + Z_Free (item); +} + +// +// ListRemoveAll +// +// Removes all items from the list, freeing their memory. +// +void ListRemoveAll(listitem_t **itemHead) +{ + listitem_t *item; + listitem_t *next; + for (item = *itemHead; item; item = next) + { + next = item->next; + ListRemove(item, itemHead); + } +} + +// +// ListRemoveNoFree +// +// Take an item out of the list, but don't free its memory. +// +void ListRemoveNoFree(void *pItem, listitem_t **itemHead) +{ + listitem_t *item = (listitem_t*)pItem; + + if (item == *itemHead) // Start of list + { + *itemHead = item->next; + + if (*itemHead) + (*itemHead)->prev = NULL; + } + else if (item->next == NULL) // end of list + { + item->prev->next = NULL; + } + else // Somewhere in between + { + item->prev->next = item->next; + item->next->prev = item->prev; + } +} + +// +// ListGetCount +// +// Counts the # of items in a list +// Should not be used in performance-minded code +// +unsigned int ListGetCount(void *itemHead) +{ + listitem_t *item = (listitem_t*)itemHead; + + unsigned int count = 0; + for (; item; item = item->next) + count++; + + return count; +} + +// +// ListGetByIndex +// +// Gets an item in the list by its index +// Should not be used in performance-minded code +// +listitem_t *ListGetByIndex(void *itemHead, unsigned int index) +{ + listitem_t *head = (listitem_t*)itemHead; + unsigned int count = 0; + listitem_t *node; + for (node = head; node; node = node->next) + { + if (count == index) + return node; + + count++; + } + + return NULL; +} + diff --git a/src/hardware/u_list.h b/src/hardware/u_list.h new file mode 100644 index 00000000..7e9a3cab --- /dev/null +++ b/src/hardware/u_list.h @@ -0,0 +1,29 @@ +/* + From the 'Wizard2' engine by Spaddlewit Inc. ( http://www.spaddlewit.com ) + An experimental work-in-progress. + + Donated to Sonic Team Junior and adapted to work with + Sonic Robo Blast 2. The license of this code matches whatever + the licensing is for Sonic Robo Blast 2. +*/ + +#ifndef _U_LIST_H_ +#define _U_LIST_H_ + +typedef struct listitem_s +{ + struct listitem_s *next; + struct listitem_s *prev; +} listitem_t; + +void ListAdd(void *pItem, listitem_t **itemHead); +void ListAddFront(void *pItem, listitem_t **itemHead); +void ListAddBefore(void *pItem, void *pSpot, listitem_t **itemHead); +void ListAddAfter(void *pItem, void *pSpot, listitem_t **itemHead); +void ListRemove(void *pItem, listitem_t **itemHead); +void ListRemoveAll(listitem_t **itemHead); +void ListRemoveNoFree(void *pItem, listitem_t **itemHead); +unsigned int ListGetCount(void *itemHead); +listitem_t *ListGetByIndex(void *itemHead, unsigned int index); + +#endif diff --git a/src/m_fixed.c b/src/m_fixed.c index d45bb70b..538da2fd 100644 --- a/src/m_fixed.c +++ b/src/m_fixed.c @@ -411,6 +411,19 @@ boolean FV3_Equal(const vector3_t *a_1, const vector3_t *a_2) return false; } +// ClosestPointOnVector +// +// Similar to ClosestPointOnLine, but uses a vector instead of two points. +// +void FV3_ClosestPointOnVector(const vector3_t *dir, const vector3_t *p, vector3_t *out) +{ + fixed_t t = FV3_Dot(dir, p); + + // Return the point on the line closest + FV3_MulEx(dir, t, out); + return; +} + fixed_t FV3_Dot(const vector3_t *a_1, const vector3_t *a_2) { return (FixedMul(a_1->x, a_2->x) + FixedMul(a_1->y, a_2->y) + FixedMul(a_1->z, a_2->z)); @@ -519,7 +532,7 @@ vector3_t *FV3_Point2Vec (const vector3_t *point1, const vector3_t *point2, vect // // Calculates the normal of a polygon. // -void FV3_Normal (const vector3_t *a_triangle, vector3_t *a_normal) +fixed_t FV3_Normal (const vector3_t *a_triangle, vector3_t *a_normal) { vector3_t a_1; vector3_t a_2; @@ -529,7 +542,28 @@ void FV3_Normal (const vector3_t *a_triangle, vector3_t *a_normal) FV3_Cross(&a_1, &a_2, a_normal); - FV3_NormalizeEx(a_normal, a_normal); + return FV3_NormalizeEx(a_normal, a_normal); +} + +// +// Strength +// +// Measures the 'strength' of a vector in a particular direction. +// +fixed_t FV3_Strength(const vector3_t *a_1, const vector3_t *dir) +{ + vector3_t normal; + fixed_t dist = FV3_NormalizeEx(a_1, &normal); + fixed_t dot = FV3_Dot(&normal, dir); + + FV3_ClosestPointOnVector(dir, a_1, &normal); + + dist = FV3_Magnitude(&normal); + + if (dot < 0) // Not facing same direction, so negate result. + dist = -dist; + + return dist; } // diff --git a/src/m_fixed.h b/src/m_fixed.h index 4609913b..8145a691 100644 --- a/src/m_fixed.h +++ b/src/m_fixed.h @@ -394,9 +394,11 @@ boolean FV3_Equal(const vector3_t *a_1, const vector3_t *a_2); fixed_t FV3_Dot(const vector3_t *a_1, const vector3_t *a_2); vector3_t *FV3_Cross(const vector3_t *a_1, const vector3_t *a_2, vector3_t *a_o); vector3_t *FV3_ClosestPointOnLine(const vector3_t *Line, const vector3_t *p, vector3_t *out); +void FV3_ClosestPointOnVector(const vector3_t *dir, const vector3_t *p, vector3_t *out); void FV3_ClosestPointOnTriangle(const vector3_t *tri, const vector3_t *point, vector3_t *result); vector3_t *FV3_Point2Vec(const vector3_t *point1, const vector3_t *point2, vector3_t *a_o); -void FV3_Normal(const vector3_t *a_triangle, vector3_t *a_normal); +fixed_t FV3_Normal(const vector3_t *a_triangle, vector3_t *a_normal); +fixed_t FV3_Strength(const vector3_t *a_1, const vector3_t *dir); fixed_t FV3_PlaneDistance(const vector3_t *a_normal, const vector3_t *a_point); boolean FV3_IntersectedPlane(const vector3_t *a_triangle, const vector3_t *a_line, vector3_t *a_normal, fixed_t *originDistance); fixed_t FV3_PlaneIntersection(const vector3_t *pOrigin, const vector3_t *pNormal, const vector3_t *rOrigin, const vector3_t *rVector); diff --git a/src/sdl/Srb2SDL-vc10.vcxproj b/src/sdl/Srb2SDL-vc10.vcxproj index e4377217..a8b88165 100644 --- a/src/sdl/Srb2SDL-vc10.vcxproj +++ b/src/sdl/Srb2SDL-vc10.vcxproj @@ -227,6 +227,10 @@ + + + + @@ -365,8 +369,12 @@ + + + + @@ -478,4 +486,4 @@ - \ No newline at end of file + diff --git a/src/sdl/Srb2SDL-vc10.vcxproj.filters b/src/sdl/Srb2SDL-vc10.vcxproj.filters index d67ac630..d9caf5ce 100644 --- a/src/sdl/Srb2SDL-vc10.vcxproj.filters +++ b/src/sdl/Srb2SDL-vc10.vcxproj.filters @@ -246,6 +246,18 @@ Hw_Hardware + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + I_Interface @@ -623,10 +635,22 @@ Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware Hw_Hardware + + Hw_Hardware + I_Interface @@ -894,4 +918,4 @@ SDLApp - \ No newline at end of file + diff --git a/src/sdl/hwsym_sdl.c b/src/sdl/hwsym_sdl.c index 5ee984b2..22faeb8d 100644 --- a/src/sdl/hwsym_sdl.c +++ b/src/sdl/hwsym_sdl.c @@ -88,7 +88,8 @@ void *hwSym(const char *funcName,void *handle) GETFUNC(ClearMipMapCache); GETFUNC(SetSpecialState); GETFUNC(GetTextureUsed); - GETFUNC(DrawMD2); + GETFUNC(DrawModel); + GETFUNC(CreateModelVBOs); GETFUNC(SetTransform); GETFUNC(GetRenderVersion); GETFUNC(PostImgRedraw); diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index d0c34d93..caf02049 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -1485,7 +1485,8 @@ void I_StartupGraphics(void) HWD.pfnSetSpecialState = hwSym("SetSpecialState",NULL); HWD.pfnSetPalette = hwSym("SetPalette",NULL); HWD.pfnGetTextureUsed = hwSym("GetTextureUsed",NULL); - HWD.pfnDrawMD2 = hwSym("DrawMD2",NULL); + HWD.pfnDrawModel = hwSym("DrawModel",NULL); + HWD.pfnCreateModelVBOs = hwSym("CreateModelVBOs",NULL); HWD.pfnSetTransform = hwSym("SetTransform",NULL); HWD.pfnGetRenderVersion = hwSym("GetRenderVersion",NULL); HWD.pfnPostImgRedraw = hwSym("PostImgRedraw",NULL); diff --git a/src/win32/Srb2win-vc10.vcxproj b/src/win32/Srb2win-vc10.vcxproj index 774ce5cb..177d6269 100644 --- a/src/win32/Srb2win-vc10.vcxproj +++ b/src/win32/Srb2win-vc10.vcxproj @@ -222,15 +222,6 @@ - - - - - - - - - @@ -384,16 +375,6 @@ - - - - - - - - - - @@ -494,4 +475,4 @@ - \ No newline at end of file + diff --git a/src/win32/Srb2win-vc10.vcxproj.filters b/src/win32/Srb2win-vc10.vcxproj.filters index d20dd672..40230912 100644 --- a/src/win32/Srb2win-vc10.vcxproj.filters +++ b/src/win32/Srb2win-vc10.vcxproj.filters @@ -87,30 +87,6 @@ Win32app - - Hw_Hardware - - - Hw_Hardware - - - Hw_Hardware - - - Hw_Hardware - - - Hw_Hardware - - - Hw_Hardware - - - Hw_Hardware - - - Hw_Hardware - Hw_Hardware @@ -476,36 +452,6 @@ Win32app - - Hw_Hardware - - - Hw_Hardware - - - Hw_Hardware - - - Hw_Hardware - - - Hw_Hardware - - - Hw_Hardware - - - Hw_Hardware - - - Hw_Hardware - - - Hw_Hardware - - - Hw_Hardware - Hw_Hardware @@ -881,4 +827,4 @@ A_Asm - \ No newline at end of file + From 5c399b09447f0d82c572a3e2fb2f26741d296943 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Mon, 18 Mar 2019 19:17:47 -0300 Subject: [PATCH 024/245] add vertex shaders --- src/hardware/hw_main.c | 3 ++ src/hardware/r_opengl/r_opengl.c | 74 ++++++++++++++++++++++++++++++-- src/hardware/r_opengl/r_opengl.h | 15 ++++--- src/sdl/ogl_sdl.c | 12 +++--- 4 files changed, 88 insertions(+), 16 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 2a02d3f8..e47b1f58 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -317,6 +317,7 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is static UINT16 numAllocedPlaneVerts = 0; (void)sector; ///@TODO remove shitty unused variable + (void)fogplane; ///@TODO remove shitty unused variable // no convex poly were generated for this subsector if (!xsub->planepoly) @@ -5759,6 +5760,8 @@ static void HWR_RenderWall(wallVert3D *wallVerts, FSurfaceInfo *pSurf, FBITFIE FOutVector *wv; UINT8 alpha; + (void)fogwall; ///@TODO remove shitty unused variable + // transform wv = trVerts; // it sounds really stupid to do this conversion with the new T&L code diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 25852c53..0fed82aa 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -77,6 +77,8 @@ static GLint mag_filter = GL_LINEAR; static GLint anisotropic_filter = 0; static FTransform md2_transform; +const GLubyte *gl_version = NULL; +const GLubyte *gl_renderer = NULL; const GLubyte *gl_extensions = NULL; //Hurdler: 04/10/2000: added for the kick ass coronas as Boris wanted;-) @@ -552,6 +554,10 @@ static PFNglUniform2fv pglUniform2fv; static PFNglUniform3fv pglUniform3fv; static PFNglGetUniformLocation pglGetUniformLocation; +// +// Fragment shaders +// + // Macro to reduce boilerplate code #define GLSL_SHARED_FOG_FUNCTION \ "float fog(const float dist, const float density, const float globaldensity) {\n" \ @@ -652,6 +658,40 @@ static char *fragment_shaders[] = { "}\0", }; +// +// Vertex shaders +// + +// Macro to reduce boilerplate code +#define SHARED_VERTEX_SHADER \ + "void main()\n" \ + "{\n" \ + "gl_Position = gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex;\n" \ + "gl_FrontColor = gl_Color;\n" \ + "gl_TexCoord[0].xy = gl_MultiTexCoord0.xy;\n" \ + "gl_ClipVertex = gl_ModelViewMatrix*gl_Vertex;\n" \ + "}\0" + +static char *vertex_shaders[] = { + // Default shader + SHARED_VERTEX_SHADER, + + // Floor shader + SHARED_VERTEX_SHADER, + + // Wall shader + SHARED_VERTEX_SHADER, + + // Sprite shader + SHARED_VERTEX_SHADER, + + // Water shader + SHARED_VERTEX_SHADER, + + // Sky shader + SHARED_VERTEX_SHADER, +}; + #endif // USE_SHADERS void SetupGLFunc4(void) @@ -695,20 +735,39 @@ void SetupGLFunc4(void) EXPORT void HWRAPI(LoadShaders) (void) { #ifdef USE_SHADERS - GLuint gl_fragShader; + GLuint gl_vertShader, gl_fragShader; GLint i, result; - for (i = 0; fragment_shaders[i]; i++) + for (i = 0; vertex_shaders[i] && fragment_shaders[i]; i++) { - GLchar* shader = fragment_shaders[i]; + GLchar* vert_shader = vertex_shaders[i]; + GLchar* frag_shader = fragment_shaders[i]; if (i >= MAXSHADERS || i >= MAXSHADERPROGRAMS) break; + // + // Load and compile vertex shader + // + gl_vertShader = gl_shaders[gl_totalshaders++] = pglCreateShader(GL_VERTEX_SHADER); + if (!gl_vertShader) + I_Error("Hardware driver: Error creating vertex shader %d", i); + + pglShaderSource(gl_vertShader, 1, &vert_shader, NULL); + pglCompileShader(gl_vertShader); + + // check for compile errors + pglGetShaderiv(gl_vertShader, GL_COMPILE_STATUS, &result); + if (result == GL_FALSE) + I_Error("Hardware driver: Error compiling vertex shader %d", i); + + // + // Load and compile fragment shader + // gl_fragShader = gl_shaders[gl_totalshaders++] = pglCreateShader(GL_FRAGMENT_SHADER); if (!gl_fragShader) I_Error("Hardware driver: Error creating fragment shader %d", i); - pglShaderSource(gl_fragShader, 1, &shader, NULL); + pglShaderSource(gl_fragShader, 1, &frag_shader, NULL); pglCompileShader(gl_fragShader); // check for compile errors @@ -717,6 +776,7 @@ EXPORT void HWRAPI(LoadShaders) (void) I_Error("Hardware driver: Error compiling fragment shader %d", i); gl_shaderprograms[i] = pglCreateProgram(); + pglAttachShader(gl_shaderprograms[i], gl_vertShader); pglAttachShader(gl_shaderprograms[i], gl_fragShader); pglLinkProgram(gl_shaderprograms[i]); @@ -1863,6 +1923,12 @@ EXPORT void HWRAPI(CreateModelVBOs) (model_t *model) } // Macro to + +// Macro to what? Why isn't this comment finished? +// Did I accidentally delete the rest of the line? +// Did it decide it didn't want to be part of the code anymore? +// Did the macro hurt its feelings? + #define BUFFER_OFFSET(i) ((void*)(i)) static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32 tics, INT32 nextFrameIndex, FTransform *pos, float scale, UINT8 flipped, FSurfaceInfo *Surface) diff --git a/src/hardware/r_opengl/r_opengl.h b/src/hardware/r_opengl/r_opengl.h index 289ca1a9..7ba37666 100644 --- a/src/hardware/r_opengl/r_opengl.h +++ b/src/hardware/r_opengl/r_opengl.h @@ -109,12 +109,15 @@ extern PFNglGetString pglGetString; // GLOBAL // ========================================================================== -extern const GLubyte *gl_extensions; -extern RGBA_t myPaletteData[]; -extern GLint screen_width; -extern GLint screen_height; -extern GLbyte screen_depth; -extern GLint maximumAnisotropy; +extern const GLubyte *gl_version; +extern const GLubyte *gl_renderer; +extern const GLubyte *gl_extensions; + +extern RGBA_t myPaletteData[]; +extern GLint screen_width; +extern GLint screen_height; +extern GLbyte screen_depth; +extern GLint maximumAnisotropy; // jimita extern boolean GLEXT_legacy; diff --git a/src/sdl/ogl_sdl.c b/src/sdl/ogl_sdl.c index 9da3b38e..a92ea82c 100644 --- a/src/sdl/ogl_sdl.c +++ b/src/sdl/ogl_sdl.c @@ -152,18 +152,18 @@ boolean LoadGL(void) boolean OglSdlSurface(INT32 w, INT32 h) { INT32 cbpp = cv_scr_depth.value < 16 ? 16 : cv_scr_depth.value; - const GLvoid *gl_version = NULL, *gl_renderer = NULL; static boolean first_init = false; - gl_version = pglGetString(GL_VERSION); - gl_renderer = pglGetString(GL_RENDERER); - gl_extensions = pglGetString(GL_EXTENSIONS); oglflags = 0; if (!first_init) { - GL_DBG_Printf("OpenGL %s\n", (char *)gl_version); - GL_DBG_Printf("GPU: %s\n", (char *)gl_renderer); + gl_version = pglGetString(GL_VERSION); + gl_renderer = pglGetString(GL_RENDERER); + gl_extensions = pglGetString(GL_EXTENSIONS); + + GL_DBG_Printf("OpenGL %s\n", gl_version); + GL_DBG_Printf("GPU: %s\n", gl_renderer); GL_DBG_Printf("Extensions: %s\n", gl_extensions); } first_init = true; From 1de35b9076b4be73a6896eb5cf24ae34f54e9373 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Mon, 18 Mar 2019 20:04:28 -0300 Subject: [PATCH 025/245] fix buildbot --- src/hardware/r_opengl/r_opengl.c | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 0fed82aa..857df2b0 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -515,7 +515,7 @@ static GLuint gl_currentshaderprogram = 0; static GLuint gl_shaderprograms[MAXSHADERPROGRAMS]; typedef GLuint (APIENTRY *PFNglCreateShader) (GLenum); -typedef void (APIENTRY *PFNglShaderSource) (GLuint, GLsizei, GLchar**, GLint*); +typedef void (APIENTRY *PFNglShaderSource) (GLuint, GLsizei, const GLchar**, GLint*); typedef void (APIENTRY *PFNglCompileShader) (GLuint); typedef void (APIENTRY *PFNglGetShaderiv) (GLuint, GLenum, GLint*); typedef void (APIENTRY *PFNglDeleteShader) (GLuint); @@ -532,7 +532,7 @@ typedef void (APIENTRY *PFNglUniform4f) (GLint, GLfloat, GLfloat, GLfloat, GL typedef void (APIENTRY *PFNglUniform1fv) (GLint, GLsizei, const GLfloat*); typedef void (APIENTRY *PFNglUniform2fv) (GLint, GLsizei, const GLfloat*); typedef void (APIENTRY *PFNglUniform3fv) (GLint, GLsizei, const GLfloat*); -typedef GLint (APIENTRY *PFNglGetUniformLocation) (GLuint, GLchar*); +typedef GLint (APIENTRY *PFNglGetUniformLocation) (GLuint, const GLchar*); static PFNglCreateShader pglCreateShader; static PFNglShaderSource pglShaderSource; @@ -602,7 +602,7 @@ static PFNglGetUniformLocation pglGetUniformLocation; "}\n" \ "}\0" -static char *fragment_shaders[] = { +static const char *fragment_shaders[] = { // Default shader "uniform sampler2D tex;\n" "uniform vec4 mix_color;\n" @@ -672,7 +672,7 @@ static char *fragment_shaders[] = { "gl_ClipVertex = gl_ModelViewMatrix*gl_Vertex;\n" \ "}\0" -static char *vertex_shaders[] = { +static const char *vertex_shaders[] = { // Default shader SHARED_VERTEX_SHADER, @@ -740,8 +740,8 @@ EXPORT void HWRAPI(LoadShaders) (void) for (i = 0; vertex_shaders[i] && fragment_shaders[i]; i++) { - GLchar* vert_shader = vertex_shaders[i]; - GLchar* frag_shader = fragment_shaders[i]; + const GLchar* vert_shader = vertex_shaders[i]; + const GLchar* frag_shader = fragment_shaders[i]; if (i >= MAXSHADERS || i >= MAXSHADERPROGRAMS) break; @@ -1922,13 +1922,6 @@ EXPORT void HWRAPI(CreateModelVBOs) (model_t *model) } } -// Macro to - -// Macro to what? Why isn't this comment finished? -// Did I accidentally delete the rest of the line? -// Did it decide it didn't want to be part of the code anymore? -// Did the macro hurt its feelings? - #define BUFFER_OFFSET(i) ((void*)(i)) static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32 tics, INT32 nextFrameIndex, FTransform *pos, float scale, UINT8 flipped, FSurfaceInfo *Surface) @@ -2110,7 +2103,7 @@ static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32 if (nextFrameIndex != -1) nextframe = &mesh->frames[nextFrameIndex % mesh->numFrames]; - if (!nextframe || pol == 0.0f) + if (!nextframe || fpclassify(pol) == FP_ZERO) { // Zoom! Take advantage of just shoving the entire arrays to the GPU. pglBindBuffer(GL_ARRAY_BUFFER, frame->vboID); @@ -2179,6 +2172,7 @@ EXPORT void HWRAPI(SetTransform) (FTransform *stransform) pglLoadIdentity(); if (stransform) { + boolean fovx90; // keep a trace of the transformation for md2 memcpy(&md2_transform, stransform, sizeof (md2_transform)); @@ -2199,7 +2193,8 @@ EXPORT void HWRAPI(SetTransform) (FTransform *stransform) pglMatrixMode(GL_PROJECTION); pglLoadIdentity(); - special_splitscreen = (stransform->splitscreen == 1 && stransform->fovxangle == 90.0f); + fovx90 = stransform->fovxangle > 0.0f && fabsf(stransform->fovxangle - 90.0f) < 0.5f; + special_splitscreen = (stransform->splitscreen && fovx90); if (special_splitscreen) GLPerspective(53.13f, 2*ASPECT_RATIO); // 53.13 = 2*atan(0.5) else @@ -2602,6 +2597,9 @@ EXPORT void HWRAPI(DrawScreenFinalTexture)(int width, int height) FRGBAFloat clearColour; INT32 texsize = 2048; + float off[12]; + float fix[8]; + if(screen_width <= 1024) texsize = 1024; if(screen_width <= 512) @@ -2623,7 +2621,6 @@ EXPORT void HWRAPI(DrawScreenFinalTexture)(int width, int height) yoff = newaspect / origaspect; } - float off[12]; off[0] = -xoff; off[1] = -yoff; off[2] = 1.0f; @@ -2637,7 +2634,7 @@ EXPORT void HWRAPI(DrawScreenFinalTexture)(int width, int height) off[10] = -yoff; off[11] = 1.0f; - float fix[8]; + fix[0] = 0.0f; fix[1] = 0.0f; fix[2] = 0.0f; From 75919422c6ebeaf1622887d6dbf65e69f94ae016 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Mon, 18 Mar 2019 23:03:29 -0300 Subject: [PATCH 026/245] custom shader support --- src/hardware/hw_drv.h | 4 + src/hardware/hw_main.c | 16 ++-- src/hardware/hw_main.h | 1 + src/hardware/hw_md2.c | 3 +- src/hardware/r_opengl/r_opengl.c | 134 ++++++++++++++++++++----------- src/sdl/hwsym_sdl.c | 2 + src/sdl/i_video.c | 2 + src/w_wad.c | 51 +++++++++++- 8 files changed, 158 insertions(+), 55 deletions(-) diff --git a/src/hardware/hw_drv.h b/src/hardware/hw_drv.h index 9cefff68..28e0e934 100644 --- a/src/hardware/hw_drv.h +++ b/src/hardware/hw_drv.h @@ -76,6 +76,8 @@ EXPORT void HWRAPI(KillShaders) (void); EXPORT void HWRAPI(SetShader) (int shader); EXPORT void HWRAPI(UnSetShader) (void); +EXPORT void HWRAPI(LoadCustomShader) (int number, char *shader, size_t size, boolean fragment); + // ========================================================================== // HWR DRIVER OBJECT, FOR CLIENT PROGRAM // ========================================================================== @@ -122,6 +124,8 @@ struct hwdriver_s KillShaders pfnKillShaders; SetShader pfnSetShader; UnSetShader pfnUnSetShader; + + LoadCustomShader pfnLoadCustomShader; }; extern struct hwdriver_s hwdriver; diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index e47b1f58..f841e84d 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -353,12 +353,6 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is if (nrPlaneVerts < 3) //not even a triangle ? return; - if (nrPlaneVerts > UINT16_MAX) // FIXME: exceeds plVerts size - { - CONS_Debug(DBG_RENDER, "polygon size of %d exceeds max value of %d vertices\n", nrPlaneVerts, UINT16_MAX); - return; - } - // Allocate plane-vertex buffer if we need to if (!planeVerts || nrPlaneVerts > numAllocedPlaneVerts) { @@ -505,7 +499,7 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is HWD.pfnSetShader(1); // jimita: floor shader if (PolyFlags & PF_Ripple) - HWD.pfnSetShader(4); // jimita: water shader + HWD.pfnSetShader(5); // jimita: water shader HWD.pfnDrawPolygon(&Surf, planeVerts, nrPlaneVerts, PolyFlags); } @@ -5206,7 +5200,7 @@ static void HWR_DrawSkyBackground(void) v[0].tow = v[1].tow -= ((float) angle / angleturn); } - HWD.pfnSetShader(5); // jimita: sky shader + HWD.pfnSetShader(6); // jimita: sky shader HWD.pfnDrawPolygon(NULL, v, 4, 0); HWD.pfnSetShader(0); // jimita } @@ -5942,4 +5936,10 @@ void HWR_DrawScreenFinalTexture(int width, int height) HWD.pfnDrawScreenFinalTexture(width, height); } +// jimita 18032019 +void HWR_LoadShader(int number, char *shader, size_t size, boolean fragment) +{ + HWD.pfnLoadCustomShader(number, shader, size, fragment); +} + #endif // HWRENDER diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index ba0c1c84..9ca7eb4d 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -65,6 +65,7 @@ void HWR_DrawIntermissionBG(void); void HWR_DoWipe(UINT8 wipenum, UINT8 scrnnum); void HWR_MakeScreenFinalTexture(void); void HWR_DrawScreenFinalTexture(int width, int height); +void HWR_LoadShader(int number, char *shader, size_t size, boolean fragment); // This stuff is put here so MD2's can use them void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor); diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 708ac4a3..000efc2f 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -860,7 +860,7 @@ static void HWR_GetBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, con // -----------------+ // HWR_DrawMD2 : Draw MD2 -// : (monsters, bonuses, weapons, lights, ...) +// : // Returns : // -----------------+ @@ -1096,6 +1096,7 @@ void HWR_DrawMD2(gr_vissprite_t *spr) p.mirror = atransform.mirror; // from Kart #endif + HWD.pfnSetShader(4); // jimita: model shader HWD.pfnDrawModel(md2->model, frame, durs, tics, nextFrame, &p, finalscale, flip, &Surf); } } diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 857df2b0..c28d880f 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -514,10 +514,15 @@ static boolean gl_shadersenabled = false; static GLuint gl_currentshaderprogram = 0; static GLuint gl_shaderprograms[MAXSHADERPROGRAMS]; +// 18032019 +static char *gl_customvertexshaders[MAXSHADERS]; +static char *gl_customfragmentshaders[MAXSHADERS]; + typedef GLuint (APIENTRY *PFNglCreateShader) (GLenum); typedef void (APIENTRY *PFNglShaderSource) (GLuint, GLsizei, const GLchar**, GLint*); typedef void (APIENTRY *PFNglCompileShader) (GLuint); typedef void (APIENTRY *PFNglGetShaderiv) (GLuint, GLenum, GLint*); +typedef void (APIENTRY *PFNglGetShaderInfoLog) (GLuint, GLsizei, GLsizei*, GLchar*); typedef void (APIENTRY *PFNglDeleteShader) (GLuint); typedef GLuint (APIENTRY *PFNglCreateProgram) (void); typedef void (APIENTRY *PFNglAttachShader) (GLuint, GLuint); @@ -538,6 +543,7 @@ static PFNglCreateShader pglCreateShader; static PFNglShaderSource pglShaderSource; static PFNglCompileShader pglCompileShader; static PFNglGetShaderiv pglGetShaderiv; +static PFNglGetShaderInfoLog pglGetShaderInfoLog; static PFNglDeleteShader pglDeleteShader; static PFNglCreateProgram pglCreateProgram; static PFNglAttachShader pglAttachShader; @@ -603,7 +609,7 @@ static PFNglGetUniformLocation pglGetUniformLocation; "}\0" static const char *fragment_shaders[] = { - // Default shader + // Default fragment shader "uniform sampler2D tex;\n" "uniform vec4 mix_color;\n" "void main(void) {\n" @@ -612,48 +618,27 @@ static const char *fragment_shaders[] = { "gl_FragColor = mixed_color;\n" "}\0", - // Floor shader + // Floor fragment shader SHARED_FRAGMENT_SHADER, - // Wall shader + // Wall fragment shader SHARED_FRAGMENT_SHADER, - // Sprite shader + // Sprite fragment shader SHARED_FRAGMENT_SHADER, - // Water shader - "uniform sampler2D tex;\n" - "uniform vec4 mix_color;\n" - "uniform vec4 fade_color;\n" - "uniform float lighting;\n" - "uniform int fog_mode;\n" - "uniform int fog_density;\n" - "uniform float leveltime;\n" + // Model fragment shader + SHARED_FRAGMENT_SHADER, - GLSL_SHARED_FOG_FUNCTION + // Water fragment shader + SHARED_FRAGMENT_SHADER, - "void main(void) {\n" - "float texU = gl_TexCoord[0].s;\n" - "float texV = gl_TexCoord[0].t;\n" - "float wtofs = leveltime/16;\n" - "float pi = 3.14159265358979323846;\n" - "texU += cos(pi * 2.0 * (texV/4 + wtofs * 0.125)) * 0.3;\n" - "texV += sin(pi * 2.0 * (texV/6 + wtofs * 0.125)) * 0.4;\n" - "vec4 color = texture2D(tex, vec2(texU, texV));\n" - - GLSL_SHARED_FOG_MIX - - "gl_FragColor = final_color;\n" - "}\0", - - // Sky shader + // Sky fragment shader "uniform sampler2D tex;\n" "uniform vec2 resolution;\n" "void main(void) {\n" "float texU = gl_TexCoord[0].s;\n" "float texV = gl_TexCoord[0].t;\n" - //"float scale = abs(gl_FragCoord.x - (resolution.x/2.0));\n" - //"scale /= resolution.x;\n" "gl_FragColor = texture2D(tex, vec2(texU, texV));\n" "}\0", }; @@ -663,7 +648,7 @@ static const char *fragment_shaders[] = { // // Macro to reduce boilerplate code -#define SHARED_VERTEX_SHADER \ +#define DEFAULT_VERTEX_SHADER \ "void main()\n" \ "{\n" \ "gl_Position = gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex;\n" \ @@ -673,23 +658,26 @@ static const char *fragment_shaders[] = { "}\0" static const char *vertex_shaders[] = { - // Default shader - SHARED_VERTEX_SHADER, + // Default vertex shader + DEFAULT_VERTEX_SHADER, - // Floor shader - SHARED_VERTEX_SHADER, + // Floor vertex shader + DEFAULT_VERTEX_SHADER, - // Wall shader - SHARED_VERTEX_SHADER, + // Wall vertex shader + DEFAULT_VERTEX_SHADER, - // Sprite shader - SHARED_VERTEX_SHADER, + // Sprite vertex shader + DEFAULT_VERTEX_SHADER, - // Water shader - SHARED_VERTEX_SHADER, + // Model vertex shader + DEFAULT_VERTEX_SHADER, - // Sky shader - SHARED_VERTEX_SHADER, + // Water vertex shader + DEFAULT_VERTEX_SHADER, + + // Sky vertex shader + DEFAULT_VERTEX_SHADER, }; #endif // USE_SHADERS @@ -710,6 +698,7 @@ void SetupGLFunc4(void) pglShaderSource = GetGLFunc("glShaderSource"); pglCompileShader = GetGLFunc("glCompileShader"); pglGetShaderiv = GetGLFunc("glGetShaderiv"); + pglGetShaderInfoLog = GetGLFunc("glGetShaderInfoLog"); pglDeleteShader = GetGLFunc("glDeleteShader"); pglCreateProgram = GetGLFunc("glCreateProgram"); pglAttachShader = GetGLFunc("glAttachShader"); @@ -742,6 +731,14 @@ EXPORT void HWRAPI(LoadShaders) (void) { const GLchar* vert_shader = vertex_shaders[i]; const GLchar* frag_shader = fragment_shaders[i]; + + // 18032019 + if (gl_customvertexshaders[i]) + vert_shader = gl_customvertexshaders[i]; + + if (gl_customfragmentshaders[i]) + frag_shader = gl_customfragmentshaders[i]; + if (i >= MAXSHADERS || i >= MAXSHADERPROGRAMS) break; @@ -758,7 +755,17 @@ EXPORT void HWRAPI(LoadShaders) (void) // check for compile errors pglGetShaderiv(gl_vertShader, GL_COMPILE_STATUS, &result); if (result == GL_FALSE) - I_Error("Hardware driver: Error compiling vertex shader %d", i); + { + GLchar* infoLog; + GLint logLength; + + pglGetShaderiv(gl_vertShader, GL_INFO_LOG_LENGTH, &logLength); + + infoLog = malloc(logLength); + pglGetShaderInfoLog(gl_vertShader, logLength, NULL, infoLog); + + I_Error("Hardware driver: Error compiling vertex shader %d\n%s", i, infoLog); + } // // Load and compile fragment shader @@ -773,7 +780,17 @@ EXPORT void HWRAPI(LoadShaders) (void) // check for compile errors pglGetShaderiv(gl_fragShader, GL_COMPILE_STATUS, &result); if (result == GL_FALSE) - I_Error("Hardware driver: Error compiling fragment shader %d", i); + { + GLchar* infoLog; + GLint logLength; + + pglGetShaderiv(gl_fragShader, GL_INFO_LOG_LENGTH, &logLength); + + infoLog = malloc(logLength); + pglGetShaderInfoLog(gl_fragShader, logLength, NULL, infoLog); + + I_Error("Hardware driver: Error compiling fragment shader %d\n%s", i, infoLog); + } gl_shaderprograms[i] = pglCreateProgram(); pglAttachShader(gl_shaderprograms[i], gl_vertShader); @@ -788,6 +805,33 @@ EXPORT void HWRAPI(LoadShaders) (void) #endif } +EXPORT void HWRAPI(LoadCustomShader) (int number, char *shader, size_t size, boolean fragment) +{ +#ifdef USE_SHADERS + (void)shader; + (void)size; + (void)fragment; + if (number < 1 || number > MAXSHADERS) + I_Error("LoadCustomShader(): cannot load shader %d (max %d)", number, MAXSHADERS); + + if (fragment) + { + gl_customfragmentshaders[number] = malloc(size+1); + strncpy(gl_customfragmentshaders[number], shader, size); + gl_customfragmentshaders[number][size] = 0; + } + else + { + gl_customvertexshaders[number] = malloc(size+1); + strncpy(gl_customvertexshaders[number], shader, size); + gl_customvertexshaders[number][size] = 0; + } + + KillShaders(); + LoadShaders(); +#endif +} + EXPORT void HWRAPI(SetShader) (int shader) { #ifdef USE_SHADERS diff --git a/src/sdl/hwsym_sdl.c b/src/sdl/hwsym_sdl.c index 22faeb8d..2bb4f117 100644 --- a/src/sdl/hwsym_sdl.c +++ b/src/sdl/hwsym_sdl.c @@ -108,6 +108,8 @@ void *hwSym(const char *funcName,void *handle) GETFUNC(SetShader); GETFUNC(UnSetShader); + GETFUNC(LoadCustomShader); + #else //HWRENDER if (0 == strcmp("FinishUpdate", funcName)) return funcPointer; //&FinishUpdate; diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index caf02049..ac1ac505 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -1505,6 +1505,8 @@ void I_StartupGraphics(void) HWD.pfnSetShader = hwSym("SetShader",NULL); HWD.pfnUnSetShader = hwSym("UnSetShader",NULL); + HWD.pfnLoadCustomShader = hwSym("LoadCustomShader",NULL); + // check gl renderer lib if (HWD.pfnGetRenderVersion() != VERSION) I_Error("%s", M_GetText("The version of the renderer doesn't match the version of the executable\nBe sure you have installed SRB2 properly.\n")); diff --git a/src/w_wad.c b/src/w_wad.c index 1279c23e..74cae20f 100644 --- a/src/w_wad.c +++ b/src/w_wad.c @@ -181,6 +181,24 @@ FILE *W_OpenWadFile(const char **filename, boolean useerrors) return handle; } +static inline void W_LoadShader(UINT16 wadnum, UINT16 lump, char *name, boolean fragment) +{ + size_t shader_size; + char *shader_string; + char shader_number[2]; + + shader_size = W_LumpLengthPwad(wadnum, lump); + shader_string = Z_Malloc(shader_size, PU_STATIC, NULL); + W_ReadLumpPwad(wadnum, lump, shader_string); + + shader_number[0] = name[6]; + shader_number[1] = name[7]; + + HWR_LoadShader(atoi(shader_number), shader_string, shader_size, fragment); + + Z_Free(shader_string); +} + // Look for all DEHACKED and Lua scripts inside a PK3 archive. static inline void W_LoadDehackedLumpsPK3(UINT16 wadnum) { @@ -195,6 +213,7 @@ static inline void W_LoadDehackedLumpsPK3(UINT16 wadnum) LUA_LoadLump(wadnum, posStart); } #endif + posStart = W_CheckNumForFolderStartPK3("SOC/", wadnum, 0); if (posStart != INT16_MAX) { @@ -211,8 +230,22 @@ static inline void W_LoadDehackedLumpsPK3(UINT16 wadnum) DEH_LoadDehackedLumpPwad(wadnum, posStart); free(name); } - } + + // jimita 18032019 +#ifdef HWRENDER + posStart = W_CheckNumForFolderStartPK3("Shaders/", wadnum, 0); + if (posStart != INT16_MAX) + { + posEnd = W_CheckNumForFolderEndPK3("Shaders/", wadnum, posStart); + posStart++; + for (; posStart < posEnd; posStart++) + { + lumpinfo_t *lump_p = &wadfiles[wadnum]->lumpinfo[posStart]; + W_LoadShader(wadnum, posStart, lump_p->name2, !(memcmp(lump_p->name2,"FRGSHD",6))); + } + } +#endif } // search for all DEHACKED lump in all wads and load it @@ -256,6 +289,20 @@ static inline void W_LoadDehackedLumps(UINT16 wadnum) } } + // jimita 18032019 +#ifdef HWRENDER + { + lumpinfo_t *lump_p = wadfiles[wadnum]->lumpinfo; + for (lump = 0; lump < wadfiles[wadnum]->numlumps; lump++, lump_p++) + { + boolean vertex = (!(memcmp(lump_p->name,"VRTSHD",6))); + boolean fragment = (!(memcmp(lump_p->name,"FRGSHD",6))); + if (vertex || fragment) + W_LoadShader(wadnum, lump, lump_p->name, fragment); + } + } +#endif + #ifdef SCANTHINGS // Scan maps for emblems 'n shit { @@ -1694,6 +1741,8 @@ int W_VerifyNMUSlumps(const char *filename) {"PAL", 3}, {"CLM", 3}, {"TRANS", 5}, + {"VRTSHD", 6}, + {"FRGSHD", 6}, {NULL, 0}, }; return W_VerifyFile(filename, NMUSlist, false); From ae3ad1ea56e97860a41f9db409f5c8990531ae97 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Tue, 19 Mar 2019 13:32:44 -0300 Subject: [PATCH 027/245] wups --- src/hardware/r_opengl/r_opengl.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index c28d880f..0afe8e19 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -808,9 +808,6 @@ EXPORT void HWRAPI(LoadShaders) (void) EXPORT void HWRAPI(LoadCustomShader) (int number, char *shader, size_t size, boolean fragment) { #ifdef USE_SHADERS - (void)shader; - (void)size; - (void)fragment; if (number < 1 || number > MAXSHADERS) I_Error("LoadCustomShader(): cannot load shader %d (max %d)", number, MAXSHADERS); From 9ffb093f446520043ced138ed0758c63bf5b29f4 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Tue, 19 Mar 2019 14:41:48 -0300 Subject: [PATCH 028/245] change (void*) to (char*) --- src/hardware/r_opengl/r_opengl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 0afe8e19..6ad231d4 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -1963,7 +1963,7 @@ EXPORT void HWRAPI(CreateModelVBOs) (model_t *model) } } -#define BUFFER_OFFSET(i) ((void*)(i)) +#define BUFFER_OFFSET(i) ((char*)(i)) static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32 tics, INT32 nextFrameIndex, FTransform *pos, float scale, UINT8 flipped, FSurfaceInfo *Surface) { From f714cba3102d73a428a79e7abf10e622808ca519 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Tue, 19 Mar 2019 17:37:04 -0300 Subject: [PATCH 029/245] Improve custom shader support --- src/hardware/hw_drv.h | 2 + src/hardware/hw_main.c | 134 ++++++++++++++++++++++++++++++- src/hardware/hw_main.h | 2 +- src/hardware/r_opengl/r_opengl.c | 5 ++ src/sdl/hwsym_sdl.c | 1 + src/sdl/i_video.c | 1 + src/w_wad.c | 55 ++----------- 7 files changed, 148 insertions(+), 52 deletions(-) diff --git a/src/hardware/hw_drv.h b/src/hardware/hw_drv.h index 28e0e934..0b927bd0 100644 --- a/src/hardware/hw_drv.h +++ b/src/hardware/hw_drv.h @@ -77,6 +77,7 @@ EXPORT void HWRAPI(SetShader) (int shader); EXPORT void HWRAPI(UnSetShader) (void); EXPORT void HWRAPI(LoadCustomShader) (int number, char *shader, size_t size, boolean fragment); +EXPORT void HWRAPI(InitCustomShaders) (void); // ========================================================================== // HWR DRIVER OBJECT, FOR CLIENT PROGRAM @@ -126,6 +127,7 @@ struct hwdriver_s UnSetShader pfnUnSetShader; LoadCustomShader pfnLoadCustomShader; + InitCustomShaders pfnInitCustomShaders; }; extern struct hwdriver_s hwdriver; diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index f841e84d..190ee0a6 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -5937,9 +5937,139 @@ void HWR_DrawScreenFinalTexture(int width, int height) } // jimita 18032019 -void HWR_LoadShader(int number, char *shader, size_t size, boolean fragment) +typedef struct { - HWD.pfnLoadCustomShader(number, shader, size, fragment); + char type[16]; + INT32 id; +} shaderxlat_t; + +static inline UINT16 HWR_CheckShader(UINT16 wadnum) +{ + UINT16 i; + lumpinfo_t *lump_p; + + lump_p = wadfiles[wadnum]->lumpinfo; + for (i = 0; i < wadfiles[wadnum]->numlumps; i++, lump_p++) + if (memcmp(lump_p->name, "SHADERS", 7) == 0) + return i; + + return INT16_MAX; +} + +void HWR_LoadShaders(UINT16 wadnum) +{ + UINT16 lump; + char *shaderdef, *line; + char *stoken; + char *value; + size_t size; + int linenum = 1; + int shadertype = 0; + int i; + + #define SHADER_TYPES 6 + shaderxlat_t shaderxlat[SHADER_TYPES] = + { + {"Flat", 1}, + {"WallTexture", 2}, + {"Sprite", 3}, + {"Model", 4}, + {"WaterRipple", 5}, + {"Sky", 6}, + }; + + lump = HWR_CheckShader(wadnum); + if (lump == INT16_MAX) + return; + + shaderdef = W_CacheLumpNumPwad(wadnum, lump, PU_CACHE); + size = W_LumpLengthPwad(wadnum, lump); + + line = Z_Malloc(size+1, PU_STATIC, NULL); + if (!line) + I_Error("HWR_LoadShaders: No more free memory\n"); + + M_Memcpy(line, shaderdef, size); + line[size] = '\0'; + + stoken = strtok(line, "\r\n "); + while (stoken) + { + if (!stricmp(stoken, "GLSL")) + { + value = strtok(NULL, "\r\n "); + if (!value) + { + CONS_Alert(CONS_WARNING, "HWR_LoadShaders: Missing shader type (file %s, line %d)\n", wadfiles[wadnum]->filename, linenum); + stoken = strtok(NULL, "\r\n"); // skip end of line + goto skip_lump; + } + + if (!stricmp(value, "VERTEX")) + shadertype = 1; + else if (!stricmp(value, "FRAGMENT")) + shadertype = 2; + +skip_lump: + stoken = strtok(NULL, "\r\n "); + linenum++; + } + else + { + value = strtok(NULL, "\r\n= "); + if (!value) + { + CONS_Alert(CONS_WARNING, "HWR_LoadShaders: Missing shader source (file %s, line %d)\n", wadfiles[wadnum]->filename, linenum); + stoken = strtok(NULL, "\r\n"); // skip end of line + goto skip_field; + } + + if (!shadertype) + { + CONS_Alert(CONS_ERROR, "HWR_LoadShaders: Missing shader target (file %s, line %d)\n", wadfiles[wadnum]->filename, linenum); + Z_Free(line); + return; + } + + for (i = 0; i < SHADER_TYPES; i++) + { + if (!stricmp(shaderxlat[i].type, stoken)) + { + size_t shader_size; + char *shader_source; + char shader_lumpname[9]; + UINT16 shader_lumpnum; + + strcpy(shader_lumpname, "SH_"); + strcat(shader_lumpname, value); + shader_lumpnum = W_CheckNumForNamePwad(shader_lumpname, wadnum, 0); + + if (shader_lumpnum == INT16_MAX) + { + CONS_Alert(CONS_ERROR, "HWR_LoadShaders: Missing shader source %s (file %s, line %d)\n", shader_lumpname, wadfiles[wadnum]->filename, linenum); + break; + } + + shader_size = W_LumpLengthPwad(wadnum, shader_lumpnum); + shader_source = Z_Malloc(shader_size, PU_STATIC, NULL); + W_ReadLumpPwad(wadnum, shader_lumpnum, shader_source); + + HWD.pfnLoadCustomShader(shaderxlat[i].id, shader_source, shader_size, (shadertype == 2)); + + Z_Free(shader_source); + } + } + +skip_field: + stoken = strtok(NULL, "\r\n= "); + linenum++; + } + } + + HWD.pfnInitCustomShaders(); + + Z_Free(line); + return; } #endif // HWRENDER diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index 9ca7eb4d..3a2969ac 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -65,7 +65,7 @@ void HWR_DrawIntermissionBG(void); void HWR_DoWipe(UINT8 wipenum, UINT8 scrnnum); void HWR_MakeScreenFinalTexture(void); void HWR_DrawScreenFinalTexture(int width, int height); -void HWR_LoadShader(int number, char *shader, size_t size, boolean fragment); +void HWR_LoadShaders(UINT16 wadnum); // This stuff is put here so MD2's can use them void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor); diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 6ad231d4..d094ba7c 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -823,7 +823,12 @@ EXPORT void HWRAPI(LoadCustomShader) (int number, char *shader, size_t size, boo strncpy(gl_customvertexshaders[number], shader, size); gl_customvertexshaders[number][size] = 0; } +#endif +} +EXPORT void HWRAPI(InitCustomShaders) (void) +{ +#ifdef USE_SHADERS KillShaders(); LoadShaders(); #endif diff --git a/src/sdl/hwsym_sdl.c b/src/sdl/hwsym_sdl.c index 2bb4f117..0774bc73 100644 --- a/src/sdl/hwsym_sdl.c +++ b/src/sdl/hwsym_sdl.c @@ -109,6 +109,7 @@ void *hwSym(const char *funcName,void *handle) GETFUNC(UnSetShader); GETFUNC(LoadCustomShader); + GETFUNC(InitCustomShaders); #else //HWRENDER if (0 == strcmp("FinishUpdate", funcName)) diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index ac1ac505..b967e7a6 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -1506,6 +1506,7 @@ void I_StartupGraphics(void) HWD.pfnUnSetShader = hwSym("UnSetShader",NULL); HWD.pfnLoadCustomShader = hwSym("LoadCustomShader",NULL); + HWD.pfnInitCustomShaders = hwSym("InitCustomShaders",NULL); // check gl renderer lib if (HWD.pfnGetRenderVersion() != VERSION) diff --git a/src/w_wad.c b/src/w_wad.c index 74cae20f..26224c2f 100644 --- a/src/w_wad.c +++ b/src/w_wad.c @@ -181,24 +181,6 @@ FILE *W_OpenWadFile(const char **filename, boolean useerrors) return handle; } -static inline void W_LoadShader(UINT16 wadnum, UINT16 lump, char *name, boolean fragment) -{ - size_t shader_size; - char *shader_string; - char shader_number[2]; - - shader_size = W_LumpLengthPwad(wadnum, lump); - shader_string = Z_Malloc(shader_size, PU_STATIC, NULL); - W_ReadLumpPwad(wadnum, lump, shader_string); - - shader_number[0] = name[6]; - shader_number[1] = name[7]; - - HWR_LoadShader(atoi(shader_number), shader_string, shader_size, fragment); - - Z_Free(shader_string); -} - // Look for all DEHACKED and Lua scripts inside a PK3 archive. static inline void W_LoadDehackedLumpsPK3(UINT16 wadnum) { @@ -231,21 +213,6 @@ static inline void W_LoadDehackedLumpsPK3(UINT16 wadnum) free(name); } } - - // jimita 18032019 -#ifdef HWRENDER - posStart = W_CheckNumForFolderStartPK3("Shaders/", wadnum, 0); - if (posStart != INT16_MAX) - { - posEnd = W_CheckNumForFolderEndPK3("Shaders/", wadnum, posStart); - posStart++; - for (; posStart < posEnd; posStart++) - { - lumpinfo_t *lump_p = &wadfiles[wadnum]->lumpinfo[posStart]; - W_LoadShader(wadnum, posStart, lump_p->name2, !(memcmp(lump_p->name2,"FRGSHD",6))); - } - } -#endif } // search for all DEHACKED lump in all wads and load it @@ -289,20 +256,6 @@ static inline void W_LoadDehackedLumps(UINT16 wadnum) } } - // jimita 18032019 -#ifdef HWRENDER - { - lumpinfo_t *lump_p = wadfiles[wadnum]->lumpinfo; - for (lump = 0; lump < wadfiles[wadnum]->numlumps; lump++, lump_p++) - { - boolean vertex = (!(memcmp(lump_p->name,"VRTSHD",6))); - boolean fragment = (!(memcmp(lump_p->name,"FRGSHD",6))); - if (vertex || fragment) - W_LoadShader(wadnum, lump, lump_p->name, fragment); - } - } -#endif - #ifdef SCANTHINGS // Scan maps for emblems 'n shit { @@ -828,6 +781,11 @@ UINT16 W_InitFile(const char *filename) wadfiles[numwadfiles] = wadfile; numwadfiles++; // must come BEFORE W_LoadDehackedLumps, so any addfile called by COM_BufInsertText called by Lua doesn't overwrite what we just loaded +#ifdef HWRENDER + if (rendermode == render_opengl) + HWR_LoadShaders(numwadfiles - 1); +#endif + // TODO: HACK ALERT - Load Lua & SOC stuff right here. I feel like this should be out of this place, but... Let's stick with this for now. switch (wadfile->type) { @@ -1741,8 +1699,7 @@ int W_VerifyNMUSlumps(const char *filename) {"PAL", 3}, {"CLM", 3}, {"TRANS", 5}, - {"VRTSHD", 6}, - {"FRGSHD", 6}, + {"SH_", 3}, {NULL, 0}, }; return W_VerifyFile(filename, NMUSlist, false); From da001a5b5427c66a4850444d2e42d95186c31f1f Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Tue, 19 Mar 2019 18:25:55 -0300 Subject: [PATCH 030/245] PK3 support --- src/hardware/hw_main.c | 25 +++++++++++++++++++------ src/hardware/hw_main.h | 2 +- src/w_wad.c | 5 ++++- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 190ee0a6..ec48b407 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -5956,7 +5956,7 @@ static inline UINT16 HWR_CheckShader(UINT16 wadnum) return INT16_MAX; } -void HWR_LoadShaders(UINT16 wadnum) +void HWR_LoadShaders(UINT16 wadnum, boolean PK3) { UINT16 lump; char *shaderdef, *line; @@ -6037,17 +6037,29 @@ skip_lump: { size_t shader_size; char *shader_source; - char shader_lumpname[9]; + char *shader_lumpname; UINT16 shader_lumpnum; - strcpy(shader_lumpname, "SH_"); - strcat(shader_lumpname, value); - shader_lumpnum = W_CheckNumForNamePwad(shader_lumpname, wadnum, 0); + if (PK3) + { + shader_lumpname = Z_Malloc(strlen(value) + 12, PU_STATIC, NULL); + strcpy(shader_lumpname, "Shaders/sh_"); + strcat(shader_lumpname, value); + shader_lumpnum = W_CheckNumForFullNamePK3(shader_lumpname, wadnum, 0); + } + else + { + shader_lumpname = Z_Malloc(strlen(value) + 4, PU_STATIC, NULL); + strcpy(shader_lumpname, "SH_"); + strcat(shader_lumpname, value); + shader_lumpnum = W_CheckNumForNamePwad(shader_lumpname, wadnum, 0); + } if (shader_lumpnum == INT16_MAX) { CONS_Alert(CONS_ERROR, "HWR_LoadShaders: Missing shader source %s (file %s, line %d)\n", shader_lumpname, wadfiles[wadnum]->filename, linenum); - break; + Z_Free(shader_lumpname); + continue; } shader_size = W_LumpLengthPwad(wadnum, shader_lumpnum); @@ -6057,6 +6069,7 @@ skip_lump: HWD.pfnLoadCustomShader(shaderxlat[i].id, shader_source, shader_size, (shadertype == 2)); Z_Free(shader_source); + Z_Free(shader_lumpname); } } diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index 3a2969ac..9d899b76 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -65,7 +65,7 @@ void HWR_DrawIntermissionBG(void); void HWR_DoWipe(UINT8 wipenum, UINT8 scrnnum); void HWR_MakeScreenFinalTexture(void); void HWR_DrawScreenFinalTexture(int width, int height); -void HWR_LoadShaders(UINT16 wadnum); +void HWR_LoadShaders(UINT16 wadnum, boolean PK3); // This stuff is put here so MD2's can use them void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor); diff --git a/src/w_wad.c b/src/w_wad.c index 26224c2f..a0981aba 100644 --- a/src/w_wad.c +++ b/src/w_wad.c @@ -783,7 +783,7 @@ UINT16 W_InitFile(const char *filename) #ifdef HWRENDER if (rendermode == render_opengl) - HWR_LoadShaders(numwadfiles - 1); + HWR_LoadShaders(numwadfiles - 1, (wadfile->type == RET_PK3)); #endif // TODO: HACK ALERT - Load Lua & SOC stuff right here. I feel like this should be out of this place, but... Let's stick with this for now. @@ -1699,7 +1699,10 @@ int W_VerifyNMUSlumps(const char *filename) {"PAL", 3}, {"CLM", 3}, {"TRANS", 5}, +#ifdef HWRENDER + {"SHADERS", 7}, {"SH_", 3}, +#endif {NULL, 0}, }; return W_VerifyFile(filename, NMUSlist, false); From dd4e5ea373f6c3eef7b441f77f2ab4a957e62078 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Tue, 19 Mar 2019 18:41:12 -0300 Subject: [PATCH 031/245] fix shader loading on startup --- src/d_main.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/d_main.c b/src/d_main.c index 859ac03c..30b89124 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -1176,6 +1176,15 @@ void D_SRB2Main(void) CONS_Printf("I_StartupGraphics()...\n"); I_StartupGraphics(); +#ifdef HWRENDER + if (rendermode == render_opengl) + { + INT32 i; + for (i = 0; i < numwadfiles; i++) + HWR_LoadShaders(i, (wadfiles[i]->type == RET_PK3)); + } +#endif + //--------------------------------------------------------- CONSOLE // setup loading screen SCR_Startup(); From 9451b10ac5d0a4e7f014e9ca7199187717fb26da Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Tue, 19 Mar 2019 18:52:41 -0300 Subject: [PATCH 032/245] add SHADERS comment support --- src/hardware/hw_main.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index ec48b407..c2636353 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -5995,6 +5995,13 @@ void HWR_LoadShaders(UINT16 wadnum, boolean PK3) stoken = strtok(line, "\r\n "); while (stoken) { + if ((stoken[0] == '/' && stoken[1] == '/') + || (stoken[0] == '#'))// skip comments + { + stoken = strtok(NULL, "\r\n"); + goto skip_field; + } + if (!stricmp(stoken, "GLSL")) { value = strtok(NULL, "\r\n "); @@ -6019,14 +6026,14 @@ skip_lump: value = strtok(NULL, "\r\n= "); if (!value) { - CONS_Alert(CONS_WARNING, "HWR_LoadShaders: Missing shader source (file %s, line %d)\n", wadfiles[wadnum]->filename, linenum); + CONS_Alert(CONS_WARNING, "HWR_LoadShaders: Missing shader target (file %s, line %d)\n", wadfiles[wadnum]->filename, linenum); stoken = strtok(NULL, "\r\n"); // skip end of line goto skip_field; } if (!shadertype) { - CONS_Alert(CONS_ERROR, "HWR_LoadShaders: Missing shader target (file %s, line %d)\n", wadfiles[wadnum]->filename, linenum); + CONS_Alert(CONS_ERROR, "HWR_LoadShaders: Missing shader type (file %s, line %d)\n", wadfiles[wadnum]->filename, linenum); Z_Free(line); return; } From 76967e46bb440a32bf621d6c614fec662202fc97 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Thu, 21 Mar 2019 18:23:40 -0300 Subject: [PATCH 033/245] destroy hw_glide.h because no modern GPU supports such API --- src/CMakeLists.txt | 1 - src/Makefile | 20 +- src/hardware/hw_cache.c | 252 ++---------------- src/hardware/hw_data.h | 62 ++++- src/hardware/hw_draw.c | 35 --- src/hardware/hw_glide.h | 66 ----- src/hardware/hw_glob.h | 5 +- src/hardware/hw_main.h | 2 - src/hardware/hw_md2.c | 4 +- src/m_menu.c | 15 +- src/sdl/Srb2SDL-vc10.vcxproj | 1 - src/sdl/Srb2SDL-vc10.vcxproj.filters | 3 - src/sdl/Srb2SDL-vc9.vcproj | 4 - src/sdl/Srb2SDL.dsp | 26 +- src/sdl/macosx/Srb2mac.pbproj/project.pbxproj | 7 - .../macosx/Srb2mac.xcodeproj/project.pbxproj | 2 - src/sdl12/Srb2SDL-vc10.vcxproj | 1 - src/sdl12/Srb2SDL-vc9.vcproj | 4 - src/sdl12/Srb2SDL.dsp | 26 +- .../macosx/Srb2mac.pbproj/project.pbxproj | 7 - .../macosx/Srb2mac.xcodeproj/project.pbxproj | 2 - src/v_video.c | 55 ---- src/v_video.h | 3 - src/w_wad.c | 1 + src/win32/Srb2win-vc9.vcproj | 4 - src/win32/Srb2win.dsp | 26 +- 26 files changed, 130 insertions(+), 504 deletions(-) delete mode 100644 src/hardware/hw_glide.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 85cda35f..17c56539 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -412,7 +412,6 @@ if(${SRB2_CONFIG_HWRENDER}) ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_defs.h ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_dll.h ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_drv.h - ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_glide.h ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_glob.h ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_light.h ${CMAKE_CURRENT_SOURCE_DIR}/hardware/hw_main.h diff --git a/src/Makefile b/src/Makefile index 6f792707..25f486a3 100644 --- a/src/Makefile +++ b/src/Makefile @@ -732,8 +732,8 @@ ifdef SDL ifdef MINGW $(OBJDIR)/r_opengl.o: hardware/r_opengl/r_opengl.c hardware/r_opengl/r_opengl.h \ doomdef.h doomtype.h g_state.h m_swap.h hardware/hw_drv.h screen.h \ - command.h hardware/hw_data.h hardware/hw_glide.h hardware/hw_defs.h \ - hardware/hw_md2.h hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h \ + command.h hardware/hw_data.h hardware/hw_defs.h hardware/hw_md2.h \ + hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h \ hardware/hw_md2load.h hardware/hw_md3load.h hardware/hw_model.h hardware/u_list.h \ am_map.h d_event.h d_player.h p_pspr.h m_fixed.h tables.h info.h d_think.h \ p_mobj.h doomdata.h d_ticcmd.h r_defs.h hardware/hw_dll.h @@ -741,8 +741,8 @@ $(OBJDIR)/r_opengl.o: hardware/r_opengl/r_opengl.c hardware/r_opengl/r_opengl.h else $(OBJDIR)/r_opengl.o: hardware/r_opengl/r_opengl.c hardware/r_opengl/r_opengl.h \ doomdef.h doomtype.h g_state.h m_swap.h hardware/hw_drv.h screen.h \ - command.h hardware/hw_data.h hardware/hw_glide.h hardware/hw_defs.h \ - hardware/hw_md2.h hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h \ + command.h hardware/hw_data.h hardware/hw_defs.h hardware/hw_md2.h \ + hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h \ hardware/hw_md2load.h hardware/hw_md3load.h hardware/hw_model.h hardware/u_list.h \ am_map.h d_event.h d_player.h p_pspr.h m_fixed.h tables.h info.h d_think.h \ p_mobj.h doomdata.h d_ticcmd.h r_defs.h hardware/hw_dll.h @@ -895,8 +895,8 @@ ifndef SDL ifndef NOHW $(OBJDIR)/r_opengl.o: hardware/r_opengl/r_opengl.c hardware/r_opengl/r_opengl.h \ doomdef.h doomtype.h g_state.h m_swap.h hardware/hw_drv.h screen.h \ - command.h hardware/hw_data.h hardware/hw_glide.h hardware/hw_defs.h \ - hardware/hw_md2.h hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h \ + command.h hardware/hw_data.h hardware/hw_defs.h hardware/hw_md2.h \ + hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h \ hardware/hw_md2load.h hardware/hw_md3load.h hardware/hw_model.h hardware/u_list.h \ am_map.h d_event.h d_player.h p_pspr.h m_fixed.h tables.h info.h d_think.h \ p_mobj.h doomdata.h d_ticcmd.h r_defs.h hardware/hw_dll.h @@ -904,8 +904,8 @@ $(OBJDIR)/r_opengl.o: hardware/r_opengl/r_opengl.c hardware/r_opengl/r_opengl.h $(OBJDIR)/ogl_win.o: hardware/r_opengl/ogl_win.c hardware/r_opengl/r_opengl.h \ doomdef.h doomtype.h g_state.h m_swap.h hardware/hw_drv.h screen.h \ - command.h hardware/hw_data.h hardware/hw_glide.h hardware/hw_defs.h \ - hardware/hw_md2.h hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h \ + command.h hardware/hw_data.h hardware/hw_defs.h hardware/hw_md2.h \ + hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h \ hardware/hw_md2load.h hardware/hw_md3load.h hardware/hw_model.h hardware/u_list.h \ am_map.h d_event.h d_player.h p_pspr.h m_fixed.h tables.h info.h d_think.h \ p_mobj.h doomdata.h d_ticcmd.h r_defs.h hardware/hw_dll.h @@ -913,8 +913,8 @@ $(OBJDIR)/ogl_win.o: hardware/r_opengl/ogl_win.c hardware/r_opengl/r_opengl.h \ $(OBJDIR)/r_minigl.o: hardware/r_minigl/r_minigl.c hardware/r_opengl/r_opengl.h \ doomdef.h doomtype.h g_state.h m_swap.h hardware/hw_drv.h screen.h \ - command.h hardware/hw_data.h hardware/hw_glide.h hardware/hw_defs.h \ - hardware/hw_md2.h hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h \ + command.h hardware/hw_data.h hardware/hw_defs.h hardware/hw_md2.h \ + hardware/hw_glob.h hardware/hw_main.h hardware/hw_clip.h \ hardware/hw_md2load.h hardware/hw_md3load.h hardware/hw_model.h hardware/u_list.h \ am_map.h d_event.h d_player.h p_pspr.h m_fixed.h tables.h info.h d_think.h \ p_mobj.h doomdata.h d_ticcmd.h r_defs.h hardware/hw_dll.h diff --git a/src/hardware/hw_cache.c b/src/hardware/hw_cache.c index 8d1d71c8..161a30cc 100644 --- a/src/hardware/hw_cache.c +++ b/src/hardware/hw_cache.c @@ -25,10 +25,6 @@ #include "../v_video.h" #include "../r_draw.h" -//Hurdler: 25/04/2000: used for new colormap code in hardware mode -//static UINT8 *gr_colormap = NULL; // by default it must be NULL ! (because colormap tables are not initialized) -boolean firetranslucent = false; - // Values set after a call to HWR_ResizeBlock() static INT32 blocksize, blockwidth, blockheight; @@ -133,11 +129,7 @@ static void HWR_DrawPatchInCache(GLMipmap_t *mipmap, count--; texel = source[yfrac>>FRACBITS]; - - if (firetranslucent && (transtables[(texel<<8)+0x40000]!=texel)) - alpha = 0x80; - else - alpha = 0xff; + alpha = 0xff; //Hurdler: not perfect, but better than holes if (texel == HWR_PATCHES_CHROMAKEY_COLORINDEX && (mipmap->flags & TF_CHROMAKEYED)) @@ -175,16 +167,16 @@ static void HWR_DrawPatchInCache(GLMipmap_t *mipmap, } -// resize the patch to be 3dfx compliant +// resize the patch // set : blocksize = blockwidth * blockheight (no bpp used) // blockwidth // blockheight //note : 8bit (1 byte per pixel) palettized format static void HWR_ResizeBlock(INT32 originalwidth, INT32 originalheight, - GrTexInfo *grInfo) + GLTexInfo *grInfo) { // Build the full textures from patches. - static const GrLOD_t gr_lods[9] = + static const GLlod_t gr_lods[9] = { GR_LOD_LOG2_256, GR_LOD_LOG2_128, @@ -199,7 +191,7 @@ static void HWR_ResizeBlock(INT32 originalwidth, INT32 originalheight, typedef struct { - GrAspectRatio_t aspect; + GLAspectRatio_t aspect; float max_s; float max_t; } booring_aspect_t; @@ -220,41 +212,21 @@ static void HWR_ResizeBlock(INT32 originalwidth, INT32 originalheight, INT32 j,k; INT32 max,min; - // find a power of 2 width/height - if (cv_grrounddown.value) - { - blockwidth = 256; - while (originalwidth < blockwidth) - blockwidth >>= 1; - if (blockwidth < 1) - I_Error("3D GenerateTexture : too small"); + // size up to nearest power of 2 + blockwidth = 1; + while (blockwidth < originalwidth) + blockwidth <<= 1; + // scale down the original graphics to fit in 2048 + if (blockwidth > 2048) + blockwidth = 2048; - blockheight = 256; - while (originalheight < blockheight) - blockheight >>= 1; - if (blockheight < 1) - I_Error("3D GenerateTexture : too small"); - } - else - { - //size up to nearest power of 2 - blockwidth = 1; - while (blockwidth < originalwidth) - blockwidth <<= 1; - // scale down the original graphics to fit in 256 - if (blockwidth > 2048) - blockwidth = 2048; - //I_Error("3D GenerateTexture : too big"); - - //size up to nearest power of 2 - blockheight = 1; - while (blockheight < originalheight) - blockheight <<= 1; - // scale down the original graphics to fit in 256 - if (blockheight > 2048) - blockheight = 2048; - //I_Error("3D GenerateTexture : too big"); - } + // size up to nearest power of 2 + blockheight = 1; + while (blockheight < originalheight) + blockheight <<= 1; + // scale down the original graphics to fit in 2048 + if (blockheight > 2048) + blockheight = 2048; // do the boring LOD stuff.. blech! if (blockwidth >= blockheight) @@ -424,7 +396,7 @@ static void HWR_GenerateTexture(INT32 texnum, GLTexture_t *grtex) } // patch may be NULL if grMipmap has been initialised already and makebitmap is false -void HWR_MakePatch (const patch_t *patch, GLPatch_t *grPatch, GLMipmap_t *grMipmap, boolean makebitmap) +void HWR_MakePatch (patch_t *patch, GLPatch_t *grPatch, GLMipmap_t *grMipmap, boolean makebitmap) { INT32 newwidth, newheight; @@ -439,8 +411,8 @@ void HWR_MakePatch (const patch_t *patch, GLPatch_t *grPatch, GLMipmap_t *grMipm grPatch->leftoffset = SHORT(patch->leftoffset); grPatch->topoffset = SHORT(patch->topoffset); - // find the good 3dfx size (boring spec) - HWR_ResizeBlock (SHORT(patch->width), SHORT(patch->height), &grMipmap->grInfo); + // resize patch + HWR_ResizeBlock(SHORT(patch->width), SHORT(patch->height), &grMipmap->grInfo); grMipmap->width = (UINT16)blockwidth; grMipmap->height = (UINT16)blockheight; @@ -459,23 +431,12 @@ void HWR_MakePatch (const patch_t *patch, GLPatch_t *grPatch, GLMipmap_t *grMipm Z_Free(grMipmap->grInfo.data); grMipmap->grInfo.data = NULL; - // if rounddown, rounddown patches as well as textures - if (cv_grrounddown.value) - { - newwidth = blockwidth; - newheight = blockheight; - } - else - { - // no rounddown, do not size up patches, so they don't look 'scaled' - newwidth = min(grPatch->width, blockwidth); - newheight = min(grPatch->height, blockheight); - } + newwidth = min(grPatch->width, blockwidth); + newheight = min(grPatch->height, blockheight); if (makebitmap) { MakeBlock(grMipmap); - HWR_DrawPatchInCache(grMipmap, newwidth, newheight, blockwidth*format2bpp[grMipmap->grInfo.format], @@ -489,7 +450,6 @@ void HWR_MakePatch (const patch_t *patch, GLPatch_t *grPatch, GLMipmap_t *grMipm grPatch->max_t = (float)newheight / (float)blockheight; } - // ================================================= // CACHING HANDLING // ================================================= @@ -556,7 +516,7 @@ void HWR_PrepLevelCache(size_t pnumtextures) gr_numtextures = pnumtextures; gr_textures = calloc(pnumtextures, sizeof (*gr_textures)); if (gr_textures == NULL) - I_Error("3D can't alloc gr_textures"); + I_Error("HWR_PrepLevelCache: can't alloc gr_textures"); } void HWR_SetPalette(RGBA_t *palette) @@ -587,7 +547,7 @@ GLTexture_t *HWR_GetTexture(INT32 tex) GLTexture_t *grtex; #ifdef PARANOIA if ((unsigned)tex >= gr_numtextures) - I_Error(" HWR_GetTexture: tex >= numtextures\n"); + I_Error("HWR_GetTexture: tex >= numtextures\n"); #endif grtex = &gr_textures[tex]; @@ -695,12 +655,12 @@ void HWR_GetPatch(GLPatch_t *gpatch) { // load the software patch, PU_STATIC or the Z_Malloc for hardware patch will // flush the software patch before the conversion! oh yeah I suffered - patch_t *ptr = W_CacheLumpNumPwad(gpatch->wadnum, gpatch->lumpnum, PU_STATIC); - HWR_MakePatch(ptr, gpatch, &gpatch->mipmap, true); + patch_t *patch = W_CacheLumpNumPwad(gpatch->wadnum, gpatch->lumpnum, PU_STATIC); + HWR_MakePatch(patch, gpatch, &gpatch->mipmap, true); // this is inefficient.. but the hardware patch in heap is purgeable so it should // not fragment memory, and besides the REAL cache here is the hardware memory - Z_Free(ptr); + Z_Free(patch); } HWD.pfnSetTexture(&gpatch->mipmap); @@ -760,160 +720,6 @@ void HWR_UnlockCachedPatch(GLPatch_t *gpatch) Z_ChangeTag(gpatch, PU_HWRPATCHINFO_UNLOCKED); } -static const INT32 picmode2GR[] = -{ - GR_TEXFMT_P_8, // PALETTE - 0, // INTENSITY (unsupported yet) - GR_TEXFMT_ALPHA_INTENSITY_88, // INTENSITY_ALPHA (corona use this) - 0, // RGB24 (unsupported yet) - GR_RGBA, // RGBA32 (opengl only) -}; - -static void HWR_DrawPicInCache(UINT8 *block, INT32 pblockwidth, INT32 pblockheight, - INT32 blockmodulo, pic_t *pic, INT32 bpp) -{ - INT32 i,j; - fixed_t posx, posy, stepx, stepy; - UINT8 *dest, *src, texel; - UINT16 texelu16; - INT32 picbpp; - RGBA_t col; - - stepy = ((INT32)SHORT(pic->height)<width)<mode]]; - posy = 0; - for (j = 0; j < pblockheight; j++) - { - posx = 0; - dest = &block[j*blockmodulo]; - src = &pic->data[(posy>>FRACBITS)*SHORT(pic->width)*picbpp]; - for (i = 0; i < pblockwidth;i++) - { - switch (pic->mode) - { // source bpp - case PALETTE : - texel = src[(posx+FRACUNIT/2)>>FRACBITS]; - switch (bpp) - { // destination bpp - case 1 : - *dest++ = texel; break; - case 2 : - texelu16 = (UINT16)(texel | 0xff00); - memcpy(dest, &texelu16, sizeof(UINT16)); - dest += sizeof(UINT16); - break; - case 3 : - col = V_GetColor(texel); - memcpy(dest, &col, sizeof(RGBA_t)-sizeof(UINT8)); - dest += sizeof(RGBA_t)-sizeof(UINT8); - break; - case 4 : - memcpy(dest, &V_GetColor(texel), sizeof(RGBA_t)); - dest += sizeof(RGBA_t); - break; - } - break; - case INTENSITY : - *dest++ = src[(posx+FRACUNIT/2)>>FRACBITS]; - break; - case INTENSITY_ALPHA : // assume dest bpp = 2 - memcpy(dest, src + ((posx+FRACUNIT/2)>>FRACBITS)*sizeof(UINT16), sizeof(UINT16)); - dest += sizeof(UINT16); - break; - case RGB24 : - break; // not supported yet - case RGBA32 : // assume dest bpp = 4 - dest += sizeof(UINT32); - memcpy(dest, src + ((posx+FRACUNIT/2)>>FRACBITS)*sizeof(UINT32), sizeof(UINT32)); - break; - } - posx += stepx; - } - posy += stepy; - } -} - -// -----------------+ -// HWR_GetPic : Download a Doom pic (raw row encoded with no 'holes') -// Returns : -// -----------------+ -GLPatch_t *HWR_GetPic(lumpnum_t lumpnum) -{ - GLPatch_t *grpatch; - - grpatch = HWR_GetCachedGLPatch(lumpnum); - - if (!grpatch->mipmap.downloaded && !grpatch->mipmap.grInfo.data) - { - pic_t *pic; - UINT8 *block; - size_t len; - INT32 newwidth, newheight; - - pic = W_CacheLumpNum(lumpnum, PU_CACHE); - grpatch->width = SHORT(pic->width); - grpatch->height = SHORT(pic->height); - len = W_LumpLength(lumpnum) - sizeof (pic_t); - - grpatch->leftoffset = 0; - grpatch->topoffset = 0; - - // find the good 3dfx size (boring spec) - HWR_ResizeBlock (grpatch->width, grpatch->height, &grpatch->mipmap.grInfo); - grpatch->mipmap.width = (UINT16)blockwidth; - grpatch->mipmap.height = (UINT16)blockheight; - - if (pic->mode == PALETTE) - grpatch->mipmap.grInfo.format = textureformat; // can be set by driver - else - grpatch->mipmap.grInfo.format = picmode2GR[pic->mode]; - - Z_Free(grpatch->mipmap.grInfo.data); - - // allocate block - block = MakeBlock(&grpatch->mipmap); - - // if rounddown, rounddown patches as well as textures - if (cv_grrounddown.value) - { - newwidth = blockwidth; - newheight = blockheight; - } - else - { - // no rounddown, do not size up patches, so they don't look 'scaled' - newwidth = min(SHORT(pic->width),blockwidth); - newheight = min(SHORT(pic->height),blockheight); - } - - - if (grpatch->width == blockwidth && - grpatch->height == blockheight && - format2bpp[grpatch->mipmap.grInfo.format] == format2bpp[picmode2GR[pic->mode]]) - { - // no conversion needed - M_Memcpy(grpatch->mipmap.grInfo.data, pic->data,len); - } - else - HWR_DrawPicInCache(block, newwidth, newheight, - blockwidth*format2bpp[grpatch->mipmap.grInfo.format], - pic, - format2bpp[grpatch->mipmap.grInfo.format]); - - Z_Unlock(pic); - Z_ChangeTag(block, PU_HWRCACHE_UNLOCKED); - - grpatch->mipmap.flags = 0; - grpatch->max_s = (float)newwidth / (float)blockwidth; - grpatch->max_t = (float)newheight / (float)blockheight; - } - HWD.pfnSetTexture(&grpatch->mipmap); - //CONS_Debug(DBG_RENDER, "picloaded at %x as texture %d\n",grpatch->mipmap.grInfo.data, grpatch->mipmap.downloaded); - - return grpatch; -} - GLPatch_t *HWR_GetCachedGLPatchPwad(UINT16 wadnum, UINT16 lumpnum) { aatree_t *hwrcache = wadfiles[wadnum]->hwrcache; diff --git a/src/hardware/hw_data.h b/src/hardware/hw_data.h index 492b3cff..b80f5de8 100644 --- a/src/hardware/hw_data.h +++ b/src/hardware/hw_data.h @@ -14,33 +14,69 @@ #ifndef _HWR_DATA_ #define _HWR_DATA_ -#if defined (_WIN32) && !defined (__CYGWIN__) && !defined (_XBOX) -//#define WIN32_LEAN_AND_MEAN -#define RPC_NO_WINDOWS_H -#include -#endif - #include "../doomdef.h" -//THIS MUST DISAPPEAR!!! -#include "hw_glide.h" #include "../screen.h" - // ========================================================================== // TEXTURE INFO // ========================================================================== +// +// hw_glide.h +// + +typedef long GLAspectRatio_t; +#define GR_ASPECT_LOG2_8x1 3 /* 8W x 1H */ +#define GR_ASPECT_LOG2_4x1 2 /* 4W x 1H */ +#define GR_ASPECT_LOG2_2x1 1 /* 2W x 1H */ +#define GR_ASPECT_LOG2_1x1 0 /* 1W x 1H */ +#define GR_ASPECT_LOG2_1x2 -1 /* 1W x 2H */ +#define GR_ASPECT_LOG2_1x4 -2 /* 1W x 4H */ +#define GR_ASPECT_LOG2_1x8 -3 /* 1W x 8H */ + +typedef long GLlod_t; +#define GR_LOD_LOG2_256 0x8 +#define GR_LOD_LOG2_128 0x7 +#define GR_LOD_LOG2_64 0x6 +#define GR_LOD_LOG2_32 0x5 +#define GR_LOD_LOG2_16 0x4 +#define GR_LOD_LOG2_8 0x3 +#define GR_LOD_LOG2_4 0x2 +#define GR_LOD_LOG2_2 0x1 +#define GR_LOD_LOG2_1 0x0 + +typedef long GLTextureFormat_t; +#define GR_TEXFMT_ALPHA_8 0x2 /* (0..0xFF) alpha */ +#define GR_TEXFMT_INTENSITY_8 0x3 /* (0..0xFF) intensity */ +#define GR_TEXFMT_ALPHA_INTENSITY_44 0x4 +#define GR_TEXFMT_P_8 0x5 /* 8-bit palette */ +#define GR_TEXFMT_RGB_565 0xa +#define GR_TEXFMT_ARGB_1555 0xb +#define GR_TEXFMT_ARGB_4444 0xc +#define GR_TEXFMT_ALPHA_INTENSITY_88 0xd +#define GR_TEXFMT_AP_88 0xe /* 8-bit alpha 8-bit palette */ +#define GR_RGBA 0x6 // 32 bit RGBA ! + +typedef struct +{ + GLlod_t smallLodLog2; + GLlod_t largeLodLog2; + GLAspectRatio_t aspectRatioLog2; + GLTextureFormat_t format; + void *data; +} GLTexInfo; + // grInfo.data holds the address of the graphics data cached in heap memory // NULL if the texture is not in Doom heap cache. struct GLMipmap_s { - GrTexInfo grInfo; - FxU32 flags; + GLTexInfo grInfo; + unsigned long flags; UINT16 width, height; UINT32 downloaded; // tex_downloaded - struct GLMipmap_s *nextmipmap; - struct GLMipmap_s *nextcolormap; + struct GLMipmap_s *nextmipmap; + struct GLMipmap_s *nextcolormap; const UINT8 *colormap; }; typedef struct GLMipmap_s GLMipmap_t; diff --git a/src/hardware/hw_draw.c b/src/hardware/hw_draw.c index a7e3c94b..08bb182e 100644 --- a/src/hardware/hw_draw.c +++ b/src/hardware/hw_draw.c @@ -454,41 +454,6 @@ void HWR_DrawCroppedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscal HWD.pfnDrawPolygon(NULL, v, 4, flags); } -void HWR_DrawPic(INT32 x, INT32 y, lumpnum_t lumpnum) -{ - FOutVector v[4]; - const GLPatch_t *patch; - - // make pic ready in hardware cache - patch = HWR_GetPic(lumpnum); - -// 3--2 -// | /| -// |/ | -// 0--1 - - v[0].x = v[3].x = 2.0f * (float)x/vid.width - 1; - v[2].x = v[1].x = 2.0f * (float)(x + patch->width*FIXED_TO_FLOAT(vid.fdupx))/vid.width - 1; - v[0].y = v[1].y = 1.0f - 2.0f * (float)y/vid.height; - v[2].y = v[3].y = 1.0f - 2.0f * (float)(y + patch->height*FIXED_TO_FLOAT(vid.fdupy))/vid.height; - - v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; - - v[0].sow = v[3].sow = 0; - v[2].sow = v[1].sow = patch->max_s; - v[0].tow = v[1].tow = 0; - v[2].tow = v[3].tow = patch->max_t; - - - //Hurdler: Boris, the same comment as above... but maybe for pics - // it not a problem since they don't have any transparent pixel - // if I'm right !? - // But then, the question is: why not 0 instead of PF_Masked ? - // or maybe PF_Environment ??? (like what I said above) - // BP: PF_Environment don't change anything ! and 0 is undifined - HWD.pfnDrawPolygon(NULL, v, 4, PF_Translucent | PF_NoDepthTest); -} - // ========================================================================== // V_VIDEO.C STUFF // ========================================================================== diff --git a/src/hardware/hw_glide.h b/src/hardware/hw_glide.h deleted file mode 100644 index 4c69443f..00000000 --- a/src/hardware/hw_glide.h +++ /dev/null @@ -1,66 +0,0 @@ -// SONIC ROBO BLAST 2 -//----------------------------------------------------------------------------- -// Copyright (C) 1993-1996 by id Software, Inc. -// Copyright (C) 1998-2000 by DooM Legacy Team. -// Copyright (C) 1999-2019 by Sonic Team Junior. -// -// This program is free software distributed under the -// terms of the GNU General Public License, version 2. -// See the 'LICENSE' file for more details. -//----------------------------------------------------------------------------- -/// \file -/// \brief Declaration needed by Glide renderer -/// !!! To be replaced by our own def in the future !!! - -#ifndef _GLIDE_H_ -#define _GLIDE_H_ - -#ifndef __GLIDE_H__ - -typedef unsigned long FxU32; -typedef long FxI32; - -typedef FxI32 GrAspectRatio_t; -#define GR_ASPECT_LOG2_8x1 3 /* 8W x 1H */ -#define GR_ASPECT_LOG2_4x1 2 /* 4W x 1H */ -#define GR_ASPECT_LOG2_2x1 1 /* 2W x 1H */ -#define GR_ASPECT_LOG2_1x1 0 /* 1W x 1H */ -#define GR_ASPECT_LOG2_1x2 -1 /* 1W x 2H */ -#define GR_ASPECT_LOG2_1x4 -2 /* 1W x 4H */ -#define GR_ASPECT_LOG2_1x8 -3 /* 1W x 8H */ - -typedef FxI32 GrLOD_t; -#define GR_LOD_LOG2_256 0x8 -#define GR_LOD_LOG2_128 0x7 -#define GR_LOD_LOG2_64 0x6 -#define GR_LOD_LOG2_32 0x5 -#define GR_LOD_LOG2_16 0x4 -#define GR_LOD_LOG2_8 0x3 -#define GR_LOD_LOG2_4 0x2 -#define GR_LOD_LOG2_2 0x1 -#define GR_LOD_LOG2_1 0x0 - -typedef FxI32 GrTextureFormat_t; -#define GR_TEXFMT_ALPHA_8 0x2 /* (0..0xFF) alpha */ -#define GR_TEXFMT_INTENSITY_8 0x3 /* (0..0xFF) intensity */ -#define GR_TEXFMT_ALPHA_INTENSITY_44 0x4 -#define GR_TEXFMT_P_8 0x5 /* 8-bit palette */ -#define GR_TEXFMT_RGB_565 0xa -#define GR_TEXFMT_ARGB_1555 0xb -#define GR_TEXFMT_ARGB_4444 0xc -#define GR_TEXFMT_ALPHA_INTENSITY_88 0xd -#define GR_TEXFMT_AP_88 0xe /* 8-bit alpha 8-bit palette */ -#define GR_RGBA 0x6 // 32 bit RGBA ! - -typedef struct -{ - GrLOD_t smallLodLog2; - GrLOD_t largeLodLog2; - GrAspectRatio_t aspectRatioLog2; - GrTextureFormat_t format; - void *data; -} GrTexInfo; - -#endif // __GLIDE_H__ (defined in ) - -#endif // _GLIDE_H_ diff --git a/src/hardware/hw_glob.h b/src/hardware/hw_glob.h index 4a132db0..2acc2baf 100644 --- a/src/hardware/hw_glob.h +++ b/src/hardware/hw_glob.h @@ -92,14 +92,14 @@ void HWR_GetFlat(lumpnum_t flatlumpnum); GLTexture_t *HWR_GetTexture(INT32 tex); void HWR_GetPatch(GLPatch_t *gpatch); void HWR_GetMappedPatch(GLPatch_t *gpatch, const UINT8 *colormap); +void HWR_MakePatch(patch_t *patch, GLPatch_t *grPatch, GLMipmap_t *grMipmap, boolean makebitmap); void HWR_UnlockCachedPatch(GLPatch_t *gpatch); -GLPatch_t *HWR_GetPic(lumpnum_t lumpnum); void HWR_SetPalette(RGBA_t *palette); GLPatch_t *HWR_GetCachedGLPatchPwad(UINT16 wad, UINT16 lump); GLPatch_t *HWR_GetCachedGLPatch(lumpnum_t lumpnum); void HWR_GetFadeMask(lumpnum_t fademasklumpnum); -// jimita +// hardware driver extern INT32 gl_leveltime; // -------- @@ -109,6 +109,5 @@ extern consvar_t cv_grrounddown; // on/off extern INT32 patchformat; extern INT32 textureformat; -extern boolean firetranslucent; #endif //_HW_GLOB_ diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index 9d899b76..cb37f3cf 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -46,12 +46,10 @@ void HWR_DrawPatch(GLPatch_t *gpatch, INT32 x, INT32 y, INT32 option); void HWR_DrawFixedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t scale, INT32 option, const UINT8 *colormap); void HWR_DrawCroppedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t scale, INT32 option, fixed_t sx, fixed_t sy, fixed_t w, fixed_t h); void HWR_DrawCroppedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, INT32 option, fixed_t scale, fixed_t sx, fixed_t sy, fixed_t w, fixed_t h); -void HWR_MakePatch (const patch_t *patch, GLPatch_t *grPatch, GLMipmap_t *grMipmap, boolean makebitmap); void HWR_CreatePlanePolygons(INT32 bspnum); void HWR_PrepLevelCache(size_t pnumtextures); void HWR_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color); void HWR_DrawConsoleFill(INT32 x, INT32 y, INT32 w, INT32 h, UINT32 color, INT32 options); // Lat: separate flags from color since color needs to be an uint to work right. -void HWR_DrawPic(INT32 x,INT32 y,lumpnum_t lumpnum); void HWR_AddCommands(void); void HWR_CorrectSWTricks(void); diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 000efc2f..965d6e9d 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -141,7 +141,7 @@ static void PNG_warn(png_structp PNG, png_const_charp pngtext) CONS_Debug(DBG_RENDER, "libpng warning at %p: %s", PNG, pngtext); } -static GrTextureFormat_t PNG_Load(const char *filename, int *w, int *h, GLPatch_t *grpatch) +static GLTextureFormat_t PNG_Load(const char *filename, int *w, int *h, GLPatch_t *grpatch) { png_structp png_ptr; png_infop png_info_ptr; @@ -271,7 +271,7 @@ typedef struct UINT8 filler[54]; } PcxHeader; -static GrTextureFormat_t PCX_Load(const char *filename, int *w, int *h, +static GLTextureFormat_t PCX_Load(const char *filename, int *w, int *h, GLPatch_t *grpatch) { PcxHeader header; diff --git a/src/m_menu.c b/src/m_menu.c index 72f30cb4..fae58e53 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -3861,18 +3861,11 @@ static void M_StopMessage(INT32 choice) // You can even put multiple images in one menu! static void M_DrawImageDef(void) { - // Grr. Need to autodetect for pic_ts. - pic_t *pictest = (pic_t *)W_CachePatchName(currentMenu->menuitems[itemOn].text,PU_CACHE); - if (!pictest->zero) - V_DrawScaledPic(0,0,0,W_GetNumForName(currentMenu->menuitems[itemOn].text)); + patch_t *patch = W_CachePatchName(currentMenu->menuitems[itemOn].text,PU_CACHE); + if (patch->width <= BASEVIDWIDTH) + V_DrawScaledPatch(0,0,0,patch); else - { - patch_t *patch = W_CachePatchName(currentMenu->menuitems[itemOn].text,PU_CACHE); - if (patch->width <= BASEVIDWIDTH) - V_DrawScaledPatch(0,0,0,patch); - else - V_DrawSmallScaledPatch(0,0,0,patch); - } + V_DrawSmallScaledPatch(0,0,0,patch); if (currentMenu->numitems > 1) V_DrawString(0,192,V_TRANSLUCENT, va("PAGE %d of %hd", itemOn+1, currentMenu->numitems)); diff --git a/src/sdl/Srb2SDL-vc10.vcxproj b/src/sdl/Srb2SDL-vc10.vcxproj index a8b88165..a3088da3 100644 --- a/src/sdl/Srb2SDL-vc10.vcxproj +++ b/src/sdl/Srb2SDL-vc10.vcxproj @@ -222,7 +222,6 @@ - diff --git a/src/sdl/Srb2SDL-vc10.vcxproj.filters b/src/sdl/Srb2SDL-vc10.vcxproj.filters index d9caf5ce..c61d6022 100644 --- a/src/sdl/Srb2SDL-vc10.vcxproj.filters +++ b/src/sdl/Srb2SDL-vc10.vcxproj.filters @@ -231,9 +231,6 @@ Hw_Hardware - - Hw_Hardware - Hw_Hardware diff --git a/src/sdl/Srb2SDL-vc9.vcproj b/src/sdl/Srb2SDL-vc9.vcproj index 3898aeba..b21eedb8 100644 --- a/src/sdl/Srb2SDL-vc9.vcproj +++ b/src/sdl/Srb2SDL-vc9.vcproj @@ -2410,10 +2410,6 @@ RelativePath="..\hardware\hw_drv.h" > - - diff --git a/src/sdl/Srb2SDL.dsp b/src/sdl/Srb2SDL.dsp index 879113ca..ce35e2e2 100644 --- a/src/sdl/Srb2SDL.dsp +++ b/src/sdl/Srb2SDL.dsp @@ -7,19 +7,19 @@ CFG=Srb2SDL - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run -!MESSAGE +!MESSAGE !MESSAGE NMAKE /f "Srb2SDL.mak". -!MESSAGE +!MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE +!MESSAGE !MESSAGE NMAKE /f "Srb2SDL.mak" CFG="Srb2SDL - Win32 Debug" -!MESSAGE +!MESSAGE !MESSAGE Possible choices for configuration are: -!MESSAGE +!MESSAGE !MESSAGE "Srb2SDL - Win32 Release" (based on "Win32 (x86) Console Application") !MESSAGE "Srb2SDL - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE +!MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 @@ -85,7 +85,7 @@ LINK32=link.exe # ADD LINK32 SDL.lib SDL_mixer.lib user32.lib advapi32.lib ws2_32.lib /nologo /subsystem:console /pdb:"C:\srb2demo2\srb2sdldebug.pdb" /debug /machine:I386 /out:"C:\srb2demo2\srb2sdldebug.exe" /pdbtype:sept # SUBTRACT LINK32 /pdb:none -!ENDIF +!ENDIF # Begin Target @@ -213,7 +213,7 @@ SOURCE=.\SDL_main\SDL_win32_main.c # PROP Exclude_From_Build 1 -!ENDIF +!ENDIF # End Source File # Begin Source File @@ -274,7 +274,7 @@ InputName=tmap # End Custom Build -!ENDIF +!ENDIF # End Source File # Begin Source File @@ -308,7 +308,7 @@ InputName=tmap_mmx # End Custom Build -!ENDIF +!ENDIF # End Source File # Begin Source File @@ -339,7 +339,7 @@ InputName=tmap_vc # End Custom Build -!ENDIF +!ENDIF # End Source File # End Group @@ -576,10 +576,6 @@ SOURCE=..\hardware\hw_drv.h # End Source File # Begin Source File -SOURCE=..\hardware\hw_glide.h -# End Source File -# Begin Source File - SOURCE=..\hardware\hw_glob.h # End Source File # Begin Source File diff --git a/src/sdl/macosx/Srb2mac.pbproj/project.pbxproj b/src/sdl/macosx/Srb2mac.pbproj/project.pbxproj index de12201f..ee0bf469 100644 --- a/src/sdl/macosx/Srb2mac.pbproj/project.pbxproj +++ b/src/sdl/macosx/Srb2mac.pbproj/project.pbxproj @@ -1064,13 +1064,6 @@ path = ../../hardware/hw_drv.h; refType = 2; }; - 8417773B085A106C000C01D8 = { - fileEncoding = 30; - isa = PBXFileReference; - name = hw_glide.h; - path = ../../hardware/hw_glide.h; - refType = 2; - }; 8417773C085A106C000C01D8 = { fileEncoding = 30; isa = PBXFileReference; diff --git a/src/sdl/macosx/Srb2mac.xcodeproj/project.pbxproj b/src/sdl/macosx/Srb2mac.xcodeproj/project.pbxproj index a8ecbf7f..0ed95c88 100644 --- a/src/sdl/macosx/Srb2mac.xcodeproj/project.pbxproj +++ b/src/sdl/macosx/Srb2mac.xcodeproj/project.pbxproj @@ -181,7 +181,6 @@ 1E44AE640B67CC2B00BAD059 /* hw_cache.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = hw_cache.c; path = ../../hardware/hw_cache.c; sourceTree = SOURCE_ROOT; }; 1E44AE650B67CC2B00BAD059 /* hw_dll.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = hw_dll.h; path = ../../hardware/hw_dll.h; sourceTree = SOURCE_ROOT; }; 1E44AE660B67CC2B00BAD059 /* hw_drv.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = hw_drv.h; path = ../../hardware/hw_drv.h; sourceTree = SOURCE_ROOT; }; - 1E44AE670B67CC2B00BAD059 /* hw_glide.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = hw_glide.h; path = ../../hardware/hw_glide.h; sourceTree = SOURCE_ROOT; }; 1E44AE680B67CC2B00BAD059 /* hw_light.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = hw_light.c; path = ../../hardware/hw_light.c; sourceTree = SOURCE_ROOT; }; 1E44AE690B67CC2B00BAD059 /* hw_light.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = hw_light.h; path = ../../hardware/hw_light.h; sourceTree = SOURCE_ROOT; }; 1E44AE6A0B67CC2B00BAD059 /* hw3sound.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = hw3sound.h; path = ../../hardware/hw3sound.h; sourceTree = SOURCE_ROOT; }; @@ -535,7 +534,6 @@ 1E44AE640B67CC2B00BAD059 /* hw_cache.c */, 1E44AE650B67CC2B00BAD059 /* hw_dll.h */, 1E44AE660B67CC2B00BAD059 /* hw_drv.h */, - 1E44AE670B67CC2B00BAD059 /* hw_glide.h */, 1E44AE680B67CC2B00BAD059 /* hw_light.c */, 1E44AE690B67CC2B00BAD059 /* hw_light.h */, 1E44AE6A0B67CC2B00BAD059 /* hw3sound.h */, diff --git a/src/sdl12/Srb2SDL-vc10.vcxproj b/src/sdl12/Srb2SDL-vc10.vcxproj index 99916f58..4b7e8ea3 100644 --- a/src/sdl12/Srb2SDL-vc10.vcxproj +++ b/src/sdl12/Srb2SDL-vc10.vcxproj @@ -1335,7 +1335,6 @@ - diff --git a/src/sdl12/Srb2SDL-vc9.vcproj b/src/sdl12/Srb2SDL-vc9.vcproj index fa386e38..9d807be2 100644 --- a/src/sdl12/Srb2SDL-vc9.vcproj +++ b/src/sdl12/Srb2SDL-vc9.vcproj @@ -2410,10 +2410,6 @@ RelativePath="..\hardware\hw_drv.h" > - - diff --git a/src/sdl12/Srb2SDL.dsp b/src/sdl12/Srb2SDL.dsp index 879113ca..ce35e2e2 100644 --- a/src/sdl12/Srb2SDL.dsp +++ b/src/sdl12/Srb2SDL.dsp @@ -7,19 +7,19 @@ CFG=Srb2SDL - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run -!MESSAGE +!MESSAGE !MESSAGE NMAKE /f "Srb2SDL.mak". -!MESSAGE +!MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE +!MESSAGE !MESSAGE NMAKE /f "Srb2SDL.mak" CFG="Srb2SDL - Win32 Debug" -!MESSAGE +!MESSAGE !MESSAGE Possible choices for configuration are: -!MESSAGE +!MESSAGE !MESSAGE "Srb2SDL - Win32 Release" (based on "Win32 (x86) Console Application") !MESSAGE "Srb2SDL - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE +!MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 @@ -85,7 +85,7 @@ LINK32=link.exe # ADD LINK32 SDL.lib SDL_mixer.lib user32.lib advapi32.lib ws2_32.lib /nologo /subsystem:console /pdb:"C:\srb2demo2\srb2sdldebug.pdb" /debug /machine:I386 /out:"C:\srb2demo2\srb2sdldebug.exe" /pdbtype:sept # SUBTRACT LINK32 /pdb:none -!ENDIF +!ENDIF # Begin Target @@ -213,7 +213,7 @@ SOURCE=.\SDL_main\SDL_win32_main.c # PROP Exclude_From_Build 1 -!ENDIF +!ENDIF # End Source File # Begin Source File @@ -274,7 +274,7 @@ InputName=tmap # End Custom Build -!ENDIF +!ENDIF # End Source File # Begin Source File @@ -308,7 +308,7 @@ InputName=tmap_mmx # End Custom Build -!ENDIF +!ENDIF # End Source File # Begin Source File @@ -339,7 +339,7 @@ InputName=tmap_vc # End Custom Build -!ENDIF +!ENDIF # End Source File # End Group @@ -576,10 +576,6 @@ SOURCE=..\hardware\hw_drv.h # End Source File # Begin Source File -SOURCE=..\hardware\hw_glide.h -# End Source File -# Begin Source File - SOURCE=..\hardware\hw_glob.h # End Source File # Begin Source File diff --git a/src/sdl12/macosx/Srb2mac.pbproj/project.pbxproj b/src/sdl12/macosx/Srb2mac.pbproj/project.pbxproj index 1f8e3276..1fe2ea2d 100644 --- a/src/sdl12/macosx/Srb2mac.pbproj/project.pbxproj +++ b/src/sdl12/macosx/Srb2mac.pbproj/project.pbxproj @@ -1064,13 +1064,6 @@ path = ../../hardware/hw_drv.h; refType = 2; }; - 8417773B085A106C000C01D8 = { - fileEncoding = 30; - isa = PBXFileReference; - name = hw_glide.h; - path = ../../hardware/hw_glide.h; - refType = 2; - }; 8417773C085A106C000C01D8 = { fileEncoding = 30; isa = PBXFileReference; diff --git a/src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj b/src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj index 69c544c5..78b5953a 100644 --- a/src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj +++ b/src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj @@ -181,7 +181,6 @@ 1E44AE640B67CC2B00BAD059 /* hw_cache.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = hw_cache.c; path = ../../hardware/hw_cache.c; sourceTree = SOURCE_ROOT; }; 1E44AE650B67CC2B00BAD059 /* hw_dll.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = hw_dll.h; path = ../../hardware/hw_dll.h; sourceTree = SOURCE_ROOT; }; 1E44AE660B67CC2B00BAD059 /* hw_drv.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = hw_drv.h; path = ../../hardware/hw_drv.h; sourceTree = SOURCE_ROOT; }; - 1E44AE670B67CC2B00BAD059 /* hw_glide.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = hw_glide.h; path = ../../hardware/hw_glide.h; sourceTree = SOURCE_ROOT; }; 1E44AE680B67CC2B00BAD059 /* hw_light.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = hw_light.c; path = ../../hardware/hw_light.c; sourceTree = SOURCE_ROOT; }; 1E44AE690B67CC2B00BAD059 /* hw_light.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = hw_light.h; path = ../../hardware/hw_light.h; sourceTree = SOURCE_ROOT; }; 1E44AE6A0B67CC2B00BAD059 /* hw3sound.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = hw3sound.h; path = ../../hardware/hw3sound.h; sourceTree = SOURCE_ROOT; }; @@ -535,7 +534,6 @@ 1E44AE640B67CC2B00BAD059 /* hw_cache.c */, 1E44AE650B67CC2B00BAD059 /* hw_dll.h */, 1E44AE660B67CC2B00BAD059 /* hw_drv.h */, - 1E44AE670B67CC2B00BAD059 /* hw_glide.h */, 1E44AE680B67CC2B00BAD059 /* hw_light.c */, 1E44AE690B67CC2B00BAD059 /* hw_light.h */, 1E44AE6A0B67CC2B00BAD059 /* hw3sound.h */, diff --git a/src/v_video.c b/src/v_video.c index a2294731..09f399ef 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -696,61 +696,6 @@ void V_DrawBlock(INT32 x, INT32 y, INT32 scrn, INT32 width, INT32 height, const } } -static void V_BlitScaledPic(INT32 px1, INT32 py1, INT32 scrn, pic_t *pic); -// Draw a linear pic, scaled, TOTALLY CRAP CODE!!! OPTIMISE AND ASM!! -// -void V_DrawScaledPic(INT32 rx1, INT32 ry1, INT32 scrn, INT32 lumpnum) -{ -#ifdef HWRENDER - if (rendermode != render_soft) - { - HWR_DrawPic(rx1, ry1, lumpnum); - return; - } -#endif - - V_BlitScaledPic(rx1, ry1, scrn, W_CacheLumpNum(lumpnum, PU_CACHE)); -} - -static void V_BlitScaledPic(INT32 rx1, INT32 ry1, INT32 scrn, pic_t * pic) -{ - INT32 dupx, dupy; - INT32 x, y; - UINT8 *src, *dest; - INT32 width, height; - - width = SHORT(pic->width); - height = SHORT(pic->height); - scrn &= V_PARAMMASK; - - if (pic->mode != 0) - { - CONS_Debug(DBG_RENDER, "pic mode %d not supported in Software\n", pic->mode); - return; - } - - dest = screens[scrn] + max(0, ry1 * vid.width) + max(0, rx1); - // y cliping to the screen - if (ry1 + height * vid.dupy >= vid.width) - height = (vid.width - ry1) / vid.dupy - 1; - // WARNING no x clipping (not needed for the moment) - - for (y = max(0, -ry1 / vid.dupy); y < height; y++) - { - for (dupy = vid.dupy; dupy; dupy--) - { - src = pic->data + y * width; - for (x = 0; x < width; x++) - { - for (dupx = vid.dupx; dupx; dupx--) - *dest++ = *src; - src++; - } - dest += vid.width - vid.dupx * width; - } - } -} - // // Fills a box of pixels with a single color, NOTE: scaled to screen size // diff --git a/src/v_video.h b/src/v_video.h index 877a619b..c3d5eb5b 100644 --- a/src/v_video.h +++ b/src/v_video.h @@ -134,9 +134,6 @@ void V_DrawContinueIcon(INT32 x, INT32 y, INT32 flags, INT32 skinnum, UINT8 skin // Draw a linear block of pixels into the view buffer. void V_DrawBlock(INT32 x, INT32 y, INT32 scrn, INT32 width, INT32 height, const UINT8 *src); -// draw a pic_t, SCALED -void V_DrawScaledPic (INT32 px1, INT32 py1, INT32 scrn, INT32 lumpnum); - // fill a box with a single color void V_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 c); void V_DrawFillConsoleMap(INT32 x, INT32 y, INT32 w, INT32 h, INT32 c); diff --git a/src/w_wad.c b/src/w_wad.c index a0981aba..9fa2bb81 100644 --- a/src/w_wad.c +++ b/src/w_wad.c @@ -1518,6 +1518,7 @@ void *W_CachePatchName(const char *name, INT32 tag) return W_CachePatchNum(W_GetNumForName("MISSING"), tag); return W_CachePatchNum(num, tag); } + #ifndef NOMD5 #define MD5_LEN 16 diff --git a/src/win32/Srb2win-vc9.vcproj b/src/win32/Srb2win-vc9.vcproj index a64b8638..cac081ad 100644 --- a/src/win32/Srb2win-vc9.vcproj +++ b/src/win32/Srb2win-vc9.vcproj @@ -2151,10 +2151,6 @@ RelativePath="..\hardware\hw_drv.h" > - - diff --git a/src/win32/Srb2win.dsp b/src/win32/Srb2win.dsp index 501bd26b..c52873f7 100644 --- a/src/win32/Srb2win.dsp +++ b/src/win32/Srb2win.dsp @@ -7,19 +7,19 @@ CFG=Srb2win - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run -!MESSAGE +!MESSAGE !MESSAGE NMAKE /f "Srb2win.mak". -!MESSAGE +!MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE +!MESSAGE !MESSAGE NMAKE /f "Srb2win.mak" CFG="Srb2win - Win32 Debug" -!MESSAGE +!MESSAGE !MESSAGE Possible choices for configuration are: -!MESSAGE +!MESSAGE !MESSAGE "Srb2win - Win32 Release" (based on "Win32 (x86) Application") !MESSAGE "Srb2win - Win32 Debug" (based on "Win32 (x86) Application") -!MESSAGE +!MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 @@ -84,7 +84,7 @@ LINK32=link.exe # ADD LINK32 dxguid.lib user32.lib gdi32.lib winmm.lib advapi32.lib ws2_32.lib dinput.lib /nologo /subsystem:windows /profile /debug /machine:I386 /out:"C:\srb2demo2\srb2debug.exe" # SUBTRACT LINK32 /nodefaultlib -!ENDIF +!ENDIF # Begin Target @@ -148,7 +148,7 @@ SOURCE=.\Srb2win.rc !ELSEIF "$(CFG)" == "Srb2win - Win32 Debug" -!ENDIF +!ENDIF # End Source File # Begin Source File @@ -233,7 +233,7 @@ InputName=tmap # End Custom Build -!ENDIF +!ENDIF # End Source File # Begin Source File @@ -266,7 +266,7 @@ InputName=tmap_mmx # End Custom Build -!ENDIF +!ENDIF # End Source File # Begin Source File @@ -298,7 +298,7 @@ InputName=tmap_vc # End Custom Build -!ENDIF +!ENDIF # End Source File # End Group @@ -535,10 +535,6 @@ SOURCE=..\hardware\hw_drv.h # End Source File # Begin Source File -SOURCE=..\hardware\hw_glide.h -# End Source File -# Begin Source File - SOURCE=..\hardware\hw_glob.h # End Source File # Begin Source File From e1f1e63cc9945194aef96783a549925096e7c4ef Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Thu, 21 Mar 2019 18:33:03 -0300 Subject: [PATCH 034/245] fix postprocessor --- src/hardware/hw_main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index c2636353..07b77a47 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -5802,6 +5802,8 @@ void HWR_DoPostProcessor(player_t *player) { postimg_t *type; + HWD.pfnUnSetShader(); + if (splitscreen && player == &players[secondarydisplayplayer]) type = &postimgtype2; else @@ -5829,8 +5831,7 @@ void HWR_DoPostProcessor(player_t *player) Surf.PolyColor.s.alpha = 0xc0; // match software mode - HWD.pfnSetShader(0); // jimita - HWD.pfnDrawPolygon(&Surf, v, 4, PF_Modulated|PF_Additive|PF_NoTexture|PF_NoDepthTest); + HWD.pfnDrawPolygon(&Surf, v, 4, PF_Modulated|PF_Translucent|PF_NoTexture|PF_NoDepthTest); } // Capture the screen for intermission and screen waving From 8c56f1aa0b4a52fb824daf069e3893068e130901 Mon Sep 17 00:00:00 2001 From: fickleheart Date: Mon, 25 Mar 2019 22:22:25 -0500 Subject: [PATCH 035/245] Wacky attempt at not reopening nodes for D/Ced ackreting clients --- src/d_net.c | 13 +++++++++---- src/i_tcp.c | 11 +++++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/d_net.c b/src/d_net.c index 9f719967..22ee738f 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -1146,7 +1146,7 @@ boolean HSendPacket(INT32 node, boolean reliable, UINT8 acknum, size_t packetlen // boolean HGetPacket(void) { - //boolean nodejustjoined; + boolean nodejustjoined; // Get a packet from self if (rebound_tail != rebound_head) @@ -1173,11 +1173,16 @@ boolean HGetPacket(void) while(true) { - //nodejustjoined = I_NetGet(); - I_NetGet(); + nodejustjoined = I_NetGet(); + //I_NetGet(); if (doomcom->remotenode == -1) // No packet received - return false; + { + if (nodejustjoined) // _This_ means we did receive a packet, but either from a node we couldn't allocate or a gone player ackreting... + continue; + else + return false; + } getbytes += packetheaderlength + doomcom->datalength; // For stat diff --git a/src/i_tcp.c b/src/i_tcp.c index 11a84ceb..0c7f7cc9 100644 --- a/src/i_tcp.c +++ b/src/i_tcp.c @@ -624,6 +624,13 @@ static boolean SOCK_Get(void) } // not found + if (netbuffer->packettype == PT_NOTHING) + { + DEBFILE(va("Ackret received from disconnected address:%s, ignoring...\n", SOCK_AddrToStr(&fromaddress))); + doomcom->remotenode = -1; // no packet + return true; + } + // find a free slot j = getfreenode(); if (j > 0) @@ -650,7 +657,11 @@ static boolean SOCK_Get(void) return true; } else + { DEBFILE("New node detected: No more free slots\n"); + doomcom->remotenode = -1; // no packet + return true; + } } } From a35e9d5abdf1e6ad97aa104308572a60795f815c Mon Sep 17 00:00:00 2001 From: fickleheart Date: Mon, 25 Mar 2019 22:23:35 -0500 Subject: [PATCH 036/245] Don't force-close connection when getting a join request! We need to send the ackret, first of all! --- src/d_clisrv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index e227ce2e..ba0446c0 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -3980,7 +3980,7 @@ static void HandlePacketFromAwayNode(SINT8 node) cl_challengenum = netbuffer->u.joinchallenge.challengenum; memcpy(cl_challengequestion, netbuffer->u.joinchallenge.question, 16); - Net_CloseConnection(node|FORCECLOSE); // Don't need to stay connected while challenging + Net_CloseConnection(node); // Don't need to stay connected while challenging cl_mode = CL_CHALLENGE; From 34557910543b60148f7bcbdbc13083ef5d161aee Mon Sep 17 00:00:00 2001 From: fickleheart Date: Mon, 25 Mar 2019 22:44:34 -0500 Subject: [PATCH 037/245] More attempts that may fix things? I'm uncommenting a bunch of LJ code that was never committed uncommented, so I might be breaking something horribly here.... --- src/d_net.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/d_net.c b/src/d_net.c index 22ee738f..164be502 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -1184,6 +1184,13 @@ boolean HGetPacket(void) return false; } + if (nodejustjoined) + { + // Reinitialize vars for the new node just in case there's anything left over from other players..... + InitNode(&nodes[doomcom->remotenode]); + SV_AbortSendFiles(doomcom->remotenode); + } + getbytes += packetheaderlength + doomcom->datalength; // For stat if (doomcom->remotenode >= MAXNETNODES) @@ -1197,8 +1204,8 @@ boolean HGetPacket(void) if (netbuffer->checksum != NetbufferChecksum()) { DEBFILE("Bad packet checksum\n"); - //Net_CloseConnection(nodejustjoined ? (doomcom->remotenode | FORCECLOSE) : doomcom->remotenode); - Net_CloseConnection(doomcom->remotenode); + Net_CloseConnection(nodejustjoined ? (doomcom->remotenode | FORCECLOSE) : doomcom->remotenode); + //Net_CloseConnection(doomcom->remotenode); continue; } @@ -1207,7 +1214,7 @@ boolean HGetPacket(void) DebugPrintpacket("GET"); #endif - /*// If a new node sends an unexpected packet, just ignore it + // If a new node sends an unexpected packet, just ignore it if (nodejustjoined && server && !(netbuffer->packettype == PT_ASKINFO || netbuffer->packettype == PT_SERVERINFO @@ -1220,7 +1227,7 @@ boolean HGetPacket(void) //CONS_Alert(CONS_NOTICE, "New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype]); Net_CloseConnection(doomcom->remotenode | FORCECLOSE); continue; - }*/ + } // Proceed the ack and ackreturn field if (!Processackpak()) From 0485b4cf5c922f7dd85ef96fba3a613b894c1a12 Mon Sep 17 00:00:00 2001 From: fickleheart Date: Mon, 25 Mar 2019 22:49:37 -0500 Subject: [PATCH 038/245] Make sure clients never have local_resynchinprogress on when joining a game... --- src/d_clisrv.c | 2 ++ src/d_net.c | 1 + 2 files changed, 3 insertions(+) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index ba0446c0..811645da 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -2304,6 +2304,8 @@ static void CL_ConnectToServer(boolean viams) if (gamestate == GS_VOTING) Y_EndVote(); + resynch_local_inprogress = false; // Just in case this was never cleared... + DEBFILE(va("waiting %d nodes\n", doomcom->numnodes)); G_SetGamestate(GS_WAITINGPLAYERS); wipegamestate = GS_WAITINGPLAYERS; diff --git a/src/d_net.c b/src/d_net.c index 164be502..0219f24d 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -1474,6 +1474,7 @@ void D_CloseConnection(void) I_NetMakeNodewPort = NULL; netgame = false; addedtogame = false; + resynch_local_inprogress = false; // No more resyncing! } D_ResetTiccmds(); From 29f460a21f7c829259514044801f841614fc9c7a Mon Sep 17 00:00:00 2001 From: fickleheart Date: Mon, 25 Mar 2019 22:52:42 -0500 Subject: [PATCH 039/245] pbbbbt fix compile error --- src/d_clisrv.c | 1 + src/d_net.c | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 811645da..9bd33c4a 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -3413,6 +3413,7 @@ void D_QuitNetGame(void) HSendPacket(servernode, true, 0, 0); } + resynch_local_inprogress = false; // No more resyncing! D_CloseConnection(); ClearAdminPlayers(); diff --git a/src/d_net.c b/src/d_net.c index 0219f24d..164be502 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -1474,7 +1474,6 @@ void D_CloseConnection(void) I_NetMakeNodewPort = NULL; netgame = false; addedtogame = false; - resynch_local_inprogress = false; // No more resyncing! } D_ResetTiccmds(); From 204a6d5c202c29203027223c7c0fc2423d97265f Mon Sep 17 00:00:00 2001 From: fickleheart Date: Mon, 25 Mar 2019 23:58:44 -0500 Subject: [PATCH 040/245] Let's try some sanity checks on the resync code... --- src/d_clisrv.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 9bd33c4a..0b7e465f 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1052,6 +1052,7 @@ static void SV_SendResynch(INT32 node) return; } + resynch_inprogress[node] = false; // Let's see if there's REALLY anyone left to sync..... netbuffer->packettype = PT_RESYNCHING; for (i = 0, j = 0; i < MAXPLAYERS; ++i) { @@ -1059,10 +1060,24 @@ static void SV_SendResynch(INT32 node) if (!(resynch_status[node] & 1< TICRATE) + { + CONS_Alert(CONS_ERROR, "Node %d (%s) somehow had a stupidly-long resync delay?! (%d tics to resync player %d)\n", + node, player_names[nodetoplayer[node]], resynch_sent[node][i], i + ); + resynch_sent[node][i] = TICRATE; + } + continue; } @@ -1076,6 +1091,15 @@ static void SV_SendResynch(INT32 node) break; } + if (!resynch_inprogress[node]) + { + CONS_Alert(CONS_ERROR, "Node %d (%s) somehow had resync status for nonexistent players?! (%08x)\n", + node, player_names[nodetoplayer[node]], resynch_status[node] = 0x00 + ); + resynch_status[node] = 0x00; + resynch_inprogress[node] = true; // So they get the PT_RESYNCHEND... + } + if (resynch_score[node] > (unsigned)cv_resynchattempts.value*250) { XBOXSTATIC UINT8 buf[2]; From 6cf7cc0276cb20d8730f92678bd60da1f93d34eb Mon Sep 17 00:00:00 2001 From: fickleheart Date: Tue, 26 Mar 2019 00:09:23 -0500 Subject: [PATCH 041/245] Is this useful in any way? --- src/d_clisrv.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 0b7e465f..31f73d78 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -688,7 +688,7 @@ static inline void resynch_write_player(resynch_pak *rsp, const size_t i) static void resynch_read_player(resynch_pak *rsp) { INT32 i = rsp->playernum, j; - mobj_t *savedmo = players[i].mo; + //mobj_t *savedmo = players[i].mo; // Do not send anything visual related. // Only send data that we need to know for physics. @@ -795,11 +795,17 @@ static void resynch_read_player(resynch_pak *rsp) return; //...but keep old mo even if it is corrupt or null! - players[i].mo = savedmo; + //players[i].mo = savedmo; //Transfer important mo information if they have a valid mo. if (!rsp->hasmo) + { + // Get rid of their object if they aren't supposed to have one.....?? + if (players[i].mo) + P_RemoveMobj(players[i].mo); + return; + } //server thinks player has a body. //Give them a new body that can be then manipulated by the server's info. From ca2979c1af0613a857a8d4c2b86d06e7d8f1ba2a Mon Sep 17 00:00:00 2001 From: fickleheart Date: Tue, 26 Mar 2019 01:10:00 -0500 Subject: [PATCH 042/245] Free nodes properly in cleanupnodes Hopefully the other changes herein have rendered cleanupnodes obsolete, but I'm not too sure of that..... --- src/i_tcp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i_tcp.c b/src/i_tcp.c index 0c7f7cc9..ab14cdc9 100644 --- a/src/i_tcp.c +++ b/src/i_tcp.c @@ -524,7 +524,7 @@ static void cleanupnodes(void) // Why can't I start at zero? for (j = 1; j < MAXNETNODES; j++) if (!(nodeingame[j] || SV_SendingFile(j))) - nodeconnected[j] = false; + SOCK_FreeNodenum(j); // At least free this PROPERLY } static SINT8 getfreenode(void) From 7090cf16b408424734e6a7f075fa898088420a39 Mon Sep 17 00:00:00 2001 From: fickleheart Date: Tue, 26 Mar 2019 01:36:12 -0500 Subject: [PATCH 043/245] Unclose a node if it sends PT_CLIENTJOIN..? fuck it, why not --- src/d_clisrv.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 31f73d78..7ed98e40 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1374,6 +1374,8 @@ static boolean CL_SendJoin(void) netbuffer->u.clientcfg.challengenum = cl_challengenum; memcpy(netbuffer->u.clientcfg.challengeanswer, cl_challengeanswer, MD5_LEN); + nodes[servernode].flags &= ~NF_CLOSE; // Hell if I know. + return HSendPacket(servernode, true, 0, sizeof (clientconfig_pak)); } @@ -3830,6 +3832,9 @@ static void HandleConnect(SINT8 node) } } + // The connecting node may be + nodes[node].flags &= ~NF_CLOSE; + if (netbuffer->u.clientcfg.needsdownload) { netbuffer->packettype = PT_DOWNLOADFILESOKAY; From 9bc3acd17a56aa0a3e678773a7fd996909a0d103 Mon Sep 17 00:00:00 2001 From: fickleheart Date: Tue, 26 Mar 2019 08:26:41 -0500 Subject: [PATCH 044/245] Fix compile issues --- src/d_clisrv.c | 5 ----- src/d_net.c | 8 ++++++++ src/i_tcp.c | 2 ++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 7ed98e40..31f73d78 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1374,8 +1374,6 @@ static boolean CL_SendJoin(void) netbuffer->u.clientcfg.challengenum = cl_challengenum; memcpy(netbuffer->u.clientcfg.challengeanswer, cl_challengeanswer, MD5_LEN); - nodes[servernode].flags &= ~NF_CLOSE; // Hell if I know. - return HSendPacket(servernode, true, 0, sizeof (clientconfig_pak)); } @@ -3832,9 +3830,6 @@ static void HandleConnect(SINT8 node) } } - // The connecting node may be - nodes[node].flags &= ~NF_CLOSE; - if (netbuffer->u.clientcfg.needsdownload) { netbuffer->packettype = PT_DOWNLOADFILESOKAY; diff --git a/src/d_net.c b/src/d_net.c index 164be502..954e7529 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -1110,6 +1110,10 @@ boolean HSendPacket(INT32 node, boolean reliable, UINT8 acknum, size_t packetlen netbuffer->checksum = NetbufferChecksum(); sendbytes += packetheaderlength + doomcom->datalength; // For stat + // Joinpasswords close nodes, this may try to send to a waiting-to-close node, so cancel closing? + if (netbuffer->packettype == PT_CLIENTJOIN) + nodes[node].flags &= ~NF_CLOSE; + #ifdef PACKETDROP // Simulate internet :) //if (rand() >= (INT32)(RAND_MAX * (PACKETLOSSRATE / 100.f))) @@ -1191,6 +1195,10 @@ boolean HGetPacket(void) SV_AbortSendFiles(doomcom->remotenode); } + // Joinpasswords close nodes, this may receive from a waiting-to-close node, so cancel closing? + if (netbuffer->packettype == PT_CLIENTJOIN) + nodes[doomcom->remotenode].flags &= ~NF_CLOSE; + getbytes += packetheaderlength + doomcom->datalength; // For stat if (doomcom->remotenode >= MAXNETNODES) diff --git a/src/i_tcp.c b/src/i_tcp.c index ab14cdc9..4989fbd2 100644 --- a/src/i_tcp.c +++ b/src/i_tcp.c @@ -508,6 +508,8 @@ static boolean SOCK_cmpaddr(mysockaddr_t *a, mysockaddr_t *b, UINT8 mask) return false; } +static void SOCK_FreeNodenum(INT32 numnode); + // This is a hack. For some reason, nodes aren't being freed properly. // This goes through and cleans up what nodes were supposed to be freed. /** \warning This function causes the file downloading to stop if someone joins. From 0911ec79d15be27cfa2fd3d2ea5bde600d26896e Mon Sep 17 00:00:00 2001 From: fickleheart Date: Sat, 30 Mar 2019 22:48:55 -0500 Subject: [PATCH 045/245] Try to fix hangs caused by PT_CLIENTJOIN with a non-zero ack --- src/d_net.c | 49 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/src/d_net.c b/src/d_net.c index 954e7529..acbd34be 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -363,7 +363,11 @@ static boolean Processackpak(void) { UINT8 ack = netbuffer->ack; getackpacket++; - if (cmpack(ack, node->firstacktosend) <= 0) + + if (cmpack(ack, node->firstacktosend) <= 0 + // UGLY PROBABLY-BAD HACK: If we get PT_CLIENTJOIN, assume this is an in-order packet? + && netbuffer->packettype != PT_CLIENTJOIN + ) { DEBFILE(va("Discard(1) ack %d (duplicated)\n", ack)); duppacket++; @@ -385,6 +389,11 @@ static boolean Processackpak(void) // Is a good packet so increment the acknowledge number, // Then search for a "hole" in the queue UINT8 nextfirstack = (UINT8)(node->firstacktosend + 1); + + // UGLY PROBABLY-BAD HACK: If we get PT_CLIENTJOIN, assume this is an in-order packet? + if (netbuffer->packettype == PT_CLIENTJOIN) + node->firstacktosend = (UINT8)((ack-1+MAXACKTOSEND) % MAXACKTOSEND); + if (!nextfirstack) nextfirstack = 1; @@ -1190,6 +1199,29 @@ boolean HGetPacket(void) if (nodejustjoined) { + // If a new node sends an unexpected packet, just ignore it + if (server + && !(netbuffer->packettype == PT_ASKINFO + || netbuffer->packettype == PT_SERVERINFO + || netbuffer->packettype == PT_PLAYERINFO + || netbuffer->packettype == PT_REQUESTFILE + || netbuffer->packettype == PT_ASKINFOVIAMS + || netbuffer->packettype == PT_CLIENTJOIN)) + { + DEBFILE(va("New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype])); + CONS_Alert(CONS_NOTICE, "New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype]); + Net_CloseConnection(doomcom->remotenode | FORCECLOSE); + continue; + } + + if (netbuffer->ack > 1 && !(server && netbuffer->packettype == PT_CLIENTJOIN)) + { + DEBFILE("New node sent a packet with an out-of-sequence ack. Ghost connection? Ignoring...\n"); + CONS_Alert(CONS_NOTICE, "New node sent a packet with an out-of-sequence ack. Ghost connection? Ignoring...\n"); + Net_CloseConnection(doomcom->remotenode | FORCECLOSE); + continue; + } + // Reinitialize vars for the new node just in case there's anything left over from other players..... InitNode(&nodes[doomcom->remotenode]); SV_AbortSendFiles(doomcom->remotenode); @@ -1222,21 +1254,6 @@ boolean HGetPacket(void) DebugPrintpacket("GET"); #endif - // If a new node sends an unexpected packet, just ignore it - if (nodejustjoined && server - && !(netbuffer->packettype == PT_ASKINFO - || netbuffer->packettype == PT_SERVERINFO - || netbuffer->packettype == PT_PLAYERINFO - || netbuffer->packettype == PT_REQUESTFILE - || netbuffer->packettype == PT_ASKINFOVIAMS - || netbuffer->packettype == PT_CLIENTJOIN)) - { - DEBFILE(va("New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype])); - //CONS_Alert(CONS_NOTICE, "New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype]); - Net_CloseConnection(doomcom->remotenode | FORCECLOSE); - continue; - } - // Proceed the ack and ackreturn field if (!Processackpak()) continue; // discarded (duplicated) From b434eabf56a3ee03a6f58b6d8fc2ff478ab4470e Mon Sep 17 00:00:00 2001 From: fickleheart Date: Sat, 30 Mar 2019 23:15:11 -0500 Subject: [PATCH 046/245] Alternate variant of ugly probably-bad hack --- src/d_net.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/d_net.c b/src/d_net.c index acbd34be..2562de9a 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -364,10 +364,7 @@ static boolean Processackpak(void) UINT8 ack = netbuffer->ack; getackpacket++; - if (cmpack(ack, node->firstacktosend) <= 0 - // UGLY PROBABLY-BAD HACK: If we get PT_CLIENTJOIN, assume this is an in-order packet? - && netbuffer->packettype != PT_CLIENTJOIN - ) + if (cmpack(ack, node->firstacktosend) <= 0) { DEBFILE(va("Discard(1) ack %d (duplicated)\n", ack)); duppacket++; @@ -390,10 +387,6 @@ static boolean Processackpak(void) // Then search for a "hole" in the queue UINT8 nextfirstack = (UINT8)(node->firstacktosend + 1); - // UGLY PROBABLY-BAD HACK: If we get PT_CLIENTJOIN, assume this is an in-order packet? - if (netbuffer->packettype == PT_CLIENTJOIN) - node->firstacktosend = (UINT8)((ack-1+MAXACKTOSEND) % MAXACKTOSEND); - if (!nextfirstack) nextfirstack = 1; @@ -1214,6 +1207,10 @@ boolean HGetPacket(void) continue; } + // UGLY PROBABLY-BAD HACK: If we get PT_CLIENTJOIN, assume this is an in-order packet? + if (netbuffer->packettype == PT_CLIENTJOIN) + nodes[doomcom->remotenode].firstacktosend = (UINT8)((netbuffer->ack-1+MAXACKTOSEND) % MAXACKTOSEND); + if (netbuffer->ack > 1 && !(server && netbuffer->packettype == PT_CLIENTJOIN)) { DEBFILE("New node sent a packet with an out-of-sequence ack. Ghost connection? Ignoring...\n"); From fa7f627c889eae08c1142eab8ee559b218a3f8f4 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Sat, 6 Apr 2019 23:33:34 -0300 Subject: [PATCH 047/245] stuff --- src/doomdef.h | 2 +- src/hardware/hw_clip.c | 2 +- src/hardware/hw_defs.h | 27 +- src/hardware/hw_draw.c | 72 +- src/hardware/hw_drv.h | 14 - src/hardware/hw_main.c | 1392 ++++-------------------------- src/hardware/hw_main.h | 4 - src/hardware/hw_md2.c | 8 +- src/hardware/r_opengl/r_opengl.c | 9 +- src/nds/r_nds3d.c | 2 +- src/r_main.c | 5 - src/sdl/hwsym_sdl.c | 1 - src/sdl/i_video.c | 13 +- src/z_zone.c | 1 - 14 files changed, 235 insertions(+), 1317 deletions(-) diff --git a/src/doomdef.h b/src/doomdef.h index 7358da51..6289217b 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -529,6 +529,6 @@ extern const char *compdate, *comptime, *comprevision, *compbranch; /// on the bright side it fixes some weird issues with translucent walls /// \note SRB2CB port. /// SRB2CB itself ported this from PrBoom+ -#define NEWCLIP +//#define NEWCLIP #endif // __DOOMDEF__ diff --git a/src/hardware/hw_clip.c b/src/hardware/hw_clip.c index e5057334..e4996fd6 100644 --- a/src/hardware/hw_clip.c +++ b/src/hardware/hw_clip.c @@ -351,7 +351,7 @@ angle_t gld_FrustumAngle(void) } // SRB2CB I don't think used any of this stuff, let's disable for now since SRB2 probably doesn't want it either -// compiler complains about (p)glGetDoublev anyway, in case anyone wants this +// compiler complains about (p)glGetFloatv anyway, in case anyone wants this // only r_opengl.c can use the base gl funcs as it turns out, that's a problem for whoever wants sphere frustum checks // btw to renable define HAVE_SPHEREFRUSTRUM in hw_clip.h #ifdef HAVE_SPHEREFRUSTRUM diff --git a/src/hardware/hw_defs.h b/src/hardware/hw_defs.h index 4fd2fd18..03fe0d76 100644 --- a/src/hardware/hw_defs.h +++ b/src/hardware/hw_defs.h @@ -74,21 +74,11 @@ typedef struct FLOAT x,y; } F2DCoord, v2d_t; -// Simple 3D vector -typedef struct FVector -{ - FLOAT x,y,z; -} FVector; - -// 3D model vector (coords + texture coords) -typedef struct -{ - FLOAT x,y,z; - FLOAT s,t,w; // texture coordinates -} wallVert3D; - -//Hurdler: Transform (coords + angles) -//BP: transform order : scale(rotation_x(rotation_y(translation(v)))) +// ====================== +// wallVert3D +// ---------------------- +// :crab: IS GONE! :crab: +// ====================== // Kart features //#define USE_FTRANSFORM_ANGLEZ @@ -118,9 +108,7 @@ typedef struct typedef struct { FLOAT x,y,z; - FLOAT sow; // s texture ordinate (s over w) - FLOAT tow; // t texture ordinate (t over w) - FUINT argb; // flat-shaded color + FLOAT s,t; } FOutVector; // ========================================================================== @@ -203,6 +191,9 @@ enum hwdsetspecialstate }; typedef enum hwdsetspecialstate hwdspecialstate_t; +#define GL_NORMALFOG 0x00000000 +#define GL_FADEFOG 0x19000000 + enum hwdfiltermode { HWD_SET_TEXTUREFILTER_POINTSAMPLED, diff --git a/src/hardware/hw_draw.c b/src/hardware/hw_draw.c index 08bb182e..24f04494 100644 --- a/src/hardware/hw_draw.c +++ b/src/hardware/hw_draw.c @@ -108,10 +108,10 @@ void HWR_DrawPatch(GLPatch_t *gpatch, INT32 x, INT32 y, INT32 option) v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; - v[0].sow = v[3].sow = 0.0f; - v[2].sow = v[1].sow = gpatch->max_s; - v[0].tow = v[1].tow = 0.0f; - v[2].tow = v[3].tow = gpatch->max_t; + v[0].s = v[3].s = 0.0f; + v[2].s = v[1].s = gpatch->max_s; + v[0].t = v[1].t = 0.0f; + v[2].t = v[3].t = gpatch->max_t; flags = PF_Translucent|PF_NoDepthTest; @@ -265,17 +265,17 @@ void HWR_DrawFixedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscale, if (option & V_FLIP) { - v[0].sow = v[3].sow = gpatch->max_s; - v[2].sow = v[1].sow = 0.0f; + v[0].s = v[3].s = gpatch->max_s; + v[2].s = v[1].s = 0.0f; } else { - v[0].sow = v[3].sow = 0.0f; - v[2].sow = v[1].sow = gpatch->max_s; + v[0].s = v[3].s = 0.0f; + v[2].s = v[1].s = gpatch->max_s; } - v[0].tow = v[1].tow = 0.0f; - v[2].tow = v[3].tow = gpatch->max_t; + v[0].t = v[1].t = 0.0f; + v[2].t = v[3].t = gpatch->max_t; flags = PF_Translucent|PF_NoDepthTest; @@ -426,10 +426,10 @@ void HWR_DrawCroppedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscal v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; - v[0].sow = v[3].sow = ((sx)/(float)SHORT(gpatch->width) )*gpatch->max_s; - v[2].sow = v[1].sow = ((w )/(float)SHORT(gpatch->width) )*gpatch->max_s; - v[0].tow = v[1].tow = ((sy)/(float)SHORT(gpatch->height))*gpatch->max_t; - v[2].tow = v[3].tow = ((h )/(float)SHORT(gpatch->height))*gpatch->max_t; + v[0].s = v[3].s = ((sx)/(float)SHORT(gpatch->width) )*gpatch->max_s; + v[2].s = v[1].s = ((w )/(float)SHORT(gpatch->width) )*gpatch->max_s; + v[0].t = v[1].t = ((sy)/(float)SHORT(gpatch->height))*gpatch->max_t; + v[2].t = v[3].t = ((h )/(float)SHORT(gpatch->height))*gpatch->max_t; flags = PF_Translucent|PF_NoDepthTest; @@ -514,10 +514,10 @@ void HWR_DrawFlatFill (INT32 x, INT32 y, INT32 w, INT32 h, lumpnum_t flatlumpnum v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; // flat is 64x64 lod and texture offsets are [0.0, 1.0] - v[0].sow = v[3].sow = (float)((x & flatflag)/dflatsize); - v[2].sow = v[1].sow = (float)(v[0].sow + w/dflatsize); - v[0].tow = v[1].tow = (float)((y & flatflag)/dflatsize); - v[2].tow = v[3].tow = (float)(v[0].tow + h/dflatsize); + v[0].s = v[3].s = (float)((x & flatflag)/dflatsize); + v[2].s = v[1].s = (float)(v[0].s + w/dflatsize); + v[0].t = v[1].t = (float)((y & flatflag)/dflatsize); + v[2].t = v[3].t = (float)(v[0].t + h/dflatsize); HWR_GetFlat(flatlumpnum); @@ -553,10 +553,10 @@ void HWR_FadeScreenMenuBack(UINT32 color, INT32 height) v[2].y = v[3].y = 1.0f; v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; - v[0].sow = v[3].sow = 0.0f; - v[2].sow = v[1].sow = 1.0f; - v[0].tow = v[1].tow = 1.0f; - v[2].tow = v[3].tow = 0.0f; + v[0].s = v[3].s = 0.0f; + v[2].s = v[1].s = 1.0f; + v[0].t = v[1].t = 1.0f; + v[2].t = v[3].t = 0.0f; Surf.PolyColor.rgba = UINT2RGBA(color); Surf.PolyColor.s.alpha = (UINT8)((0xff/2) * ((float)height / vid.height)); //calum: varies console alpha @@ -579,10 +579,10 @@ void HWR_DrawConsoleBack(UINT32 color, INT32 height) v[2].y = v[3].y = 1.0f; v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; - v[0].sow = v[3].sow = 0.0f; - v[2].sow = v[1].sow = 1.0f; - v[0].tow = v[1].tow = 1.0f; - v[2].tow = v[3].tow = 0.0f; + v[0].s = v[3].s = 0.0f; + v[2].s = v[1].s = 1.0f; + v[0].t = v[1].t = 1.0f; + v[2].t = v[3].t = 0.0f; Surf.PolyColor.rgba = UINT2RGBA(color); Surf.PolyColor.s.alpha = 0x80; @@ -834,14 +834,12 @@ void HWR_DrawConsoleFill(INT32 x, INT32 y, INT32 w, INT32 h, UINT32 color, INT32 v[0].y = v[1].y = fy; v[2].y = v[3].y = fy - fh; - //Hurdler: do we still use this argb color? if not, we should remove it - v[0].argb = v[1].argb = v[2].argb = v[3].argb = 0xff00ff00; //; v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; - v[0].sow = v[3].sow = 0.0f; - v[2].sow = v[1].sow = 1.0f; - v[0].tow = v[1].tow = 0.0f; - v[2].tow = v[3].tow = 1.0f; + v[0].s = v[3].s = 0.0f; + v[2].s = v[1].s = 1.0f; + v[0].t = v[1].t = 0.0f; + v[2].t = v[3].t = 1.0f; Surf.PolyColor.rgba = UINT2RGBA(color); Surf.PolyColor.s.alpha = 0x80; @@ -939,14 +937,12 @@ void HWR_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color) v[0].y = v[1].y = fy; v[2].y = v[3].y = fy - fh; - //Hurdler: do we still use this argb color? if not, we should remove it - v[0].argb = v[1].argb = v[2].argb = v[3].argb = 0xff00ff00; //; v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; - v[0].sow = v[3].sow = 0.0f; - v[2].sow = v[1].sow = 1.0f; - v[0].tow = v[1].tow = 0.0f; - v[2].tow = v[3].tow = 1.0f; + v[0].s = v[3].s = 0.0f; + v[2].s = v[1].s = 1.0f; + v[0].t = v[1].t = 0.0f; + v[2].t = v[3].t = 1.0f; Surf.PolyColor = V_GetColor(color); diff --git a/src/hardware/hw_drv.h b/src/hardware/hw_drv.h index 0b927bd0..b7f4b4b0 100644 --- a/src/hardware/hw_drv.h +++ b/src/hardware/hw_drv.h @@ -27,12 +27,6 @@ // ========================================================================== EXPORT boolean HWRAPI(Init) (void); -#ifndef HAVE_SDL -EXPORT void HWRAPI(Shutdown) (void); -#endif -#ifdef _WINDOWS -EXPORT void HWRAPI(GetModeList) (vmode_t **pvidmodes, INT32 *numvidmodes); -#endif #if defined (PURESDL) || defined (macintosh) EXPORT void HWRAPI(SetPalette) (INT32 *, RGBA_t *gamma); #else @@ -56,7 +50,6 @@ EXPORT void HWRAPI(DrawModel) (model_t *model, INT32 frameIndex, INT32 duration, EXPORT void HWRAPI(CreateModelVBOs) (model_t *model); EXPORT void HWRAPI(SetTransform) (FTransform *ptransform); EXPORT INT32 HWRAPI(GetTextureUsed) (void); -EXPORT INT32 HWRAPI(GetRenderVersion) (void); EXPORT void HWRAPI(FlushScreenTextures) (void); EXPORT void HWRAPI(StartScreenWipe) (void); @@ -103,13 +96,6 @@ struct hwdriver_s CreateModelVBOs pfnCreateModelVBOs; SetTransform pfnSetTransform; GetTextureUsed pfnGetTextureUsed; - GetRenderVersion pfnGetRenderVersion; -#ifdef _WINDOWS - GetModeList pfnGetModeList; -#endif -#ifndef HAVE_SDL - Shutdown pfnShutdown; -#endif PostImgRedraw pfnPostImgRedraw; FlushScreenTextures pfnFlushScreenTextures; StartScreenWipe pfnStartScreenWipe; diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 07b77a47..9a51fa9e 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -17,8 +17,10 @@ #ifdef HWRENDER #include "hw_glob.h" -#include "hw_light.h" #include "hw_drv.h" +#include "hw_md2.h" +#include "hw_clip.h" +#include "hw_light.h" #include "../i_video.h" // for rendermode == render_glide #include "../v_video.h" @@ -34,14 +36,12 @@ #include "../st_stuff.h" #include "../i_system.h" #include "../m_cheat.h" + #ifdef ESLOPE #include "../p_slopes.h" #endif -#include "hw_md2.h" -#ifdef NEWCLIP -#include "hw_clip.h" -#endif +#define ABS(x) ((x) < 0 ? -(x) : (x)) // ========================================================================== // the hardware driver object @@ -52,7 +52,6 @@ struct hwdriver_s hwdriver; // PROTOS // ========================================================================== - static void HWR_AddSprites(sector_t *sec); static void HWR_ProjectSprite(mobj_t *thing); static void HWR_ProjectPrecipitationSprite(precipmobj_t *thing); @@ -80,16 +79,6 @@ static CV_PossibleValue_t grfiltermode_cons_t[]= {{HWD_SET_TEXTUREFILTER_POINTSA {0, NULL}}; CV_PossibleValue_t granisotropicmode_cons_t[] = {{1, "MIN"}, {16, "MAX"}, {0, NULL}}; -boolean drawsky = true; - -// needs fix: walls are incorrectly clipped one column less -#ifndef NEWCLIP -static consvar_t cv_grclipwalls = {"gr_clipwalls", "Off", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -#endif -//development variables for diverse uses -static consvar_t cv_gralpha = {"gr_alpha", "160", 0, CV_Unsigned, NULL, 0, NULL, NULL, 0, 0, NULL}; -static consvar_t cv_grbeta = {"gr_beta", "0", 0, CV_Unsigned, NULL, 0, NULL, NULL, 0, 0, NULL}; - consvar_t cv_grrounddown = {"gr_rounddown", "Off", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfov = {"gr_fov", "90", CV_FLOAT|CV_CALL, grfov_cons_t, CV_grFov_OnChange, 0, NULL, NULL, 0, 0, NULL}; @@ -111,26 +100,6 @@ static void CV_anisotropic_ONChange(void) HWD.pfnSetSpecialState(HWD_SET_TEXTUREANISOTROPICMODE, cv_granisotropicmode.value); } -// ========================================================================== -// VIEW GLOBALS -// ========================================================================== -// Fineangles in the SCREENWIDTH wide window. -#define FIELDOFVIEW ANGLE_90 -#define ABS(x) ((x) < 0 ? -(x) : (x)) - -static angle_t gr_clipangle; - -// The viewangletox[viewangle + FINEANGLES/4] lookup -// maps the visible view angles to screen X coordinates, -// flattening the arc to a flat projection plane. -// There will be many angles mapped to the same X. -static INT32 gr_viewangletox[FINEANGLES/2]; - -// The xtoviewangleangle[] table maps a screen pixel -// to the lowest viewangle that maps back to x ranges -// from clipangle to -clipangle. -static angle_t gr_xtoviewangle[MAXVIDWIDTH+1]; - // ========================================================================== // GLOBALS // ========================================================================== @@ -160,6 +129,7 @@ static sector_t *gr_backsector; FTransform atransform; // duplicates of the main code, set after R_SetupFrame() passed them into sharedstruct, // copied here for local use +// (why?) static fixed_t dup_viewx, dup_viewy, dup_viewz; static angle_t dup_viewangle; @@ -171,8 +141,6 @@ static float gr_viewsin, gr_viewcos; // ========================================================================== #define CALCLIGHT(x,y) ((float)(x)*((y)/255.0f)) -#define NORMALFOG 0x00000000 -#define FADEFOG 0x19000000 void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor) { @@ -453,23 +421,23 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is for (i = 0; i < nrPlaneVerts; i++,v3d++,pv++) { // Hurdler: add scrolling texture on floor/ceiling - v3d->sow = (float)((pv->x / fflatsize) - flatxref + scrollx); - v3d->tow = (float)(flatyref - (pv->y / fflatsize) + scrolly); + v3d->s = (float)((pv->x / fflatsize) - flatxref + scrollx); + v3d->t = (float)(flatyref - (pv->y / fflatsize) + scrolly); - //v3d->sow = (float)(pv->x / fflatsize); - //v3d->tow = (float)(pv->y / fflatsize); + //v3d->s = (float)(pv->x / fflatsize); + //v3d->t = (float)(pv->y / fflatsize); // Need to rotate before translate if (angle) // Only needs to be done if there's an altered angle { - tempxsow = FLOAT_TO_FIXED(v3d->sow); - tempytow = FLOAT_TO_FIXED(v3d->tow); - v3d->sow = (FIXED_TO_FLOAT(FixedMul(tempxsow, FINECOSINE(angle)) - FixedMul(tempytow, FINESINE(angle)))); - v3d->tow = (FIXED_TO_FLOAT(-FixedMul(tempxsow, FINESINE(angle)) - FixedMul(tempytow, FINECOSINE(angle)))); + tempxsow = FLOAT_TO_FIXED(v3d->s); + tempytow = FLOAT_TO_FIXED(v3d->t); + v3d->s = (FIXED_TO_FLOAT(FixedMul(tempxsow, FINECOSINE(angle)) - FixedMul(tempytow, FINESINE(angle)))); + v3d->t = (FIXED_TO_FLOAT(-FixedMul(tempxsow, FINESINE(angle)) - FixedMul(tempytow, FINECOSINE(angle)))); } - //v3d->sow = (float)(v3d->sow - flatxref + scrollx); - //v3d->tow = (float)(flatyref - v3d->tow + scrolly); + //v3d->s = (float)(v3d->s - flatxref + scrollx); + //v3d->t = (float)(flatyref - v3d->t + scrolly); v3d->x = pv->x; v3d->y = height; @@ -487,7 +455,7 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is if (planecolormap) HWR_Lighting(&Surf, lightlevel, planecolormap->rgba, planecolormap->fadergba); else - HWR_NoColormapLighting(&Surf, lightlevel, NORMALFOG, FADEFOG); + HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG); if (PolyFlags & (PF_Translucent|PF_Fog)) { @@ -513,13 +481,10 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is #ifdef WALLSPLATS static void HWR_DrawSegsSplats(FSurfaceInfo * pSurf) { - FOutVector trVerts[4], *wv; - wallVert3D wallVerts[4]; - wallVert3D *pwallVerts; + FOutVector wallVerts[4]; wallsplat_t *splat; GLPatch_t *gpatch; fixed_t i; - FSurfaceInfo pSurf2; // seg bbox fixed_t segbbox[4]; @@ -557,38 +522,24 @@ static void HWR_DrawSegsSplats(FSurfaceInfo * pSurf) wallVerts[3].s = wallVerts[3].t = wallVerts[2].s = wallVerts[0].t = 0.0f; wallVerts[1].s = wallVerts[1].t = wallVerts[2].t = wallVerts[0].s = 1.0f; - // transform - wv = trVerts; - pwallVerts = wallVerts; - for (i = 0; i < 4; i++,wv++,pwallVerts++) - { - wv->x = pwallVerts->x; - wv->z = pwallVerts->z; - wv->y = pwallVerts->y; - - // Kalaron: TOW and SOW needed to be switched - wv->sow = pwallVerts->t; - wv->tow = pwallVerts->s; - } - M_Memcpy(&pSurf2,pSurf,sizeof (FSurfaceInfo)); switch (splat->flags & SPLATDRAWMODE_MASK) { case SPLATDRAWMODE_OPAQUE : - pSurf2.PolyColor.s.alpha = 0xff; + pSurf.PolyColor.s.alpha = 0xff; i = PF_Translucent; break; case SPLATDRAWMODE_TRANS : - pSurf2.PolyColor.s.alpha = 128; + pSurf.PolyColor.s.alpha = 128; i = PF_Translucent; break; case SPLATDRAWMODE_SHADE : - pSurf2.PolyColor.s.alpha = 0xff; + pSurf.PolyColor.s.alpha = 0xff; i = PF_Substractive; break; } HWD.pfnSetShader(2); // jimita: wall shader - HWD.pfnDrawPolygon(&pSurf2, trVerts, 4, i|PF_Modulated|PF_Decal); + HWD.pfnDrawPolygon(&pSurf, wallVerts, 4, i|PF_Modulated|PF_Decal); } } #endif @@ -619,7 +570,7 @@ FBITFIELD HWR_TranstableToAlpha(INT32 transtablenum, FSurfaceInfo *pSurf) // clipped so that only a visible portion of the wall seg is drawn. // floorheight, ceilingheight : depend on wall upper/lower/middle, comes from the sectors. -static void HWR_AddTransparentWall(wallVert3D *wallVerts, FSurfaceInfo * pSurf, INT32 texnum, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap); +static void HWR_AddTransparentWall(FOutVector *wallVerts, FSurfaceInfo * pSurf, INT32 texnum, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap); // -----------------+ // HWR_ProjectWall : @@ -631,52 +582,17 @@ static void HWR_AddTransparentWall(wallVert3D *wallVerts, FSurfaceInfo * pSurf, |/ | 0--1 */ -static void HWR_ProjectWall(wallVert3D * wallVerts, +static void HWR_ProjectWall(FOutVector * wallVerts, FSurfaceInfo * pSurf, FBITFIELD blendmode, INT32 lightlevel, extracolormap_t *wallcolormap) { - FOutVector trVerts[4]; - FOutVector *wv; - - // transform - wv = trVerts; - // it sounds really stupid to do this conversion with the new T&L code - // we should directly put the right information in the right structure - // wallVerts3D seems ok, doesn't need FOutVector - // also remove the light copy - - // More messy to unwrap, but it's also quicker, uses less memory. - wv->sow = wallVerts->s; - wv->tow = wallVerts->t; - wv->x = wallVerts->x; - wv->y = wallVerts->y; - wv->z = wallVerts->z; - wv++; wallVerts++; - wv->sow = wallVerts->s; - wv->tow = wallVerts->t; - wv->x = wallVerts->x; - wv->y = wallVerts->y; - wv->z = wallVerts->z; - wv++; wallVerts++; - wv->sow = wallVerts->s; - wv->tow = wallVerts->t; - wv->x = wallVerts->x; - wv->y = wallVerts->y; - wv->z = wallVerts->z; - wv++; wallVerts++; - wv->sow = wallVerts->s; - wv->tow = wallVerts->t; - wv->x = wallVerts->x; - wv->y = wallVerts->y; - wv->z = wallVerts->z; - if (wallcolormap) HWR_Lighting(pSurf, lightlevel, wallcolormap->rgba, wallcolormap->fadergba); else - HWR_NoColormapLighting(pSurf, lightlevel, NORMALFOG, FADEFOG); + HWR_NoColormapLighting(pSurf, lightlevel, GL_NORMALFOG, GL_FADEFOG); HWD.pfnSetShader(2); // jimita: wall shader - HWD.pfnDrawPolygon(pSurf, trVerts, 4, blendmode|PF_Modulated|PF_Occlude); + HWD.pfnDrawPolygon(pSurf, wallVerts, 4, blendmode|PF_Modulated|PF_Occlude); #ifdef WALLSPLATS if (gr_curline->linedef->splats && cv_splats.value) @@ -688,45 +604,10 @@ static void HWR_ProjectWall(wallVert3D * wallVerts, // BSP, CULL, ETC.. // ========================================================================== -// return the frac from the interception of the clipping line -// (in fact a clipping plane that has a constant, so can clip with simple 2d) -// with the wall segment -// -#ifndef NEWCLIP -static float HWR_ClipViewSegment(INT32 x, polyvertex_t *v1, polyvertex_t *v2) -{ - float num, den; - float v1x, v1y, v1dx, v1dy, v2dx, v2dy; - angle_t pclipangle = gr_xtoviewangle[x]; - - // a segment of a polygon - v1x = v1->x; - v1y = v1->y; - v1dx = (v2->x - v1->x); - v1dy = (v2->y - v1->y); - - // the clipping line - pclipangle = pclipangle + dup_viewangle; //back to normal angle (non-relative) - v2dx = FIXED_TO_FLOAT(FINECOSINE(pclipangle>>ANGLETOFINESHIFT)); - v2dy = FIXED_TO_FLOAT(FINESINE(pclipangle>>ANGLETOFINESHIFT)); - - den = v2dy*v1dx - v2dx*v1dy; - if (den == 0) - return -1; // parallel - - // calc the frac along the polygon segment, - //num = (v2x - v1x)*v2dy + (v1y - v2y)*v2dx; - //num = -v1x * v2dy + v1y * v2dx; - num = (gr_viewx - v1x)*v2dy + (v1y - gr_viewy)*v2dx; - - return num / den; -} -#endif - // // HWR_SplitWall // -static void HWR_SplitWall(sector_t *sector, wallVert3D *wallVerts, INT32 texnum, FSurfaceInfo* Surf, INT32 cutflag, ffloor_t *pfloor) +static void HWR_SplitWall(sector_t *sector, FOutVector *wallVerts, INT32 texnum, FSurfaceInfo* Surf, INT32 cutflag, ffloor_t *pfloor) { /* SoM: split up and light walls according to the lightlist. This may also include leaving out parts @@ -973,7 +854,7 @@ static void HWR_SplitWall(sector_t *sector, wallVert3D *wallVerts, INT32 texnum, // HWR_DrawSkyWalls // Draw walls into the depth buffer so that anything behind is culled properly -static void HWR_DrawSkyWall(wallVert3D *wallVerts, FSurfaceInfo *Surf, fixed_t bottom, fixed_t top) +static void HWR_DrawSkyWall(FOutVector *wallVerts, FSurfaceInfo *Surf, fixed_t bottom, fixed_t top) { HWD.pfnSetTexture(NULL); // no texture @@ -991,19 +872,15 @@ static void HWR_DrawSkyWall(wallVert3D *wallVerts, FSurfaceInfo *Surf, fixed_t b } // -// HWR_StoreWallRange +// HWR_ProcessSeg // A portion or all of a wall segment will be drawn, from startfrac to endfrac, // where 0 is the start of the segment, 1 the end of the segment // Anything between means the wall segment has been clipped with solidsegs, // reducing wall overdraw to a minimum // -#ifdef NEWCLIP static void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom -#else -static void HWR_StoreWallRange(double startfrac, double endfrac) -#endif { - wallVert3D wallVerts[4]; + FOutVector wallVerts[4]; v2d_t vs, ve; // start, end vertices of 2d line (view from above) fixed_t worldtop, worldbottom; @@ -1026,11 +903,6 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) extracolormap_t *colormap; FSurfaceInfo Surf; -#ifndef NEWCLIP - if (startfrac > endfrac) - return; -#endif - gr_sidedef = gr_curline->sidedef; gr_linedef = gr_curline->linedef; @@ -1072,35 +944,19 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) wallVerts[0].z = wallVerts[3].z = vs.y; wallVerts[2].x = wallVerts[1].x = ve.x; wallVerts[2].z = wallVerts[1].z = ve.y; - wallVerts[0].w = wallVerts[1].w = wallVerts[2].w = wallVerts[3].w = 1.0f; + // x offset the texture { - // x offset the texture fixed_t texturehpeg = gr_sidedef->textureoffset + gr_curline->offset; - -#ifndef NEWCLIP - // clip texture s start/end coords with solidsegs - if (startfrac > 0.0f && startfrac < 1.0f) - cliplow = (float)(texturehpeg + (gr_curline->flength*FRACUNIT) * startfrac); - else -#endif - cliplow = (float)texturehpeg; - -#ifndef NEWCLIP - if (endfrac > 0.0f && endfrac < 1.0f) - cliphigh = (float)(texturehpeg + (gr_curline->flength*FRACUNIT) * endfrac); - else -#endif - cliphigh = (float)(texturehpeg + (gr_curline->flength*FRACUNIT)); + cliplow = (float)texturehpeg; + cliphigh = (float)(texturehpeg + (gr_curline->flength*FRACUNIT)); } lightnum = gr_frontsector->lightlevel; colormap = gr_frontsector->extra_colormap; if (gr_frontsector) - { Surf.PolyColor.s.alpha = 255; - } if (gr_backsector) { @@ -1861,14 +1717,9 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) colormap = rover->master->frontsector->extra_colormap; if (rover->master->frontsector->extra_colormap) - { - Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,rover->master->frontsector->extra_colormap->rgba); - } else - { - Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,NORMALFOG); - } + Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,GL_NORMALFOG); if (gr_frontsector->numlights) HWR_SplitWall(gr_frontsector, wallVerts, 0, &Surf, rover->flags, rover); @@ -1981,13 +1832,9 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) colormap = rover->master->frontsector->extra_colormap; if (rover->master->frontsector->extra_colormap) - { Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,rover->master->frontsector->extra_colormap->rgba); - } else - { - Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,NORMALFOG); - } + Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,GL_NORMALFOG); if (gr_backsector->numlights) HWR_SplitWall(gr_backsector, wallVerts, 0, &Surf, rover->flags, rover); @@ -2024,7 +1871,7 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) // // e6y: Check whether the player can look beyond this line // -#ifdef NEWCLIP + boolean checkforemptylines = true; // Don't modify anything here, just check // Kalaron: Modified for sloped linedefs @@ -2123,293 +1970,6 @@ static boolean CheckClip(seg_t * seg, sector_t * afrontsector, sector_t * abacks return false; } -#else -//Hurdler: just like in r_bsp.c -#if 1 -#define MAXSEGS MAXVIDWIDTH/2+1 -#else -//Alam_GBC: Or not (may cause overflow) -#define MAXSEGS 128 -#endif - -// hw_newend is one past the last valid seg -static cliprange_t * hw_newend; -static cliprange_t gr_solidsegs[MAXSEGS]; - - -static void printsolidsegs(void) -{ - cliprange_t * start; - if (!hw_newend || cv_grbeta.value != 2) - return; - for (start = gr_solidsegs;start != hw_newend;start++) - { - CONS_Debug(DBG_RENDER, "%d-%d|",start->first,start->last); - } - CONS_Debug(DBG_RENDER, "\n\n"); -} - -// -// -// -static void HWR_ClipSolidWallSegment(INT32 first, INT32 last) -{ - cliprange_t *next, *start; - float lowfrac, highfrac; - boolean poorhack = false; - - // Find the first range that touches the range - // (adjacent pixels are touching). - start = gr_solidsegs; - while (start->last < first-1) - start++; - - if (first < start->first) - { - if (last < start->first-1) - { - // Post is entirely visible (above start), - // so insert a new clippost. - HWR_StoreWallRange(first, last); - - next = hw_newend; - hw_newend++; - - while (next != start) - { - *next = *(next-1); - next--; - } - - next->first = first; - next->last = last; - printsolidsegs(); - return; - } - - // There is a fragment above *start. - if (!cv_grclipwalls.value) - { - if (!poorhack) HWR_StoreWallRange(first, last); - poorhack = true; - } - else - { - highfrac = HWR_ClipViewSegment(start->first+1, (polyvertex_t *)gr_curline->pv1, (polyvertex_t *)gr_curline->pv2); - HWR_StoreWallRange(0, highfrac); - } - // Now adjust the clip size. - start->first = first; - } - - // Bottom contained in start? - if (last <= start->last) - { - printsolidsegs(); - return; - } - next = start; - while (last >= (next+1)->first-1) - { - // There is a fragment between two posts. - if (!cv_grclipwalls.value) - { - if (!poorhack) HWR_StoreWallRange(first,last); - poorhack = true; - } - else - { - lowfrac = HWR_ClipViewSegment(next->last-1, (polyvertex_t *)gr_curline->pv1, (polyvertex_t *)gr_curline->pv2); - highfrac = HWR_ClipViewSegment((next+1)->first+1, (polyvertex_t *)gr_curline->pv1, (polyvertex_t *)gr_curline->pv2); - HWR_StoreWallRange(lowfrac, highfrac); - } - next++; - - if (last <= next->last) - { - // Bottom is contained in next. - // Adjust the clip size. - start->last = next->last; - goto crunch; - } - } - - if (first == next->first+1) // 1 line texture - { - if (!cv_grclipwalls.value) - { - if (!poorhack) HWR_StoreWallRange(first,last); - poorhack = true; - } - else - HWR_StoreWallRange(0, 1); - } - else - { - // There is a fragment after *next. - if (!cv_grclipwalls.value) - { - if (!poorhack) HWR_StoreWallRange(first,last); - poorhack = true; - } - else - { - lowfrac = HWR_ClipViewSegment(next->last-1, (polyvertex_t *)gr_curline->pv1, (polyvertex_t *)gr_curline->pv2); - HWR_StoreWallRange(lowfrac, 1); - } - } - - // Adjust the clip size. - start->last = last; - - // Remove start+1 to next from the clip list, - // because start now covers their area. -crunch: - if (next == start) - { - printsolidsegs(); - // Post just extended past the bottom of one post. - return; - } - - - while (next++ != hw_newend) - { - // Remove a post. - *++start = *next; - } - - hw_newend = start; - printsolidsegs(); -} - -// -// handle LineDefs with upper and lower texture (windows) -// -static void HWR_ClipPassWallSegment(INT32 first, INT32 last) -{ - cliprange_t *start; - float lowfrac, highfrac; - //to allow noclipwalls but still solidseg reject of non-visible walls - boolean poorhack = false; - - // Find the first range that touches the range - // (adjacent pixels are touching). - start = gr_solidsegs; - while (start->last < first - 1) - start++; - - if (first < start->first) - { - if (last < start->first-1) - { - // Post is entirely visible (above start). - HWR_StoreWallRange(0, 1); - return; - } - - // There is a fragment above *start. - if (!cv_grclipwalls.value) - { //20/08/99: Changed by Hurdler (taken from faB's code) - if (!poorhack) HWR_StoreWallRange(0, 1); - poorhack = true; - } - else - { - highfrac = HWR_ClipViewSegment(min(start->first + 1, - start->last), (polyvertex_t *)gr_curline->pv1, - (polyvertex_t *)gr_curline->pv2); - HWR_StoreWallRange(0, highfrac); - } - } - - // Bottom contained in start? - if (last <= start->last) - return; - - while (last >= (start+1)->first-1) - { - // There is a fragment between two posts. - if (!cv_grclipwalls.value) - { - if (!poorhack) HWR_StoreWallRange(0, 1); - poorhack = true; - } - else - { - lowfrac = HWR_ClipViewSegment(max(start->last-1,start->first), (polyvertex_t *)gr_curline->pv1, (polyvertex_t *)gr_curline->pv2); - highfrac = HWR_ClipViewSegment(min((start+1)->first+1,(start+1)->last), (polyvertex_t *)gr_curline->pv1, (polyvertex_t *)gr_curline->pv2); - HWR_StoreWallRange(lowfrac, highfrac); - } - start++; - - if (last <= start->last) - return; - } - - if (first == start->first+1) // 1 line texture - { - if (!cv_grclipwalls.value) - { - if (!poorhack) HWR_StoreWallRange(0, 1); - poorhack = true; - } - else - HWR_StoreWallRange(0, 1); - } - else - { - // There is a fragment after *next. - if (!cv_grclipwalls.value) - { - if (!poorhack) HWR_StoreWallRange(0,1); - poorhack = true; - } - else - { - lowfrac = HWR_ClipViewSegment(max(start->last - 1, - start->first), (polyvertex_t *)gr_curline->pv1, - (polyvertex_t *)gr_curline->pv2); - HWR_StoreWallRange(lowfrac, 1); - } - } -} - -// -------------------------------------------------------------------------- -// HWR_ClipToSolidSegs check if it is hide by wall (solidsegs) -// -------------------------------------------------------------------------- -static boolean HWR_ClipToSolidSegs(INT32 first, INT32 last) -{ - cliprange_t * start; - - // Find the first range that touches the range - // (adjacent pixels are touching). - start = gr_solidsegs; - while (start->last < first-1) - start++; - - if (first < start->first) - return true; - - // Bottom contained in start? - if (last <= start->last) - return false; - - return true; -} - -// -// HWR_ClearClipSegs -// -static void HWR_ClearClipSegs(void) -{ - gr_solidsegs[0].first = -0x7fffffff; - gr_solidsegs[0].last = -1; - gr_solidsegs[1].first = vid.width; //viewwidth; - gr_solidsegs[1].last = 0x7fffffff; - hw_newend = gr_solidsegs+2; -} -#endif // NEWCLIP // -----------------+ // HWR_AddLine : Clips the given segment and adds any visible pieces to the line list. @@ -2419,10 +1979,6 @@ static void HWR_ClearClipSegs(void) static void HWR_AddLine(seg_t * line) { angle_t angle1, angle2; -#ifndef NEWCLIP - INT32 x1, x2; - angle_t span, tspan; -#endif // SoM: Backsector needs to be run through R_FakeFlat static sector_t tempsec; @@ -2441,112 +1997,25 @@ static void HWR_AddLine(seg_t * line) v2y = FLOAT_TO_FIXED(((polyvertex_t *)gr_curline->pv2)->y); // OPTIMIZE: quickly reject orthogonal back sides. - angle1 = R_PointToAngle(v1x, v1y); - angle2 = R_PointToAngle(v2x, v2y); + angle1 = R_PointToAngleEx(viewx, viewy, v1x, v1y); + angle2 = R_PointToAngleEx(viewx, viewy, v2x, v2y); -#ifdef NEWCLIP // PrBoom: Back side, i.e. backface culling - read: endAngle >= startAngle! if (angle2 - angle1 < ANGLE_180) return; // PrBoom: use REAL clipping math YAYYYYYYY!!! - if (!gld_clipper_SafeCheckRange(angle2, angle1)) - { return; - } checkforemptylines = true; -#else - // Clip to view edges. - span = angle1 - angle2; - - // backface culling : span is < ANGLE_180 if ang1 > ang2 : the seg is facing - if (span >= ANGLE_180) - return; - - // Global angle needed by segcalc. - //rw_angle1 = angle1; - angle1 -= dup_viewangle; - angle2 -= dup_viewangle; - - tspan = angle1 + gr_clipangle; - if (tspan > 2*gr_clipangle) - { - tspan -= 2*gr_clipangle; - - // Totally off the left edge? - if (tspan >= span) - return; - - angle1 = gr_clipangle; - } - tspan = gr_clipangle - angle2; - if (tspan > 2*gr_clipangle) - { - tspan -= 2*gr_clipangle; - - // Totally off the left edge? - if (tspan >= span) - return; - - angle2 = (angle_t)-(signed)gr_clipangle; - } - -#if 0 - { - float fx1,fx2,fy1,fy2; - //BP: test with a better projection than viewangletox[R_PointToAngle(angle)] - // do not enable this at release 4 mul and 2 div - fx1 = ((polyvertex_t *)(line->pv1))->x-gr_viewx; - fy1 = ((polyvertex_t *)(line->pv1))->y-gr_viewy; - fy2 = (fx1 * gr_viewcos + fy1 * gr_viewsin); - if (fy2 < 0) - // the point is back - fx1 = 0; - else - fx1 = gr_windowcenterx + (fx1 * gr_viewsin - fy1 * gr_viewcos) * gr_centerx / fy2; - - fx2 = ((polyvertex_t *)(line->pv2))->x-gr_viewx; - fy2 = ((polyvertex_t *)(line->pv2))->y-gr_viewy; - fy1 = (fx2 * gr_viewcos + fy2 * gr_viewsin); - if (fy1 < 0) - // the point is back - fx2 = vid.width; - else - fx2 = gr_windowcenterx + (fx2 * gr_viewsin - fy2 * gr_viewcos) * gr_centerx / fy1; - - x1 = fx1+0.5f; - x2 = fx2+0.5f; - } -#else - // The seg is in the view range, - // but not necessarily visible. - angle1 = (angle1+ANGLE_90)>>ANGLETOFINESHIFT; - angle2 = (angle2+ANGLE_90)>>ANGLETOFINESHIFT; - - x1 = gr_viewangletox[angle1]; - x2 = gr_viewangletox[angle2]; -#endif - // Does not cross a pixel? -// if (x1 == x2) -/* { - // BP: HERE IS THE MAIN PROBLEM ! - //CONS_Debug(DBG_RENDER, "tineline\n"); - return; - } -*/ -#endif gr_backsector = line->backsector; -#ifdef NEWCLIP if (!line->backsector) - { gld_clipper_SafeAddClipRange(angle2, angle1); - } - else - { + else + { gr_backsector = R_FakeFlat(gr_backsector, &tempsec, NULL, NULL, true); if (CheckClip(line, gr_frontsector, gr_backsector)) { @@ -2563,92 +2032,6 @@ static void HWR_AddLine(seg_t * line) HWR_ProcessSeg(); // Doesn't need arguments because they're defined globally :D return; -#else - // Single sided line? - if (!gr_backsector) - goto clipsolid; - - gr_backsector = R_FakeFlat(gr_backsector, &tempsec, NULL, NULL, true); - -#ifdef ESLOPE - if (gr_frontsector->f_slope || gr_frontsector->c_slope || gr_backsector->f_slope || gr_backsector->c_slope) - { - fixed_t frontf1,frontf2, frontc1, frontc2; // front floor/ceiling ends - fixed_t backf1, backf2, backc1, backc2; // back floor ceiling ends - -#define SLOPEPARAMS(slope, end1, end2, normalheight) \ - if (slope) { \ - end1 = P_GetZAt(slope, v1x, v1y); \ - end2 = P_GetZAt(slope, v2x, v2y); \ - } else \ - end1 = end2 = normalheight; - - SLOPEPARAMS(gr_frontsector->f_slope, frontf1, frontf2, gr_frontsector->floorheight) - SLOPEPARAMS(gr_frontsector->c_slope, frontc1, frontc2, gr_frontsector->ceilingheight) - SLOPEPARAMS( gr_backsector->f_slope, backf1, backf2, gr_backsector->floorheight) - SLOPEPARAMS( gr_backsector->c_slope, backc1, backc2, gr_backsector->ceilingheight) -#undef SLOPEPARAMS - - // Closed door. - if ((backc1 <= frontf1 && backc2 <= frontf2) - || (backf1 >= frontc1 && backf2 >= frontc2)) - { - goto clipsolid; - } - - // Check for automap fix. - if (backc1 <= backf1 && backc2 <= backf2 - && ((backc1 >= frontc1 && backc2 >= frontc2) || gr_curline->sidedef->toptexture) - && ((backf1 <= frontf1 && backf2 >= frontf2) || gr_curline->sidedef->bottomtexture) - && (gr_backsector->ceilingpic != skyflatnum || gr_frontsector->ceilingpic != skyflatnum)) - goto clipsolid; - - // Window. - if (backc1 != frontc1 || backc2 != frontc2 - || backf1 != frontf1 || backf2 != frontf2) - { - goto clippass; - } - } - else -#endif - { - // Closed door. - if (gr_backsector->ceilingheight <= gr_frontsector->floorheight || - gr_backsector->floorheight >= gr_frontsector->ceilingheight) - goto clipsolid; - - // Check for automap fix. - if (gr_backsector->ceilingheight <= gr_backsector->floorheight - && ((gr_backsector->ceilingheight >= gr_frontsector->ceilingheight) || gr_curline->sidedef->toptexture) - && ((gr_backsector->floorheight <= gr_backsector->floorheight) || gr_curline->sidedef->bottomtexture) - && (gr_backsector->ceilingpic != skyflatnum || gr_frontsector->ceilingpic != skyflatnum)) - goto clipsolid; - - // Window. - if (gr_backsector->ceilingheight != gr_frontsector->ceilingheight || - gr_backsector->floorheight != gr_frontsector->floorheight) - goto clippass; - } - - // Reject empty lines used for triggers and special events. - // Identical floor and ceiling on both sides, - // identical light levels on both sides, - // and no middle texture. - if (R_IsEmptyLine(gr_curline, gr_frontsector, gr_backsector)) - return; - -clippass: - if (x1 == x2) - { x2++;x1 -= 2; } - HWR_ClipPassWallSegment(x1, x2-1); - return; - -clipsolid: - if (x1 == x2) - goto clippass; - HWR_ClipSolidWallSegment(x1, x2-1); -#endif } // HWR_CheckBBox @@ -2663,10 +2046,6 @@ static boolean HWR_CheckBBox(fixed_t *bspcoord) INT32 boxpos; fixed_t px1, py1, px2, py2; angle_t angle1, angle2; -#ifndef NEWCLIP - INT32 sx1, sx2; - angle_t span, tspan; -#endif // Find the corners of the box // that define the edges from current viewpoint. @@ -2692,59 +2071,9 @@ static boolean HWR_CheckBBox(fixed_t *bspcoord) px2 = bspcoord[checkcoord[boxpos][2]]; py2 = bspcoord[checkcoord[boxpos][3]]; -#ifdef NEWCLIP angle1 = R_PointToAngle(px1, py1); angle2 = R_PointToAngle(px2, py2); return gld_clipper_SafeCheckRange(angle2, angle1); -#else - // check clip list for an open space - angle1 = R_PointToAngle2(dup_viewx>>1, dup_viewy>>1, px1>>1, py1>>1) - dup_viewangle; - angle2 = R_PointToAngle2(dup_viewx>>1, dup_viewy>>1, px2>>1, py2>>1) - dup_viewangle; - - span = angle1 - angle2; - - // Sitting on a line? - if (span >= ANGLE_180) - return true; - - tspan = angle1 + gr_clipangle; - - if (tspan > 2*gr_clipangle) - { - tspan -= 2*gr_clipangle; - - // Totally off the left edge? - if (tspan >= span) - return false; - - angle1 = gr_clipangle; - } - tspan = gr_clipangle - angle2; - if (tspan > 2*gr_clipangle) - { - tspan -= 2*gr_clipangle; - - // Totally off the left edge? - if (tspan >= span) - return false; - - angle2 = (angle_t)-(signed)gr_clipangle; - } - - // Find the first clippost - // that touches the source post - // (adjacent pixels are touching). - angle1 = (angle1+ANGLE_90)>>ANGLETOFINESHIFT; - angle2 = (angle2+ANGLE_90)>>ANGLETOFINESHIFT; - sx1 = gr_viewangletox[angle1]; - sx2 = gr_viewangletox[angle2]; - - // Does not cross a pixel. - if (sx1 == sx2) - return false; - - return HWR_ClipToSolidSegs(sx1, sx2 - 1); -#endif } #ifdef POLYOBJECTS @@ -2924,16 +2253,16 @@ static void HWR_RenderPolyObjectPlane(polyobj_t *polysector, boolean isceiling, for (i = 0; i < (INT32)nrPlaneVerts; i++,v3d++) { // Hurdler: add scrolling texture on floor/ceiling - v3d->sow = (float)((FIXED_TO_FLOAT(polysector->origVerts[i].x) / fflatsize) - flatxref + scrollx); // Go from the polysector's original vertex locations - v3d->tow = (float)(flatyref - (FIXED_TO_FLOAT(polysector->origVerts[i].y) / fflatsize) + scrolly); // Means the flat is offset based on the original vertex locations + v3d->s = (float)((FIXED_TO_FLOAT(polysector->origVerts[i].x) / fflatsize) - flatxref + scrollx); // Go from the polysector's original vertex locations + v3d->t = (float)(flatyref - (FIXED_TO_FLOAT(polysector->origVerts[i].y) / fflatsize) + scrolly); // Means the flat is offset based on the original vertex locations // Need to rotate before translate if (angle) // Only needs to be done if there's an altered angle { - tempxsow = FLOAT_TO_FIXED(v3d->sow); - tempytow = FLOAT_TO_FIXED(v3d->tow); - v3d->sow = (FIXED_TO_FLOAT(FixedMul(tempxsow, FINECOSINE(angle)) - FixedMul(tempytow, FINESINE(angle)))); - v3d->tow = (FIXED_TO_FLOAT(-FixedMul(tempxsow, FINESINE(angle)) - FixedMul(tempytow, FINECOSINE(angle)))); + tempxsow = FLOAT_TO_FIXED(v3d->s); + tempytow = FLOAT_TO_FIXED(v3d->t); + v3d->s = (FIXED_TO_FLOAT(FixedMul(tempxsow, FINECOSINE(angle)) - FixedMul(tempytow, FINESINE(angle)))); + v3d->t = (FIXED_TO_FLOAT(-FixedMul(tempxsow, FINESINE(angle)) - FixedMul(tempytow, FINECOSINE(angle)))); } v3d->x = FIXED_TO_FLOAT(polysector->vertices[i]->x); @@ -2944,7 +2273,7 @@ static void HWR_RenderPolyObjectPlane(polyobj_t *polysector, boolean isceiling, if (planecolormap) HWR_Lighting(&Surf, lightlevel, planecolormap->rgba, planecolormap->fadergba); else - HWR_NoColormapLighting(&Surf, lightlevel, NORMALFOG, FADEFOG); + HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG); if (blendmode & PF_Translucent) { @@ -3179,10 +2508,6 @@ static void HWR_Subsector(size_t num) } } - // Moved here because before, when above the ceiling and the floor does not have the sky flat, it doesn't draw the sky - if (gr_frontsector->ceilingpic == skyflatnum || gr_frontsector->floorpic == skyflatnum) - drawsky = true; - if (gr_frontsector->ffloors) { /// \todo fix light, xoffs, yoffs, extracolormap ? @@ -3222,7 +2547,7 @@ static void HWR_Subsector(size_t num) if (rover->master->frontsector->extra_colormap) alpha = HWR_FogBlockAlpha(*gr_frontsector->lightlist[light].lightlevel, rover->master->frontsector->extra_colormap->rgba); else - alpha = HWR_FogBlockAlpha(*gr_frontsector->lightlist[light].lightlevel, NORMALFOG); + alpha = HWR_FogBlockAlpha(*gr_frontsector->lightlist[light].lightlevel, GL_NORMALFOG); HWR_AddTransparentFloor(0, &extrasubsectors[num], @@ -3277,7 +2602,7 @@ static void HWR_Subsector(size_t num) if (rover->master->frontsector->extra_colormap) alpha = HWR_FogBlockAlpha(*gr_frontsector->lightlist[light].lightlevel, rover->master->frontsector->extra_colormap->rgba); else - alpha = HWR_FogBlockAlpha(*gr_frontsector->lightlist[light].lightlevel, NORMALFOG); + alpha = HWR_FogBlockAlpha(*gr_frontsector->lightlist[light].lightlevel, GL_NORMALFOG); HWR_AddTransparentFloor(0, &extrasubsectors[num], @@ -3402,100 +2727,6 @@ static void HWR_RenderBSPNode(INT32 bspnum) HWR_RenderBSPNode(bsp->children[side^1]); } -/* -// -// Clear 'stack' of subsectors to draw -// -static void HWR_ClearDrawSubsectors(void) -{ - gr_drawsubsector_p = gr_drawsubsectors; -} - -// -// Draw subsectors pushed on the drawsubsectors 'stack', back to front -// -static void HWR_RenderSubsectors(void) -{ - while (gr_drawsubsector_p > gr_drawsubsectors) - { - HWR_RenderBSPNode( - lastsubsec->nextsubsec = bspnum & (~NF_SUBSECTOR); - } -} -*/ - -// ========================================================================== -// FROM R_MAIN.C -// ========================================================================== - -//BP : exactely the same as R_InitTextureMapping -void HWR_InitTextureMapping(void) -{ - angle_t i; - INT32 x; - INT32 t; - fixed_t focallength; - fixed_t grcenterx; - fixed_t grcenterxfrac; - INT32 grviewwidth; - -#define clipanglefov (FIELDOFVIEW>>ANGLETOFINESHIFT) - - grviewwidth = vid.width; - grcenterx = grviewwidth/2; - grcenterxfrac = grcenterx< FRACUNIT*2) - t = -1; - else if (FINETANGENT(i) < -FRACUNIT*2) - t = grviewwidth+1; - else - { - t = FixedMul(FINETANGENT(i), focallength); - t = (grcenterxfrac - t+FRACUNIT-1)>>FRACBITS; - - if (t < -1) - t = -1; - else if (t > grviewwidth+1) - t = grviewwidth+1; - } - gr_viewangletox[i] = t; - } - - // Scan viewangletox[] to generate xtoviewangle[]: - // xtoviewangle will give the smallest view angle - // that maps to x. - for (x = 0; x <= grviewwidth; x++) - { - i = 0; - while (gr_viewangletox[i]>x) - i++; - gr_xtoviewangle[x] = (i<flip) { - swallVerts[0].sow = swallVerts[3].sow = gpatch->max_s; - swallVerts[2].sow = swallVerts[1].sow = 0; + swallVerts[0].s = swallVerts[3].s = gpatch->max_s; + swallVerts[2].s = swallVerts[1].s = 0; } else { - swallVerts[0].sow = swallVerts[3].sow = 0; - swallVerts[2].sow = swallVerts[1].sow = gpatch->max_s; + swallVerts[0].s = swallVerts[3].s = 0; + swallVerts[2].s = swallVerts[1].s = gpatch->max_s; } // flip the texture coords (look familiar?) if (spr->vflip) { - swallVerts[3].tow = swallVerts[2].tow = gpatch->max_t; - swallVerts[0].tow = swallVerts[1].tow = 0; + swallVerts[3].t = swallVerts[2].t = gpatch->max_t; + swallVerts[0].t = swallVerts[1].t = 0; } else { - swallVerts[3].tow = swallVerts[2].tow = 0; - swallVerts[0].tow = swallVerts[1].tow = gpatch->max_t; + swallVerts[3].t = swallVerts[2].t = 0; + swallVerts[0].t = swallVerts[1].t = gpatch->max_t; } sSurf.PolyColor.s.red = 0x00; @@ -3821,24 +3052,28 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) if (spr->flip) { - wallVerts[0].sow = wallVerts[3].sow = gpatch->max_s; - wallVerts[2].sow = wallVerts[1].sow = 0; - }else{ - wallVerts[0].sow = wallVerts[3].sow = 0; - wallVerts[2].sow = wallVerts[1].sow = gpatch->max_s; + wallVerts[0].s = wallVerts[3].s = gpatch->max_s; + wallVerts[2].s = wallVerts[1].s = 0; + } + else + { + wallVerts[0].s = wallVerts[3].s = 0; + wallVerts[2].s = wallVerts[1].s = gpatch->max_s; } // flip the texture coords (look familiar?) if (spr->vflip) { - wallVerts[3].tow = wallVerts[2].tow = gpatch->max_t; - wallVerts[0].tow = wallVerts[1].tow = 0; - }else{ - wallVerts[3].tow = wallVerts[2].tow = 0; - wallVerts[0].tow = wallVerts[1].tow = gpatch->max_t; + wallVerts[3].t = wallVerts[2].t = gpatch->max_t; + wallVerts[0].t = wallVerts[1].t = 0; + } + else + { + wallVerts[3].t = wallVerts[2].t = 0; + wallVerts[0].t = wallVerts[1].t = gpatch->max_t; } - // if it has a dispoffset, push it a little towards the camera + // if it has a dispoffset, push it a little tards the camera if (spr->dispoffset) { float co = -gr_viewcos*(0.05f*spr->dispoffset); float si = -gr_viewsin*(0.05f*spr->dispoffset); @@ -3850,8 +3085,8 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) realtop = top = wallVerts[3].y; realbot = bot = wallVerts[0].y; - towtop = wallVerts[3].tow; - towbot = wallVerts[0].tow; + towtop = wallVerts[3].t; + towbot = wallVerts[0].t; towmult = (towbot - towtop) / (top - bot); #ifdef ESLOPE @@ -3976,18 +3211,18 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) #endif #ifdef ESLOPE - wallVerts[3].tow = towtop + ((realtop - top) * towmult); - wallVerts[2].tow = towtop + ((endrealtop - endtop) * towmult); - wallVerts[0].tow = towtop + ((realtop - bot) * towmult); - wallVerts[1].tow = towtop + ((endrealtop - endbot) * towmult); + wallVerts[3].t = towtop + ((realtop - top) * towmult); + wallVerts[2].t = towtop + ((endrealtop - endtop) * towmult); + wallVerts[0].t = towtop + ((realtop - bot) * towmult); + wallVerts[1].t = towtop + ((endrealtop - endbot) * towmult); wallVerts[3].y = top; wallVerts[2].y = endtop; wallVerts[0].y = bot; wallVerts[1].y = endbot; #else - wallVerts[3].tow = wallVerts[2].tow = towtop + ((realtop - top) * towmult); - wallVerts[0].tow = wallVerts[1].tow = towtop + ((realtop - bot) * towmult); + wallVerts[3].t = wallVerts[2].t = towtop + ((realtop - top) * towmult); + wallVerts[0].t = wallVerts[1].t = towtop + ((realtop - bot) * towmult); wallVerts[2].y = wallVerts[3].y = top; wallVerts[0].y = wallVerts[1].y = bot; @@ -3996,7 +3231,7 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) if (colormap) HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); else - HWR_NoColormapLighting(&Surf, lightlevel, NORMALFOG, FADEFOG); + HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG); Surf.PolyColor.s.alpha = alpha; @@ -4019,18 +3254,18 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) // If we're ever down here, somehow the above loop hasn't draw all the light levels of sprite #ifdef ESLOPE - wallVerts[3].tow = towtop + ((realtop - top) * towmult); - wallVerts[2].tow = towtop + ((endrealtop - endtop) * towmult); - wallVerts[0].tow = towtop + ((realtop - bot) * towmult); - wallVerts[1].tow = towtop + ((endrealtop - endbot) * towmult); + wallVerts[3].t = towtop + ((realtop - top) * towmult); + wallVerts[2].t = towtop + ((endrealtop - endtop) * towmult); + wallVerts[0].t = towtop + ((realtop - bot) * towmult); + wallVerts[1].t = towtop + ((endrealtop - endbot) * towmult); wallVerts[3].y = top; wallVerts[2].y = endtop; wallVerts[0].y = bot; wallVerts[1].y = endbot; #else - wallVerts[3].tow = wallVerts[2].tow = towtop + ((realtop - top) * towmult); - wallVerts[0].tow = wallVerts[1].tow = towtop + ((realtop - bot) * towmult); + wallVerts[3].t = wallVerts[2].t = towtop + ((realtop - top) * towmult); + wallVerts[0].t = wallVerts[1].t = towtop + ((realtop - bot) * towmult); wallVerts[2].y = wallVerts[3].y = top; wallVerts[0].y = wallVerts[1].y = bot; @@ -4039,7 +3274,7 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) if (colormap) HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); else - HWR_NoColormapLighting(&Surf, lightlevel, NORMALFOG, FADEFOG); + HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG); Surf.PolyColor.s.alpha = alpha; @@ -4107,21 +3342,21 @@ static void HWR_DrawSprite(gr_vissprite_t *spr) if (spr->flip) { - wallVerts[0].sow = wallVerts[3].sow = gpatch->max_s; - wallVerts[2].sow = wallVerts[1].sow = 0; + wallVerts[0].s = wallVerts[3].s = gpatch->max_s; + wallVerts[2].s = wallVerts[1].s = 0; }else{ - wallVerts[0].sow = wallVerts[3].sow = 0; - wallVerts[2].sow = wallVerts[1].sow = gpatch->max_s; + wallVerts[0].s = wallVerts[3].s = 0; + wallVerts[2].s = wallVerts[1].s = gpatch->max_s; } // flip the texture coords (look familiar?) if (spr->vflip) { - wallVerts[3].tow = wallVerts[2].tow = gpatch->max_t; - wallVerts[0].tow = wallVerts[1].tow = 0; + wallVerts[3].t = wallVerts[2].t = gpatch->max_t; + wallVerts[0].t = wallVerts[1].t = 0; }else{ - wallVerts[3].tow = wallVerts[2].tow = 0; - wallVerts[0].tow = wallVerts[1].tow = gpatch->max_t; + wallVerts[3].t = wallVerts[2].t = 0; + wallVerts[0].t = wallVerts[1].t = gpatch->max_t; } // cache the patch in the graphics card memory @@ -4141,7 +3376,7 @@ static void HWR_DrawSprite(gr_vissprite_t *spr) HWR_DrawSpriteShadow(spr, gpatch, this_scale); } - // if it has a dispoffset, push it a little towards the camera + // if it has a dispoffset, push it a little tards the camera if (spr->dispoffset) { float co = -gr_viewcos*(0.05f*spr->dispoffset); float si = -gr_viewsin*(0.05f*spr->dispoffset); @@ -4167,7 +3402,7 @@ static void HWR_DrawSprite(gr_vissprite_t *spr) if (colormap) HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); else - HWR_NoColormapLighting(&Surf, lightlevel, NORMALFOG, FADEFOG); + HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG); } { @@ -4232,11 +3467,11 @@ static inline void HWR_DrawPrecipitationSprite(gr_vissprite_t *spr) wallVerts[0].z = wallVerts[3].z = spr->z1; wallVerts[1].z = wallVerts[2].z = spr->z2; - wallVerts[0].sow = wallVerts[3].sow = 0; - wallVerts[2].sow = wallVerts[1].sow = gpatch->max_s; + wallVerts[0].s = wallVerts[3].s = 0; + wallVerts[2].s = wallVerts[1].s = gpatch->max_s; - wallVerts[3].tow = wallVerts[2].tow = 0; - wallVerts[0].tow = wallVerts[1].tow = gpatch->max_t; + wallVerts[3].t = wallVerts[2].t = 0; + wallVerts[0].t = wallVerts[1].t = gpatch->max_t; // cache the patch in the graphics card memory //12/12/99: Hurdler: same comment as above (for md2) @@ -4273,7 +3508,7 @@ static inline void HWR_DrawPrecipitationSprite(gr_vissprite_t *spr) if (colormap) HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); else - HWR_NoColormapLighting(&Surf, lightlevel, NORMALFOG, FADEFOG); + HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG); } if (spr->mobj->flags2 & MF2_SHADOW) @@ -4396,7 +3631,7 @@ static void HWR_SortVisSprites(void) // middle texture. This is used for sorting with sprites. typedef struct { - wallVert3D wallVerts[4]; + FOutVector wallVerts[4]; FSurfaceInfo Surf; INT32 texnum; FBITFIELD blend; @@ -4409,7 +3644,7 @@ typedef struct static wallinfo_t *wallinfo = NULL; static size_t numwalls = 0; // a list of transparent walls to be drawn -static void HWR_RenderWall(wallVert3D *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap); +static void HWR_RenderWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend, INT32 lightlevel, extracolormap_t *wallcolormap); #define MAX_TRANSPARENTWALL 256 @@ -4523,9 +3758,9 @@ void HWR_AddTransparentPolyobjectFloor(lumpnum_t lumpnum, polyobj_t *polysector, } // -// HWR_CreateDrawNodes -// Creates and sorts a list of drawnodes for the scene being rendered. -static void HWR_CreateDrawNodes(void) +// HWR_RenderDrawNodes +// Creates, sorts and renders a list of drawnodes for the current frame. +static void HWR_RenderDrawNodes(void) { UINT32 i = 0, p = 0, prev = 0, loop; const fixed_t pviewz = dup_viewz; @@ -4693,7 +3928,7 @@ static void HWR_CreateDrawNodes(void) { if (!(sortnode[sortindex[i]].wall->blend & PF_NoTexture)) HWR_GetTexture(sortnode[sortindex[i]].wall->texnum); - HWR_RenderWall(sortnode[sortindex[i]].wall->wallVerts, &sortnode[sortindex[i]].wall->Surf, sortnode[sortindex[i]].wall->blend, sortnode[sortindex[i]].wall->fogwall, + HWR_RenderWall(sortnode[sortindex[i]].wall->wallVerts, &sortnode[sortindex[i]].wall->Surf, sortnode[sortindex[i]].wall->blend, sortnode[sortindex[i]].wall->lightlevel, sortnode[sortindex[i]].wall->wallcolormap); } } @@ -5156,11 +4391,11 @@ static void HWR_DrawSkyBackground(void) // software doesn't draw any further than 1024 for skies anyway, but this doesn't overlap properly // The only time this will probably be an issue is when a sky wider than 1024 is used as a sky AND a regular wall texture - angle = (dup_viewangle + gr_xtoviewangle[0]); + angle = (dup_viewangle + xtoviewangle[0]); dimensionmultiply = ((float)textures[skytexture]->width/256.0f); - v[0].sow = v[3].sow = ((float) angle / ((ANGLE_90-1)*dimensionmultiply)); - v[2].sow = v[1].sow = (-1.0f/dimensionmultiply)+((float) angle / ((ANGLE_90-1)*dimensionmultiply)); + v[0].s = v[3].s = ((float) angle / ((ANGLE_90-1)*dimensionmultiply)); + v[2].s = v[1].s = (-1.0f/dimensionmultiply)+((float) angle / ((ANGLE_90-1)*dimensionmultiply)); // Y angle = aimingangle; @@ -5177,13 +4412,13 @@ static void HWR_DrawSkyBackground(void) if (atransform.flip) { // During vertical flip the sky should be flipped and it's y movement should also be flipped obviously - v[3].tow = v[2].tow = -(0.5f-(0.5f/dimensionmultiply)); - v[0].tow = v[1].tow = (-1.0f/dimensionmultiply)-(0.5f-(0.5f/dimensionmultiply)); + v[3].t = v[2].t = -(0.5f-(0.5f/dimensionmultiply)); + v[0].t = v[1].t = (-1.0f/dimensionmultiply)-(0.5f-(0.5f/dimensionmultiply)); } else { - v[3].tow = v[2].tow = (-1.0f/dimensionmultiply)-(0.5f-(0.5f/dimensionmultiply)); - v[0].tow = v[1].tow = -(0.5f-(0.5f/dimensionmultiply)); + v[3].t = v[2].t = (-1.0f/dimensionmultiply)-(0.5f-(0.5f/dimensionmultiply)); + v[0].t = v[1].t = -(0.5f-(0.5f/dimensionmultiply)); } angleturn = (((float)ANGLE_45-1.0f)*aspectratio)*dimensionmultiply; @@ -5191,13 +4426,13 @@ static void HWR_DrawSkyBackground(void) if (angle > ANGLE_180) // Do this because we don't want the sky to suddenly teleport when crossing over 0 to 360 and vice versa { angle = InvAngle(angle); - v[3].tow = v[2].tow += ((float) angle / angleturn); - v[0].tow = v[1].tow += ((float) angle / angleturn); + v[3].t = v[2].t += ((float) angle / angleturn); + v[0].t = v[1].t += ((float) angle / angleturn); } else { - v[3].tow = v[2].tow -= ((float) angle / angleturn); - v[0].tow = v[1].tow -= ((float) angle / angleturn); + v[3].t = v[2].t -= ((float) angle / angleturn); + v[0].t = v[1].t -= ((float) angle / angleturn); } HWD.pfnSetShader(6); // jimita: sky shader @@ -5211,23 +4446,12 @@ static void HWR_DrawSkyBackground(void) // -----------------+ static inline void HWR_ClearView(void) { - // 3--2 - // | /| - // |/ | - // 0--1 - - /// \bug faB - enable depth mask, disable color mask - HWD.pfnGClipRect((INT32)gr_viewwindowx, (INT32)gr_viewwindowy, (INT32)(gr_viewwindowx + gr_viewwidth), (INT32)(gr_viewwindowy + gr_viewheight), ZCLIP_PLANE); HWD.pfnClearBuffer(false, true, 0); - - //disable clip window - set to full size - // rem by Hurdler - // HWD.pfnGClipRect(0, 0, vid.width, vid.height); } @@ -5263,28 +4487,13 @@ void HWR_SetViewSize(void) } // ========================================================================== -// Same as rendering the player view, but from the skybox object +// Render the current frame. // ========================================================================== -void HWR_RenderSkyboxView(INT32 viewnumber, player_t *player) +static void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) { + angle_t a1; const float fpov = FIXED_TO_FLOAT(cv_grfov.value+player->fovadd); - postimg_t *type; - - if (splitscreen && player == &players[secondarydisplayplayer]) - type = &postimgtype2; - else - type = &postimgtype; - - { - // do we really need to save player (is it not the same)? - player_t *saved_player = stplyr; - stplyr = player; - ST_doPaletteStuff(); - stplyr = saved_player; - } - - // note: sets viewangle, viewx, viewy, viewz - R_SkyboxFrame(player); + postimg_t *postprocessor; // copy view cam position for local use dup_viewx = viewx; @@ -5311,95 +4520,64 @@ void HWR_RenderSkyboxView(INT32 viewnumber, player_t *player) gr_viewsin = FIXED_TO_FLOAT(viewsin); gr_viewcos = FIXED_TO_FLOAT(viewcos); - //04/01/2000: Hurdler: added for T&L - // It should replace all other gr_viewxxx when finished - atransform.anglex = (float)(aimingangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); - atransform.angley = (float)(viewangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); + // Set T&L transform + atransform.x = gr_viewx; + atransform.y = gr_viewy; + atransform.z = gr_viewz; - if (*type == postimg_flip) - atransform.flip = true; - else - atransform.flip = false; - - atransform.x = gr_viewx; // FIXED_TO_FLOAT(viewx) - atransform.y = gr_viewy; // FIXED_TO_FLOAT(viewy) - atransform.z = gr_viewz; // FIXED_TO_FLOAT(viewz) atransform.scalex = 1; atransform.scaley = (float)vid.width/vid.height; atransform.scalez = 1; + + atransform.anglex = (float)(aimingangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); + atransform.angley = (float)(viewangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); + atransform.fovxangle = fpov; // Tails atransform.fovyangle = fpov; // Tails atransform.splitscreen = splitscreen; - //------------------------------------------------------------------------ + // Check for postprocessors + if (splitscreen && player == &players[secondarydisplayplayer]) + postprocessor = &postimgtype2; + else + postprocessor = &postimgtype; + + atransform.flip = false; + if (*postprocessor == postimg_flip) + atransform.flip = true; + + // Clear view, set viewport (glViewport), set perspective... HWR_ClearView(); - - if (drawsky) - HWR_DrawSkyBackground(); - - //Hurdler: it doesn't work in splitscreen mode - drawsky = splitscreen; - HWR_ClearSprites(); - drawcount = 0; -#ifdef NEWCLIP - if (rendermode == render_opengl) - { - angle_t a1 = gld_FrustumAngle(); - gld_clipper_Clear(); - gld_clipper_SafeAddClipRange(viewangle + a1, viewangle - a1); + ST_doPaletteStuff(); + + // Draw the sky background. + HWR_DrawSkyBackground(); + + a1 = gld_FrustumAngle(); + gld_clipper_Clear(); + gld_clipper_SafeAddClipRange(viewangle + a1, viewangle - a1); #ifdef HAVE_SPHEREFRUSTRUM - gld_FrustrumSetup(); -#endif - } -#else - HWR_ClearClipSegs(); + gld_FrustrumSetup(); #endif - //04/01/2000: Hurdler: added for T&L - // Actually it only works on Walls and Planes + // Set transform and shader HWD.pfnSetTransform(&atransform); - HWD.pfnSetShader(0); // jimita + HWD.pfnSetShader(0); + // Check for fog (shader) if (cv_grfog.value) HWR_FoggingOn(); // First of all, turn it on, set the default user settings too else HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, 0); // Turn it off + drawcount = 0; validcount++; + // Recursively "render" the BSP tree. HWR_RenderBSPNode((INT32)numnodes-1); -#ifndef NEWCLIP - // Make a viewangle int so we can render things based on mouselook - if (player == &players[consoleplayer]) - viewangle = localaiming; - else if (splitscreen && player == &players[secondarydisplayplayer]) - viewangle = localaiming2; - - // Handle stuff when you are looking farther up or down. - if ((aimingangle || cv_grfov.value+player->fovadd > 90*FRACUNIT)) - { - dup_viewangle += ANGLE_90; - HWR_ClearClipSegs(); - HWR_RenderBSPNode((INT32)numnodes-1); //left - - dup_viewangle += ANGLE_90; - if (((INT32)aimingangle > ANGLE_45 || (INT32)aimingangle<-ANGLE_45)) - { - HWR_ClearClipSegs(); - HWR_RenderBSPNode((INT32)numnodes-1); //back - } - - dup_viewangle += ANGLE_90; - HWR_ClearClipSegs(); - HWR_RenderBSPNode((INT32)numnodes-1); //right - - dup_viewangle += ANGLE_90; - } -#endif - // Check for new console commands. NetUpdate(); @@ -5407,16 +4585,21 @@ void HWR_RenderSkyboxView(INT32 viewnumber, player_t *player) HWR_SortVisSprites(); HWR_DrawSprites(); - if (numplanes || numpolyplanes || numwalls) //Hurdler: render 3D water and transparent walls after everything - HWR_CreateDrawNodes(); + if (numplanes || numpolyplanes || numwalls) // Render FOFs and translucent walls after everything + HWR_RenderDrawNodes(); + // Unset transform and shader HWD.pfnSetTransform(NULL); - HWD.pfnUnSetShader(); // jimita + HWD.pfnUnSetShader(); - // put it off for menus etc + // Disable fog if (cv_grfog.value) HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, 0); + // Run post processor effects + if (!skybox) + HWR_DoPostProcessor(player); + // Check for new console commands. NetUpdate(); @@ -5426,20 +4609,13 @@ void HWR_RenderSkyboxView(INT32 viewnumber, player_t *player) } // ========================================================================== -// +// Render the player view. // ========================================================================== void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) { - const float fpov = FIXED_TO_FLOAT(cv_grfov.value+player->fovadd); - postimg_t *type; - const boolean skybox = (skyboxmo[0] && cv_skybox.value); // True if there's a skybox object and skyboxes are on - if (splitscreen && player == &players[secondarydisplayplayer]) - type = &postimgtype2; - else - type = &postimgtype; - + // Clear the color buffer, stops HOMs. Also seems to fix the skybox issue on Intel GPUs. if (viewnumber == 0) // Only do it if it's the first screen being rendered { FRGBAFloat ClearColor; @@ -5447,167 +4623,18 @@ void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) ClearColor.green = 0.0f; ClearColor.blue = 0.0f; ClearColor.alpha = 1.0f; - // Clear the Color Buffer, stops HOMs. Also seems to fix the skybox issue on Intel GPUs. HWD.pfnClearBuffer(true, false, &ClearColor); } - if (skybox && drawsky) // If there's a skybox and we should be drawing the sky, draw the skybox - HWR_RenderSkyboxView(viewnumber, player); // This is drawn before everything else so it is placed behind - + // Render the skybox if there is one. + if (skybox) { - // do we really need to save player (is it not the same)? - player_t *saved_player = stplyr; - stplyr = player; - ST_doPaletteStuff(); - stplyr = saved_player; + R_SkyboxFrame(player); + HWR_RenderFrame(viewnumber, player, true); } - // note: sets viewangle, viewx, viewy, viewz R_SetupFrame(player, false); // This can stay false because it is only used to set viewsky in r_main.c, which isn't used here - - // copy view cam position for local use - dup_viewx = viewx; - dup_viewy = viewy; - dup_viewz = viewz; - dup_viewangle = viewangle; - - // set window position - gr_centery = gr_basecentery; - gr_viewwindowy = gr_baseviewwindowy; - gr_windowcentery = gr_basewindowcentery; - if (splitscreen && viewnumber == 1) - { - gr_viewwindowy += (vid.height/2); - gr_windowcentery += (vid.height/2); - } - - // check for new console commands. - NetUpdate(); - - gr_viewx = FIXED_TO_FLOAT(dup_viewx); - gr_viewy = FIXED_TO_FLOAT(dup_viewy); - gr_viewz = FIXED_TO_FLOAT(dup_viewz); - gr_viewsin = FIXED_TO_FLOAT(viewsin); - gr_viewcos = FIXED_TO_FLOAT(viewcos); - - //04/01/2000: Hurdler: added for T&L - // It should replace all other gr_viewxxx when finished - atransform.anglex = (float)(aimingangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); - atransform.angley = (float)(viewangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); - - if (*type == postimg_flip) - atransform.flip = true; - else - atransform.flip = false; - - atransform.x = gr_viewx; // FIXED_TO_FLOAT(viewx) - atransform.y = gr_viewy; // FIXED_TO_FLOAT(viewy) - atransform.z = gr_viewz; // FIXED_TO_FLOAT(viewz) - atransform.scalex = 1; - atransform.scaley = (float)vid.width/vid.height; - atransform.scalez = 1; - atransform.fovxangle = fpov; // Tails - atransform.fovyangle = fpov; // Tails - atransform.splitscreen = splitscreen; - - //------------------------------------------------------------------------ - HWR_ClearView(); // Clears the depth buffer and resets the view I believe - - if (!skybox && drawsky) // Don't draw the regular sky if there's a skybox - HWR_DrawSkyBackground(); - - //Hurdler: it doesn't work in splitscreen mode - drawsky = splitscreen; - - HWR_ClearSprites(); - - drawcount = 0; -#ifdef NEWCLIP - if (rendermode == render_opengl) - { - angle_t a1 = gld_FrustumAngle(); - gld_clipper_Clear(); - gld_clipper_SafeAddClipRange(viewangle + a1, viewangle - a1); -#ifdef HAVE_SPHEREFRUSTRUM - gld_FrustrumSetup(); -#endif - } -#else - HWR_ClearClipSegs(); -#endif - - //04/01/2000: Hurdler: added for T&L - // Actually it only works on Walls and Planes - HWD.pfnSetTransform(&atransform); - - // jimita - HWD.pfnSetShader(0); - - gl_leveltime = leveltime; - - if (cv_grfog.value) - HWR_FoggingOn(); // First of all, turn it on, set the default user settings too - else - HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, 0); // Turn it off - - validcount++; - - HWR_RenderBSPNode((INT32)numnodes-1); - -#ifndef NEWCLIP - // Make a viewangle int so we can render things based on mouselook - if (player == &players[consoleplayer]) - viewangle = localaiming; - else if (splitscreen && player == &players[secondarydisplayplayer]) - viewangle = localaiming2; - - // Handle stuff when you are looking farther up or down. - if ((aimingangle || cv_grfov.value+player->fovadd > 90*FRACUNIT)) - { - dup_viewangle += ANGLE_90; - HWR_ClearClipSegs(); - HWR_RenderBSPNode((INT32)numnodes-1); //left - - dup_viewangle += ANGLE_90; - if (((INT32)aimingangle > ANGLE_45 || (INT32)aimingangle<-ANGLE_45)) - { - HWR_ClearClipSegs(); - HWR_RenderBSPNode((INT32)numnodes-1); //back - } - - dup_viewangle += ANGLE_90; - HWR_ClearClipSegs(); - HWR_RenderBSPNode((INT32)numnodes-1); //right - - dup_viewangle += ANGLE_90; - } -#endif - - // Check for new console commands. - NetUpdate(); - - // Draw MD2 and sprites - HWR_SortVisSprites(); - HWR_DrawSprites(); - - if (numplanes || numpolyplanes || numwalls) //Hurdler: render 3D water and transparent walls after everything - HWR_CreateDrawNodes(); - - HWD.pfnSetTransform(NULL); - HWD.pfnUnSetShader(); // jimita - - // put it off for menus etc - if (cv_grfog.value) - HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, 0); - - HWR_DoPostProcessor(player); - - // Check for new console commands. - NetUpdate(); - - // added by Hurdler for correct splitscreen - // moved here by hurdler so it works with the new near clipping plane - HWD.pfnGClipRect(0, 0, vid.width, vid.height, NZCLIP_PLANE); + HWR_RenderFrame(viewnumber, player, skybox); } // ========================================================================== @@ -5624,23 +4651,12 @@ static void HWR_FoggingOn(void) // 3D ENGINE COMMANDS // ========================================================================== - static void CV_grFov_OnChange(void) { if ((netgame || multiplayer) && !cv_debug && cv_grfov.value != 90*FRACUNIT) CV_Set(&cv_grfov, cv_grfov.defaultvalue); } -static void Command_GrStats_f(void) -{ - Z_CheckHeap(9875); // debug - - CONS_Printf(M_GetText("Patch info headers: %7s kb\n"), sizeu1(Z_TagUsage(PU_HWRPATCHINFO)>>10)); - CONS_Printf(M_GetText("3D Texture cache : %7s kb\n"), sizeu1(Z_TagUsage(PU_HWRCACHE)>>10)); - CONS_Printf(M_GetText("Plane polygon : %7s kb\n"), sizeu1(Z_TagUsage(PU_HWRPLANE)>>10)); -} - - // ************************************************************************** // 3D ENGINE SETUP // ************************************************************************** @@ -5659,24 +4675,6 @@ void HWR_AddCommands(void) CV_RegisterVar(&cv_grsolvetjoin); } -static inline void HWR_AddEngineCommands(void) -{ - // engine state variables - //CV_RegisterVar(&cv_grzbuffer); -#ifndef NEWCLIP - CV_RegisterVar(&cv_grclipwalls); -#endif - - // engine development mode variables - // - usage may vary from version to version.. - CV_RegisterVar(&cv_gralpha); - CV_RegisterVar(&cv_grbeta); - - // engine commands - COM_AddCommand("gr_stats", Command_GrStats_f); -} - - // -------------------------------------------------------------------------- // Setup the hardware renderer // -------------------------------------------------------------------------- @@ -5687,11 +4685,8 @@ void HWR_Startup(void) // do this once if (!startupdone) { - CONS_Printf("HWR_Startup()\n"); - // add console cmds & vars - HWR_AddEngineCommands(); + CONS_Printf("HWR_Startup()...\n"); HWR_InitTextureCache(); - HWR_InitMD2(); } @@ -5722,7 +4717,7 @@ void HWR_Shutdown(void) HWD.pfnFlushScreenTextures(); } -static void HWR_AddTransparentWall(wallVert3D *wallVerts, FSurfaceInfo *pSurf, INT32 texnum, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap) +static void HWR_AddTransparentWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, INT32 texnum, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap) { static size_t allocedwalls = 0; @@ -5747,45 +4742,23 @@ static void HWR_AddTransparentWall(wallVert3D *wallVerts, FSurfaceInfo *pSurf, I numwalls++; } -static void HWR_RenderWall(wallVert3D *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap) +static void HWR_RenderWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend, INT32 lightlevel, extracolormap_t *wallcolormap) { - FOutVector trVerts[4]; - UINT8 i; - FOutVector *wv; - UINT8 alpha; - - (void)fogwall; ///@TODO remove shitty unused variable - - // transform - wv = trVerts; - // it sounds really stupid to do this conversion with the new T&L code - // we should directly put the right information in the right structure - // wallVerts3D seems ok, doesn't need FOutVector - // also remove the light copy - for (i = 0; i < 4; i++, wv++, wallVerts++) - { - wv->x = wallVerts->x; - wv->y = wallVerts->y; - wv->z = wallVerts->z; - wv->sow = wallVerts->s; - wv->tow = wallVerts->t; - } - - alpha = pSurf->PolyColor.s.alpha; // retain the alpha + UINT8 alpha = pSurf->PolyColor.s.alpha; // retain the alpha // Lighting is done here instead so that fog isn't drawn incorrectly on transparent walls after sorting if (wallcolormap) HWR_Lighting(pSurf, lightlevel, wallcolormap->rgba, wallcolormap->fadergba); else - HWR_NoColormapLighting(pSurf, lightlevel, NORMALFOG, FADEFOG); + HWR_NoColormapLighting(pSurf, lightlevel, GL_NORMALFOG, GL_FADEFOG); pSurf->PolyColor.s.alpha = alpha; // put the alpha back after lighting HWD.pfnSetShader(2); // jimita: wall shader if (blend & PF_Environment) - HWD.pfnDrawPolygon(pSurf, trVerts, 4, blend|PF_Modulated|PF_Occlude); // PF_Occlude must be used for solid objects + HWD.pfnDrawPolygon(pSurf, wallVerts, 4, blend|PF_Modulated|PF_Occlude); // PF_Occlude must be used for solid objects else - HWD.pfnDrawPolygon(pSurf, trVerts, 4, blend|PF_Modulated); // No PF_Occlude means overlapping (incorrect) transparency + HWD.pfnDrawPolygon(pSurf, wallVerts, 4, blend|PF_Modulated); // No PF_Occlude means overlapping (incorrect) transparency #ifdef WALLSPLATS if (gr_curline->linedef->splats && cv_splats.value) @@ -5793,11 +4766,6 @@ static void HWR_RenderWall(wallVert3D *wallVerts, FSurfaceInfo *pSurf, FBITFIE #endif } -INT32 HWR_GetTextureUsed(void) -{ - return HWD.pfnGetTextureUsed(); -} - void HWR_DoPostProcessor(player_t *player) { postimg_t *type; diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index cb37f3cf..efa04825 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -34,13 +34,11 @@ void HWR_Shutdown(void); void HWR_drawAMline(const fline_t *fl, INT32 color); void HWR_FadeScreenMenuBack(UINT32 color, INT32 height); void HWR_DrawConsoleBack(UINT32 color, INT32 height); -void HWR_RenderSkyboxView(INT32 viewnumber, player_t *player); void HWR_RenderPlayerView(INT32 viewnumber, player_t *player); void HWR_DrawViewBorder(INT32 clearlines); void HWR_DrawFlatFill(INT32 x, INT32 y, INT32 w, INT32 h, lumpnum_t flatlumpnum); UINT8 *HWR_GetScreenshot(void); boolean HWR_Screenshot(const char *lbmname); -void HWR_InitTextureMapping(void); void HWR_SetViewSize(void); void HWR_DrawPatch(GLPatch_t *gpatch, INT32 x, INT32 y, INT32 option); void HWR_DrawFixedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t scale, INT32 option, const UINT8 *colormap); @@ -53,9 +51,7 @@ void HWR_DrawConsoleFill(INT32 x, INT32 y, INT32 w, INT32 h, UINT32 color, INT32 void HWR_AddCommands(void); void HWR_CorrectSWTricks(void); -void transform(float *cx, float *cy, float *cz); FBITFIELD HWR_TranstableToAlpha(INT32 transtablenum, FSurfaceInfo *pSurf); -INT32 HWR_GetTextureUsed(void); void HWR_DoPostProcessor(player_t *player); void HWR_StartScreenWipe(void); void HWR_EndScreenWipe(void); diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 965d6e9d..79612fad 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -520,7 +520,7 @@ void HWR_InitMD2(void) } } // no sprite/player skin name found?!? - CONS_Printf("Unknown sprite/player skin %s detected in md2.dat\n", name); + //CONS_Printf("Unknown sprite/player skin %s detected in md2.dat\n", name); md2found: // move on to next line... continue; @@ -864,10 +864,6 @@ static void HWR_GetBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, con // Returns : // -----------------+ -// hw_main.c -#define NORMALFOG 0x00000000 -#define FADEFOG 0x19000000 - void HWR_DrawMD2(gr_vissprite_t *spr) { md2_t *md2; @@ -916,7 +912,7 @@ void HWR_DrawMD2(gr_vissprite_t *spr) if (colormap) HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); else - HWR_NoColormapLighting(&Surf, lightlevel, NORMALFOG, FADEFOG); + HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG); } // Look at HWR_ProjectSprite for more diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index d094ba7c..2a2e2cc9 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -1179,7 +1179,7 @@ EXPORT void HWRAPI(Draw2DLine) (F2DCoord * v1, F2DCoord * v2, RGBA_t Color) { - //GL_DBG_Printf("DrawLine() (%f %f %f) %d\n", v1->x, -v1->y, -v1->z, v1->argb); + //GL_DBG_Printf("DrawLine(): %f %f, %f %f\n", v1->x, v1->y, v2->x, v2->y); GLfloat p[12]; GLfloat dx, dy; GLfloat angle; @@ -1692,7 +1692,7 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUI load_shaders(pSurf, &mix, &fade); pglVertexPointer(3, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].x); - pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].sow); + pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].s); pglDrawArrays(GL_TRIANGLE_FAN, 0, iNumPts); if (PolyFlags & PF_RemoveYWrap) @@ -2279,11 +2279,6 @@ EXPORT INT32 HWRAPI(GetTextureUsed) (void) return res; } -EXPORT INT32 HWRAPI(GetRenderVersion) (void) -{ - return VERSION; -} - EXPORT void HWRAPI(PostImgRedraw) (float points[SCREENVERTS][SCREENVERTS][2]) { INT32 x, y; diff --git a/src/nds/r_nds3d.c b/src/nds/r_nds3d.c index dbdcec15..6734e8c1 100644 --- a/src/nds/r_nds3d.c +++ b/src/nds/r_nds3d.c @@ -160,7 +160,7 @@ void NDS3D_DrawPolygon(FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUINT iNumPts z = pOutVerts[index].z; } - glTexCoord2f(pOutVerts[index].sow, pOutVerts[index].tow); + glTexCoord2f(pOutVerts[index].s, pOutVerts[index].tow); glVertex3f(x,y,z); } glEnd(); diff --git a/src/r_main.c b/src/r_main.c index 10a1216e..f12ab30d 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -609,11 +609,6 @@ void R_ExecuteSetViewSize(void) R_InitTextureMapping(); -#ifdef HWRENDER - if (rendermode != render_soft) - HWR_InitTextureMapping(); -#endif - // thing clipping for (i = 0; i < viewwidth; i++) screenheightarray[i] = (INT16)viewheight; diff --git a/src/sdl/hwsym_sdl.c b/src/sdl/hwsym_sdl.c index 0774bc73..bd2b5ab7 100644 --- a/src/sdl/hwsym_sdl.c +++ b/src/sdl/hwsym_sdl.c @@ -91,7 +91,6 @@ void *hwSym(const char *funcName,void *handle) GETFUNC(DrawModel); GETFUNC(CreateModelVBOs); GETFUNC(SetTransform); - GETFUNC(GetRenderVersion); GETFUNC(PostImgRedraw); GETFUNC(FlushScreenTextures); GETFUNC(StartScreenWipe); diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index b967e7a6..21a04682 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -1459,9 +1459,11 @@ void I_StartupGraphics(void) framebuffer = SDL_TRUE; } if (M_CheckParm("-software")) - { rendermode = render_soft; - } +#ifdef HWRENDER + else if (M_CheckParm("-opengl")) + rendermode = render_opengl; +#endif usesdl2soft = M_CheckParm("-softblit"); borderlesswindow = M_CheckParm("-borderless"); @@ -1469,9 +1471,8 @@ void I_StartupGraphics(void) //SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY>>1,SDL_DEFAULT_REPEAT_INTERVAL<<2); VID_Command_ModeList_f(); #ifdef HWRENDER - if (M_CheckParm("-opengl") || rendermode == render_opengl) + if (rendermode == render_opengl) { - rendermode = render_opengl; HWD.pfnInit = hwSym("Init",NULL); HWD.pfnFinishUpdate = NULL; HWD.pfnDraw2DLine = hwSym("Draw2DLine",NULL); @@ -1488,7 +1489,6 @@ void I_StartupGraphics(void) HWD.pfnDrawModel = hwSym("DrawModel",NULL); HWD.pfnCreateModelVBOs = hwSym("CreateModelVBOs",NULL); HWD.pfnSetTransform = hwSym("SetTransform",NULL); - HWD.pfnGetRenderVersion = hwSym("GetRenderVersion",NULL); HWD.pfnPostImgRedraw = hwSym("PostImgRedraw",NULL); HWD.pfnFlushScreenTextures=hwSym("FlushScreenTextures",NULL); HWD.pfnStartScreenWipe = hwSym("StartScreenWipe",NULL); @@ -1508,9 +1508,6 @@ void I_StartupGraphics(void) HWD.pfnLoadCustomShader = hwSym("LoadCustomShader",NULL); HWD.pfnInitCustomShaders = hwSym("InitCustomShaders",NULL); - // check gl renderer lib - if (HWD.pfnGetRenderVersion() != VERSION) - I_Error("%s", M_GetText("The version of the renderer doesn't match the version of the executable\nBe sure you have installed SRB2 properly.\n")); if (!HWD.pfnInit()) // load the OpenGL library rendermode = render_soft; } diff --git a/src/z_zone.c b/src/z_zone.c index a3e13422..dae7dff0 100644 --- a/src/z_zone.c +++ b/src/z_zone.c @@ -637,7 +637,6 @@ void Command_Memfree_f(void) CONS_Printf(M_GetText("Mipmap patches : %7s KB\n"), sizeu1(Z_TagUsage(PU_HWRPATCHCOLMIPMAP)>>10)); CONS_Printf(M_GetText("HW Texture cache : %7s KB\n"), sizeu1(Z_TagUsage(PU_HWRCACHE)>>10)); CONS_Printf(M_GetText("Plane polygons : %7s KB\n"), sizeu1(Z_TagUsage(PU_HWRPLANE)>>10)); - CONS_Printf(M_GetText("HW Texture used : %7d KB\n"), HWR_GetTextureUsed()>>10); } #endif From 4ea1dd3525239614db1f3a63ad353488cc7d5566 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Sun, 7 Apr 2019 00:09:53 -0300 Subject: [PATCH 048/245] The player should be able to toggle shaders --- src/hardware/hw_defs.h | 4 +- src/hardware/hw_main.c | 38 ++++++++++------ src/hardware/hw_main.h | 1 + src/hardware/hw_md2.c | 2 +- src/hardware/r_opengl/r_opengl.c | 76 +++++++++----------------------- src/hardware/r_opengl/r_opengl.h | 4 -- src/m_menu.c | 15 ++++--- src/r_main.c | 1 + src/sdl/ogl_sdl.c | 8 ---- src/st_stuff.c | 9 ---- src/v_video.c | 4 +- 11 files changed, 61 insertions(+), 101 deletions(-) diff --git a/src/hardware/hw_defs.h b/src/hardware/hw_defs.h index 03fe0d76..46f7c549 100644 --- a/src/hardware/hw_defs.h +++ b/src/hardware/hw_defs.h @@ -140,7 +140,7 @@ enum EPolyFlags PF_Modulated = 0x00001000, // Modulation (multiply output with constant ARGB) // When set, pass the color constant into the FSurfaceInfo -> FlatColor PF_NoTexture = 0x00002000, // Use the small white texture - PF_Ripple = 0x00004000, // jimita: water shader effect + PF_Ripple = 0x00004000, // Water shader effect // 0x00008000 PF_RemoveYWrap = 0x00010000, // Force clamp texture on Y PF_ForceWrapX = 0x00020000, // Force repeat texture on X @@ -181,6 +181,8 @@ typedef struct FSurfaceInfo FSurfaceInfo; enum hwdsetspecialstate { + HWD_SET_SHADERS, + HWD_SET_FOG_MODE, HWD_SET_FOG_DENSITY, diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 9a51fa9e..78b182bf 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -188,6 +188,11 @@ void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mix // You see the problem is that darker light isn't actually as dark as it SHOULD be. lightmix = 255 - ((255 - light_level)*100/96); + // fml + if (lightmix < 0) + lightmix = 0; + if (lightmix > 255) + lightmix = 255; mix_color.rgba = mixcolor; fog_color.rgba = fadecolor; @@ -465,9 +470,11 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is else PolyFlags |= PF_Masked|PF_Modulated; - HWD.pfnSetShader(1); // jimita: floor shader if (PolyFlags & PF_Ripple) - HWD.pfnSetShader(5); // jimita: water shader + HWD.pfnSetShader(5); // water shader + else + HWD.pfnSetShader(1); // floor shader + HWD.pfnDrawPolygon(&Surf, planeVerts, nrPlaneVerts, PolyFlags); } @@ -538,7 +545,7 @@ static void HWR_DrawSegsSplats(FSurfaceInfo * pSurf) break; } - HWD.pfnSetShader(2); // jimita: wall shader + HWD.pfnSetShader(2); // wall shader HWD.pfnDrawPolygon(&pSurf, wallVerts, 4, i|PF_Modulated|PF_Decal); } } @@ -591,7 +598,7 @@ static void HWR_ProjectWall(FOutVector * wallVerts, else HWR_NoColormapLighting(pSurf, lightlevel, GL_NORMALFOG, GL_FADEFOG); - HWD.pfnSetShader(2); // jimita: wall shader + HWD.pfnSetShader(2); // wall shader HWD.pfnDrawPolygon(pSurf, wallVerts, 4, blendmode|PF_Modulated|PF_Occlude); #ifdef WALLSPLATS @@ -2283,7 +2290,7 @@ static void HWR_RenderPolyObjectPlane(polyobj_t *polysector, boolean isceiling, else blendmode |= PF_Masked|PF_Modulated; - HWD.pfnSetShader(1); // jimita: floor shader + HWD.pfnSetShader(1); // floor shader HWD.pfnDrawPolygon(&Surf, planeVerts, nrPlaneVerts, blendmode); } @@ -2980,7 +2987,7 @@ static void HWR_DrawSpriteShadow(gr_vissprite_t *spr, GLPatch_t *gpatch, float t if (sSurf.PolyColor.s.alpha > floorheight/4) { sSurf.PolyColor.s.alpha = (UINT8)(sSurf.PolyColor.s.alpha - floorheight/4); - HWD.pfnSetShader(1); // jimita: floor shader + HWD.pfnSetShader(1); // floor shader HWD.pfnDrawPolygon(&sSurf, swallVerts, 4, PF_Translucent|PF_Modulated); } } @@ -3235,7 +3242,7 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) Surf.PolyColor.s.alpha = alpha; - HWD.pfnSetShader(3); // jimita: sprite shader + HWD.pfnSetShader(3); // sprite shader HWD.pfnDrawPolygon(&Surf, wallVerts, 4, blend|PF_Modulated); top = bot; @@ -3278,7 +3285,7 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) Surf.PolyColor.s.alpha = alpha; - HWD.pfnSetShader(3); // jimita: sprite shader + HWD.pfnSetShader(3); // sprite shader HWD.pfnDrawPolygon(&Surf, wallVerts, 4, blend|PF_Modulated); } @@ -3429,7 +3436,7 @@ static void HWR_DrawSprite(gr_vissprite_t *spr) blend = PF_Translucent|PF_Occlude; } - HWD.pfnSetShader(3); // jimita: sprite shader + HWD.pfnSetShader(3); // sprite shader HWD.pfnDrawPolygon(&Surf, wallVerts, 4, blend|PF_Modulated); } } @@ -3528,7 +3535,7 @@ static inline void HWR_DrawPrecipitationSprite(gr_vissprite_t *spr) blend = PF_Translucent|PF_Occlude; } - HWD.pfnSetShader(3); // jimita: sprite shader + HWD.pfnSetShader(3); // sprite shader HWD.pfnDrawPolygon(&Surf, wallVerts, 4, blend|PF_Modulated); } @@ -3900,7 +3907,7 @@ static void HWR_RenderDrawNodes(void) } // loop++ HWD.pfnSetTransform(&atransform); - HWD.pfnSetShader(0); // jimita + HWD.pfnSetShader(0); // Okay! Let's draw it all! Woo! for (i = 0; i < p; i++) { @@ -4435,9 +4442,9 @@ static void HWR_DrawSkyBackground(void) v[0].t = v[1].t -= ((float) angle / angleturn); } - HWD.pfnSetShader(6); // jimita: sky shader + HWD.pfnSetShader(6); // sky shader HWD.pfnDrawPolygon(NULL, v, 4, 0); - HWD.pfnSetShader(0); // jimita + HWD.pfnSetShader(0); } @@ -4566,6 +4573,9 @@ static void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) HWD.pfnSetTransform(&atransform); HWD.pfnSetShader(0); + // Check for shaders + HWD.pfnSetSpecialState(HWD_SET_SHADERS, cv_grshaders.value); + // Check for fog (shader) if (cv_grfog.value) HWR_FoggingOn(); // First of all, turn it on, set the default user settings too @@ -4754,7 +4764,7 @@ static void HWR_RenderWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIE pSurf->PolyColor.s.alpha = alpha; // put the alpha back after lighting - HWD.pfnSetShader(2); // jimita: wall shader + HWD.pfnSetShader(2); // wall shader if (blend & PF_Environment) HWD.pfnDrawPolygon(pSurf, wallVerts, 4, blend|PF_Modulated|PF_Occlude); // PF_Occlude must be used for solid objects else diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index efa04825..da63d11e 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -67,6 +67,7 @@ void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mix extern CV_PossibleValue_t granisotropicmode_cons_t[]; +extern consvar_t cv_grshaders; extern consvar_t cv_grfov; extern consvar_t cv_grmd2; extern consvar_t cv_grfog; diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 79612fad..c0c27627 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -1092,7 +1092,7 @@ void HWR_DrawMD2(gr_vissprite_t *spr) p.mirror = atransform.mirror; // from Kart #endif - HWD.pfnSetShader(4); // jimita: model shader + HWD.pfnSetShader(4); // model shader HWD.pfnDrawModel(md2->model, frame, durs, tics, nextFrame, &p, finalscale, flip, &Surf); } } diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 2a2e2cc9..19907a5b 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -492,10 +492,6 @@ boolean SetupGLfunc(void) static INT32 glstate_fog_mode = 0; static float glstate_fog_density = 0; -// glEXT -boolean GLEXT_legacy = false; -boolean GLEXT_shaders = false; - // hw_glob.h INT32 gl_leveltime = 0; @@ -510,6 +506,7 @@ INT32 gl_leveltime = 0; static GLuint gl_shaders[MAXSHADERS]; static GLint gl_totalshaders = 0; +static boolean gl_allowshaders = false; static boolean gl_shadersenabled = false; static GLuint gl_currentshaderprogram = 0; static GLuint gl_shaderprograms[MAXSHADERPROGRAMS]; @@ -837,12 +834,14 @@ EXPORT void HWRAPI(InitCustomShaders) (void) EXPORT void HWRAPI(SetShader) (int shader) { #ifdef USE_SHADERS - if (GLEXT_shaders) + if (gl_allowshaders) { gl_shadersenabled = true; gl_currentshaderprogram = shader; } + else #endif + gl_shadersenabled = false; } EXPORT void HWRAPI(UnSetShader) (void) @@ -945,16 +944,11 @@ void SetModelView(GLint w, GLint h) pglGetFloatv(GL_PROJECTION_MATRIX, projMatrix); } - // -----------------+ // SetStates : Set permanent states // -----------------+ void SetStates(void) { -#ifdef GL_LIGHT_MODEL_AMBIENT - GLfloat LightDiffuse[] = {1.0f, 1.0f, 1.0f, 1.0f}; -#endif - pglShadeModel(GL_SMOOTH); // iterate vertice colors pglEnable(GL_TEXTURE_2D); // two-dimensional texturing @@ -980,12 +974,6 @@ void SetStates(void) pglPolygonOffset(-1.0f, -1.0f); - // Lighting for models -#ifdef GL_LIGHT_MODEL_AMBIENT - pglLightModelfv(GL_LIGHT_MODEL_AMBIENT, LightDiffuse); - pglEnable(GL_LIGHT0); -#endif - // bp : when no t&l :) pglLoadIdentity(); pglScalef(1.0f, 1.0f, -1.0f); @@ -1594,7 +1582,6 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo) } // jimita - static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *mix, GLRGBAFloat *fade) { #ifdef USE_SHADERS @@ -1653,7 +1640,9 @@ static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *mix, GLRGBAFloat *f else pglUseProgram(0); } + else #endif + pglUseProgram(0); } // -----------------+ @@ -1716,6 +1705,18 @@ EXPORT void HWRAPI(SetSpecialState) (hwdspecialstate_t IdState, INT32 Value) { switch (IdState) { + case HWD_SET_SHADERS: + switch (Value) + { + case 1: + gl_allowshaders = true; + break; + default: + gl_allowshaders = false; + break; + } + break; + case HWD_SET_FOG_MODE: glstate_fog_mode = Value; break; @@ -1975,11 +1976,6 @@ static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32 static GLRGBAFloat mix = {0,0,0,0}; static GLRGBAFloat fade = {0,0,0,0}; -#ifdef GL_LIGHT_MODEL_AMBIENT - GLfloat ambient[4]; - GLfloat diffuse[4]; -#endif - float pol = 0.0f; float scalex, scaley, scalez; @@ -1987,9 +1983,6 @@ static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32 int i; - // Because Otherwise, scaling the screen negatively vertically breaks the lighting - GLfloat LightPos[] = {0.0f, 1.0f, 0.0f, 0.0f}; - // Affect input model scaling scale *= 0.5f; scalex = scale; @@ -2014,30 +2007,13 @@ static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32 mix.blue = byte2float[Surface->PolyColor.s.blue]; mix.alpha = byte2float[Surface->PolyColor.s.alpha]; -#ifdef GL_LIGHT_MODEL_AMBIENT - ambient[0] = (mix.red/255.0f); - ambient[1] = (mix.green/255.0f); - ambient[2] = (mix.blue/255.0f); - ambient[3] = (mix.alpha/255.0f); - - diffuse[0] = (mix.red/255.0f); - diffuse[1] = (mix.green/255.0f); - diffuse[2] = (mix.blue/255.0f); - diffuse[3] = (mix.alpha/255.0f); - - if (ambient[0] > 0.75f) - ambient[0] = 0.75f; - if (ambient[1] > 0.75f) - ambient[1] = 0.75f; - if (ambient[2] > 0.75f) - ambient[2] = 0.75f; -#endif - if (mix.alpha < 1) SetBlend(PF_Translucent|PF_Modulated); else SetBlend(PF_Masked|PF_Modulated|PF_Occlude); + pglColor4ubv((GLubyte*)&Surface->PolyColor.s); + fade.red = byte2float[Surface->FadeColor.s.red]; fade.green = byte2float[Surface->FadeColor.s.green]; fade.blue = byte2float[Surface->FadeColor.s.blue]; @@ -2069,14 +2045,6 @@ static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32 pglCullFace(GL_BACK); #endif - pglLightfv(GL_LIGHT0, GL_POSITION, LightPos); - pglShadeModel(GL_SMOOTH); -#ifdef GL_LIGHT_MODEL_AMBIENT - pglEnable(GL_LIGHTING); - pglMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, ambient); - pglMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, diffuse); -#endif - pglPushMatrix(); // should be the same as glLoadIdentity pglTranslatef(pos->x, pos->z, pos->y); if (flipped) @@ -2189,10 +2157,6 @@ static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32 pglDisableClientState(GL_NORMAL_ARRAY); pglPopMatrix(); // should be the same as glLoadIdentity -#ifdef GL_LIGHT_MODEL_AMBIENT - pglDisable(GL_LIGHTING); -#endif - pglShadeModel(GL_FLAT); pglDisable(GL_CULL_FACE); pglDisable(GL_NORMALIZE); diff --git a/src/hardware/r_opengl/r_opengl.h b/src/hardware/r_opengl/r_opengl.h index 7ba37666..d74b9445 100644 --- a/src/hardware/r_opengl/r_opengl.h +++ b/src/hardware/r_opengl/r_opengl.h @@ -119,10 +119,6 @@ extern GLint screen_height; extern GLbyte screen_depth; extern GLint maximumAnisotropy; -// jimita -extern boolean GLEXT_legacy; -extern boolean GLEXT_shaders; - /** \brief OpenGL flags for video driver */ extern INT32 oglflags; diff --git a/src/m_menu.c b/src/m_menu.c index fae58e53..c55274ea 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -1206,15 +1206,16 @@ static menuitem_t OP_VideoModeMenu[] = #ifdef HWRENDER static menuitem_t OP_OpenGLOptionsMenu[] = { - {IT_STRING|IT_CVAR, NULL, "Field of view", &cv_grfov, 10}, - {IT_STRING|IT_CVAR, NULL, "Quality", &cv_scr_depth, 20}, - {IT_STRING|IT_CVAR, NULL, "Texture Filter", &cv_grfiltermode, 30}, - {IT_STRING|IT_CVAR, NULL, "Anisotropic", &cv_granisotropicmode,40}, + {IT_STRING|IT_CVAR, NULL, "Shaders", &cv_grshaders, 10}, + {IT_STRING|IT_CVAR, NULL, "Field of view", &cv_grfov, 20}, + {IT_STRING|IT_CVAR, NULL, "Quality", &cv_scr_depth, 30}, + {IT_STRING|IT_CVAR, NULL, "Texture Filter", &cv_grfiltermode, 40}, + {IT_STRING|IT_CVAR, NULL, "Anisotropic", &cv_granisotropicmode,50}, #ifdef _WINDOWS - {IT_STRING|IT_CVAR, NULL, "Fullscreen", &cv_fullscreen, 50}, + {IT_STRING|IT_CVAR, NULL, "Fullscreen", &cv_fullscreen, 60}, #endif - {IT_SUBMENU|IT_STRING, NULL, "Fog...", &OP_OpenGLFogDef, 80}, - {IT_SUBMENU|IT_STRING, NULL, "Gamma...", &OP_OpenGLColorDef, 90}, + {IT_SUBMENU|IT_STRING, NULL, "Fog...", &OP_OpenGLFogDef, 90}, + {IT_SUBMENU|IT_STRING, NULL, "Gamma...", &OP_OpenGLColorDef, 100}, }; static menuitem_t OP_OpenGLFogMenu[] = diff --git a/src/r_main.c b/src/r_main.c index f12ab30d..bada24e4 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -1395,6 +1395,7 @@ void R_RegisterEngineStuff(void) CV_RegisterVar(&cv_grsoftwarefog); CV_RegisterVar(&cv_grfogdensity); CV_RegisterVar(&cv_grmd2); + CV_RegisterVar(&cv_grshaders); #endif #ifdef HWRENDER diff --git a/src/sdl/ogl_sdl.c b/src/sdl/ogl_sdl.c index a92ea82c..789f1d6c 100644 --- a/src/sdl/ogl_sdl.c +++ b/src/sdl/ogl_sdl.c @@ -175,14 +175,6 @@ boolean OglSdlSurface(INT32 w, INT32 h) SetupGLFunc4(); - // jimita - if (isExtAvailable("GL_ARB_compatibility", gl_extensions)) - GLEXT_legacy = true; - - if (isExtAvailable("GL_ARB_fragment_shader", gl_extensions) - && isExtAvailable("GL_ARB_vertex_shader", gl_extensions)) - GLEXT_shaders = true; - granisotropicmode_cons_t[1].value = maximumAnisotropy; SDL_GL_SetSwapInterval(cv_vidwait.value ? 1 : 0); diff --git a/src/st_stuff.c b/src/st_stuff.c index fdd5d02f..6191e31e 100644 --- a/src/st_stuff.c +++ b/src/st_stuff.c @@ -605,15 +605,6 @@ static void ST_drawDebugInfo(void) if (cv_debug & DBG_MEMORY) V_DrawRightAlignedString(320, height, V_MONOSPACE, va("Heap used: %7sKB", sizeu1(Z_TagsUsage(0, INT32_MAX)>>10))); - - // jimita - if (cv_debug & DBG_RENDER) - { - height = 0; -#ifdef HWRENDER - V_DrawString(0, height, V_MONOSPACE|V_ALLOWLOWERCASE|V_NOSCALESTART, va("glstate_fog: %d", cv_grfog.value ? (cv_grsoftwarefog.value ? 2 : 1) : 0)); -#endif // HWRENDER - } } static void ST_drawScore(void) diff --git a/src/v_video.c b/src/v_video.c index 09f399ef..acb20321 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -60,10 +60,11 @@ static void CV_Gammaxxx_ONChange(void); static CV_PossibleValue_t grgamma_cons_t[] = {{1, "MIN"}, {255, "MAX"}, {0, NULL}}; static CV_PossibleValue_t grfogdensity_cons_t[] = {{FRACUNIT/2, "MIN"}, {FRACUNIT*2, "MAX"}, {0, NULL}}; -consvar_t cv_grfovchange = {"gr_fovchange", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grshaders = {"gr_shaders", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfog = {"gr_fog", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grsoftwarefog = {"gr_softwarefog", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfogdensity = {"gr_fogdensity", "1", CV_SAVE|CV_FLOAT, grfogdensity_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grfovchange = {"gr_fovchange", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grgammared = {"gr_gammared", "127", CV_SAVE|CV_CALL, grgamma_cons_t, CV_Gammaxxx_ONChange, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grgammagreen = {"gr_gammagreen", "127", CV_SAVE|CV_CALL, grgamma_cons_t, @@ -71,6 +72,7 @@ consvar_t cv_grgammagreen = {"gr_gammagreen", "127", CV_SAVE|CV_CALL, grgamma_co consvar_t cv_grgammablue = {"gr_gammablue", "127", CV_SAVE|CV_CALL, grgamma_cons_t, CV_Gammaxxx_ONChange, 0, NULL, NULL, 0, 0, NULL}; + static CV_PossibleValue_t CV_MD2[] = {{0, "Off"}, {1, "On"}, {2, "Old"}, {0, NULL}}; // console variables in development consvar_t cv_grmd2 = {"gr_md2", "Off", CV_SAVE, CV_MD2, NULL, 0, NULL, NULL, 0, 0, NULL}; From 23a8fea59810f52e05a46ba3727445f89cbfe044 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Sun, 7 Apr 2019 01:25:55 -0300 Subject: [PATCH 049/245] fix fog --- src/hardware/hw_defs.h | 2 +- src/hardware/hw_main.c | 33 ++++++++++++++++++++++---------- src/hardware/r_opengl/r_opengl.c | 13 ++++++++++--- 3 files changed, 34 insertions(+), 14 deletions(-) diff --git a/src/hardware/hw_defs.h b/src/hardware/hw_defs.h index 46f7c549..eeb7d2ff 100644 --- a/src/hardware/hw_defs.h +++ b/src/hardware/hw_defs.h @@ -139,7 +139,7 @@ enum EPolyFlags PF_Decal = 0x00000800, // Enable polygon offset PF_Modulated = 0x00001000, // Modulation (multiply output with constant ARGB) // When set, pass the color constant into the FSurfaceInfo -> FlatColor - PF_NoTexture = 0x00002000, // Use the small white texture + PF_NoTexture = 0x00002000, // Disable texture PF_Ripple = 0x00004000, // Water shader effect // 0x00008000 PF_RemoveYWrap = 0x00010000, // Force clamp texture on Y diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 78b182bf..d0644067 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -470,7 +470,9 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is else PolyFlags |= PF_Masked|PF_Modulated; - if (PolyFlags & PF_Ripple) + if (PolyFlags & PF_Fog) + HWD.pfnSetShader(6); // fog shader + else if (PolyFlags & PF_Ripple) HWD.pfnSetShader(5); // water shader else HWD.pfnSetShader(1); // floor shader @@ -3651,7 +3653,7 @@ typedef struct static wallinfo_t *wallinfo = NULL; static size_t numwalls = 0; // a list of transparent walls to be drawn -static void HWR_RenderWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend, INT32 lightlevel, extracolormap_t *wallcolormap); +static void HWR_RenderWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap); #define MAX_TRANSPARENTWALL 256 @@ -3935,7 +3937,7 @@ static void HWR_RenderDrawNodes(void) { if (!(sortnode[sortindex[i]].wall->blend & PF_NoTexture)) HWR_GetTexture(sortnode[sortindex[i]].wall->texnum); - HWR_RenderWall(sortnode[sortindex[i]].wall->wallVerts, &sortnode[sortindex[i]].wall->Surf, sortnode[sortindex[i]].wall->blend, + HWR_RenderWall(sortnode[sortindex[i]].wall->wallVerts, &sortnode[sortindex[i]].wall->Surf, sortnode[sortindex[i]].wall->blend, sortnode[sortindex[i]].wall->fogwall, sortnode[sortindex[i]].wall->lightlevel, sortnode[sortindex[i]].wall->wallcolormap); } } @@ -4442,7 +4444,7 @@ static void HWR_DrawSkyBackground(void) v[0].t = v[1].t -= ((float) angle / angleturn); } - HWD.pfnSetShader(6); // sky shader + HWD.pfnSetShader(7); // sky shader HWD.pfnDrawPolygon(NULL, v, 4, 0); HWD.pfnSetShader(0); } @@ -4752,8 +4754,9 @@ static void HWR_AddTransparentWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, I numwalls++; } -static void HWR_RenderWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend, INT32 lightlevel, extracolormap_t *wallcolormap) +static void HWR_RenderWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap) { + FBITFIELD blendmode = blend; UINT8 alpha = pSurf->PolyColor.s.alpha; // retain the alpha // Lighting is done here instead so that fog isn't drawn incorrectly on transparent walls after sorting @@ -4765,10 +4768,19 @@ static void HWR_RenderWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIE pSurf->PolyColor.s.alpha = alpha; // put the alpha back after lighting HWD.pfnSetShader(2); // wall shader + if (blend & PF_Environment) - HWD.pfnDrawPolygon(pSurf, wallVerts, 4, blend|PF_Modulated|PF_Occlude); // PF_Occlude must be used for solid objects - else - HWD.pfnDrawPolygon(pSurf, wallVerts, 4, blend|PF_Modulated); // No PF_Occlude means overlapping (incorrect) transparency + blendmode |= PF_Occlude; // PF_Occlude must be used for solid objects + + if (fogwall) + { + blendmode |= PF_Fog; + HWD.pfnSetShader(6); // fog shader + } + + blendmode |= PF_Modulated; // No PF_Occlude means overlapping (incorrect) transparency + + HWD.pfnDrawPolygon(pSurf, wallVerts, 4, blendmode); #ifdef WALLSPLATS if (gr_curline->linedef->splats && cv_splats.value) @@ -4946,7 +4958,7 @@ void HWR_LoadShaders(UINT16 wadnum, boolean PK3) int shadertype = 0; int i; - #define SHADER_TYPES 6 + #define SHADER_TYPES 7 shaderxlat_t shaderxlat[SHADER_TYPES] = { {"Flat", 1}, @@ -4954,7 +4966,8 @@ void HWR_LoadShaders(UINT16 wadnum, boolean PK3) {"Sprite", 3}, {"Model", 4}, {"WaterRipple", 5}, - {"Sky", 6}, + {"Fog", 6}, + {"Sky", 7}, }; lump = HWR_CheckShader(wadnum); diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 19907a5b..5866e571 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -43,7 +43,7 @@ static const GLubyte white[4] = { 255, 255, 255, 255 }; // ========================================================================== // With OpenGL 1.1+, the first texture should be 1 -#define NOTEXTURE_NUM 1 // small white texture +#define NOTEXTURE_NUM 0 #define FIRST_TEX_AVAIL (NOTEXTURE_NUM + 1) #define N_PI_DEMI (M_PIl/2.0f) //(1.5707963268f) @@ -630,9 +630,13 @@ static const char *fragment_shaders[] = { // Water fragment shader SHARED_FRAGMENT_SHADER, + // Fog fragment shader + "void main(void) {\n" + "gl_FragColor = gl_Color;\n" + "}\0", + // Sky fragment shader "uniform sampler2D tex;\n" - "uniform vec2 resolution;\n" "void main(void) {\n" "float texU = gl_TexCoord[0].s;\n" "float texV = gl_TexCoord[0].t;\n" @@ -673,6 +677,9 @@ static const char *vertex_shaders[] = { // Water vertex shader DEFAULT_VERTEX_SHADER, + // Fog vertex shader + DEFAULT_VERTEX_SHADER, + // Sky vertex shader DEFAULT_VERTEX_SHADER, }; @@ -875,7 +882,7 @@ EXPORT void HWRAPI(KillShaders) (void) // -----------------+ static void SetNoTexture(void) { - // Set small white texture. + // Disable texture. if (tex_downloaded != NOTEXTURE_NUM) { pglBindTexture(GL_TEXTURE_2D, NOTEXTURE_NUM); From 98f4e98b85fc11bb31570b0625d125eb86943943 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Sun, 7 Apr 2019 14:27:52 -0300 Subject: [PATCH 050/245] Remove dup_ variables --- src/hardware/hw_main.c | 70 +++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 39 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index d0644067..6ffddc30 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -127,12 +127,8 @@ static sector_t *gr_backsector; // -------------------------------------------------------------------------- FTransform atransform; -// duplicates of the main code, set after R_SetupFrame() passed them into sharedstruct, -// copied here for local use -// (why?) -static fixed_t dup_viewx, dup_viewy, dup_viewz; -static angle_t dup_viewangle; +// Float variants of viewx, viewy, viewz etc... static float gr_viewx, gr_viewy, gr_viewz; static float gr_viewsin, gr_viewcos; @@ -2058,16 +2054,16 @@ static boolean HWR_CheckBBox(fixed_t *bspcoord) // Find the corners of the box // that define the edges from current viewpoint. - if (dup_viewx <= bspcoord[BOXLEFT]) + if (viewx <= bspcoord[BOXLEFT]) boxpos = 0; - else if (dup_viewx < bspcoord[BOXRIGHT]) + else if (viewx < bspcoord[BOXRIGHT]) boxpos = 1; else boxpos = 2; - if (dup_viewy >= bspcoord[BOXTOP]) + if (viewy >= bspcoord[BOXTOP]) boxpos |= 0; - else if (dup_viewy > bspcoord[BOXBOTTOM]) + else if (viewy > bspcoord[BOXBOTTOM]) boxpos |= 1<<2; else boxpos |= 2<<2; @@ -2080,8 +2076,8 @@ static boolean HWR_CheckBBox(fixed_t *bspcoord) px2 = bspcoord[checkcoord[boxpos][2]]; py2 = bspcoord[checkcoord[boxpos][3]]; - angle1 = R_PointToAngle(px1, py1); - angle2 = R_PointToAngle(px2, py2); + angle1 = R_PointToAngleEx(viewx, viewy, px1, py1); + angle2 = R_PointToAngleEx(viewx, viewy, px2, py2); return gld_clipper_SafeCheckRange(angle2, angle1); } @@ -2485,7 +2481,7 @@ static void HWR_Subsector(size_t num) // render floor ? // yeah, easy backface cull! :) - if (cullFloorHeight < dup_viewz) + if (cullFloorHeight < viewz) { if (gr_frontsector->floorpic != skyflatnum) { @@ -2501,7 +2497,7 @@ static void HWR_Subsector(size_t num) } } - if (cullCeilingHeight > dup_viewz) + if (cullCeilingHeight > viewz) { if (gr_frontsector->ceilingpic != skyflatnum) { @@ -2544,14 +2540,14 @@ static void HWR_Subsector(size_t num) if (centerHeight <= locCeilingHeight && centerHeight >= locFloorHeight && - ((dup_viewz < cullHeight && !(rover->flags & FF_INVERTPLANES)) || - (dup_viewz > cullHeight && (rover->flags & FF_BOTHPLANES || rover->flags & FF_INVERTPLANES)))) + ((viewz < cullHeight && !(rover->flags & FF_INVERTPLANES)) || + (viewz > cullHeight && (rover->flags & FF_BOTHPLANES || rover->flags & FF_INVERTPLANES)))) { if (rover->flags & FF_FOG) { UINT8 alpha; - light = R_GetPlaneLight(gr_frontsector, centerHeight, dup_viewz < cullHeight ? true : false); + light = R_GetPlaneLight(gr_frontsector, centerHeight, viewz < cullHeight ? true : false); if (rover->master->frontsector->extra_colormap) alpha = HWR_FogBlockAlpha(*gr_frontsector->lightlist[light].lightlevel, rover->master->frontsector->extra_colormap->rgba); @@ -2568,7 +2564,7 @@ static void HWR_Subsector(size_t num) } else if (rover->flags & FF_TRANSLUCENT && rover->alpha < 256) // SoM: Flags are more efficient { - light = R_GetPlaneLight(gr_frontsector, centerHeight, dup_viewz < cullHeight ? true : false); + light = R_GetPlaneLight(gr_frontsector, centerHeight, viewz < cullHeight ? true : false); HWR_AddTransparentFloor(levelflats[*rover->bottompic].lumpnum, &extrasubsectors[num], false, @@ -2580,7 +2576,7 @@ static void HWR_Subsector(size_t num) else { HWR_GetFlat(levelflats[*rover->bottompic].lumpnum); - light = R_GetPlaneLight(gr_frontsector, centerHeight, dup_viewz < cullHeight ? true : false); + light = R_GetPlaneLight(gr_frontsector, centerHeight, viewz < cullHeight ? true : false); HWR_RenderPlane(NULL, &extrasubsectors[num], false, *rover->bottomheight, (rover->flags & FF_RIPPLE ? PF_Ripple : 0)|PF_Occlude, *gr_frontsector->lightlist[light].lightlevel, levelflats[*rover->bottompic].lumpnum, rover->master->frontsector, 255, false, gr_frontsector->lightlist[light].extra_colormap); } @@ -2599,14 +2595,14 @@ static void HWR_Subsector(size_t num) if (centerHeight >= locFloorHeight && centerHeight <= locCeilingHeight && - ((dup_viewz > cullHeight && !(rover->flags & FF_INVERTPLANES)) || - (dup_viewz < cullHeight && (rover->flags & FF_BOTHPLANES || rover->flags & FF_INVERTPLANES)))) + ((viewz > cullHeight && !(rover->flags & FF_INVERTPLANES)) || + (viewz < cullHeight && (rover->flags & FF_BOTHPLANES || rover->flags & FF_INVERTPLANES)))) { if (rover->flags & FF_FOG) { UINT8 alpha; - light = R_GetPlaneLight(gr_frontsector, centerHeight, dup_viewz < cullHeight ? true : false); + light = R_GetPlaneLight(gr_frontsector, centerHeight, viewz < cullHeight ? true : false); if (rover->master->frontsector->extra_colormap) alpha = HWR_FogBlockAlpha(*gr_frontsector->lightlist[light].lightlevel, rover->master->frontsector->extra_colormap->rgba); @@ -2623,7 +2619,7 @@ static void HWR_Subsector(size_t num) } else if (rover->flags & FF_TRANSLUCENT && rover->alpha < 256) { - light = R_GetPlaneLight(gr_frontsector, centerHeight, dup_viewz < cullHeight ? true : false); + light = R_GetPlaneLight(gr_frontsector, centerHeight, viewz < cullHeight ? true : false); HWR_AddTransparentFloor(levelflats[*rover->toppic].lumpnum, &extrasubsectors[num], true, @@ -2635,7 +2631,7 @@ static void HWR_Subsector(size_t num) else { HWR_GetFlat(levelflats[*rover->toppic].lumpnum); - light = R_GetPlaneLight(gr_frontsector, centerHeight, dup_viewz < cullHeight ? true : false); + light = R_GetPlaneLight(gr_frontsector, centerHeight, viewz < cullHeight ? true : false); HWR_RenderPlane(NULL, &extrasubsectors[num], true, *rover->topheight, (rover->flags & FF_RIPPLE ? PF_Ripple : 0)|PF_Occlude, *gr_frontsector->lightlist[light].lightlevel, levelflats[*rover->toppic].lumpnum, rover->master->frontsector, 255, false, gr_frontsector->lightlist[light].extra_colormap); } @@ -2726,7 +2722,7 @@ static void HWR_RenderBSPNode(INT32 bspnum) } // Decide which side the view point is on. - side = R_PointOnSide(dup_viewx, dup_viewy, bsp); + side = R_PointOnSide(viewx, viewy, bsp); // Recursively divide front space. HWR_RenderBSPNode(bsp->children[side]); @@ -3082,8 +3078,9 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) wallVerts[0].t = wallVerts[1].t = gpatch->max_t; } - // if it has a dispoffset, push it a little tards the camera - if (spr->dispoffset) { + // if it has a dispoffset, push it a little towards the camera + if (spr->dispoffset) + { float co = -gr_viewcos*(0.05f*spr->dispoffset); float si = -gr_viewsin*(0.05f*spr->dispoffset); wallVerts[0].z = wallVerts[3].z = wallVerts[0].z+si; @@ -3385,8 +3382,9 @@ static void HWR_DrawSprite(gr_vissprite_t *spr) HWR_DrawSpriteShadow(spr, gpatch, this_scale); } - // if it has a dispoffset, push it a little tards the camera - if (spr->dispoffset) { + // if it has a dispoffset, push it a little towards the camera + if (spr->dispoffset) + { float co = -gr_viewcos*(0.05f*spr->dispoffset); float si = -gr_viewsin*(0.05f*spr->dispoffset); wallVerts[0].z = wallVerts[3].z = wallVerts[0].z+si; @@ -3772,7 +3770,7 @@ void HWR_AddTransparentPolyobjectFloor(lumpnum_t lumpnum, polyobj_t *polysector, static void HWR_RenderDrawNodes(void) { UINT32 i = 0, p = 0, prev = 0, loop; - const fixed_t pviewz = dup_viewz; + const fixed_t pviewz = viewz; // Dump EVERYTHING into a huge drawnode list. Then we'll sort it! // Could this be optimized into _AddTransparentWall/_AddTransparentPlane? @@ -4400,7 +4398,7 @@ static void HWR_DrawSkyBackground(void) // software doesn't draw any further than 1024 for skies anyway, but this doesn't overlap properly // The only time this will probably be an issue is when a sky wider than 1024 is used as a sky AND a regular wall texture - angle = (dup_viewangle + xtoviewangle[0]); + angle = (viewangle + xtoviewangle[0]); dimensionmultiply = ((float)textures[skytexture]->width/256.0f); v[0].s = v[3].s = ((float) angle / ((ANGLE_90-1)*dimensionmultiply)); @@ -4504,12 +4502,6 @@ static void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) const float fpov = FIXED_TO_FLOAT(cv_grfov.value+player->fovadd); postimg_t *postprocessor; - // copy view cam position for local use - dup_viewx = viewx; - dup_viewy = viewy; - dup_viewz = viewz; - dup_viewangle = viewangle; - // set window position gr_centery = gr_basecentery; gr_viewwindowy = gr_baseviewwindowy; @@ -4523,9 +4515,9 @@ static void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) // check for new console commands. NetUpdate(); - gr_viewx = FIXED_TO_FLOAT(dup_viewx); - gr_viewy = FIXED_TO_FLOAT(dup_viewy); - gr_viewz = FIXED_TO_FLOAT(dup_viewz); + gr_viewx = FIXED_TO_FLOAT(viewx); + gr_viewy = FIXED_TO_FLOAT(viewy); + gr_viewz = FIXED_TO_FLOAT(viewz); gr_viewsin = FIXED_TO_FLOAT(viewsin); gr_viewcos = FIXED_TO_FLOAT(viewcos); From f5516a121c62a9abbfb07cd90d653831b1e920c4 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Fri, 12 Apr 2019 16:35:28 -0300 Subject: [PATCH 051/245] cleanup? --- src/hardware/hw_bsp.c | 1 + src/hardware/hw_cache.c | 1 + src/hardware/hw_clip.c | 1 + src/hardware/hw_defs.h | 55 +++++++++++ src/hardware/hw_draw.c | 1 + src/hardware/hw_glob.h | 56 +---------- src/hardware/hw_main.c | 199 ++++++++++++++-------------------------- src/hardware/hw_main.h | 97 +++++++++++++++----- src/hardware/hw_trick.c | 1 + 9 files changed, 205 insertions(+), 207 deletions(-) diff --git a/src/hardware/hw_bsp.c b/src/hardware/hw_bsp.c index ae7b1888..0f4cd1dd 100644 --- a/src/hardware/hw_bsp.c +++ b/src/hardware/hw_bsp.c @@ -14,6 +14,7 @@ #include "../doomdef.h" #include "../doomstat.h" #ifdef HWRENDER +#include "hw_main.h" #include "hw_glob.h" #include "../r_local.h" #include "../z_zone.h" diff --git a/src/hardware/hw_cache.c b/src/hardware/hw_cache.c index 161a30cc..84fc6e4e 100644 --- a/src/hardware/hw_cache.c +++ b/src/hardware/hw_cache.c @@ -14,6 +14,7 @@ #include "../doomdef.h" #ifdef HWRENDER +#include "hw_main.h" #include "hw_glob.h" #include "hw_drv.h" diff --git a/src/hardware/hw_clip.c b/src/hardware/hw_clip.c index e4996fd6..a194d3e9 100644 --- a/src/hardware/hw_clip.c +++ b/src/hardware/hw_clip.c @@ -70,6 +70,7 @@ #include #include "../v_video.h" +#include "hw_main.h" #include "hw_clip.h" #include "hw_glob.h" #include "../r_state.h" diff --git a/src/hardware/hw_defs.h b/src/hardware/hw_defs.h index eeb7d2ff..6fea75be 100644 --- a/src/hardware/hw_defs.h +++ b/src/hardware/hw_defs.h @@ -19,6 +19,7 @@ #ifndef _HWR_DEFS_ #define _HWR_DEFS_ #include "../doomtype.h" +#include "../r_defs.h" #define ZCLIP_PLANE 4.0f // Used for the actual game drawing #define NZCLIP_PLANE 0.9f // Seems to be only used for the HUD and screen textures @@ -80,6 +81,60 @@ typedef struct // :crab: IS GONE! :crab: // ====================== +// ----------- +// structures +// ----------- + +// a vertex of a Doom 'plane' polygon +typedef struct +{ + float x; + float y; + float z; +} polyvertex_t; + +#ifdef _MSC_VER +#pragma warning(disable : 4200) +#endif + +// a convex 'plane' polygon, clockwise order +typedef struct +{ + INT32 numpts; + polyvertex_t pts[0]; +} poly_t; + +#ifdef _MSC_VER +#pragma warning(default : 4200) +#endif + +// holds extra info for 3D render, for each subsector in subsectors[] +typedef struct +{ + poly_t *planepoly; // the generated convex polygon +} extrasubsector_t; + +// needed for sprite rendering +// equivalent of the software renderer's vissprites +typedef struct gr_vissprite_s +{ + // Doubly linked list + struct gr_vissprite_s *prev; + struct gr_vissprite_s *next; + float x1, x2; + float z1, z2; + float tz, ty; + lumpnum_t patchlumpnum; + boolean flip; + UINT8 translucency; //alpha level 0-255 + mobj_t *mobj; + boolean precip; // Tails 08-25-2002 + boolean vflip; + //Hurdler: 25/04/2000: now support colormap in hardware mode + UINT8 *colormap; + INT32 dispoffset; // copy of info->dispoffset, affects ordering but not drawing +} gr_vissprite_t; + // Kart features //#define USE_FTRANSFORM_ANGLEZ //#define USE_FTRANSFORM_MIRROR diff --git a/src/hardware/hw_draw.c b/src/hardware/hw_draw.c index 24f04494..49f79aba 100644 --- a/src/hardware/hw_draw.c +++ b/src/hardware/hw_draw.c @@ -18,6 +18,7 @@ #include "../doomdef.h" #ifdef HWRENDER +#include "hw_main.h" #include "hw_glob.h" #include "hw_drv.h" diff --git a/src/hardware/hw_glob.h b/src/hardware/hw_glob.h index 2acc2baf..0b64231e 100644 --- a/src/hardware/hw_glob.h +++ b/src/hardware/hw_glob.h @@ -15,66 +15,12 @@ #define _HWR_GLOB_H_ #include "hw_defs.h" -#include "hw_main.h" #include "../m_misc.h" +#include "../r_defs.h" // Uncomment this to enable the OpenGL loading screen //#define HWR_LOADING_SCREEN -// ----------- -// structures -// ----------- - -// a vertex of a Doom 'plane' polygon -typedef struct -{ - float x; - float y; - float z; -} polyvertex_t; - -#ifdef _MSC_VER -#pragma warning(disable : 4200) -#endif - -// a convex 'plane' polygon, clockwise order -typedef struct -{ - INT32 numpts; - polyvertex_t pts[0]; -} poly_t; - -#ifdef _MSC_VER -#pragma warning(default : 4200) -#endif - -// holds extra info for 3D render, for each subsector in subsectors[] -typedef struct -{ - poly_t *planepoly; // the generated convex polygon -} extrasubsector_t; - -// needed for sprite rendering -// equivalent of the software renderer's vissprites -typedef struct gr_vissprite_s -{ - // Doubly linked list - struct gr_vissprite_s *prev; - struct gr_vissprite_s *next; - float x1, x2; - float z1, z2; - float tz, ty; - lumpnum_t patchlumpnum; - boolean flip; - UINT8 translucency; //alpha level 0-255 - mobj_t *mobj; - boolean precip; // Tails 08-25-2002 - boolean vflip; - //Hurdler: 25/04/2000: now support colormap in hardware mode - UINT8 *colormap; - INT32 dispoffset; // copy of info->dispoffset, affects ordering but not drawing -} gr_vissprite_t; - // -------- // hw_bsp.c // -------- diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 6ffddc30..caf64752 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -16,6 +16,7 @@ #include "../doomstat.h" #ifdef HWRENDER +#include "hw_main.h" #include "hw_glob.h" #include "hw_drv.h" #include "hw_md2.h" @@ -49,26 +50,12 @@ struct hwdriver_s hwdriver; // ========================================================================== -// PROTOS +// Commands and console variables // ========================================================================== -static void HWR_AddSprites(sector_t *sec); -static void HWR_ProjectSprite(mobj_t *thing); -static void HWR_ProjectPrecipitationSprite(precipmobj_t *thing); - -void HWR_AddTransparentFloor(lumpnum_t lumpnum, extrasubsector_t *xsub, boolean isceiling, fixed_t fixedheight, - INT32 lightlevel, INT32 alpha, sector_t *FOFSector, FBITFIELD blend, boolean fogplane, extracolormap_t *planecolormap); -void HWR_AddTransparentPolyobjectFloor(lumpnum_t lumpnum, polyobj_t *polysector, boolean isceiling, fixed_t fixedheight, - INT32 lightlevel, INT32 alpha, sector_t *FOFSector, FBITFIELD blend, extracolormap_t *planecolormap); - -static void HWR_FoggingOn(void); - static void CV_filtermode_ONChange(void); static void CV_anisotropic_ONChange(void); static void CV_grFov_OnChange(void); -// ========================================================================== -// 3D ENGINE COMMANDS & CONSOLE VARS -// ========================================================================== static CV_PossibleValue_t grfov_cons_t[] = {{0, "MIN"}, {179*FRACUNIT, "MAX"}, {0, NULL}}; static CV_PossibleValue_t grfiltermode_cons_t[]= {{HWD_SET_TEXTUREFILTER_POINTSAMPLED, "Nearest"}, @@ -101,7 +88,7 @@ static void CV_anisotropic_ONChange(void) } // ========================================================================== -// GLOBALS +// Globals // ========================================================================== // base values set at SetViewSize @@ -122,18 +109,20 @@ static line_t *gr_linedef; static sector_t *gr_frontsector; static sector_t *gr_backsector; -// -------------------------------------------------------------------------- -// STUFF FOR THE PROJECTION CODE -// -------------------------------------------------------------------------- +// ========================================================================== +// View position +// ========================================================================== FTransform atransform; -// Float variants of viewx, viewy, viewz etc... +// Float variants of viewx, viewy, viewz, etc. static float gr_viewx, gr_viewy, gr_viewz; static float gr_viewsin, gr_viewcos; +static INT32 drawcount = 0; + // ========================================================================== -// LIGHT stuffs +// Lighting // ========================================================================== #define CALCLIGHT(x,y) ((float)(x)*((y)/255.0f)) @@ -184,10 +173,11 @@ void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mix // You see the problem is that darker light isn't actually as dark as it SHOULD be. lightmix = 255 - ((255 - light_level)*100/96); - // fml + + // Don't go out of bounds if (lightmix < 0) lightmix = 0; - if (lightmix > 255) + else if (lightmix > 255) lightmix = 255; mix_color.rgba = mixcolor; @@ -231,7 +221,7 @@ void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mix Surface->LightInfo.light_level = light_level; } -static UINT8 HWR_FogBlockAlpha(INT32 light, UINT32 color) // Let's see if this can work +UINT8 HWR_FogBlockAlpha(INT32 light, UINT32 color) // Let's see if this can work { RGBA_t realcolor, surfcolor; INT32 alpha; @@ -256,14 +246,12 @@ static UINT8 HWR_FogBlockAlpha(INT32 light, UINT32 color) // Let's see if this c } // ========================================================================== -// FLOOR/CEILING GENERATION FROM SUBSECTORS +// Floor and ceiling generation from subsectors // ========================================================================== -// -----------------+ -// HWR_RenderPlane : Render a floor or ceiling convex polygon -// -----------------+ -static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean isceiling, fixed_t fixedheight, - FBITFIELD PolyFlags, INT32 lightlevel, lumpnum_t lumpnum, sector_t *FOFsector, UINT8 alpha, boolean fogplane, extracolormap_t *planecolormap) +// HWR_RenderPlane +// Render a floor or ceiling convex polygon +void HWR_RenderPlane(extrasubsector_t *xsub, boolean isceiling, fixed_t fixedheight, FBITFIELD PolyFlags, INT32 lightlevel, lumpnum_t lumpnum, sector_t *FOFsector, UINT8 alpha, extracolormap_t *planecolormap) { polyvertex_t * pv; float height; //constant y for all points on the convex flat polygon @@ -285,9 +273,6 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is static FOutVector *planeVerts = NULL; static UINT16 numAllocedPlaneVerts = 0; - (void)sector; ///@TODO remove shitty unused variable - (void)fogplane; ///@TODO remove shitty unused variable - // no convex poly were generated for this subsector if (!xsub->planepoly) return; @@ -476,13 +461,6 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is HWD.pfnDrawPolygon(&Surf, planeVerts, nrPlaneVerts, PolyFlags); } -/* - wallVerts order is : - 3--2 - | /| - |/ | - 0--1 -*/ #ifdef WALLSPLATS static void HWR_DrawSegsSplats(FSurfaceInfo * pSurf) { @@ -549,11 +527,6 @@ static void HWR_DrawSegsSplats(FSurfaceInfo * pSurf) } #endif -// ========================================================================== -// WALL GENERATION FROM SUBSECTOR SEGS -// ========================================================================== - - FBITFIELD HWR_TranstableToAlpha(INT32 transtablenum, FSurfaceInfo *pSurf) { switch (transtablenum) @@ -571,25 +544,14 @@ FBITFIELD HWR_TranstableToAlpha(INT32 transtablenum, FSurfaceInfo *pSurf) return PF_Translucent; } -// v1,v2 : the start & end vertices along the original wall segment, that may have been -// clipped so that only a visible portion of the wall seg is drawn. -// floorheight, ceilingheight : depend on wall upper/lower/middle, comes from the sectors. +// ========================================================================== +// Wall generation from subsector segs +// ========================================================================== -static void HWR_AddTransparentWall(FOutVector *wallVerts, FSurfaceInfo * pSurf, INT32 texnum, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap); - -// -----------------+ -// HWR_ProjectWall : -// -----------------+ -/* - wallVerts order is : - 3--2 - | /| - |/ | - 0--1 -*/ -static void HWR_ProjectWall(FOutVector * wallVerts, - FSurfaceInfo * pSurf, - FBITFIELD blendmode, INT32 lightlevel, extracolormap_t *wallcolormap) +// +// HWR_ProjectWall +// +void HWR_ProjectWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blendmode, INT32 lightlevel, extracolormap_t *wallcolormap) { if (wallcolormap) HWR_Lighting(pSurf, lightlevel, wallcolormap->rgba, wallcolormap->fadergba); @@ -605,14 +567,10 @@ static void HWR_ProjectWall(FOutVector * wallVerts, #endif } -// ========================================================================== -// BSP, CULL, ETC.. -// ========================================================================== - // // HWR_SplitWall // -static void HWR_SplitWall(sector_t *sector, FOutVector *wallVerts, INT32 texnum, FSurfaceInfo* Surf, INT32 cutflag, ffloor_t *pfloor) +void HWR_SplitWall(sector_t *sector, FOutVector *wallVerts, INT32 texnum, FSurfaceInfo* Surf, INT32 cutflag, ffloor_t *pfloor) { /* SoM: split up and light walls according to the lightlist. This may also include leaving out parts @@ -659,12 +617,11 @@ static void HWR_SplitWall(sector_t *sector, FOutVector *wallVerts, INT32 texnum, for (i = 0; i < sector->numlights; i++) { #ifdef ESLOPE - if (endtop < endrealbot) + if (endtop < endrealbot) #endif if (top < realbot) return; - // There's a compiler warning here if this comment isn't here because of indentation if (!(list[i].flags & FF_NOSHADE)) { if (pfloor && (pfloor->flags & FF_FOG)) @@ -859,7 +816,7 @@ static void HWR_SplitWall(sector_t *sector, FOutVector *wallVerts, INT32 texnum, // HWR_DrawSkyWalls // Draw walls into the depth buffer so that anything behind is culled properly -static void HWR_DrawSkyWall(FOutVector *wallVerts, FSurfaceInfo *Surf, fixed_t bottom, fixed_t top) +void HWR_DrawSkyWall(FOutVector *wallVerts, FSurfaceInfo *Surf, fixed_t bottom, fixed_t top) { HWD.pfnSetTexture(NULL); // no texture @@ -883,7 +840,7 @@ static void HWR_DrawSkyWall(FOutVector *wallVerts, FSurfaceInfo *Surf, fixed_t b // Anything between means the wall segment has been clipped with solidsegs, // reducing wall overdraw to a minimum // -static void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom +void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom { FOutVector wallVerts[4]; v2d_t vs, ve; // start, end vertices of 2d line (view from above) @@ -1976,12 +1933,9 @@ static boolean CheckClip(seg_t * seg, sector_t * afrontsector, sector_t * abacks return false; } -// -----------------+ -// HWR_AddLine : Clips the given segment and adds any visible pieces to the line list. -// Notes : gr_cursectorlight is set to the current subsector -> sector -> light value -// : (it may be mixed with the wall's own flat colour in the future ...) -// -----------------+ -static void HWR_AddLine(seg_t * line) +// HWR_AddLine +// Clips the given segment and adds any visible pieces to the line list. +void HWR_AddLine(seg_t *line) { angle_t angle1, angle2; @@ -2046,7 +2000,7 @@ static void HWR_AddLine(seg_t * line) // // modified to use local variables -static boolean HWR_CheckBBox(fixed_t *bspcoord) +boolean HWR_CheckBBox(fixed_t *bspcoord) { INT32 boxpos; fixed_t px1, py1, px2, py2; @@ -2090,7 +2044,7 @@ static boolean HWR_CheckBBox(fixed_t *bspcoord) // Adds all segs in all polyobjects in the given subsector. // Modified for hardware rendering. // -static inline void HWR_AddPolyObjectSegs(void) +void HWR_AddPolyObjectSegs(void) { size_t i, j; seg_t *gr_fakeline = Z_Calloc(sizeof(seg_t), PU_STATIC, NULL); @@ -2126,9 +2080,7 @@ static inline void HWR_AddPolyObjectSegs(void) } #ifdef POLYOBJECTS_PLANES -static void HWR_RenderPolyObjectPlane(polyobj_t *polysector, boolean isceiling, fixed_t fixedheight, - FBITFIELD blendmode, UINT8 lightlevel, lumpnum_t lumpnum, sector_t *FOFsector, - UINT8 alpha, extracolormap_t *planecolormap) +void HWR_RenderPolyObjectPlane(polyobj_t *polysector, boolean isceiling, fixed_t fixedheight, FBITFIELD blendmode, UINT8 lightlevel, lumpnum_t lumpnum, sector_t *FOFsector, UINT8 alpha, extracolormap_t *planecolormap) { float height; //constant y for all points on the convex flat polygon FOutVector *v3d; @@ -2292,7 +2244,7 @@ static void HWR_RenderPolyObjectPlane(polyobj_t *polysector, boolean isceiling, HWD.pfnDrawPolygon(&Surf, planeVerts, nrPlaneVerts, blendmode); } -static void HWR_AddPolyObjectPlanes(void) +void HWR_AddPolyObjectPlanes(void) { size_t i; sector_t *polyobjsector; @@ -2360,9 +2312,8 @@ static void HWR_AddPolyObjectPlanes(void) // HWR_Subsector : Determine floor/ceiling planes. // : Add sprites of things in sector. // : Draw one or more line segments. -// Notes : Sets gr_cursectorlight to the light of the parent sector, to modulate wall textures // -----------------+ -static void HWR_Subsector(size_t num) +void HWR_Subsector(size_t num) { INT16 count; seg_t *line; @@ -2380,11 +2331,6 @@ static void HWR_Subsector(size_t num) if (num >= addsubsector) I_Error("HWR_Subsector: ss %s with numss = %s, addss = %s\n", sizeu1(num), sizeu2(numsubsectors), sizeu3(addsubsector)); - - /*if (num >= numsubsectors) - I_Error("HWR_Subsector: ss %i with numss = %i", - num, - numsubsectors);*/ #endif if (num < numsubsectors) @@ -2488,11 +2434,11 @@ static void HWR_Subsector(size_t num) if (sub->validcount != validcount) { HWR_GetFlat(levelflats[gr_frontsector->floorpic].lumpnum); - HWR_RenderPlane(gr_frontsector, &extrasubsectors[num], false, + HWR_RenderPlane(&extrasubsectors[num], false, // Hack to make things continue to work around slopes. locFloorHeight == cullFloorHeight ? locFloorHeight : gr_frontsector->floorheight, // We now return you to your regularly scheduled rendering. - PF_Occlude, floorlightlevel, levelflats[gr_frontsector->floorpic].lumpnum, NULL, 255, false, floorcolormap); + PF_Occlude, floorlightlevel, levelflats[gr_frontsector->floorpic].lumpnum, NULL, 255, floorcolormap); } } } @@ -2504,11 +2450,11 @@ static void HWR_Subsector(size_t num) if (sub->validcount != validcount) { HWR_GetFlat(levelflats[gr_frontsector->ceilingpic].lumpnum); - HWR_RenderPlane(NULL, &extrasubsectors[num], true, + HWR_RenderPlane(&extrasubsectors[num], true, // Hack to make things continue to work around slopes. locCeilingHeight == cullCeilingHeight ? locCeilingHeight : gr_frontsector->ceilingheight, // We now return you to your regularly scheduled rendering. - PF_Occlude, ceilinglightlevel, levelflats[gr_frontsector->ceilingpic].lumpnum,NULL, 255, false, ceilingcolormap); + PF_Occlude, ceilinglightlevel, levelflats[gr_frontsector->ceilingpic].lumpnum,NULL, 255, ceilingcolormap); } } } @@ -2577,8 +2523,8 @@ static void HWR_Subsector(size_t num) { HWR_GetFlat(levelflats[*rover->bottompic].lumpnum); light = R_GetPlaneLight(gr_frontsector, centerHeight, viewz < cullHeight ? true : false); - HWR_RenderPlane(NULL, &extrasubsectors[num], false, *rover->bottomheight, (rover->flags & FF_RIPPLE ? PF_Ripple : 0)|PF_Occlude, *gr_frontsector->lightlist[light].lightlevel, levelflats[*rover->bottompic].lumpnum, - rover->master->frontsector, 255, false, gr_frontsector->lightlist[light].extra_colormap); + HWR_RenderPlane(&extrasubsectors[num], false, *rover->bottomheight, (rover->flags & FF_RIPPLE ? PF_Ripple : 0)|PF_Occlude, *gr_frontsector->lightlist[light].lightlevel, levelflats[*rover->bottompic].lumpnum, + rover->master->frontsector, 255, gr_frontsector->lightlist[light].extra_colormap); } } @@ -2632,8 +2578,8 @@ static void HWR_Subsector(size_t num) { HWR_GetFlat(levelflats[*rover->toppic].lumpnum); light = R_GetPlaneLight(gr_frontsector, centerHeight, viewz < cullHeight ? true : false); - HWR_RenderPlane(NULL, &extrasubsectors[num], true, *rover->topheight, (rover->flags & FF_RIPPLE ? PF_Ripple : 0)|PF_Occlude, *gr_frontsector->lightlist[light].lightlevel, levelflats[*rover->toppic].lumpnum, - rover->master->frontsector, 255, false, gr_frontsector->lightlist[light].extra_colormap); + HWR_RenderPlane(&extrasubsectors[num], true, *rover->topheight, (rover->flags & FF_RIPPLE ? PF_Ripple : 0)|PF_Occlude, *gr_frontsector->lightlist[light].lightlevel, levelflats[*rover->toppic].lumpnum, + rover->master->frontsector, 255, gr_frontsector->lightlist[light].extra_colormap); } } } @@ -2706,7 +2652,7 @@ static void HWR_Subsector(size_t num) // traversing subtree recursively. // Just call with BSP root. -static void HWR_RenderBSPNode(INT32 bspnum) +void HWR_RenderBSPNode(INT32 bspnum) { node_t *bsp = &nodes[bspnum]; @@ -3651,10 +3597,6 @@ typedef struct static wallinfo_t *wallinfo = NULL; static size_t numwalls = 0; // a list of transparent walls to be drawn -static void HWR_RenderWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap); - -#define MAX_TRANSPARENTWALL 256 - typedef struct { extrasubsector_t *xsub; @@ -3690,7 +3632,6 @@ typedef struct static size_t numpolyplanes = 0; // a list of transparent poyobject floors to be drawn static polyplaneinfo_t *polyplaneinfo = NULL; -//Hurdler: 3D water sutffs typedef struct gr_drawnode_s { planeinfo_t *plane; @@ -3699,13 +3640,11 @@ typedef struct gr_drawnode_s gr_vissprite_t *sprite; } gr_drawnode_t; -static INT32 drawcount = 0; - +#define MAX_TRANSPARENTWALL 256 #define MAX_TRANSPARENTFLOOR 512 // This will likely turn into a copy of HWR_Add3DWater and replace it. -void HWR_AddTransparentFloor(lumpnum_t lumpnum, extrasubsector_t *xsub, boolean isceiling, - fixed_t fixedheight, INT32 lightlevel, INT32 alpha, sector_t *FOFSector, FBITFIELD blend, boolean fogplane, extracolormap_t *planecolormap) +void HWR_AddTransparentFloor(lumpnum_t lumpnum, extrasubsector_t *xsub, boolean isceiling, fixed_t fixedheight, INT32 lightlevel, INT32 alpha, sector_t *FOFSector, FBITFIELD blend, boolean fogplane, extracolormap_t *planecolormap) { static size_t allocedplanes = 0; @@ -3736,8 +3675,7 @@ void HWR_AddTransparentFloor(lumpnum_t lumpnum, extrasubsector_t *xsub, boolean // Adding this for now until I can create extrasubsector info for polyobjects // When that happens it'll just be done through HWR_AddTransparentFloor and HWR_RenderPlane -void HWR_AddTransparentPolyobjectFloor(lumpnum_t lumpnum, polyobj_t *polysector, boolean isceiling, - fixed_t fixedheight, INT32 lightlevel, INT32 alpha, sector_t *FOFSector, FBITFIELD blend, extracolormap_t *planecolormap) +void HWR_AddTransparentPolyobjectFloor(lumpnum_t lumpnum, polyobj_t *polysector, boolean isceiling, fixed_t fixedheight, INT32 lightlevel, INT32 alpha, sector_t *FOFSector, FBITFIELD blend, extracolormap_t *planecolormap) { static size_t allocedpolyplanes = 0; @@ -3764,10 +3702,9 @@ void HWR_AddTransparentPolyobjectFloor(lumpnum_t lumpnum, polyobj_t *polysector, numpolyplanes++; } -// // HWR_RenderDrawNodes // Creates, sorts and renders a list of drawnodes for the current frame. -static void HWR_RenderDrawNodes(void) +void HWR_RenderDrawNodes(void) { UINT32 i = 0, p = 0, prev = 0, loop; const fixed_t pviewz = viewz; @@ -3918,8 +3855,8 @@ static void HWR_RenderDrawNodes(void) if (!(sortnode[sortindex[i]].plane->blend & PF_NoTexture)) HWR_GetFlat(sortnode[sortindex[i]].plane->lumpnum); - HWR_RenderPlane(NULL, sortnode[sortindex[i]].plane->xsub, sortnode[sortindex[i]].plane->isceiling, sortnode[sortindex[i]].plane->fixedheight, sortnode[sortindex[i]].plane->blend, sortnode[sortindex[i]].plane->lightlevel, - sortnode[sortindex[i]].plane->lumpnum, sortnode[sortindex[i]].plane->FOFSector, sortnode[sortindex[i]].plane->alpha, sortnode[sortindex[i]].plane->fogplane, sortnode[sortindex[i]].plane->planecolormap); + HWR_RenderPlane(sortnode[sortindex[i]].plane->xsub, sortnode[sortindex[i]].plane->isceiling, sortnode[sortindex[i]].plane->fixedheight, sortnode[sortindex[i]].plane->blend, sortnode[sortindex[i]].plane->lightlevel, + sortnode[sortindex[i]].plane->lumpnum, sortnode[sortindex[i]].plane->FOFSector, sortnode[sortindex[i]].plane->alpha, /*sortnode[sortindex[i]].plane->fogplane,*/ sortnode[sortindex[i]].plane->planecolormap); } else if (sortnode[sortindex[i]].polyplane) { @@ -3952,8 +3889,7 @@ static void HWR_RenderDrawNodes(void) // -------------------------------------------------------------------------- // Draw all vissprites // -------------------------------------------------------------------------- -// added the stransform so they can be switched as drawing happenes so MD2s and sprites are sorted correctly with each other -static void HWR_DrawSprites(void) +void HWR_DrawSprites(void) { if (gr_visspritecount > 0) { @@ -3989,8 +3925,7 @@ static void HWR_DrawSprites(void) // HWR_AddSprites // During BSP traversal, this adds sprites by sector. // -------------------------------------------------------------------------- -static UINT8 sectorlight; -static void HWR_AddSprites(sector_t *sec) +void HWR_AddSprites(sector_t *sec) { mobj_t *thing; precipmobj_t *precipthing; @@ -4006,9 +3941,6 @@ static void HWR_AddSprites(sector_t *sec) // Well, now it will be done. sec->validcount = validcount; - // sprite lighting - sectorlight = sec->lightlevel & 0xff; - // Handle all things in sector. // If a limit exists, handle things a tiny bit different. if ((limit_dist = (fixed_t)((maptol & TOL_NIGHTS) ? cv_drawdist_nights.value : cv_drawdist.value) << FRACBITS)) @@ -4064,7 +3996,7 @@ static void HWR_AddSprites(sector_t *sec) // Generates a vissprite for a thing if it might be visible. // -------------------------------------------------------------------------- // BP why not use xtoviexangle/viewangletox like in bsp ?.... -static void HWR_ProjectSprite(mobj_t *thing) +void HWR_ProjectSprite(mobj_t *thing) { gr_vissprite_t *vis; float tr_x, tr_y; @@ -4259,7 +4191,7 @@ static void HWR_ProjectSprite(mobj_t *thing) } // Precipitation projector for hardware mode -static void HWR_ProjectPrecipitationSprite(precipmobj_t *thing) +void HWR_ProjectPrecipitationSprite(precipmobj_t *thing) { gr_vissprite_t *vis; float tr_x, tr_y; @@ -4362,10 +4294,9 @@ static void HWR_ProjectPrecipitationSprite(precipmobj_t *thing) vis->precip = true; } -// ========================================================================== -// -// ========================================================================== -static void HWR_DrawSkyBackground(void) +static boolean drewsky = false; + +void HWR_DrawSkyBackground(void) { FOutVector v[4]; angle_t angle; @@ -4373,6 +4304,9 @@ static void HWR_DrawSkyBackground(void) float aspectratio; float angleturn; + if (drewsky) + return; + HWR_GetTexture(skytexture); aspectratio = (float)vid.width/(float)vid.height; @@ -4555,6 +4489,8 @@ static void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) // Draw the sky background. HWR_DrawSkyBackground(); + if (skybox) + drewsky = true; a1 = gld_FrustumAngle(); gld_clipper_Clear(); @@ -4633,6 +4569,7 @@ void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) // Render the skybox if there is one. if (skybox) { + drewsky = false; R_SkyboxFrame(player); HWR_RenderFrame(viewnumber, player, true); } @@ -4645,7 +4582,7 @@ void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) // FOG // ========================================================================== -static void HWR_FoggingOn(void) +void HWR_FoggingOn(void) { HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, cv_grsoftwarefog.value ? 2 : 1); HWD.pfnSetSpecialState(HWD_SET_FOG_DENSITY, cv_grfogdensity.value); @@ -4721,7 +4658,7 @@ void HWR_Shutdown(void) HWD.pfnFlushScreenTextures(); } -static void HWR_AddTransparentWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, INT32 texnum, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap) +void HWR_AddTransparentWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, INT32 texnum, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap) { static size_t allocedwalls = 0; @@ -4746,7 +4683,7 @@ static void HWR_AddTransparentWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, I numwalls++; } -static void HWR_RenderWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap) +void HWR_RenderWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap) { FBITFIELD blendmode = blend; UINT8 alpha = pSurf->PolyColor.s.alpha; // retain the alpha diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index da63d11e..6ed5893f 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -20,6 +20,7 @@ #ifndef __HWR_MAIN_H__ #define __HWR_MAIN_H__ +#include "hw_glob.h" #include "hw_data.h" #include "hw_defs.h" @@ -31,27 +32,44 @@ void HWR_Startup(void); void HWR_Shutdown(void); +extern float gr_viewwidth, gr_viewheight, gr_baseviewwindowy; +extern float gr_viewwindowx, gr_basewindowcentery; +extern FTransform atransform; + +// hw_draw.c +void HWR_DrawPatch(GLPatch_t *gpatch, INT32 x, INT32 y, INT32 option); +void HWR_DrawFixedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t scale, INT32 option, const UINT8 *colormap); +void HWR_DrawCroppedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscale, INT32 option, fixed_t sx, fixed_t sy, fixed_t w, fixed_t h); +void HWR_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color); +void HWR_DrawConsoleFill(INT32 x, INT32 y, INT32 w, INT32 h, UINT32 color, INT32 options); // Lat: separate flags from color since color needs to be an uint to work right. void HWR_drawAMline(const fline_t *fl, INT32 color); void HWR_FadeScreenMenuBack(UINT32 color, INT32 height); void HWR_DrawConsoleBack(UINT32 color, INT32 height); -void HWR_RenderPlayerView(INT32 viewnumber, player_t *player); void HWR_DrawViewBorder(INT32 clearlines); void HWR_DrawFlatFill(INT32 x, INT32 y, INT32 w, INT32 h, lumpnum_t flatlumpnum); + UINT8 *HWR_GetScreenshot(void); boolean HWR_Screenshot(const char *lbmname); -void HWR_SetViewSize(void); -void HWR_DrawPatch(GLPatch_t *gpatch, INT32 x, INT32 y, INT32 option); -void HWR_DrawFixedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t scale, INT32 option, const UINT8 *colormap); -void HWR_DrawCroppedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t scale, INT32 option, fixed_t sx, fixed_t sy, fixed_t w, fixed_t h); -void HWR_DrawCroppedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, INT32 option, fixed_t scale, fixed_t sx, fixed_t sy, fixed_t w, fixed_t h); -void HWR_CreatePlanePolygons(INT32 bspnum); -void HWR_PrepLevelCache(size_t pnumtextures); -void HWR_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color); -void HWR_DrawConsoleFill(INT32 x, INT32 y, INT32 w, INT32 h, UINT32 color, INT32 options); // Lat: separate flags from color since color needs to be an uint to work right. +// hw_main.c +void HWR_RenderPlayerView(INT32 viewnumber, player_t *player); +void HWR_LoadShaders(UINT16 wadnum, boolean PK3); +void HWR_SetViewSize(void); void HWR_AddCommands(void); -void HWR_CorrectSWTricks(void); + +// My original intention was to split hw_main.c +// into files like hw_bsp.c, hw_sprites.c... + +// hw_main.c: Lighting and fog +void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor); +void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor); +UINT8 HWR_FogBlockAlpha(INT32 light, UINT32 color); // Let's see if this can work + +void HWR_FoggingOn(void); + FBITFIELD HWR_TranstableToAlpha(INT32 transtablenum, FSurfaceInfo *pSurf); + +// hw_main.c: Post-rendering void HWR_DoPostProcessor(player_t *player); void HWR_StartScreenWipe(void); void HWR_EndScreenWipe(void); @@ -59,14 +77,55 @@ void HWR_DrawIntermissionBG(void); void HWR_DoWipe(UINT8 wipenum, UINT8 scrnnum); void HWR_MakeScreenFinalTexture(void); void HWR_DrawScreenFinalTexture(int width, int height); -void HWR_LoadShaders(UINT16 wadnum, boolean PK3); -// This stuff is put here so MD2's can use them -void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor); -void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor); +// hw_main.c: Planes +void HWR_RenderPlane(extrasubsector_t *xsub, boolean isceiling, fixed_t fixedheight, FBITFIELD PolyFlags, INT32 lightlevel, lumpnum_t lumpnum, sector_t *FOFsector, UINT8 alpha, extracolormap_t *planecolormap); +void HWR_AddTransparentFloor(lumpnum_t lumpnum, extrasubsector_t *xsub, boolean isceiling, fixed_t fixedheight, INT32 lightlevel, INT32 alpha, sector_t *FOFSector, FBITFIELD blend, boolean fogplane, extracolormap_t *planecolormap); -extern CV_PossibleValue_t granisotropicmode_cons_t[]; +#ifdef POLYOBJECTS +#ifdef POLYOBJECTS_PLANES +void HWR_RenderPolyObjectPlane(polyobj_t *polysector, boolean isceiling, fixed_t fixedheight, FBITFIELD blendmode, UINT8 lightlevel, lumpnum_t lumpnum, sector_t *FOFsector, UINT8 alpha, extracolormap_t *planecolormap); +void HWR_AddPolyObjectPlanes(void); +void HWR_AddTransparentPolyobjectFloor(lumpnum_t lumpnum, polyobj_t *polysector, boolean isceiling, fixed_t fixedheight, INT32 lightlevel, INT32 alpha, sector_t *FOFSector, FBITFIELD blend, extracolormap_t *planecolormap); +#endif +#endif +// hw_main.c: Segs +void HWR_ProcessSeg(void); // Sort of like GLWall::Process in GZDoom +void HWR_RenderWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap); +void HWR_ProjectWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blendmode, INT32 lightlevel, extracolormap_t *wallcolormap); +void HWR_AddTransparentWall(FOutVector *wallVerts, FSurfaceInfo * pSurf, INT32 texnum, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap); +void HWR_SplitWall(sector_t *sector, FOutVector *wallVerts, INT32 texnum, FSurfaceInfo* Surf, INT32 cutflag, ffloor_t *pfloor); +void HWR_DrawSkyWall(FOutVector *wallVerts, FSurfaceInfo *Surf, fixed_t bottom, fixed_t top); +void HWR_DrawSkyBackground(void); + +#ifdef POLYOBJECTS +void HWR_AddPolyObjectSegs(void); +#endif + +// hw_main.c: BSP +void HWR_RenderBSPNode(INT32 bspnum); +void HWR_Subsector(size_t num); +void HWR_AddLine(seg_t *line); +void HWR_RenderDrawNodes(void); +boolean HWR_CheckBBox(fixed_t *bspcoord); + +// hw_main.c: Sprites +void HWR_AddSprites(sector_t *sec); +void HWR_ProjectSprite(mobj_t *thing); +void HWR_ProjectPrecipitationSprite(precipmobj_t *thing); +void HWR_DrawSprites(void); + +// hw_bsp.c +void HWR_CreatePlanePolygons(INT32 bspnum); + +// hw_cache.c +void HWR_PrepLevelCache(size_t pnumtextures); + +// hw_trick.c +void HWR_CorrectSWTricks(void); + +// Console variables extern consvar_t cv_grshaders; extern consvar_t cv_grfov; extern consvar_t cv_grmd2; @@ -82,10 +141,6 @@ extern consvar_t cv_grcorrecttricks; extern consvar_t cv_grfovchange; extern consvar_t cv_grsolvetjoin; -extern float gr_viewwidth, gr_viewheight, gr_baseviewwindowy; - -extern float gr_viewwindowx, gr_basewindowcentery; - -extern FTransform atransform; +extern CV_PossibleValue_t granisotropicmode_cons_t[]; #endif diff --git a/src/hardware/hw_trick.c b/src/hardware/hw_trick.c index 97d86b94..de4a76c5 100644 --- a/src/hardware/hw_trick.c +++ b/src/hardware/hw_trick.c @@ -44,6 +44,7 @@ #include "../doomstat.h" #ifdef HWRENDER +#include "hw_main.h" #include "hw_glob.h" #include "hw_dll.h" #include "../r_local.h" From 5689fca892270d1d2017757f3a7ebf6c72c7203d Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Sat, 13 Apr 2019 18:14:55 -0300 Subject: [PATCH 052/245] fix includes --- src/sdl/ogl_sdl.c | 1 + src/v_video.c | 20 +++++++++----------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/sdl/ogl_sdl.c b/src/sdl/ogl_sdl.c index 789f1d6c..b006047f 100644 --- a/src/sdl/ogl_sdl.c +++ b/src/sdl/ogl_sdl.c @@ -36,6 +36,7 @@ #ifdef HWRENDER #include "../hardware/r_opengl/r_opengl.h" +#include "../hardware/hw_main.h" #include "ogl_sdl.h" #include "../i_system.h" #include "hwsym_sdl.h" diff --git a/src/v_video.c b/src/v_video.c index acb20321..bdebc06b 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -27,7 +27,7 @@ #include "doomstat.h" #ifdef HWRENDER -#include "hardware/hw_glob.h" +#include "hardware/hw_main.h" #endif // Each screen is [vid.width*vid.height]; @@ -340,7 +340,7 @@ void V_DrawFixedPatch(fixed_t x, fixed_t y, fixed_t pscale, INT32 scrn, patch_t #ifdef HWRENDER //if (rendermode != render_soft && !con_startup) // Why? - if (rendermode != render_soft) + if (rendermode == render_opengl) { HWR_DrawFixedPatch((GLPatch_t *)patch, x, y, pscale, scrn, colormap); return; @@ -553,8 +553,7 @@ void V_DrawCroppedPatch(fixed_t x, fixed_t y, fixed_t pscale, INT32 scrn, patch_ return; #ifdef HWRENDER - // Done - if (rendermode != render_soft && !con_startup) + if (rendermode == render_opengl) { HWR_DrawCroppedPatch((GLPatch_t*)patch,x,y,pscale,scrn,sx,sy,w,h); return; @@ -710,7 +709,7 @@ void V_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 c) return; #ifdef HWRENDER - if (rendermode != render_soft && !con_startup) + if (rendermode == render_opengl) { HWR_DrawFill(x, y, w, h, c); return; @@ -828,7 +827,7 @@ void V_DrawFillConsoleMap(INT32 x, INT32 y, INT32 w, INT32 h, INT32 c) return; #ifdef HWRENDER - if (rendermode != render_soft && rendermode != render_none) + if (rendermode == render_opengl) { UINT32 hwcolor = V_GetHWConsBackColor(); HWR_DrawConsoleFill(x, y, w, h, hwcolor, c); // we still use the regular color stuff but only for flags. actual draw color is "hwcolor" for this. @@ -932,7 +931,7 @@ void V_DrawFlatFill(INT32 x, INT32 y, INT32 w, INT32 h, lumpnum_t flatnum) size_t size, lflatsize, flatshift; #ifdef HWRENDER - if (rendermode != render_soft && rendermode != render_none) + if (rendermode == render_opengl) { HWR_DrawFlatFill(x, y, w, h, flatnum); return; @@ -1041,7 +1040,7 @@ void V_DrawFadeScreen(void) UINT8 *buf = screens[0]; #ifdef HWRENDER - if (rendermode != render_soft && rendermode != render_none) + if (rendermode == render_opengl) { HWR_FadeScreenMenuBack(0x01010160, 0); // hack, 0 means full height return; @@ -1060,7 +1059,7 @@ void V_DrawFadeConsBack(INT32 plines) UINT8 *deststop, *buf; #ifdef HWRENDER // not win32 only 19990829 by Kin - if (rendermode != render_soft && rendermode != render_none) + if (rendermode == render_opengl) { UINT32 hwcolor = V_GetHWConsBackColor(); HWR_DrawConsoleBack(hwcolor, plines); @@ -1991,8 +1990,7 @@ void V_DoPostProcessor(INT32 view, postimg_t type, INT32 param) INT32 height, yoffset; #ifdef HWRENDER - // draw a hardware converted patch - if (rendermode != render_soft && rendermode != render_none) + if (rendermode != render_soft) return; #endif From a8165a2ce948b3660f2e3e06cc822aae9be94779 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Sat, 13 Apr 2019 18:47:09 -0300 Subject: [PATCH 053/245] fix skyboxes AGAIN --- src/hardware/hw_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index caf64752..3a688cb5 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -4567,9 +4567,9 @@ void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) } // Render the skybox if there is one. + drewsky = false; if (skybox) { - drewsky = false; R_SkyboxFrame(player); HWR_RenderFrame(viewnumber, player, true); } From 797ca99f42a05e6f2b491983cd7f0222b9bfc519 Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Sun, 14 Apr 2019 16:39:14 +0100 Subject: [PATCH 054/245] Detect infinite alias self-recursion mixed with other commands, such as in the case of `alias a "echo test; a"; a`. (Unfortunately, this does not work if "wait" is used instead of "echo", but oh well) --- src/command.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/command.c b/src/command.c index ba0095e0..fda17847 100644 --- a/src/command.c +++ b/src/command.c @@ -514,7 +514,6 @@ static void COM_ExecuteString(char *ptext) { if (!stricmp(com_argv[0], cmd->name)) //case insensitive now that we have lower and uppercase! { - recursion = 0; cmd->function(); return; } @@ -526,19 +525,17 @@ static void COM_ExecuteString(char *ptext) if (!stricmp(com_argv[0], a->name)) { if (recursion > MAX_ALIAS_RECURSION) - { CONS_Alert(CONS_WARNING, M_GetText("Alias recursion cycle detected!\n")); - recursion = 0; - return; + else + { // Monster Iestyn: keep track of how many levels of recursion we're in + recursion++; + COM_BufInsertText(a->value); + recursion--; } - recursion++; - COM_BufInsertText(a->value); return; } } - recursion = 0; - // check cvars // Hurdler: added at Ebola's request ;) // (don't flood the console in software mode with bad gr_xxx command) From d1b1edcf399b85c74feac5754e41b2c34e939347 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Sun, 14 Apr 2019 19:08:59 -0300 Subject: [PATCH 055/245] More Softwarification --- src/hardware/hw_clip.c | 8 +++----- src/hardware/hw_clip.h | 2 +- src/hardware/hw_defs.h | 1 + src/hardware/hw_drv.h | 2 +- src/hardware/hw_main.c | 26 ++++++++++++++++++++------ src/hardware/hw_main.h | 1 + src/hardware/r_opengl/r_opengl.c | 22 ++++++++++++++++------ src/hardware/r_opengl/r_opengl.h | 1 - src/r_main.c | 1 + src/v_video.c | 2 +- 10 files changed, 45 insertions(+), 21 deletions(-) diff --git a/src/hardware/hw_clip.c b/src/hardware/hw_clip.c index a194d3e9..32b41d8a 100644 --- a/src/hardware/hw_clip.c +++ b/src/hardware/hw_clip.c @@ -320,12 +320,12 @@ void gld_clipper_Clear(void) #define RMUL (1.6f/1.333333f) -angle_t gld_FrustumAngle(void) +angle_t gld_FrustumAngle(angle_t tiltangle) { double floatangle; angle_t a1; - float tilt = (float)fabs(((double)(int)aimingangle) / ANG1); + float tilt = (float)fabs(((double)(int)tiltangle) / ANG1); // NEWCLIP TODO: SRB2CBTODO: make a global render_fov for this function @@ -334,12 +334,10 @@ angle_t gld_FrustumAngle(void) float render_multiplier = 64.0f / render_fovratio / RMUL; if (tilt > 90.0f) - { tilt = 90.0f; - } // If the pitch is larger than this you can look all around at a FOV of 90 - if (abs((signed)aimingangle) > 46 * ANG1) + if (abs((signed)tiltangle) > 46 * ANG1) return 0xffffffff; // ok, this is a gross hack that barely works... diff --git a/src/hardware/hw_clip.h b/src/hardware/hw_clip.h index 3ba26e5e..27a2ed1e 100644 --- a/src/hardware/hw_clip.h +++ b/src/hardware/hw_clip.h @@ -17,7 +17,7 @@ boolean gld_clipper_SafeCheckRange(angle_t startAngle, angle_t endAngle); void gld_clipper_SafeAddClipRange(angle_t startangle, angle_t endangle); void gld_clipper_Clear(void); -angle_t gld_FrustumAngle(void); +angle_t gld_FrustumAngle(angle_t tiltangle); #ifdef HAVE_SPHEREFRUSTRUM void gld_FrustrumSetup(void); boolean gld_SphereInFrustum(float x, float y, float z, float radius); diff --git a/src/hardware/hw_defs.h b/src/hardware/hw_defs.h index 6fea75be..78866158 100644 --- a/src/hardware/hw_defs.h +++ b/src/hardware/hw_defs.h @@ -157,6 +157,7 @@ typedef struct #ifdef USE_FTRANSFORM_MIRROR boolean mirror; // SRB2Kart: Encore Mode #endif + boolean shearing; // 14042019 } FTransform; // Transformed vector, as passed to HWR API diff --git a/src/hardware/hw_drv.h b/src/hardware/hw_drv.h index b7f4b4b0..4f4f2b1d 100644 --- a/src/hardware/hw_drv.h +++ b/src/hardware/hw_drv.h @@ -48,7 +48,7 @@ EXPORT void HWRAPI(SetSpecialState) (hwdspecialstate_t IdState, INT32 Value); //Hurdler: added for new development EXPORT void HWRAPI(DrawModel) (model_t *model, INT32 frameIndex, INT32 duration, INT32 tics, INT32 nextFrameIndex, FTransform *pos, float scale, UINT8 flipped, FSurfaceInfo *Surface); EXPORT void HWRAPI(CreateModelVBOs) (model_t *model); -EXPORT void HWRAPI(SetTransform) (FTransform *ptransform); +EXPORT void HWRAPI(SetTransform) (FTransform *ptransform, angle_t viewaiming); EXPORT INT32 HWRAPI(GetTextureUsed) (void); EXPORT void HWRAPI(FlushScreenTextures) (void); diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 3a688cb5..5b30df0c 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -118,6 +118,7 @@ FTransform atransform; // Float variants of viewx, viewy, viewz, etc. static float gr_viewx, gr_viewy, gr_viewz; static float gr_viewsin, gr_viewcos; +static angle_t gr_aimingangle; static INT32 drawcount = 0; @@ -3843,9 +3844,10 @@ void HWR_RenderDrawNodes(void) } //i++ } // loop++ - HWD.pfnSetTransform(&atransform); - HWD.pfnSetShader(0); // Okay! Let's draw it all! Woo! + HWD.pfnSetTransform(&atransform, aimingangle); + HWD.pfnSetShader(0); + for (i = 0; i < p; i++) { if (sortnode[sortindex[i]].plane) @@ -4464,7 +4466,19 @@ static void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) atransform.scaley = (float)vid.width/vid.height; atransform.scalez = 1; - atransform.anglex = (float)(aimingangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); + // 14042019 + if (!cv_grshearing.value) + { + gr_aimingangle = aimingangle; + atransform.shearing = false; + } + else + { + gr_aimingangle = 0; + atransform.shearing = true; + } + + atransform.anglex = (float)(gr_aimingangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); atransform.angley = (float)(viewangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); atransform.fovxangle = fpov; // Tails @@ -4492,7 +4506,7 @@ static void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) if (skybox) drewsky = true; - a1 = gld_FrustumAngle(); + a1 = gld_FrustumAngle(gr_aimingangle); gld_clipper_Clear(); gld_clipper_SafeAddClipRange(viewangle + a1, viewangle - a1); #ifdef HAVE_SPHEREFRUSTRUM @@ -4500,7 +4514,7 @@ static void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) #endif // Set transform and shader - HWD.pfnSetTransform(&atransform); + HWD.pfnSetTransform(&atransform, aimingangle); HWD.pfnSetShader(0); // Check for shaders @@ -4529,7 +4543,7 @@ static void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) HWR_RenderDrawNodes(); // Unset transform and shader - HWD.pfnSetTransform(NULL); + HWD.pfnSetTransform(NULL, 0.0f); HWD.pfnUnSetShader(); // Disable fog diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index 6ed5893f..04f10f12 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -127,6 +127,7 @@ void HWR_CorrectSWTricks(void); // Console variables extern consvar_t cv_grshaders; +extern consvar_t cv_grshearing; extern consvar_t cv_grfov; extern consvar_t cv_grmd2; extern consvar_t cv_grfog; diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 5866e571..37c6c74a 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -185,8 +185,6 @@ FUNCPRINTF void GL_DBG_Printf(const char *format, ...) #define pglEnable glEnable #define pglDisable glDisable #define pglGetFloatv glGetFloatv -//glGetIntegerv -//glGetString /* Depth Buffer */ #define pglClearDepth glClearDepth @@ -253,7 +251,6 @@ FUNCPRINTF void GL_DBG_Printf(const char *format, ...) /* Miscellaneous */ typedef void (APIENTRY * PFNglClearColor) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); static PFNglClearColor pglClearColor; -//glClear typedef void (APIENTRY * PFNglColorMask) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); static PFNglColorMask pglColorMask; typedef void (APIENTRY * PFNglAlphaFunc) (GLenum func, GLclampf ref); @@ -272,8 +269,6 @@ typedef void (APIENTRY * PFNglDisable) (GLenum cap); static PFNglDisable pglDisable; typedef void (APIENTRY * PFNglGetFloatv) (GLenum pname, GLfloat *params); static PFNglGetFloatv pglGetFloatv; -//glGetIntegerv -//glGetString /* Depth Buffer */ typedef void (APIENTRY * PFNglClearDepth) (GLclampd depth); @@ -2183,7 +2178,7 @@ EXPORT void HWRAPI(DrawModel) (model_t *model, INT32 frameIndex, INT32 duration, // -----------------+ // SetTransform : // -----------------+ -EXPORT void HWRAPI(SetTransform) (FTransform *stransform) +EXPORT void HWRAPI(SetTransform) (FTransform *stransform, angle_t viewaiming) { static boolean special_splitscreen; pglLoadIdentity(); @@ -2204,12 +2199,27 @@ EXPORT void HWRAPI(SetTransform) (FTransform *stransform) else pglScalef(stransform->scalex, stransform->scaley, -stransform->scalez); + pglMatrixMode(GL_MODELVIEW); pglRotatef(stransform->anglex, 1.0f, 0.0f, 0.0f); pglRotatef(stransform->angley+270.0f, 0.0f, 1.0f, 0.0f); pglTranslatef(-stransform->x, -stransform->z, -stransform->y); pglMatrixMode(GL_PROJECTION); pglLoadIdentity(); + + // jimita 14042019 + // Simulate Software's y-shearing + // https://zdoom.org/wiki/Y-shearing + if (stransform->shearing) + { + float tilt = (float)(viewaiming>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); + if (tilt >= 270.0f) + tilt = -(90.0f - (tilt - 270.0f)); + tilt /= 24.0f; // ????????? + + pglTranslatef(0.0f, -tilt, 0.0f); + } + fovx90 = stransform->fovxangle > 0.0f && fabsf(stransform->fovxangle - 90.0f) < 0.5f; special_splitscreen = (stransform->splitscreen && fovx90); if (special_splitscreen) diff --git a/src/hardware/r_opengl/r_opengl.h b/src/hardware/r_opengl/r_opengl.h index d74b9445..3380bdcb 100644 --- a/src/hardware/r_opengl/r_opengl.h +++ b/src/hardware/r_opengl/r_opengl.h @@ -71,7 +71,6 @@ boolean SetupGLfunc(void); void SetupGLFunc4(void); void Flush(void); INT32 isExtAvailable(const char *extension, const GLubyte *start); -int SetupPixelFormat(INT32 WantColorBits, INT32 WantStencilBits, INT32 WantDepthBits); void SetModelView(GLint w, GLint h); void SetStates(void); #ifdef USE_PALETTED_TEXTURE diff --git a/src/r_main.c b/src/r_main.c index bada24e4..9c143d48 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -1395,6 +1395,7 @@ void R_RegisterEngineStuff(void) CV_RegisterVar(&cv_grsoftwarefog); CV_RegisterVar(&cv_grfogdensity); CV_RegisterVar(&cv_grmd2); + CV_RegisterVar(&cv_grshearing); CV_RegisterVar(&cv_grshaders); #endif diff --git a/src/v_video.c b/src/v_video.c index bdebc06b..b341076c 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -72,9 +72,9 @@ consvar_t cv_grgammagreen = {"gr_gammagreen", "127", CV_SAVE|CV_CALL, grgamma_co consvar_t cv_grgammablue = {"gr_gammablue", "127", CV_SAVE|CV_CALL, grgamma_cons_t, CV_Gammaxxx_ONChange, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grshearing = {"gr_shearing", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; static CV_PossibleValue_t CV_MD2[] = {{0, "Off"}, {1, "On"}, {2, "Old"}, {0, NULL}}; -// console variables in development consvar_t cv_grmd2 = {"gr_md2", "Off", CV_SAVE, CV_MD2, NULL, 0, NULL, NULL, 0, 0, NULL}; #endif From 6b6485159fd094dfc9544250f2e7d004e147bfb1 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Sun, 14 Apr 2019 19:44:56 -0300 Subject: [PATCH 056/245] Add "Software Perspective" toggle on the "GPU Options" menu --- src/m_menu.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/m_menu.c b/src/m_menu.c index c55274ea..77af8f7a 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -1206,16 +1206,18 @@ static menuitem_t OP_VideoModeMenu[] = #ifdef HWRENDER static menuitem_t OP_OpenGLOptionsMenu[] = { - {IT_STRING|IT_CVAR, NULL, "Shaders", &cv_grshaders, 10}, - {IT_STRING|IT_CVAR, NULL, "Field of view", &cv_grfov, 20}, - {IT_STRING|IT_CVAR, NULL, "Quality", &cv_scr_depth, 30}, - {IT_STRING|IT_CVAR, NULL, "Texture Filter", &cv_grfiltermode, 40}, - {IT_STRING|IT_CVAR, NULL, "Anisotropic", &cv_granisotropicmode,50}, + {IT_STRING|IT_CVAR, NULL, "Shaders", &cv_grshaders, 10}, + {IT_STRING|IT_CVAR, NULL, "Software Perspective", &cv_grshearing, 20}, + + {IT_STRING|IT_CVAR, NULL, "Field of view", &cv_grfov, 40}, + {IT_STRING|IT_CVAR, NULL, "Quality", &cv_scr_depth, 50}, + {IT_STRING|IT_CVAR, NULL, "Texture Filter", &cv_grfiltermode, 60}, + {IT_STRING|IT_CVAR, NULL, "Anisotropic", &cv_granisotropicmode, 70}, #ifdef _WINDOWS - {IT_STRING|IT_CVAR, NULL, "Fullscreen", &cv_fullscreen, 60}, + {IT_STRING|IT_CVAR, NULL, "Fullscreen", &cv_fullscreen, 80}, #endif - {IT_SUBMENU|IT_STRING, NULL, "Fog...", &OP_OpenGLFogDef, 90}, - {IT_SUBMENU|IT_STRING, NULL, "Gamma...", &OP_OpenGLColorDef, 100}, + {IT_SUBMENU|IT_STRING, NULL, "Fog...", &OP_OpenGLFogDef, 110}, + {IT_SUBMENU|IT_STRING, NULL, "Gamma...", &OP_OpenGLColorDef, 120}, }; static menuitem_t OP_OpenGLFogMenu[] = From 2ff4a3ca75495dd2632235abedc20ac111eb0d8d Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Tue, 30 Apr 2019 20:59:32 -0300 Subject: [PATCH 057/245] Match Kart-Public's next since it got merged anyway and fix something else --- src/doomdef.h | 6 ++- src/hardware/hw_bsp.c | 2 +- src/hardware/hw_dll.h | 3 -- src/hardware/r_opengl/r_opengl.c | 76 +++++++++++++++++--------------- src/r_plane.c | 2 +- 5 files changed, 48 insertions(+), 41 deletions(-) diff --git a/src/doomdef.h b/src/doomdef.h index 6289217b..485af878 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -428,13 +428,17 @@ INT32 I_GetKey(void); #define max(x, y) (((x) > (y)) ? (x) : (y)) #endif +#ifndef M_PIl +#define M_PIl 3.1415926535897932384626433832795029L +#endif + // Floating point comparison epsilons from float.h #ifndef FLT_EPSILON #define FLT_EPSILON 1.1920928955078125e-7f #endif #ifndef DBL_EPSILON -#define DBL_EPSILON 2.2204460492503131e-16 +#define DBL_EPSILON 2.2204460492503131e-16l #endif // An assert-type mechanism. diff --git a/src/hardware/hw_bsp.c b/src/hardware/hw_bsp.c index 0f4cd1dd..3910da58 100644 --- a/src/hardware/hw_bsp.c +++ b/src/hardware/hw_bsp.c @@ -114,7 +114,7 @@ static polyvertex_t *fracdivline(fdivline_t *bsp, polyvertex_t *v1, // (do not accept hit with the extensions) num = (v2x - v1x)*v2dy + (v1y - v2y)*v2dx; frac = num / den; - if (frac < 0.0 || frac > 1.0) + if (frac < 0.0l || frac > 1.0l) return NULL; // now get the frac along the BSP line diff --git a/src/hardware/hw_dll.h b/src/hardware/hw_dll.h index d97d334b..237b068e 100644 --- a/src/hardware/hw_dll.h +++ b/src/hardware/hw_dll.h @@ -59,9 +59,6 @@ // ========================================================================== // Constants -#ifndef M_PIl -#define M_PIl 3.1415926535897932384626433832795029L -#endif #define DEGREE (0.017453292519943295769236907684883l) // 2*PI/360 void GL_DBG_Printf(const char *format, ...) /*FUNCPRINTF*/; diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 37c6c74a..63074899 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -1894,6 +1894,10 @@ static void CreateModelVBO(mesh_t *mesh, mdlframe_t *frame) pglBindBuffer(GL_ARRAY_BUFFER, frame->vboID); pglBufferData(GL_ARRAY_BUFFER, bufferSize, buffer, GL_STATIC_DRAW); free(buffer); + + // Don't leave the array buffer bound to the model, + // since this is called mid-frame + pglBindBuffer(GL_ARRAY_BUFFER, 0); } static void CreateModelVBOTiny(mesh_t *mesh, tinyframe_t *frame) @@ -1935,6 +1939,10 @@ static void CreateModelVBOTiny(mesh_t *mesh, tinyframe_t *frame) pglBindBuffer(GL_ARRAY_BUFFER, frame->vboID); pglBufferData(GL_ARRAY_BUFFER, bufferSize, buffer, GL_STATIC_DRAW); free(buffer); + + // Don't leave the array buffer bound to the model, + // since this is called mid-frame + pglBindBuffer(GL_ARRAY_BUFFER, 0); } EXPORT void HWRAPI(CreateModelVBOs) (model_t *model) @@ -2181,10 +2189,13 @@ EXPORT void HWRAPI(DrawModel) (model_t *model, INT32 frameIndex, INT32 duration, EXPORT void HWRAPI(SetTransform) (FTransform *stransform, angle_t viewaiming) { static boolean special_splitscreen; + GLdouble used_fov; + boolean shearing = false; pglLoadIdentity(); if (stransform) { - boolean fovx90; + used_fov = stransform->fovxangle; + shearing = stransform->shearing; // keep a trace of the transformation for md2 memcpy(&md2_transform, stransform, sizeof (md2_transform)); @@ -2204,46 +2215,41 @@ EXPORT void HWRAPI(SetTransform) (FTransform *stransform, angle_t viewaiming) pglRotatef(stransform->angley+270.0f, 0.0f, 1.0f, 0.0f); pglTranslatef(-stransform->x, -stransform->z, -stransform->y); - pglMatrixMode(GL_PROJECTION); - pglLoadIdentity(); - - // jimita 14042019 - // Simulate Software's y-shearing - // https://zdoom.org/wiki/Y-shearing - if (stransform->shearing) - { - float tilt = (float)(viewaiming>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); - if (tilt >= 270.0f) - tilt = -(90.0f - (tilt - 270.0f)); - tilt /= 24.0f; // ????????? - - pglTranslatef(0.0f, -tilt, 0.0f); - } - - fovx90 = stransform->fovxangle > 0.0f && fabsf(stransform->fovxangle - 90.0f) < 0.5f; - special_splitscreen = (stransform->splitscreen && fovx90); - if (special_splitscreen) - GLPerspective(53.13f, 2*ASPECT_RATIO); // 53.13 = 2*atan(0.5) - else - GLPerspective(stransform->fovxangle, ASPECT_RATIO); - pglGetFloatv(GL_PROJECTION_MATRIX, projMatrix); // added for new coronas' code (without depth buffer) - pglMatrixMode(GL_MODELVIEW); + special_splitscreen = (stransform->splitscreen == 1); } else { + //Hurdler: is "fov" correct? + used_fov = fov; pglScalef(1.0f, 1.0f, -1.0f); - - pglMatrixMode(GL_PROJECTION); - pglLoadIdentity(); - if (special_splitscreen) - GLPerspective(53.13f, 2*ASPECT_RATIO); // 53.13 = 2*atan(0.5) - else - //Hurdler: is "fov" correct? - GLPerspective(fov, ASPECT_RATIO); - pglGetFloatv(GL_PROJECTION_MATRIX, projMatrix); // added for new coronas' code (without depth buffer) - pglMatrixMode(GL_MODELVIEW); } + pglMatrixMode(GL_PROJECTION); + pglLoadIdentity(); + + // jimita 14042019 + // Simulate Software's y-shearing + // https://zdoom.org/wiki/Y-shearing + if (shearing) + { + float tilt = (float)(viewaiming>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); + if (tilt >= 270.0f) + tilt = -(90.0f - (tilt - 270.0f)); + tilt /= 24.0f; // ????????? + + pglTranslatef(0.0f, -tilt, 0.0f); + } + + if (special_splitscreen) + { + used_fov = atan(tan(used_fov*M_PIl/360)*0.8)*360/M_PIl; + GLPerspective((GLfloat)used_fov, 2*ASPECT_RATIO); + } + else + GLPerspective((GLfloat)used_fov, ASPECT_RATIO); + pglGetFloatv(GL_PROJECTION_MATRIX, projMatrix); // added for new coronas' code (without depth buffer) + pglMatrixMode(GL_MODELVIEW); + pglGetFloatv(GL_MODELVIEW_MATRIX, modelMatrix); // added for new coronas' code (without depth buffer) } diff --git a/src/r_plane.c b/src/r_plane.c index 5cb53a53..ab111f86 100644 --- a/src/r_plane.c +++ b/src/r_plane.c @@ -973,7 +973,7 @@ void R_DrawSinglePlane(visplane_t *pl) temp = P_GetZAt(pl->slope, pl->viewx, pl->viewy); zeroheight = FIXED_TO_FLOAT(temp); -#define ANG2RAD(angle) ((float)((angle)*M_PI)/ANGLE_180) +#define ANG2RAD(angle) ((float)((angle)*M_PIl)/ANGLE_180) // p is the texture origin in view space // Don't add in the offsets at this stage, because doing so can result in From 0bc8d2a49de292f55b86b40a4a7ca88a2c4b2cde Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Wed, 1 May 2019 19:37:42 -0300 Subject: [PATCH 058/245] 01052019 --- src/doomdef.h | 4 ++ src/hardware/hw_drv.h | 1 - src/hardware/hw_main.c | 5 ++- src/hardware/hw_main.h | 3 +- src/hardware/r_opengl/r_opengl.c | 75 ++++++++++++++++---------------- src/sdl/hwsym_sdl.c | 1 - src/sdl/i_video.c | 1 - 7 files changed, 47 insertions(+), 43 deletions(-) diff --git a/src/doomdef.h b/src/doomdef.h index 485af878..2c7b64f9 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -535,4 +535,8 @@ extern const char *compdate, *comptime, *comprevision, *compbranch; /// SRB2CB itself ported this from PrBoom+ //#define NEWCLIP +// GL4 +#define GL_SHADERS +//#define GL_PORTALS + #endif // __DOOMDEF__ diff --git a/src/hardware/hw_drv.h b/src/hardware/hw_drv.h index 4f4f2b1d..21e2a8ed 100644 --- a/src/hardware/hw_drv.h +++ b/src/hardware/hw_drv.h @@ -106,7 +106,6 @@ struct hwdriver_s MakeScreenFinalTexture pfnMakeScreenFinalTexture; DrawScreenFinalTexture pfnDrawScreenFinalTexture; - // jimita LoadShaders pfnLoadShaders; KillShaders pfnKillShaders; SetShader pfnSetShader; diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 5b30df0c..0cd0d7fb 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -1514,9 +1514,10 @@ void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom wallVerts[2].y = wallVerts[3].y = FIXED_TO_FLOAT(worldtop); wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(worldbottom); #endif - // I don't think that solid walls can use translucent linedef types... + if (gr_frontsector->numlights) HWR_SplitWall(gr_frontsector, wallVerts, gr_midtexture, &Surf, FF_CUTLEVEL, NULL); + // I don't think that solid walls can use translucent linedef types... else { if (grTex->mipmap.flags & TF_TRANSPARENT) @@ -4432,7 +4433,7 @@ void HWR_SetViewSize(void) // ========================================================================== // Render the current frame. // ========================================================================== -static void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) +void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) { angle_t a1; const float fpov = FIXED_TO_FLOAT(cv_grfov.value+player->fovadd); diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index 04f10f12..9250dccb 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -52,6 +52,7 @@ UINT8 *HWR_GetScreenshot(void); boolean HWR_Screenshot(const char *lbmname); // hw_main.c +void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox); void HWR_RenderPlayerView(INT32 viewnumber, player_t *player); void HWR_LoadShaders(UINT16 wadnum, boolean PK3); void HWR_SetViewSize(void); @@ -107,8 +108,8 @@ void HWR_AddPolyObjectSegs(void); void HWR_RenderBSPNode(INT32 bspnum); void HWR_Subsector(size_t num); void HWR_AddLine(seg_t *line); -void HWR_RenderDrawNodes(void); boolean HWR_CheckBBox(fixed_t *bspcoord); +void HWR_RenderDrawNodes(void); // hw_main.c: Sprites void HWR_AddSprites(sector_t *sec); diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 63074899..2d252726 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -223,6 +223,7 @@ FUNCPRINTF void GL_DBG_Printf(const char *format, ...) #define pglLightfv glLightfv #define pglLightModelfv glLightModelfv #define pglMaterialfv glMaterialfv +#define pglMateriali glMateriali /* Raster functions */ #define pglPixelStorei glPixelStorei @@ -239,6 +240,7 @@ FUNCPRINTF void GL_DBG_Printf(const char *format, ...) /* 1.1 functions */ /* texture objects */ //GL_EXT_texture_object +#define pglGenTextures glGenTextures #define pglDeleteTextures glDeleteTextures #define pglBindTexture glBindTexture /* texture mapping */ //GL_EXT_copy_texture @@ -335,6 +337,8 @@ typedef void (APIENTRY * PFNglLightModelfv) (GLenum pname, GLfloat *params); static PFNglLightModelfv pglLightModelfv; typedef void (APIENTRY * PFNglMaterialfv) (GLint face, GLenum pname, GLfloat *params); static PFNglMaterialfv pglMaterialfv; +typedef void (APIENTRY * PFNglMateriali) (GLint face, GLenum pname, GLint param); +static PFNglMateriali pglMateriali; /* Raster functions */ typedef void (APIENTRY * PFNglPixelStorei) (GLenum pname, GLint param); @@ -358,6 +362,8 @@ static PFNglFogfv pglFogfv; /* 1.1 functions */ /* texture objects */ //GL_EXT_texture_object +typedef void (APIENTRY * PFNglGenTextures) (GLsizei n, const GLuint *textures); +static PFNglGenTextures pglGenTextures; typedef void (APIENTRY * PFNglDeleteTextures) (GLsizei n, const GLuint *textures); static PFNglDeleteTextures pglDeleteTextures; typedef void (APIENTRY * PFNglBindTexture) (GLenum target, GLuint texture); @@ -459,6 +465,7 @@ boolean SetupGLfunc(void) GETOPENGLFUNC(pglLightfv, glLightfv) GETOPENGLFUNC(pglLightModelfv, glLightModelfv) GETOPENGLFUNC(pglMaterialfv, glMaterialfv) + GETOPENGLFUNC(pglMateriali, glMateriali) GETOPENGLFUNC(pglPixelStorei, glPixelStorei) GETOPENGLFUNC(pglReadPixels, glReadPixels) @@ -470,6 +477,7 @@ boolean SetupGLfunc(void) GETOPENGLFUNC(pglFogf, glFogf) GETOPENGLFUNC(pglFogfv, glFogfv) + GETOPENGLFUNC(pglGenTextures, glGenTextures) GETOPENGLFUNC(pglDeleteTextures, glDeleteTextures) GETOPENGLFUNC(pglBindTexture, glBindTexture) @@ -481,19 +489,13 @@ boolean SetupGLfunc(void) return true; } -// jtc - -// glstate static INT32 glstate_fog_mode = 0; static float glstate_fog_density = 0; -// hw_glob.h INT32 gl_leveltime = 0; -#define USE_SHADERS - -// shaders -#ifdef USE_SHADERS +// GL4 +#ifdef GL_SHADERS #define MAXSHADERS 16 #define MAXSHADERPROGRAMS 16 @@ -556,7 +558,6 @@ static PFNglGetUniformLocation pglGetUniformLocation; // Fragment shaders // -// Macro to reduce boilerplate code #define GLSL_SHARED_FOG_FUNCTION \ "float fog(const float dist, const float density, const float globaldensity) {\n" \ "const float LOG2 = -1.442695;\n" \ @@ -569,30 +570,31 @@ static PFNglGetUniformLocation pglGetUniformLocation; "return 1.0 - clamp(exp2(d * d * globaldensity * LOG2), 0.0, 1.0);\n" \ "}\n" -// Macro to reduce boilerplate code #define GLSL_SHARED_FOG_MIX \ "float fog_distance = gl_FragCoord.z / gl_FragCoord.w;\n" \ "float fog_attenuation = fog(fog_distance, 0.0001 * ((256-lighting)/24), fog_density);\n" \ "if (fog_mode == 2)\n" \ "fog_attenuation = floor(fog_attenuation*10)/10;\n" \ "vec4 fog_color = vec4(fade_color[0], fade_color[1], fade_color[2], 1.0);\n" \ - "vec4 mixed_color = color * mix_color;\n" \ + "vec4 mixed_color = texel * mix_color;\n" \ "vec4 final_color = mix(mixed_color, fog_color, fog_attenuation);\n" \ "final_color[3] = mixed_color[3];\n" -// Macro to reduce boilerplate code -#define SHARED_FRAGMENT_SHADER \ +#define GLSL_FRAGMENT_SHADER_HEADER \ "uniform sampler2D tex;\n" \ "uniform vec4 mix_color;\n" \ "uniform vec4 fade_color;\n" \ "uniform float lighting;\n" \ "uniform int fog_mode;\n" \ "uniform float fog_density;\n" \ + +#define SHARED_FRAGMENT_SHADER \ + GLSL_FRAGMENT_SHADER_HEADER \ GLSL_SHARED_FOG_FUNCTION \ "void main(void) {\n" \ - "vec4 color = texture2D(tex, gl_TexCoord[0].st);\n" \ + "vec4 texel = texture2D(tex, gl_TexCoord[0].st);\n" \ "if (fog_mode == 0)\n" \ - "gl_FragColor = color * mix_color;\n" \ + "gl_FragColor = texel * mix_color;\n" \ "else\n" \ "{\n" \ GLSL_SHARED_FOG_MIX \ @@ -643,7 +645,6 @@ static const char *fragment_shaders[] = { // Vertex shaders // -// Macro to reduce boilerplate code #define DEFAULT_VERTEX_SHADER \ "void main()\n" \ "{\n" \ @@ -679,7 +680,7 @@ static const char *vertex_shaders[] = { DEFAULT_VERTEX_SHADER, }; -#endif // USE_SHADERS +#endif // GL_SHADERS void SetupGLFunc4(void) { @@ -692,7 +693,7 @@ void SetupGLFunc4(void) pglBufferData = GetGLFunc("glBufferData"); pglDeleteBuffers = GetGLFunc("glDeleteBuffers"); -#ifdef USE_SHADERS +#ifdef GL_SHADERS pglCreateShader = GetGLFunc("glCreateShader"); pglShaderSource = GetGLFunc("glShaderSource"); pglCompileShader = GetGLFunc("glCompileShader"); @@ -722,7 +723,7 @@ void SetupGLFunc4(void) // jimita EXPORT void HWRAPI(LoadShaders) (void) { -#ifdef USE_SHADERS +#ifdef GL_SHADERS GLuint gl_vertShader, gl_fragShader; GLint i, result; @@ -806,7 +807,7 @@ EXPORT void HWRAPI(LoadShaders) (void) EXPORT void HWRAPI(LoadCustomShader) (int number, char *shader, size_t size, boolean fragment) { -#ifdef USE_SHADERS +#ifdef GL_SHADERS if (number < 1 || number > MAXSHADERS) I_Error("LoadCustomShader(): cannot load shader %d (max %d)", number, MAXSHADERS); @@ -827,7 +828,7 @@ EXPORT void HWRAPI(LoadCustomShader) (int number, char *shader, size_t size, boo EXPORT void HWRAPI(InitCustomShaders) (void) { -#ifdef USE_SHADERS +#ifdef GL_SHADERS KillShaders(); LoadShaders(); #endif @@ -835,7 +836,7 @@ EXPORT void HWRAPI(InitCustomShaders) (void) EXPORT void HWRAPI(SetShader) (int shader) { -#ifdef USE_SHADERS +#ifdef GL_SHADERS if (gl_allowshaders) { gl_shadersenabled = true; @@ -848,7 +849,7 @@ EXPORT void HWRAPI(SetShader) (int shader) EXPORT void HWRAPI(UnSetShader) (void) { -#ifdef USE_SHADERS +#ifdef GL_SHADERS gl_shadersenabled = false; gl_currentshaderprogram = 0; #endif @@ -856,7 +857,7 @@ EXPORT void HWRAPI(UnSetShader) (void) EXPORT void HWRAPI(KillShaders) (void) { -#ifdef USE_SHADERS +#ifdef GL_SHADERS GLint total_shaders = gl_totalshaders; GLint i; @@ -951,8 +952,6 @@ void SetModelView(GLint w, GLint h) // -----------------+ void SetStates(void) { - pglShadeModel(GL_SMOOTH); // iterate vertice colors - pglEnable(GL_TEXTURE_2D); // two-dimensional texturing pglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); @@ -982,7 +981,6 @@ void SetStates(void) pglGetFloatv(GL_MODELVIEW_MATRIX, modelMatrix); // added for new coronas' code (without depth buffer) } - // -----------------+ // Flush : flush OpenGL textures // : Clear list of downloaded mipmaps @@ -1586,7 +1584,7 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo) // jimita static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *mix, GLRGBAFloat *fade) { -#ifdef USE_SHADERS +#ifdef GL_SHADERS if (gl_shadersenabled) { if (gl_shaderprograms[gl_currentshaderprogram]) @@ -1596,15 +1594,17 @@ static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *mix, GLRGBAFloat *f // // set uniforms // - GLint UNIFORM_fog_mode = pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], "fog_mode"); - GLint UNIFORM_fog_density = pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], "fog_density"); +#define GETUNI(uniform) pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], uniform); + GLint UNIFORM_fog_mode = GETUNI("fog_mode"); + GLint UNIFORM_fog_density = GETUNI("fog_density"); - GLint UNIFORM_mix_color = pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], "mix_color"); - GLint UNIFORM_fade_color = pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], "fade_color"); - GLint UNIFORM_lighting = pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], "lighting"); + GLint UNIFORM_mix_color = GETUNI("mix_color"); + GLint UNIFORM_fade_color = GETUNI("fade_color"); + GLint UNIFORM_lighting = GETUNI("lighting"); - GLint UNIFORM_resolution = pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], "resolution"); - GLint UNIFORM_leveltime = pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], "leveltime"); + GLint UNIFORM_resolution = GETUNI("resolution"); + GLint UNIFORM_leveltime = GETUNI("leveltime"); +#undef GETUNI #define UNIFORM_1(uniform, a, function) \ if (uniform != -1) \ @@ -1695,7 +1695,7 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUI if (PolyFlags & PF_ForceWrapY) Clamp2D(GL_TEXTURE_WRAP_T); -#ifdef USE_SHADERS +#ifdef GL_SHADERS pglUseProgram(0); #endif } @@ -2170,7 +2170,7 @@ static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32 pglDisable(GL_CULL_FACE); pglDisable(GL_NORMALIZE); -#ifdef USE_SHADERS +#ifdef GL_SHADERS pglUseProgram(0); #endif } @@ -2359,6 +2359,7 @@ EXPORT void HWRAPI(FlushScreenTextures) (void) pglDeleteTextures(1, &startScreenWipe); pglDeleteTextures(1, &endScreenWipe); pglDeleteTextures(1, &finalScreenTexture); + screentexture = 0; startScreenWipe = 0; endScreenWipe = 0; diff --git a/src/sdl/hwsym_sdl.c b/src/sdl/hwsym_sdl.c index bd2b5ab7..09910baf 100644 --- a/src/sdl/hwsym_sdl.c +++ b/src/sdl/hwsym_sdl.c @@ -101,7 +101,6 @@ void *hwSym(const char *funcName,void *handle) GETFUNC(MakeScreenFinalTexture); GETFUNC(DrawScreenFinalTexture); - // jimita GETFUNC(LoadShaders); GETFUNC(KillShaders); GETFUNC(SetShader); diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index 21a04682..8fedddcd 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -1499,7 +1499,6 @@ void I_StartupGraphics(void) HWD.pfnMakeScreenFinalTexture=hwSym("MakeScreenFinalTexture",NULL); HWD.pfnDrawScreenFinalTexture=hwSym("DrawScreenFinalTexture",NULL); - // jimita HWD.pfnLoadShaders = hwSym("LoadShaders",NULL); HWD.pfnKillShaders = hwSym("KillShaders",NULL); HWD.pfnSetShader = hwSym("SetShader",NULL); From 8f05d759263dfe3a57990f101f10cec6d1283936 Mon Sep 17 00:00:00 2001 From: wolfy852 Date: Wed, 8 May 2019 09:36:37 -0500 Subject: [PATCH 059/245] Don't skip frames when connecting or paused --- src/sdl/i_video.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index dbaa7037..f7afcf7d 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -984,6 +984,7 @@ void I_UpdateNoBlit(void) // from PrBoom's src/SDL/i_video.c static inline boolean I_SkipFrame(void) { +#if 0 static boolean skip = false; if (rendermode != render_soft) @@ -1003,6 +1004,8 @@ static inline boolean I_SkipFrame(void) default: return false; } +#endif + return false; } // From 7ac0a8b4d2cfd65a72dae30fd8824ea7d39b35ce Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 4 Mar 2019 22:13:22 -0800 Subject: [PATCH 060/245] Check that lumps are okay --- src/p_saveg.c | 149 +++++++++++++++++++++++++------------------------- 1 file changed, 76 insertions(+), 73 deletions(-) diff --git a/src/p_saveg.c b/src/p_saveg.c index 12ee1345..13117f07 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -649,84 +649,87 @@ static void P_NetArchiveWorld(void) mld = W_CacheLumpNum(lastloadedmaplumpnum+ML_LINEDEFS, PU_CACHE); msd = W_CacheLumpNum(lastloadedmaplumpnum+ML_SIDEDEFS, PU_CACHE); - // do lines - for (i = 0; i < numlines; i++, mld++, li++) + if (mld && msd) { - diff = diff2 = 0; - - if (li->special != SHORT(mld->special)) - diff |= LD_SPECIAL; - - if (SHORT(mld->special) == 321 || SHORT(mld->special) == 322) // only reason li->callcount would be non-zero is if either of these are involved - diff |= LD_CLLCOUNT; - - if (li->sidenum[0] != 0xffff) + // do lines + for (i = 0; i < numlines; i++, mld++, li++) { - si = &sides[li->sidenum[0]]; - if (si->textureoffset != SHORT(msd[li->sidenum[0]].textureoffset)<sidenum[0]].toptexture) != -1 - && si->toptexture != R_TextureNumForName(msd[li->sidenum[0]].toptexture)) - diff |= LD_S1TOPTEX; - if (R_CheckTextureNumForName(msd[li->sidenum[0]].bottomtexture) != -1 - && si->bottomtexture != R_TextureNumForName(msd[li->sidenum[0]].bottomtexture)) - diff |= LD_S1BOTTEX; - if (R_CheckTextureNumForName(msd[li->sidenum[0]].midtexture) != -1 - && si->midtexture != R_TextureNumForName(msd[li->sidenum[0]].midtexture)) - diff |= LD_S1MIDTEX; - } - if (li->sidenum[1] != 0xffff) - { - si = &sides[li->sidenum[1]]; - if (si->textureoffset != SHORT(msd[li->sidenum[1]].textureoffset)<sidenum[1]].toptexture) != -1 - && si->toptexture != R_TextureNumForName(msd[li->sidenum[1]].toptexture)) - diff2 |= LD_S2TOPTEX; - if (R_CheckTextureNumForName(msd[li->sidenum[1]].bottomtexture) != -1 - && si->bottomtexture != R_TextureNumForName(msd[li->sidenum[1]].bottomtexture)) - diff2 |= LD_S2BOTTEX; - if (R_CheckTextureNumForName(msd[li->sidenum[1]].midtexture) != -1 - && si->midtexture != R_TextureNumForName(msd[li->sidenum[1]].midtexture)) - diff2 |= LD_S2MIDTEX; - if (diff2) - diff |= LD_DIFF2; - } + diff = diff2 = 0; - if (diff) - { - statline++; - WRITEINT16(put, i); - WRITEUINT8(put, diff); - if (diff & LD_DIFF2) - WRITEUINT8(put, diff2); - if (diff & LD_FLAG) - WRITEINT16(put, li->flags); - if (diff & LD_SPECIAL) - WRITEINT16(put, li->special); - if (diff & LD_CLLCOUNT) - WRITEINT16(put, li->callcount); + if (li->special != SHORT(mld->special)) + diff |= LD_SPECIAL; - si = &sides[li->sidenum[0]]; - if (diff & LD_S1TEXOFF) - WRITEFIXED(put, si->textureoffset); - if (diff & LD_S1TOPTEX) - WRITEINT32(put, si->toptexture); - if (diff & LD_S1BOTTEX) - WRITEINT32(put, si->bottomtexture); - if (diff & LD_S1MIDTEX) - WRITEINT32(put, si->midtexture); + if (SHORT(mld->special) == 321 || SHORT(mld->special) == 322) // only reason li->callcount would be non-zero is if either of these are involved + diff |= LD_CLLCOUNT; - si = &sides[li->sidenum[1]]; - if (diff2 & LD_S2TEXOFF) - WRITEFIXED(put, si->textureoffset); - if (diff2 & LD_S2TOPTEX) - WRITEINT32(put, si->toptexture); - if (diff2 & LD_S2BOTTEX) - WRITEINT32(put, si->bottomtexture); - if (diff2 & LD_S2MIDTEX) - WRITEINT32(put, si->midtexture); + if (li->sidenum[0] != 0xffff) + { + si = &sides[li->sidenum[0]]; + if (si->textureoffset != SHORT(msd[li->sidenum[0]].textureoffset)<sidenum[0]].toptexture) != -1 + && si->toptexture != R_TextureNumForName(msd[li->sidenum[0]].toptexture)) + diff |= LD_S1TOPTEX; + if (R_CheckTextureNumForName(msd[li->sidenum[0]].bottomtexture) != -1 + && si->bottomtexture != R_TextureNumForName(msd[li->sidenum[0]].bottomtexture)) + diff |= LD_S1BOTTEX; + if (R_CheckTextureNumForName(msd[li->sidenum[0]].midtexture) != -1 + && si->midtexture != R_TextureNumForName(msd[li->sidenum[0]].midtexture)) + diff |= LD_S1MIDTEX; + } + if (li->sidenum[1] != 0xffff) + { + si = &sides[li->sidenum[1]]; + if (si->textureoffset != SHORT(msd[li->sidenum[1]].textureoffset)<sidenum[1]].toptexture) != -1 + && si->toptexture != R_TextureNumForName(msd[li->sidenum[1]].toptexture)) + diff2 |= LD_S2TOPTEX; + if (R_CheckTextureNumForName(msd[li->sidenum[1]].bottomtexture) != -1 + && si->bottomtexture != R_TextureNumForName(msd[li->sidenum[1]].bottomtexture)) + diff2 |= LD_S2BOTTEX; + if (R_CheckTextureNumForName(msd[li->sidenum[1]].midtexture) != -1 + && si->midtexture != R_TextureNumForName(msd[li->sidenum[1]].midtexture)) + diff2 |= LD_S2MIDTEX; + if (diff2) + diff |= LD_DIFF2; + } + + if (diff) + { + statline++; + WRITEINT16(put, i); + WRITEUINT8(put, diff); + if (diff & LD_DIFF2) + WRITEUINT8(put, diff2); + if (diff & LD_FLAG) + WRITEINT16(put, li->flags); + if (diff & LD_SPECIAL) + WRITEINT16(put, li->special); + if (diff & LD_CLLCOUNT) + WRITEINT16(put, li->callcount); + + si = &sides[li->sidenum[0]]; + if (diff & LD_S1TEXOFF) + WRITEFIXED(put, si->textureoffset); + if (diff & LD_S1TOPTEX) + WRITEINT32(put, si->toptexture); + if (diff & LD_S1BOTTEX) + WRITEINT32(put, si->bottomtexture); + if (diff & LD_S1MIDTEX) + WRITEINT32(put, si->midtexture); + + si = &sides[li->sidenum[1]]; + if (diff2 & LD_S2TEXOFF) + WRITEFIXED(put, si->textureoffset); + if (diff2 & LD_S2TOPTEX) + WRITEINT32(put, si->toptexture); + if (diff2 & LD_S2BOTTEX) + WRITEINT32(put, si->bottomtexture); + if (diff2 & LD_S2MIDTEX) + WRITEINT32(put, si->midtexture); + } } } WRITEUINT16(put, 0xffff); From 4e0cc2505a2d0a6fdab01545c55932cb70366f92 Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Mon, 13 May 2019 00:20:39 -0400 Subject: [PATCH 061/245] Revert "Check that lumps are okay" This reverts commit 7ac0a8b4d2cfd65a72dae30fd8824ea7d39b35ce. --- src/p_saveg.c | 149 +++++++++++++++++++++++++------------------------- 1 file changed, 73 insertions(+), 76 deletions(-) diff --git a/src/p_saveg.c b/src/p_saveg.c index 13117f07..12ee1345 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -649,87 +649,84 @@ static void P_NetArchiveWorld(void) mld = W_CacheLumpNum(lastloadedmaplumpnum+ML_LINEDEFS, PU_CACHE); msd = W_CacheLumpNum(lastloadedmaplumpnum+ML_SIDEDEFS, PU_CACHE); - if (mld && msd) + // do lines + for (i = 0; i < numlines; i++, mld++, li++) { - // do lines - for (i = 0; i < numlines; i++, mld++, li++) + diff = diff2 = 0; + + if (li->special != SHORT(mld->special)) + diff |= LD_SPECIAL; + + if (SHORT(mld->special) == 321 || SHORT(mld->special) == 322) // only reason li->callcount would be non-zero is if either of these are involved + diff |= LD_CLLCOUNT; + + if (li->sidenum[0] != 0xffff) { - diff = diff2 = 0; + si = &sides[li->sidenum[0]]; + if (si->textureoffset != SHORT(msd[li->sidenum[0]].textureoffset)<sidenum[0]].toptexture) != -1 + && si->toptexture != R_TextureNumForName(msd[li->sidenum[0]].toptexture)) + diff |= LD_S1TOPTEX; + if (R_CheckTextureNumForName(msd[li->sidenum[0]].bottomtexture) != -1 + && si->bottomtexture != R_TextureNumForName(msd[li->sidenum[0]].bottomtexture)) + diff |= LD_S1BOTTEX; + if (R_CheckTextureNumForName(msd[li->sidenum[0]].midtexture) != -1 + && si->midtexture != R_TextureNumForName(msd[li->sidenum[0]].midtexture)) + diff |= LD_S1MIDTEX; + } + if (li->sidenum[1] != 0xffff) + { + si = &sides[li->sidenum[1]]; + if (si->textureoffset != SHORT(msd[li->sidenum[1]].textureoffset)<sidenum[1]].toptexture) != -1 + && si->toptexture != R_TextureNumForName(msd[li->sidenum[1]].toptexture)) + diff2 |= LD_S2TOPTEX; + if (R_CheckTextureNumForName(msd[li->sidenum[1]].bottomtexture) != -1 + && si->bottomtexture != R_TextureNumForName(msd[li->sidenum[1]].bottomtexture)) + diff2 |= LD_S2BOTTEX; + if (R_CheckTextureNumForName(msd[li->sidenum[1]].midtexture) != -1 + && si->midtexture != R_TextureNumForName(msd[li->sidenum[1]].midtexture)) + diff2 |= LD_S2MIDTEX; + if (diff2) + diff |= LD_DIFF2; + } - if (li->special != SHORT(mld->special)) - diff |= LD_SPECIAL; + if (diff) + { + statline++; + WRITEINT16(put, i); + WRITEUINT8(put, diff); + if (diff & LD_DIFF2) + WRITEUINT8(put, diff2); + if (diff & LD_FLAG) + WRITEINT16(put, li->flags); + if (diff & LD_SPECIAL) + WRITEINT16(put, li->special); + if (diff & LD_CLLCOUNT) + WRITEINT16(put, li->callcount); - if (SHORT(mld->special) == 321 || SHORT(mld->special) == 322) // only reason li->callcount would be non-zero is if either of these are involved - diff |= LD_CLLCOUNT; + si = &sides[li->sidenum[0]]; + if (diff & LD_S1TEXOFF) + WRITEFIXED(put, si->textureoffset); + if (diff & LD_S1TOPTEX) + WRITEINT32(put, si->toptexture); + if (diff & LD_S1BOTTEX) + WRITEINT32(put, si->bottomtexture); + if (diff & LD_S1MIDTEX) + WRITEINT32(put, si->midtexture); - if (li->sidenum[0] != 0xffff) - { - si = &sides[li->sidenum[0]]; - if (si->textureoffset != SHORT(msd[li->sidenum[0]].textureoffset)<sidenum[0]].toptexture) != -1 - && si->toptexture != R_TextureNumForName(msd[li->sidenum[0]].toptexture)) - diff |= LD_S1TOPTEX; - if (R_CheckTextureNumForName(msd[li->sidenum[0]].bottomtexture) != -1 - && si->bottomtexture != R_TextureNumForName(msd[li->sidenum[0]].bottomtexture)) - diff |= LD_S1BOTTEX; - if (R_CheckTextureNumForName(msd[li->sidenum[0]].midtexture) != -1 - && si->midtexture != R_TextureNumForName(msd[li->sidenum[0]].midtexture)) - diff |= LD_S1MIDTEX; - } - if (li->sidenum[1] != 0xffff) - { - si = &sides[li->sidenum[1]]; - if (si->textureoffset != SHORT(msd[li->sidenum[1]].textureoffset)<sidenum[1]].toptexture) != -1 - && si->toptexture != R_TextureNumForName(msd[li->sidenum[1]].toptexture)) - diff2 |= LD_S2TOPTEX; - if (R_CheckTextureNumForName(msd[li->sidenum[1]].bottomtexture) != -1 - && si->bottomtexture != R_TextureNumForName(msd[li->sidenum[1]].bottomtexture)) - diff2 |= LD_S2BOTTEX; - if (R_CheckTextureNumForName(msd[li->sidenum[1]].midtexture) != -1 - && si->midtexture != R_TextureNumForName(msd[li->sidenum[1]].midtexture)) - diff2 |= LD_S2MIDTEX; - if (diff2) - diff |= LD_DIFF2; - } - - if (diff) - { - statline++; - WRITEINT16(put, i); - WRITEUINT8(put, diff); - if (diff & LD_DIFF2) - WRITEUINT8(put, diff2); - if (diff & LD_FLAG) - WRITEINT16(put, li->flags); - if (diff & LD_SPECIAL) - WRITEINT16(put, li->special); - if (diff & LD_CLLCOUNT) - WRITEINT16(put, li->callcount); - - si = &sides[li->sidenum[0]]; - if (diff & LD_S1TEXOFF) - WRITEFIXED(put, si->textureoffset); - if (diff & LD_S1TOPTEX) - WRITEINT32(put, si->toptexture); - if (diff & LD_S1BOTTEX) - WRITEINT32(put, si->bottomtexture); - if (diff & LD_S1MIDTEX) - WRITEINT32(put, si->midtexture); - - si = &sides[li->sidenum[1]]; - if (diff2 & LD_S2TEXOFF) - WRITEFIXED(put, si->textureoffset); - if (diff2 & LD_S2TOPTEX) - WRITEINT32(put, si->toptexture); - if (diff2 & LD_S2BOTTEX) - WRITEINT32(put, si->bottomtexture); - if (diff2 & LD_S2MIDTEX) - WRITEINT32(put, si->midtexture); - } + si = &sides[li->sidenum[1]]; + if (diff2 & LD_S2TEXOFF) + WRITEFIXED(put, si->textureoffset); + if (diff2 & LD_S2TOPTEX) + WRITEINT32(put, si->toptexture); + if (diff2 & LD_S2BOTTEX) + WRITEINT32(put, si->bottomtexture); + if (diff2 & LD_S2MIDTEX) + WRITEINT32(put, si->midtexture); } } WRITEUINT16(put, 0xffff); From cad65ad5e9d32fd74847929c1e1f4568461ac35b Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Mon, 13 May 2019 00:23:43 -0400 Subject: [PATCH 062/245] Properly fix crash due to duplicated lines. --- src/p_saveg.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/p_saveg.c b/src/p_saveg.c index 12ee1345..fce72b92 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -647,8 +647,6 @@ static void P_NetArchiveWorld(void) WRITEUINT16(put, 0xffff); - mld = W_CacheLumpNum(lastloadedmaplumpnum+ML_LINEDEFS, PU_CACHE); - msd = W_CacheLumpNum(lastloadedmaplumpnum+ML_SIDEDEFS, PU_CACHE); // do lines for (i = 0; i < numlines; i++, mld++, li++) { From addf2bb3c47551985641b380fbb8f8d9ddb822d7 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Mon, 13 May 2019 01:51:36 -0400 Subject: [PATCH 063/245] Fix NONET build --- src/hu_stuff.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/hu_stuff.c b/src/hu_stuff.c index a416f0d2..fdaf36cb 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -1072,7 +1072,9 @@ static INT16 typelines = 1; // number of drawfill lines we need when drawing the // boolean HU_Responder(event_t *ev) { +#ifndef NONET INT32 c=0; +#endif if (ev->type != ev_keydown) return false; @@ -1099,9 +1101,9 @@ boolean HU_Responder(event_t *ev) return false; }*/ //We don't actually care about that unless we get splitscreen netgames. :V +#ifndef NONET c = (INT32)ev->data1; -#ifndef NONET if (!chat_on) { // enter chat mode From 315f941573f5e745f561a09ee9365048771d29a3 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Fri, 17 May 2019 13:18:33 -0300 Subject: [PATCH 064/245] dude how do I co-author in Git? --- src/hardware/hw_main.c | 145 ++++++++++++++++++++++++++++++++++------- src/hardware/hw_main.h | 1 + src/r_main.c | 1 + src/v_video.c | 5 +- 4 files changed, 125 insertions(+), 27 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 0cd0d7fb..eb3d1ba5 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -118,7 +118,9 @@ FTransform atransform; // Float variants of viewx, viewy, viewz, etc. static float gr_viewx, gr_viewy, gr_viewz; static float gr_viewsin, gr_viewcos; + static angle_t gr_aimingangle; +static float gr_viewludsin, gr_viewludcos; static INT32 drawcount = 0; @@ -2938,10 +2940,43 @@ static void HWR_DrawSpriteShadow(gr_vissprite_t *spr, GLPatch_t *gpatch, float t } } +// This is expecting a pointer to an array containing 4 wallVerts for a sprite +static void HWR_RotateSpritePolyToAim(gr_vissprite_t *spr, FOutVector *wallVerts) +{ + if (cv_grspritebillboarding.value && spr && spr->mobj && wallVerts) + { + float basey = FIXED_TO_FLOAT(spr->mobj->z); + float lowy = wallVerts[0].y; + if (P_MobjFlip(spr->mobj) == -1) + { + basey = FIXED_TO_FLOAT(spr->mobj->z + spr->mobj->height); + } + // Rotate sprites to fully billboard with the camera + // X, Y, AND Z need to be manipulated for the polys to rotate around the + // origin, because of how the origin setting works I believe that should + // be mobj->z or mobj->z + mobj->height + wallVerts[2].y = wallVerts[3].y = (spr->ty - basey) * gr_viewludsin + basey; + wallVerts[0].y = wallVerts[1].y = (lowy - basey) * gr_viewludsin + basey; + // translate back to be around 0 before translating back + wallVerts[3].x += ((spr->ty - basey) * gr_viewludcos) * gr_viewcos; + wallVerts[2].x += ((spr->ty - basey) * gr_viewludcos) * gr_viewcos; + + wallVerts[0].x += ((lowy - basey) * gr_viewludcos) * gr_viewcos; + wallVerts[1].x += ((lowy - basey) * gr_viewludcos) * gr_viewcos; + + wallVerts[3].z += ((spr->ty - basey) * gr_viewludcos) * gr_viewsin; + wallVerts[2].z += ((spr->ty - basey) * gr_viewludcos) * gr_viewsin; + + wallVerts[0].z += ((lowy - basey) * gr_viewludcos) * gr_viewsin; + wallVerts[1].z += ((lowy - basey) * gr_viewludcos) * gr_viewsin; + } +} + static void HWR_SplitSprite(gr_vissprite_t *spr) { float this_scale = 1.0f; FOutVector wallVerts[4]; + FOutVector baseWallVerts[4]; // This is what the verts should end up as GLPatch_t *gpatch; FSurfaceInfo Surf; const boolean hires = (spr->mobj && spr->mobj->skin && ((skin_t *)spr->mobj->skin)->flags & SF_HIRES); @@ -2954,11 +2989,13 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) float realtop, realbot, top, bot; float towtop, towbot, towmult; float bheight; + float realheight, heightmult; const sector_t *sector = spr->mobj->subsector->sector; const lightlist_t *list = sector->lightlist; #ifdef ESLOPE float endrealtop, endrealbot, endtop, endbot; float endbheight; + float endrealheight; fixed_t temp; fixed_t v1x, v1y, v2x, v2y; #endif @@ -2987,16 +3024,16 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) HWR_DrawSpriteShadow(spr, gpatch, this_scale); } - wallVerts[0].x = wallVerts[3].x = spr->x1; - wallVerts[2].x = wallVerts[1].x = spr->x2; - wallVerts[0].z = wallVerts[3].z = spr->z1; - wallVerts[1].z = wallVerts[2].z = spr->z2; + baseWallVerts[0].x = baseWallVerts[3].x = spr->x1; + baseWallVerts[2].x = baseWallVerts[1].x = spr->x2; + baseWallVerts[0].z = baseWallVerts[3].z = spr->z1; + baseWallVerts[1].z = baseWallVerts[2].z = spr->z2; - wallVerts[2].y = wallVerts[3].y = spr->ty; + baseWallVerts[2].y = baseWallVerts[3].y = spr->ty; if (spr->mobj && fabsf(this_scale - 1.0f) > 1.0E-36f) - wallVerts[0].y = wallVerts[1].y = spr->ty - gpatch->height * this_scale; + baseWallVerts[0].y = baseWallVerts[1].y = spr->ty - gpatch->height * this_scale; else - wallVerts[0].y = wallVerts[1].y = spr->ty - gpatch->height; + baseWallVerts[0].y = baseWallVerts[1].y = spr->ty - gpatch->height; v1x = FLOAT_TO_FIXED(spr->x1); v1y = FLOAT_TO_FIXED(spr->z1); @@ -3005,25 +3042,25 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) if (spr->flip) { - wallVerts[0].s = wallVerts[3].s = gpatch->max_s; - wallVerts[2].s = wallVerts[1].s = 0; + baseWallVerts[0].s = baseWallVerts[3].s = gpatch->max_s; + baseWallVerts[2].s = baseWallVerts[1].s = 0; } else { - wallVerts[0].s = wallVerts[3].s = 0; - wallVerts[2].s = wallVerts[1].s = gpatch->max_s; + baseWallVerts[0].s = baseWallVerts[3].s = 0; + baseWallVerts[2].s = baseWallVerts[1].s = gpatch->max_s; } // flip the texture coords (look familiar?) if (spr->vflip) { - wallVerts[3].t = wallVerts[2].t = gpatch->max_t; - wallVerts[0].t = wallVerts[1].t = 0; + baseWallVerts[3].t = baseWallVerts[2].t = gpatch->max_t; + baseWallVerts[0].t = baseWallVerts[1].t = 0; } else { - wallVerts[3].t = wallVerts[2].t = 0; - wallVerts[0].t = wallVerts[1].t = gpatch->max_t; + baseWallVerts[3].t = baseWallVerts[2].t = 0; + baseWallVerts[0].t = baseWallVerts[1].t = gpatch->max_t; } // if it has a dispoffset, push it a little towards the camera @@ -3031,23 +3068,31 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) { float co = -gr_viewcos*(0.05f*spr->dispoffset); float si = -gr_viewsin*(0.05f*spr->dispoffset); - wallVerts[0].z = wallVerts[3].z = wallVerts[0].z+si; - wallVerts[1].z = wallVerts[2].z = wallVerts[1].z+si; - wallVerts[0].x = wallVerts[3].x = wallVerts[0].x+co; - wallVerts[1].x = wallVerts[2].x = wallVerts[1].x+co; + baseWallVerts[0].z = baseWallVerts[3].z = baseWallVerts[0].z+si; + baseWallVerts[1].z = baseWallVerts[2].z = baseWallVerts[1].z+si; + baseWallVerts[0].x = baseWallVerts[3].x = baseWallVerts[0].x+co; + baseWallVerts[1].x = baseWallVerts[2].x = baseWallVerts[1].x+co; } - realtop = top = wallVerts[3].y; - realbot = bot = wallVerts[0].y; - towtop = wallVerts[3].t; - towbot = wallVerts[0].t; + // Let dispoffset work first since this adjust each vertex + HWR_RotateSpritePolyToAim(spr, baseWallVerts); + + realtop = top = baseWallVerts[3].y; + realbot = bot = baseWallVerts[0].y; + towtop = baseWallVerts[3].t; + towbot = baseWallVerts[0].t; towmult = (towbot - towtop) / (top - bot); #ifdef ESLOPE - endrealtop = endtop = wallVerts[2].y; - endrealbot = endbot = wallVerts[1].y; + endrealtop = endtop = baseWallVerts[2].y; + endrealbot = endbot = baseWallVerts[1].y; #endif + // copy the contents of baseWallVerts into the drawn wallVerts array + // baseWallVerts is used to know the final shape to easily get the vertex + // co-ordinates + memcpy(wallVerts, baseWallVerts, sizeof(baseWallVerts)); + if (!cv_translucency.value) // translucency disabled { Surf.PolyColor.s.alpha = 0xFF; @@ -3174,12 +3219,53 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) wallVerts[2].y = endtop; wallVerts[0].y = bot; wallVerts[1].y = endbot; + + // The x and y only need to be adjusted in the case that it's not a papersprite + if (cv_grspritebillboarding.value && spr->mobj) + { + // Get the x and z of the vertices so billboarding draws correctly + realheight = realbot - realtop; + endrealheight = endrealbot - endrealtop; + heightmult = (realtop - top) / realheight; + wallVerts[3].x = baseWallVerts[3].x + (baseWallVerts[3].x - baseWallVerts[0].x) * heightmult; + wallVerts[3].z = baseWallVerts[3].z + (baseWallVerts[3].z - baseWallVerts[0].z) * heightmult; + + heightmult = (endrealtop - endtop) / endrealheight; + wallVerts[2].x = baseWallVerts[2].x + (baseWallVerts[2].x - baseWallVerts[1].x) * heightmult; + wallVerts[2].z = baseWallVerts[2].z + (baseWallVerts[2].z - baseWallVerts[1].z) * heightmult; + + heightmult = (realtop - bot) / realheight; + wallVerts[0].x = baseWallVerts[3].x + (baseWallVerts[3].x - baseWallVerts[0].x) * heightmult; + wallVerts[0].z = baseWallVerts[3].z + (baseWallVerts[3].z - baseWallVerts[0].z) * heightmult; + + heightmult = (endrealtop - endbot) / endrealheight; + wallVerts[1].x = baseWallVerts[2].x + (baseWallVerts[2].x - baseWallVerts[1].x) * heightmult; + wallVerts[1].z = baseWallVerts[2].z + (baseWallVerts[2].z - baseWallVerts[1].z) * heightmult; + } #else wallVerts[3].t = wallVerts[2].t = towtop + ((realtop - top) * towmult); wallVerts[0].t = wallVerts[1].t = towtop + ((realtop - bot) * towmult); wallVerts[2].y = wallVerts[3].y = top; wallVerts[0].y = wallVerts[1].y = bot; + + // The x and y only need to be adjusted in the case that it's not a papersprite + if (cv_grspritebillboarding.value && spr->mobj) + { + // Get the x and z of the vertices so billboarding draws correctly + realheight = realbot - realtop; + heightmult = (realtop - top) / realheight; + wallVerts[3].x = baseWallVerts[3].x + (baseWallVerts[3].x - baseWallVerts[0].x) * heightmult; + wallVerts[3].z = baseWallVerts[3].z + (baseWallVerts[3].z - baseWallVerts[0].z) * heightmult; + wallVerts[2].x = baseWallVerts[2].x + (baseWallVerts[2].x - baseWallVerts[1].x) * heightmult; + wallVerts[2].z = baseWallVerts[2].z + (baseWallVerts[2].z - baseWallVerts[1].z) * heightmult; + + heightmult = (realtop - bot) / realheight; + wallVerts[0].x = baseWallVerts[3].x + (baseWallVerts[3].x - baseWallVerts[0].x) * heightmult; + wallVerts[0].z = baseWallVerts[3].z + (baseWallVerts[3].z - baseWallVerts[0].z) * heightmult; + wallVerts[1].x = baseWallVerts[2].x + (baseWallVerts[2].x - baseWallVerts[1].x) * heightmult; + wallVerts[1].z = baseWallVerts[2].z + (baseWallVerts[2].z - baseWallVerts[1].z) * heightmult; + } #endif if (colormap) @@ -3341,6 +3427,9 @@ static void HWR_DrawSprite(gr_vissprite_t *spr) wallVerts[1].x = wallVerts[2].x = wallVerts[1].x+co; } + // Let dispoffset work first since this adjust each vertex + HWR_RotateSpritePolyToAim(spr, wallVerts); + // This needs to be AFTER the shadows so that the regular sprites aren't drawn completely black. // sprite lighting by modulating the RGB components /// \todo coloured @@ -3422,6 +3511,9 @@ static inline void HWR_DrawPrecipitationSprite(gr_vissprite_t *spr) wallVerts[0].z = wallVerts[3].z = spr->z1; wallVerts[1].z = wallVerts[2].z = spr->z2; + // Let dispoffset work first since this adjust each vertex + HWR_RotateSpritePolyToAim(spr, wallVerts); + wallVerts[0].s = wallVerts[3].s = 0; wallVerts[2].s = wallVerts[1].s = gpatch->max_s; @@ -4479,6 +4571,9 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) atransform.shearing = true; } + gr_viewludsin = FIXED_TO_FLOAT(FINECOSINE(gr_aimingangle>>ANGLETOFINESHIFT)); + gr_viewludcos = FIXED_TO_FLOAT(-FINESINE(gr_aimingangle>>ANGLETOFINESHIFT)); + atransform.anglex = (float)(gr_aimingangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); atransform.angley = (float)(viewangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index 9250dccb..85a3503c 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -142,6 +142,7 @@ extern consvar_t cv_granisotropicmode; extern consvar_t cv_grcorrecttricks; extern consvar_t cv_grfovchange; extern consvar_t cv_grsolvetjoin; +extern consvar_t cv_grspritebillboarding; extern CV_PossibleValue_t granisotropicmode_cons_t[]; diff --git a/src/r_main.c b/src/r_main.c index 9c143d48..b8429972 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -1395,6 +1395,7 @@ void R_RegisterEngineStuff(void) CV_RegisterVar(&cv_grsoftwarefog); CV_RegisterVar(&cv_grfogdensity); CV_RegisterVar(&cv_grmd2); + CV_RegisterVar(&cv_grspritebillboarding); CV_RegisterVar(&cv_grshearing); CV_RegisterVar(&cv_grshaders); #endif diff --git a/src/v_video.c b/src/v_video.c index b341076c..35f99962 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -72,10 +72,11 @@ consvar_t cv_grgammagreen = {"gr_gammagreen", "127", CV_SAVE|CV_CALL, grgamma_co consvar_t cv_grgammablue = {"gr_gammablue", "127", CV_SAVE|CV_CALL, grgamma_cons_t, CV_Gammaxxx_ONChange, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grshearing = {"gr_shearing", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; - static CV_PossibleValue_t CV_MD2[] = {{0, "Off"}, {1, "On"}, {2, "Old"}, {0, NULL}}; + consvar_t cv_grmd2 = {"gr_md2", "Off", CV_SAVE, CV_MD2, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grshearing = {"gr_shearing", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grspritebillboarding = {"gr_spritebillboarding", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; #endif const UINT8 gammatable[5][256] = From d3dfd77ae7f90909a053cfd5c1e06f9f009c7af5 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Fri, 17 May 2019 17:49:04 -0300 Subject: [PATCH 065/245] Hardware mode y-shearing matches software mode mouselook --- src/doomdef.h | 3 ++ src/hardware/hw_defs.h | 1 + src/hardware/hw_drv.h | 2 +- src/hardware/hw_main.c | 49 +++++++++++++++++++------------- src/hardware/r_opengl/r_opengl.c | 10 ++----- src/r_main.c | 20 +++++++------ 6 files changed, 48 insertions(+), 37 deletions(-) diff --git a/src/doomdef.h b/src/doomdef.h index 2c7b64f9..39638a27 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -415,6 +415,9 @@ extern INT32 cv_debug; extern UINT8 shiftdown, ctrldown, altdown; extern boolean capslock; +// WARNING: a should be unsigned but to add with 2048, it isn't! +#define AIMINGTODY(a) (FINETANGENT((2048+(((INT32)a)>>ANGLETOFINESHIFT)) & FINEMASK)*160) + // if we ever make our alloc stuff... #define ZZ_Alloc(x) Z_Malloc(x, PU_STATIC, NULL) diff --git a/src/hardware/hw_defs.h b/src/hardware/hw_defs.h index 78866158..74fdfe23 100644 --- a/src/hardware/hw_defs.h +++ b/src/hardware/hw_defs.h @@ -158,6 +158,7 @@ typedef struct boolean mirror; // SRB2Kart: Encore Mode #endif boolean shearing; // 14042019 + angle_t viewaiming; // 17052019 } FTransform; // Transformed vector, as passed to HWR API diff --git a/src/hardware/hw_drv.h b/src/hardware/hw_drv.h index 21e2a8ed..0b8f2c09 100644 --- a/src/hardware/hw_drv.h +++ b/src/hardware/hw_drv.h @@ -48,7 +48,7 @@ EXPORT void HWRAPI(SetSpecialState) (hwdspecialstate_t IdState, INT32 Value); //Hurdler: added for new development EXPORT void HWRAPI(DrawModel) (model_t *model, INT32 frameIndex, INT32 duration, INT32 tics, INT32 nextFrameIndex, FTransform *pos, float scale, UINT8 flipped, FSurfaceInfo *Surface); EXPORT void HWRAPI(CreateModelVBOs) (model_t *model); -EXPORT void HWRAPI(SetTransform) (FTransform *ptransform, angle_t viewaiming); +EXPORT void HWRAPI(SetTransform) (FTransform *stransform); EXPORT INT32 HWRAPI(GetTextureUsed) (void); EXPORT void HWRAPI(FlushScreenTextures) (void); diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index eb3d1ba5..1c533e93 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -3938,7 +3938,7 @@ void HWR_RenderDrawNodes(void) } // loop++ // Okay! Let's draw it all! Woo! - HWD.pfnSetTransform(&atransform, aimingangle); + HWD.pfnSetTransform(&atransform); HWD.pfnSetShader(0); for (i = 0; i < p; i++) @@ -4459,16 +4459,26 @@ void HWR_DrawSkyBackground(void) angleturn = (((float)ANGLE_45-1.0f)*aspectratio)*dimensionmultiply; - if (angle > ANGLE_180) // Do this because we don't want the sky to suddenly teleport when crossing over 0 to 360 and vice versa + if (cv_grshearing.value) { - angle = InvAngle(angle); - v[3].t = v[2].t += ((float) angle / angleturn); - v[0].t = v[1].t += ((float) angle / angleturn); + // Doesn't really make sense, but what can I do? + angle_t dy = FixedAngle(FixedMul(360*FRACUNIT, FixedDiv(AIMINGTODY(aimingangle), 900*FRACUNIT))); + v[3].t = v[2].t -= ((float) dy / angleturn); + v[0].t = v[1].t -= ((float) dy / angleturn); } else { - v[3].t = v[2].t -= ((float) angle / angleturn); - v[0].t = v[1].t -= ((float) angle / angleturn); + if (angle > ANGLE_180) // Do this because we don't want the sky to suddenly teleport when crossing over 0 to 360 and vice versa + { + angle = InvAngle(angle); + v[3].t = v[2].t += ((float) angle / angleturn); + v[0].t = v[1].t += ((float) angle / angleturn); + } + else + { + v[3].t = v[2].t -= ((float) angle / angleturn); + v[0].t = v[1].t -= ((float) angle / angleturn); + } } HWD.pfnSetShader(7); // sky shader @@ -4560,12 +4570,11 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) atransform.scalez = 1; // 14042019 - if (!cv_grshearing.value) - { - gr_aimingangle = aimingangle; - atransform.shearing = false; - } - else + gr_aimingangle = aimingangle; + atransform.shearing = false; + atransform.viewaiming = aimingangle; + + if (cv_grshearing.value) { gr_aimingangle = 0; atransform.shearing = true; @@ -4609,14 +4618,14 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) gld_FrustrumSetup(); #endif - // Set transform and shader - HWD.pfnSetTransform(&atransform, aimingangle); + // Set transform. + HWD.pfnSetTransform(&atransform); + + // Reset the shader state. + HWD.pfnSetSpecialState(HWD_SET_SHADERS, cv_grshaders.value); HWD.pfnSetShader(0); - // Check for shaders - HWD.pfnSetSpecialState(HWD_SET_SHADERS, cv_grshaders.value); - - // Check for fog (shader) + // Check if fog is enabled. if (cv_grfog.value) HWR_FoggingOn(); // First of all, turn it on, set the default user settings too else @@ -4639,7 +4648,7 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) HWR_RenderDrawNodes(); // Unset transform and shader - HWD.pfnSetTransform(NULL, 0.0f); + HWD.pfnSetTransform(NULL); HWD.pfnUnSetShader(); // Disable fog diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 2d252726..7afec77c 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -2186,7 +2186,7 @@ EXPORT void HWRAPI(DrawModel) (model_t *model, INT32 frameIndex, INT32 duration, // -----------------+ // SetTransform : // -----------------+ -EXPORT void HWRAPI(SetTransform) (FTransform *stransform, angle_t viewaiming) +EXPORT void HWRAPI(SetTransform) (FTransform *stransform) { static boolean special_splitscreen; GLdouble used_fov; @@ -2232,12 +2232,8 @@ EXPORT void HWRAPI(SetTransform) (FTransform *stransform, angle_t viewaiming) // https://zdoom.org/wiki/Y-shearing if (shearing) { - float tilt = (float)(viewaiming>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); - if (tilt >= 270.0f) - tilt = -(90.0f - (tilt - 270.0f)); - tilt /= 24.0f; // ????????? - - pglTranslatef(0.0f, -tilt, 0.0f); + float dy = FIXED_TO_FLOAT(AIMINGTODY(stransform->viewaiming)) * 2; //screen_width/BASEVIDWIDTH; + pglTranslatef(0.0f, -dy/BASEVIDHEIGHT, 0.0f); } if (special_splitscreen) diff --git a/src/r_main.c b/src/r_main.c index b8429972..bd1c6142 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -738,29 +738,31 @@ subsector_t *R_IsPointInSubsector(fixed_t x, fixed_t y) static mobj_t *viewmobj; -// WARNING: a should be unsigned but to add with 2048, it isn't! -#define AIMINGTODY(a) ((FINETANGENT((2048+(((INT32)a)>>ANGLETOFINESHIFT)) & FINEMASK)*160)>>FRACBITS) - // recalc necessary stuff for mouseaiming // slopes are already calculated for the full possible view (which is 4*viewheight). // 18/08/18: (No it's actually 16*viewheight, thanks Jimita for finding this out) static void R_SetupFreelook(void) { INT32 dy = 0; + + // clip it in the case we are looking a hardware 90 degrees full aiming + // (lmps, network and use F12...) + if (rendermode == render_soft +#ifdef HWRENDER + || cv_grshearing.value +#endif + ) + G_SoftwareClipAimingPitch((INT32 *)&aimingangle); + if (rendermode == render_soft) { - // clip it in the case we are looking a hardware 90 degrees full aiming - // (lmps, network and use F12...) - G_SoftwareClipAimingPitch((INT32 *)&aimingangle); - dy = AIMINGTODY(aimingangle) * viewwidth/BASEVIDWIDTH; + dy = (AIMINGTODY(aimingangle)>>FRACBITS) * viewwidth/BASEVIDWIDTH; yslope = &yslopetab[viewheight*8 - (viewheight/2 + dy)]; } centery = (viewheight/2) + dy; centeryfrac = centery< Date: Mon, 3 Jun 2019 15:23:48 -0400 Subject: [PATCH 066/245] Upped freeslots limit --- src/info.h | 2 +- src/sounds.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/info.h b/src/info.h index cba49667..0700494f 100644 --- a/src/info.h +++ b/src/info.h @@ -210,7 +210,7 @@ void A_NapalmScatter(); void A_SpawnFreshCopy(); // ratio of states to sprites to mobj types is roughly 6 : 1 : 1 -#define NUMMOBJFREESLOTS 256 +#define NUMMOBJFREESLOTS 512 #define NUMSPRITEFREESLOTS NUMMOBJFREESLOTS #define NUMSTATEFREESLOTS (NUMMOBJFREESLOTS*8) diff --git a/src/sounds.h b/src/sounds.h index 495a55a1..3c74d56e 100644 --- a/src/sounds.h +++ b/src/sounds.h @@ -42,7 +42,7 @@ typedef enum } skinsound_t; // free sfx for S_AddSoundFx() -#define NUMSFXFREESLOTS 800 // Matches SOC Editor. +#define NUMSFXFREESLOTS 1600 // Matches SOC Editor. #define NUMSKINSFXSLOTS (MAXSKINS*NUMSKINSOUNDS) // From 6f6d912fa6f6e009502e7350bbea9f0420e1e222 Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Fri, 7 Jun 2019 15:48:33 +0100 Subject: [PATCH 067/245] Update version to 2.1.24 --- CMakeLists.txt | 2 +- appveyor.yml | 2 +- debian/changelog | 4 ++-- debian/control | 4 ++-- src/doomdef.h | 8 ++++---- src/sdl/macosx/Srb2mac.xcodeproj/project.pbxproj | 4 ++-- src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a5507b9..2d7b3415 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.0) project(SRB2 - VERSION 2.1.23 + VERSION 2.1.24 LANGUAGES C) if(${PROJECT_SOURCE_DIR} MATCHES ${PROJECT_BINARY_DIR}) diff --git a/appveyor.yml b/appveyor.yml index f0f843fb..98da61db 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: 2.1.23.{branch}-{build} +version: 2.1.24.{branch}-{build} os: MinGW environment: diff --git a/debian/changelog b/debian/changelog index b06a78e2..ff59fdc4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,6 @@ -srb2 (2.1.23~9) trusty; urgency=high +srb2 (2.1.24~9) trusty; urgency=high - * SRB2 v2.1.23 release + * SRB2 v2.1.24 release -- Marco Zafra Mon, 27 Nov 2018 16:45:00 -0500 diff --git a/debian/control b/debian/control index 0f2d8062..92bb147d 100644 --- a/debian/control +++ b/debian/control @@ -18,7 +18,7 @@ Homepage: http://www.srb2.org Package: srb2 Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, srb2-data (>= 2.1.15), srb2-data (<= 2.1.23) +Depends: ${shlibs:Depends}, ${misc:Depends}, srb2-data (>= 2.1.15), srb2-data (<= 2.1.24) Description: A cross-platform 3D Sonic fangame Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog fangame built using a modified version of the Doom Legacy @@ -31,7 +31,7 @@ Description: A cross-platform 3D Sonic fangame Package: srb2-dbg Architecture: any # FIXME: should be Depends: ${shlibs:Depends}, ${misc:Depends}, srb2-data (= 2.1.14), srb2 but dh_shlibdeps is being an asshat -Depends: libc6, ${misc:Depends}, srb2-data (>= 2.1.15), srb2-data (<= 2.1.23), srb2 +Depends: libc6, ${misc:Depends}, srb2-data (>= 2.1.15), srb2-data (<= 2.1.24), srb2 Description: A cross-platform 3D Sonic fangame Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog fangame built using a modified version of the Doom Legacy diff --git a/src/doomdef.h b/src/doomdef.h index 088d81d0..6b6afbf1 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -150,9 +150,9 @@ extern FILE *logstream; // we use comprevision and compbranch instead. #else #define VERSION 201 // Game version -#define SUBVERSION 23 // more precise version number -#define VERSIONSTRING "v2.1.23" -#define VERSIONSTRINGW L"v2.1.23" +#define SUBVERSION 24 // more precise version number +#define VERSIONSTRING "v2.1.24" +#define VERSIONSTRINGW L"v2.1.24" // Hey! If you change this, add 1 to the MODVERSION below! // Otherwise we can't force updates! #endif @@ -217,7 +217,7 @@ extern FILE *logstream; // it's only for detection of the version the player is using so the MS can alert them of an update. // Only set it higher, not lower, obviously. // Note that we use this to help keep internal testing in check; this is why v2.1.0 is not version "1". -#define MODVERSION 28 +#define MODVERSION 29 // To version config.cfg, MAJOREXECVERSION is set equal to MODVERSION automatically. // Increment MINOREXECVERSION whenever a config change is needed that does not correspond diff --git a/src/sdl/macosx/Srb2mac.xcodeproj/project.pbxproj b/src/sdl/macosx/Srb2mac.xcodeproj/project.pbxproj index a8ecbf7f..878db3d8 100644 --- a/src/sdl/macosx/Srb2mac.xcodeproj/project.pbxproj +++ b/src/sdl/macosx/Srb2mac.xcodeproj/project.pbxproj @@ -1219,7 +1219,7 @@ C01FCF4B08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CURRENT_PROJECT_VERSION = 2.1.23; + CURRENT_PROJECT_VERSION = 2.1.24; GCC_PREPROCESSOR_DEFINITIONS = ( "$(inherited)", NORMALSRB2, @@ -1231,7 +1231,7 @@ C01FCF4C08A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CURRENT_PROJECT_VERSION = 2.1.23; + CURRENT_PROJECT_VERSION = 2.1.24; GCC_ENABLE_FIX_AND_CONTINUE = NO; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_PREPROCESSOR_DEFINITIONS = ( diff --git a/src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj b/src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj index 69c544c5..6b3997b1 100644 --- a/src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj +++ b/src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj @@ -1219,7 +1219,7 @@ C01FCF4B08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CURRENT_PROJECT_VERSION = 2.1.23; + CURRENT_PROJECT_VERSION = 2.1.24; GCC_PREPROCESSOR_DEFINITIONS = ( "$(inherited)", NORMALSRB2, @@ -1231,7 +1231,7 @@ C01FCF4C08A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CURRENT_PROJECT_VERSION = 2.1.23; + CURRENT_PROJECT_VERSION = 2.1.24; GCC_ENABLE_FIX_AND_CONTINUE = NO; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_PREPROCESSOR_DEFINITIONS = ( From e251f9c230beda984cdcdea7e903d765f1c68f6f Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Mon, 10 Jun 2019 16:53:03 -0300 Subject: [PATCH 068/245] Update r_opengl.c --- src/hardware/r_opengl/r_opengl.c | 73 ++++++++++++++++---------------- 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 7afec77c..01d9f588 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -739,7 +739,9 @@ EXPORT void HWRAPI(LoadShaders) (void) if (gl_customfragmentshaders[i]) frag_shader = gl_customfragmentshaders[i]; - if (i >= MAXSHADERS || i >= MAXSHADERPROGRAMS) + if (i >= MAXSHADERS) + break; + if (i >= MAXSHADERPROGRAMS) break; // @@ -1590,54 +1592,53 @@ static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *mix, GLRGBAFloat *f if (gl_shaderprograms[gl_currentshaderprogram]) { pglUseProgram(gl_shaderprograms[gl_currentshaderprogram]); - - // // set uniforms - // + { #define GETUNI(uniform) pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], uniform); - GLint UNIFORM_fog_mode = GETUNI("fog_mode"); - GLint UNIFORM_fog_density = GETUNI("fog_density"); + GLint UNIFORM_fog_mode = GETUNI("fog_mode"); + GLint UNIFORM_fog_density = GETUNI("fog_density"); - GLint UNIFORM_mix_color = GETUNI("mix_color"); - GLint UNIFORM_fade_color = GETUNI("fade_color"); - GLint UNIFORM_lighting = GETUNI("lighting"); + GLint UNIFORM_mix_color = GETUNI("mix_color"); + GLint UNIFORM_fade_color = GETUNI("fade_color"); + GLint UNIFORM_lighting = GETUNI("lighting"); - GLint UNIFORM_resolution = GETUNI("resolution"); - GLint UNIFORM_leveltime = GETUNI("leveltime"); + GLint UNIFORM_resolution = GETUNI("resolution"); + GLint UNIFORM_leveltime = GETUNI("leveltime"); #undef GETUNI - #define UNIFORM_1(uniform, a, function) \ - if (uniform != -1) \ - function (uniform, a); + #define UNIFORM_1(uniform, a, function) \ + if (uniform != -1) \ + function (uniform, a); - #define UNIFORM_2(uniform, a, b, function) \ - if (uniform != -1) \ - function (uniform, a, b); + #define UNIFORM_2(uniform, a, b, function) \ + if (uniform != -1) \ + function (uniform, a, b); - #define UNIFORM_3(uniform, a, b, c, function) \ - if (uniform != -1) \ - function (uniform, a, b, c); + #define UNIFORM_3(uniform, a, b, c, function) \ + if (uniform != -1) \ + function (uniform, a, b, c); - #define UNIFORM_4(uniform, a, b, c, d, function) \ - if (uniform != -1) \ - function (uniform, a, b, c, d); + #define UNIFORM_4(uniform, a, b, c, d, function) \ + if (uniform != -1) \ + function (uniform, a, b, c, d); - // glstate - UNIFORM_1(UNIFORM_fog_mode, glstate_fog_mode, pglUniform1i); - UNIFORM_1(UNIFORM_fog_density, glstate_fog_density, pglUniform1f); + // glstate + UNIFORM_1(UNIFORM_fog_mode, glstate_fog_mode, pglUniform1i); + UNIFORM_1(UNIFORM_fog_density, glstate_fog_density, pglUniform1f); - // polygon - UNIFORM_4(UNIFORM_mix_color, mix->red, mix->green, mix->blue, mix->alpha, pglUniform4f); - UNIFORM_4(UNIFORM_fade_color, fade->red, fade->green, fade->blue, fade->alpha, pglUniform4f); - UNIFORM_1(UNIFORM_lighting, Surface->LightInfo.light_level, pglUniform1f); + // polygon + UNIFORM_4(UNIFORM_mix_color, mix->red, mix->green, mix->blue, mix->alpha, pglUniform4f); + UNIFORM_4(UNIFORM_fade_color, fade->red, fade->green, fade->blue, fade->alpha, pglUniform4f); + UNIFORM_1(UNIFORM_lighting, Surface->LightInfo.light_level, pglUniform1f); - UNIFORM_2(UNIFORM_resolution, screen_width, screen_height, pglUniform2f); - UNIFORM_1(UNIFORM_leveltime, (float)gl_leveltime, pglUniform1f); + UNIFORM_2(UNIFORM_resolution, screen_width, screen_height, pglUniform2f); + UNIFORM_1(UNIFORM_leveltime, (float)gl_leveltime, pglUniform1f); - #undef UNIFORM_1 - #undef UNIFORM_2 - #undef UNIFORM_3 - #undef UNIFORM_4 + #undef UNIFORM_1 + #undef UNIFORM_2 + #undef UNIFORM_3 + #undef UNIFORM_4 + } } else pglUseProgram(0); From 53df4205468cb1c9497cb74e0797d893c1001ad8 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Wed, 12 Jun 2019 21:36:47 +0200 Subject: [PATCH 069/245] Fix stuff and reimplement the kart features that went poof --- src/hardware/hw_cache.c | 14 ++ src/hardware/hw_clip.c | 3 +- src/hardware/hw_draw.c | 4 +- src/hardware/hw_main.c | 131 ++++++++++---- src/hardware/hw_main.h | 52 +----- src/hardware/hw_md2.c | 384 ++++++++++++++++++++-------------------- src/m_menu.c | 13 +- src/r_main.c | 6 +- src/v_video.c | 1 - 9 files changed, 321 insertions(+), 287 deletions(-) diff --git a/src/hardware/hw_cache.c b/src/hardware/hw_cache.c index e7f61c7d..c41812c1 100644 --- a/src/hardware/hw_cache.c +++ b/src/hardware/hw_cache.c @@ -346,6 +346,13 @@ static void HWR_GenerateTexture(INT32 texnum, GLTexture_t *grtex) grtex->mipmap.height = (UINT16)blockheight; grtex->mipmap.grInfo.format = textureformat; +#ifdef GLENCORE + grtex->mipmap.colormap = colormaps; + + if (encoremode) + grtex->mipmap.colormap += (256*32); +#endif + block = MakeBlock(&grtex->mipmap); if (skyspecial) //Hurdler: not efficient, but better than holes in the sky (and it's done only at level loading) @@ -617,6 +624,13 @@ void HWR_GetFlat(lumpnum_t flatlumpnum) grmip = &HWR_GetCachedGLPatch(flatlumpnum)->mipmap; +#ifdef GLENCORE + grmip->colormap = colormaps; + + if (encoremode) + grmip->colormap += (256*32); +#endif + if (!grmip->downloaded && !grmip->grInfo.data) HWR_CacheFlat(grmip, flatlumpnum); diff --git a/src/hardware/hw_clip.c b/src/hardware/hw_clip.c index d768e74f..8ef5636a 100644 --- a/src/hardware/hw_clip.c +++ b/src/hardware/hw_clip.c @@ -76,6 +76,7 @@ #include "../r_state.h" #include "../tables.h" #include "r_opengl/r_opengl.h" +#include "../r_main.h" // for cv_fov #ifdef HAVE_SPHEREFRUSTRUM static GLdouble viewMatrix[16]; @@ -329,7 +330,7 @@ angle_t gld_FrustumAngle(angle_t tiltangle) // NEWCLIP TODO: SRB2CBTODO: make a global render_fov for this function - float render_fov = FIXED_TO_FLOAT(cv_grfov.value); + float render_fov = FIXED_TO_FLOAT(cv_fov.value); float render_fovratio = (float)BASEVIDWIDTH / (float)BASEVIDHEIGHT; // SRB2CBTODO: NEWCLIPTODO: Is this right? float render_multiplier = 64.0f / render_fovratio / RMUL; diff --git a/src/hardware/hw_draw.c b/src/hardware/hw_draw.c index 2304a90a..6f3712ef 100644 --- a/src/hardware/hw_draw.c +++ b/src/hardware/hw_draw.c @@ -562,11 +562,11 @@ void HWR_FadeScreenMenuBack(UINT16 color, UINT8 strength) } else // Do TRANSMAP** fade. { - Surf.PolyColor.s.rgba = pLocalPalette[color].rgba; + Surf.PolyColor.rgba = pLocalPalette[color].rgba; Surf.PolyColor.s.alpha = (UINT8)(strength*25.5f); } HWD.pfnDrawPolygon(&Surf, v, 4, PF_NoTexture|PF_Modulated|PF_Translucent|PF_NoDepthTest); -} +} // Draw the console background with translucency support void HWR_DrawConsoleBack(UINT32 color, INT32 height) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 0c23c00d..91208e69 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -29,6 +29,7 @@ #include "../p_setup.h" #include "../r_local.h" #include "../r_bsp.h" +#include "../r_main.h" // cv_fov #include "../d_clisrv.h" #include "../w_wad.h" #include "../z_zone.h" @@ -55,9 +56,7 @@ struct hwdriver_s hwdriver; static void CV_filtermode_ONChange(void); static void CV_anisotropic_ONChange(void); -static void CV_grFov_OnChange(void); -static CV_PossibleValue_t grfov_cons_t[] = {{0, "MIN"}, {179*FRACUNIT, "MAX"}, {0, NULL}}; static CV_PossibleValue_t grfiltermode_cons_t[]= {{HWD_SET_TEXTUREFILTER_POINTSAMPLED, "Nearest"}, {HWD_SET_TEXTUREFILTER_BILINEAR, "Bilinear"}, {HWD_SET_TEXTUREFILTER_TRILINEAR, "Trilinear"}, {HWD_SET_TEXTUREFILTER_MIXED1, "Linear_Nearest"}, @@ -67,7 +66,6 @@ static CV_PossibleValue_t grfiltermode_cons_t[]= {{HWD_SET_TEXTUREFILTER_POINTSA CV_PossibleValue_t granisotropicmode_cons_t[] = {{1, "MIN"}, {16, "MAX"}, {0, NULL}}; consvar_t cv_grrounddown = {"gr_rounddown", "Off", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grfov = {"gr_fov", "90", CV_FLOAT|CV_CALL, grfov_cons_t, CV_grFov_OnChange, 0, NULL, NULL, 0, 0, NULL}; // Unfortunately, this can no longer be saved.. consvar_t cv_grfiltermode = {"gr_filtermode", "Nearest", CV_CALL, grfiltermode_cons_t, @@ -163,6 +161,20 @@ void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UIN fog_color.s.green = (UINT8)(((float)fog_color.s.green) * fog_alpha); fog_color.s.blue = (UINT8)(((float)fog_color.s.blue) * fog_alpha); + { + // be careful, this may get negative for high lightlevel values. + float fog = (fog_alpha - (light_level/255.0f))*3/2; + if (fog < 0) + fog = 0; + + float red = (fog_color.s.red/255.0f) * fog / 1.0f + (final_color.s.red/255.0f) * (1.0f - fog) / 1.0f; + float green = (fog_color.s.green/255.0f) * fog / 1.0f + (final_color.s.green/255.0f) * (1.0f - fog) / 1.0f; + float blue = (fog_color.s.blue/255.0f) * fog / 1.0f + (final_color.s.blue/255.0f) * (1.0f - fog) / 1.0f; + final_color.s.red = (UINT8)(red*255.0f); + final_color.s.green = (UINT8)(green*255.0f); + final_color.s.blue = (UINT8)(blue*255.0f); + } + Surface->PolyColor.rgba = final_color.rgba; Surface->FadeColor.rgba = fog_color.rgba; Surface->LightInfo.light_level = light_level; @@ -2947,7 +2959,7 @@ static void HWR_DrawSpriteShadow(gr_vissprite_t *spr, GLPatch_t *gpatch, float t // This is expecting a pointer to an array containing 4 wallVerts for a sprite static void HWR_RotateSpritePolyToAim(gr_vissprite_t *spr, FOutVector *wallVerts) { - if (cv_grspritebillboarding.value && spr && spr->mobj && wallVerts) + if (cv_grspritebillboarding.value && spr && spr->mobj && !(spr->mobj->frame & FF_PAPERSPRITE) && wallVerts) { float basey = FIXED_TO_FLOAT(spr->mobj->z); float lowy = wallVerts[0].y; @@ -3225,7 +3237,7 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) wallVerts[1].y = endbot; // The x and y only need to be adjusted in the case that it's not a papersprite - if (cv_grspritebillboarding.value && spr->mobj) + if (cv_grspritebillboarding.value && spr->mobj && !(spr->mobj->frame & FF_PAPERSPRITE)) { // Get the x and z of the vertices so billboarding draws correctly realheight = realbot - realtop; @@ -3254,7 +3266,7 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) wallVerts[0].y = wallVerts[1].y = bot; // The x and y only need to be adjusted in the case that it's not a papersprite - if (cv_grspritebillboarding.value && spr->mobj) + if (cv_grspritebillboarding.value && spr->mobj && !(spr->mobj->frame & FF_PAPERSPRITE)) { // Get the x and z of the vertices so billboarding draws correctly realheight = realbot - realtop; @@ -4210,28 +4222,63 @@ void HWR_ProjectSprite(mobj_t *thing) I_Error("sprframes NULL for sprite %d\n", thing->sprite); #endif - if (sprframe->rotate) - { - // choose a different rotation based on player view - ang = R_PointToAngle(thing->x, thing->y); // uses viewx,viewy - rot = (ang-thing->angle+ANGLE_202h)>>29; - //Fab: lumpid is the index for spritewidth,spriteoffset... tables - lumpoff = sprframe->lumpid[rot]; - flip = sprframe->flip & (1<player) + ang = R_PointToAngle (thing->x, thing->y) - thing->player->frameangle; else + ang = R_PointToAngle (thing->x, thing->y) - thing->angle; + + if (sprframe->rotate == SRF_SINGLE) { // use single rotation for all views rot = 0; //Fab: for vis->patch below lumpoff = sprframe->lumpid[0]; //Fab: see note above flip = sprframe->flip; // Will only be 0x00 or 0xFF + + if (papersprite && ang < ANGLE_180) + { + if (flip) + flip = 0; + else + flip = 255; + } + } + else + { + // choose a different rotation based on player view + if ((ang < ANGLE_180) && (sprframe->rotate & SRF_RIGHT)) // See from right + rot = 6; // F7 slot + else if ((ang >= ANGLE_180) && (sprframe->rotate & SRF_LEFT)) // See from left + rot = 2; // F3 slot + else // Normal behaviour + rot = (ang+ANGLE_202h)>>29; + + //Fab: lumpid is the index for spritewidth,spriteoffset... tables + lumpoff = sprframe->lumpid[rot]; + flip = sprframe->flip & (1<skin && ((skin_t *)thing->skin)->flags & SF_HIRES) this_scale = this_scale * FIXED_TO_FLOAT(((skin_t *)thing->skin)->highresscale); - rightsin = FIXED_TO_FLOAT(FINESINE((viewangle + ANGLE_90)>>ANGLETOFINESHIFT)); - rightcos = FIXED_TO_FLOAT(FINECOSINE((viewangle + ANGLE_90)>>ANGLETOFINESHIFT)); + if (papersprite) + { + rightsin = FIXED_TO_FLOAT(FINESINE((thing->angle)>>ANGLETOFINESHIFT)); + rightcos = FIXED_TO_FLOAT(FINECOSINE((thing->angle)>>ANGLETOFINESHIFT)); + } + else + { + rightsin = FIXED_TO_FLOAT(FINESINE((viewangle + ANGLE_90)>>ANGLETOFINESHIFT)); + rightcos = FIXED_TO_FLOAT(FINECOSINE((viewangle + ANGLE_90)>>ANGLETOFINESHIFT)); + } + if (flip) { x1 = (FIXED_TO_FLOAT(spritecachedinfo[lumpoff].width - spritecachedinfo[lumpoff].offset) * this_scale); @@ -4248,6 +4295,7 @@ void HWR_ProjectSprite(mobj_t *thing) x1 = tr_x + x1 * rightcos; x2 = tr_x - x2 * rightcos; + if (thing->eflags & MFE_VERTICALFLIP) { gz = FIXED_TO_FLOAT(thing->z+thing->height) - FIXED_TO_FLOAT(spritecachedinfo[lumpoff].topoffset) * this_scale; @@ -4295,6 +4343,7 @@ void HWR_ProjectSprite(mobj_t *thing) vis->flip = flip; vis->mobj = thing; + //Hurdler: 25/04/2000: now support colormap in hardware mode if ((vis->mobj->flags & MF_BOSS) && (vis->mobj->flags2 & MF2_FRET) && (leveltime & 1)) // Bosses "flash" { @@ -4308,16 +4357,24 @@ void HWR_ProjectSprite(mobj_t *thing) else if (thing->color) { // New colormap stuff for skins Tails 06-07-2002 - if (thing->skin && thing->sprite == SPR_PLAY) // This thing is a player! + if (thing->colorized) + vis->colormap = R_GetTranslationColormap(TC_RAINBOW, thing->color, GTC_CACHE); + else if (thing->skin && thing->sprite == SPR_PLAY) // This thing is a player! { size_t skinnum = (skin_t*)thing->skin-skins; vis->colormap = R_GetTranslationColormap((INT32)skinnum, thing->color, GTC_CACHE); } else - vis->colormap = R_GetTranslationColormap(TC_DEFAULT, vis->mobj->color ? vis->mobj->color : SKINCOLOR_CYAN, GTC_CACHE); + vis->colormap = R_GetTranslationColormap(TC_DEFAULT, thing->color, GTC_CACHE); } else + { vis->colormap = colormaps; +#ifdef GLENCORE + if (encoremap && (thing->flags & (MF_SCENERY|MF_NOTHINK))) + vis->colormap += (256*32); +#endif + } // set top/bottom coords vis->ty = gzt; @@ -4431,6 +4488,11 @@ void HWR_ProjectPrecipitationSprite(precipmobj_t *thing) vis->colormap = colormaps; +#ifdef GLENCORE + if (encoremap) + vis->colormap += (256*32); +#endif + // set top/bottom coords vis->ty = FIXED_TO_FLOAT(thing->z + spritecachedinfo[lumpoff].topoffset); @@ -4476,7 +4538,7 @@ void HWR_DrawSkyBackground(void) // The only time this will probably be an issue is when a sky wider than 1024 is used as a sky AND a regular wall texture angle = (viewangle + xtoviewangle[0]); - dimensionmultiply = ((float)textures[skytexture]->width/256.0f); + dimensionmultiply = ((float)textures[skytexture]->width/256.0f)*2; v[0].s = v[3].s = ((float) angle / ((ANGLE_90-1)*dimensionmultiply)); v[2].s = v[1].s = (-1.0f/dimensionmultiply)+((float) angle / ((ANGLE_90-1)*dimensionmultiply)); @@ -4485,6 +4547,12 @@ void HWR_DrawSkyBackground(void) angle = aimingangle; dimensionmultiply = ((float)textures[skytexture]->height/(128.0f*aspectratio)); + if (atransform.mirror) + { + angle = InvAngle(angle); + dimensionmultiply *= -1; + } + if (splitscreen == 1) { dimensionmultiply *= 2; @@ -4562,7 +4630,7 @@ void HWR_SetViewSize(void) gr_viewheight /= 2; if (splitscreen > 1) - gr_viewwidth /= 2; + gr_viewwidth /= 2; gr_centerx = gr_viewwidth / 2; gr_basecentery = gr_viewheight / 2; //note: this is (gr_centerx * gr_viewheight / gr_viewwidth) @@ -4589,7 +4657,7 @@ void HWR_SetViewSize(void) void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) { angle_t a1; - const float fpov = FIXED_TO_FLOAT(cv_grfov.value+player->fovadd); + const float fpov = FIXED_TO_FLOAT(cv_fov.value+player->fovadd); postimg_t *postprocessor; INT32 i; @@ -4607,7 +4675,7 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) { gr_viewwindowx += gr_viewwidth; gr_windowcenterx += gr_viewwidth; - } + } // check for new console commands. NetUpdate(); @@ -4647,17 +4715,20 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) atransform.fovxangle = fpov; // Tails atransform.fovyangle = fpov; // Tails atransform.splitscreen = splitscreen; - + for (i = 0; i <= splitscreen; i++) { if (player == &players[displayplayers[i]]) postprocessor = &postimgtype[i]; - } + } atransform.flip = false; if (*postprocessor == postimg_flip) atransform.flip = true; + if (*postprocessor == postimg_mirror) + atransform.mirror = true; + // Clear view, set viewport (glViewport), set perspective... HWR_ClearView(); HWR_ClearSprites(); @@ -4731,7 +4802,6 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) { const boolean skybox = (skyboxmo[0] && cv_skybox.value); // True if there's a skybox object and skyboxes are on - // Clear the color buffer, stops HOMs. Also seems to fix the skybox issue on Intel GPUs. if (viewnumber == 0) // Only do it if it's the first screen being rendered { @@ -4769,12 +4839,6 @@ void HWR_FoggingOn(void) // 3D ENGINE COMMANDS // ========================================================================== -static void CV_grFov_OnChange(void) -{ - if ((netgame || multiplayer) && !cv_debug && cv_grfov.value != 90*FRACUNIT) - CV_Set(&cv_grfov, cv_grfov.defaultvalue); -} - // ************************************************************************** // 3D ENGINE SETUP // ************************************************************************** @@ -4786,7 +4850,6 @@ static void CV_grFov_OnChange(void) void HWR_AddCommands(void) { CV_RegisterVar(&cv_grrounddown); - CV_RegisterVar(&cv_grfov); CV_RegisterVar(&cv_grfiltermode); CV_RegisterVar(&cv_granisotropicmode); CV_RegisterVar(&cv_grcorrecttricks); @@ -4900,7 +4963,7 @@ void HWR_DoPostProcessor(player_t *player) UINT8 i; HWD.pfnUnSetShader(); - + for (i = splitscreen; i > 0; i--) { if (player == &players[displayplayers[i]]) diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index efa7ffd1..b4073b86 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -28,6 +28,8 @@ #include "../d_player.h" #include "../r_defs.h" +#define GLENCORE + // Startup & Shutdown the hardware mode renderer void HWR_Startup(void); void HWR_Shutdown(void); @@ -42,6 +44,7 @@ void HWR_DrawFixedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t scale, void HWR_DrawCroppedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscale, INT32 option, fixed_t sx, fixed_t sy, fixed_t w, fixed_t h); void HWR_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color); void HWR_DrawConsoleFill(INT32 x, INT32 y, INT32 w, INT32 h, UINT32 color, INT32 options); // Lat: separate flags from color since color needs to be an uint to work right. +void HWR_DrawDiag(INT32 x, INT32 y, INT32 wh, INT32 color); void HWR_drawAMline(const fline_t *fl, INT32 color); void HWR_FadeScreenMenuBack(UINT16 color, UINT8 strength); void HWR_DrawConsoleBack(UINT32 color, INT32 height); @@ -50,22 +53,6 @@ void HWR_DrawFlatFill(INT32 x, INT32 y, INT32 w, INT32 h, lumpnum_t flatlumpnum) UINT8 *HWR_GetScreenshot(void); boolean HWR_Screenshot(const char *lbmname); -<<<<<<< HEAD -void HWR_InitTextureMapping(void); -void HWR_SetViewSize(void); -void HWR_DrawPatch(GLPatch_t *gpatch, INT32 x, INT32 y, INT32 option); -void HWR_DrawFixedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t scale, INT32 option, const UINT8 *colormap); -void HWR_DrawCroppedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t scale, INT32 option, fixed_t sx, fixed_t sy, fixed_t w, fixed_t h); -void HWR_MakePatch (const patch_t *patch, GLPatch_t *grPatch, GLMipmap_t *grMipmap, boolean makebitmap); -void HWR_CreatePlanePolygons(INT32 bspnum); -void HWR_CreateStaticLightmaps(INT32 bspnum); -void HWR_PrepLevelCache(size_t pnumtextures); -void HWR_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color); -void HWR_DrawConsoleFill(INT32 x, INT32 y, INT32 w, INT32 h, UINT32 color, INT32 options); // Lat: separate flags from color since color needs to be an uint to work right. -void HWR_DrawDiag(INT32 x, INT32 y, INT32 wh, INT32 color); -void HWR_DrawPic(INT32 x,INT32 y,lumpnum_t lumpnum); -======= ->>>>>>> e251f9c230beda984cdcdea7e903d765f1c68f6f // hw_main.c void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox); @@ -85,12 +72,8 @@ UINT8 HWR_FogBlockAlpha(INT32 light, UINT32 color); // Let's see if this can wor void HWR_FoggingOn(void); FBITFIELD HWR_TranstableToAlpha(INT32 transtablenum, FSurfaceInfo *pSurf); -<<<<<<< HEAD -INT32 HWR_GetTextureUsed(void); -======= // hw_main.c: Post-rendering ->>>>>>> e251f9c230beda984cdcdea7e903d765f1c68f6f void HWR_DoPostProcessor(player_t *player); void HWR_StartScreenWipe(void); void HWR_EndScreenWipe(void); @@ -123,10 +106,6 @@ void HWR_DrawSkyBackground(void); #ifdef POLYOBJECTS void HWR_AddPolyObjectSegs(void); #endif -<<<<<<< HEAD -extern consvar_t cv_grmdls; -extern consvar_t cv_grfallbackplayermodel; -======= // hw_main.c: BSP void HWR_RenderBSPNode(INT32 bspnum); @@ -154,8 +133,7 @@ void HWR_CorrectSWTricks(void); extern consvar_t cv_grshaders; extern consvar_t cv_grshearing; extern consvar_t cv_grfov; -extern consvar_t cv_grmd2; ->>>>>>> e251f9c230beda984cdcdea7e903d765f1c68f6f +extern consvar_t cv_grmdls; extern consvar_t cv_grfog; extern consvar_t cv_grfogdensity; extern consvar_t cv_grsoftwarefog; @@ -168,26 +146,8 @@ extern consvar_t cv_grcorrecttricks; extern consvar_t cv_grfovchange; extern consvar_t cv_grsolvetjoin; extern consvar_t cv_grspritebillboarding; +extern consvar_t cv_grfallbackplayermodel; -<<<<<<< HEAD -extern float gr_viewwidth, gr_viewheight, gr_baseviewwindowx, gr_baseviewwindowy; - -extern float gr_basewindowcenterx, gr_basewindowcentery; - -// BP: big hack for a test in lighting ref : 1249753487AB -extern fixed_t *hwbbox; -extern FTransform atransform; - -typedef struct -{ - wallVert3D floorVerts[4]; - FSurfaceInfo Surf; - INT32 texnum; - INT32 blend; - INT32 drawcount; -} floorinfo_t; -======= extern CV_PossibleValue_t granisotropicmode_cons_t[]; ->>>>>>> e251f9c230beda984cdcdea7e903d765f1c68f6f -#endif +#endif \ No newline at end of file diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 148ac046..df0f3bcf 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -37,6 +37,7 @@ #include "../r_things.h" #include "../r_draw.h" #include "../p_tick.h" +#include "../k_kart.h" // colortranslations #include "hw_model.h" #include "hw_main.h" @@ -70,7 +71,6 @@ #include "errno.h" #endif - md2_t md2_models[NUMSPRITES]; md2_t md2_playermodels[MAXSKINS]; @@ -92,7 +92,11 @@ static void md2_freeModel (model_t *model) static model_t *md2_readModel(const char *filename) { //Filename checking fixed ~Monster Iestyn and Golden - return LoadModel(va("%s"PATHSEP"%s", srb2home, filename), PU_STATIC); + if (FIL_FileExists(va("%s"PATHSEP"%s", srb2home, filename))) + return LoadModel(va("%s"PATHSEP"%s", srb2home, filename), PU_STATIC); + else if (FIL_FileExists(va("%s"PATHSEP"%s", srb2path, filename))) + return LoadModel(va("%s"PATHSEP"%s", srb2path, filename), PU_STATIC); + return NULL; } static inline void md2_printModelInfo (model_t *model) @@ -152,16 +156,20 @@ static GLTextureFormat_t PNG_Load(const char *filename, int *w, int *h, GLPatch_ jmp_buf jmpbuf; #endif #endif - png_FILE_p png_FILE; + volatile png_FILE_p png_FILE; //Filename checking fixed ~Monster Iestyn and Golden - char *pngfilename = va("%s"PATHSEP"md2"PATHSEP"%s", srb2home, filename); + char *pngfilename = va("%s"PATHSEP"mdls"PATHSEP"%s", srb2home, filename); FIL_ForceExtension(pngfilename, ".png"); png_FILE = fopen(pngfilename, "rb"); if (!png_FILE) { + pngfilename = va("%s"PATHSEP"mdls"PATHSEP"%s", srb2path, filename); + FIL_ForceExtension(pngfilename, ".png"); + png_FILE = fopen(pngfilename, "rb"); //CONS_Debug(DBG_RENDER, "M_SavePNG: Error on opening %s for loading\n", filename); - return 0; + if (!png_FILE) + return 0; } png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, @@ -283,12 +291,18 @@ static GLTextureFormat_t PCX_Load(const char *filename, int *w, int *h, INT32 ch, rep; FILE *file; //Filename checking fixed ~Monster Iestyn and Golden - char *pcxfilename = va("%s"PATHSEP"md2"PATHSEP"%s", srb2home, filename); + char *pcxfilename = va("%s"PATHSEP"mdls"PATHSEP"%s", srb2home, filename); FIL_ForceExtension(pcxfilename, ".pcx"); file = fopen(pcxfilename, "rb"); if (!file) - return 0; + { + pcxfilename = va("%s"PATHSEP"mdls"PATHSEP"%s", srb2path, filename); + FIL_ForceExtension(pcxfilename, ".pcx"); + file = fopen(pcxfilename, "rb"); + if (!file) + return 0; + } if (fread(&header, sizeof (PcxHeader), 1, file) != 1) { @@ -472,23 +486,28 @@ void HWR_InitMD2(void) md2_models[i].error = false; } - // read the md2.dat file + // read the mdls.dat file //Filename checking fixed ~Monster Iestyn and Golden - f = fopen(va("%s"PATHSEP"%s", srb2home, "md2.dat"), "rt"); + f = fopen(va("%s"PATHSEP"%s", srb2home, "mdls.dat"), "rt"); if (!f) { - CONS_Printf("%s %s\n", M_GetText("Error while loading md2.dat:"), strerror(errno)); - nomd2s = true; - return; + f = fopen(va("%s"PATHSEP"%s", srb2path, "mdls.dat"), "rt"); + if (!f) + { + CONS_Printf("%s %s\n", M_GetText("Error while loading mdls.dat:"), strerror(errno)); + nomd2s = true; + return; + } } while (fscanf(f, "%19s %31s %f %f", name, filename, &scale, &offset) == 4) { - if (stricmp(name, "PLAY") == 0) + /*if (stricmp(name, "PLAY") == 0) { - CONS_Printf("MD2 for sprite PLAY detected in md2.dat, use a player skin instead!\n"); + CONS_Printf("MD2 for sprite PLAY detected in mdls.dat, use a player skin instead!\n"); continue; - } + }*/ + // 8/1/19: Allow PLAY to load for default MD2. for (i = 0; i < NUMSPRITES; i++) { @@ -519,8 +538,8 @@ void HWR_InitMD2(void) goto md2found; } } - // no sprite/player skin name found?!? - //CONS_Printf("Unknown sprite/player skin %s detected in md2.dat\n", name); + // no sprite/player skin name found?!?D + CONS_Printf("Unknown sprite/player skin %s detected in mdls.dat\n", name); md2found: // move on to next line... continue; @@ -539,15 +558,19 @@ void HWR_AddPlayerMD2(int skin) // For MD2's that were added after startup CONS_Printf("AddPlayerMD2()...\n"); - // read the md2.dat file + // read the mdls.dat file //Filename checking fixed ~Monster Iestyn and Golden - f = fopen(va("%s"PATHSEP"%s", srb2home, "md2.dat"), "rt"); + f = fopen(va("%s"PATHSEP"%s", srb2home, "mdls.dat"), "rt"); if (!f) { - CONS_Printf("Error while loading md2.dat\n"); - nomd2s = true; - return; + f = fopen(va("%s"PATHSEP"%s", srb2path, "mdls.dat"), "rt"); + if (!f) + { + CONS_Printf("%s %s\n", M_GetText("Error while loading mdls.dat:"), strerror(errno)); + nomd2s = true; + return; + } } // Check for any MD2s that match the names of sprite names! @@ -574,7 +597,7 @@ playermd2found: void HWR_AddSpriteMD2(size_t spritenum) // For MD2s that were added after startup { FILE *f; - // name[18] is used to check for names in the md2.dat file that match with sprites or player skins + // name[18] is used to check for names in the mdls.dat file that match with sprites or player skins // sprite names are always 4 characters long, and names is for player skins can be up to 19 characters long char name[18], filename[32]; float scale, offset; @@ -587,16 +610,20 @@ void HWR_AddSpriteMD2(size_t spritenum) // For MD2s that were added after startu // Read the md2.dat file //Filename checking fixed ~Monster Iestyn and Golden - f = fopen(va("%s"PATHSEP"%s", srb2home, "md2.dat"), "rt"); + f = fopen(va("%s"PATHSEP"%s", srb2home, "mdls.dat"), "rt"); if (!f) { - CONS_Printf("Error while loading md2.dat\n"); - nomd2s = true; - return; + f = fopen(va("%s"PATHSEP"%s", srb2path, "mdls.dat"), "rt"); + if (!f) + { + CONS_Printf("%s %s\n", M_GetText("Error while loading mdls.dat:"), strerror(errno)); + nomd2s = true; + return; + } } - // Check for any MD2s that match the names of player skins! + // Check for any MD2s that match the names of sprite names! while (fscanf(f, "%19s %31s %f %f", name, filename, &scale, &offset) == 4) { if (stricmp(name, sprnames[spritenum]) == 0) @@ -615,8 +642,18 @@ spritemd2found: fclose(f); } -static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, GLMipmap_t *grmip, skincolors_t color) +// Define for getting accurate color brightness readings according to how the human eye sees them. +// https://en.wikipedia.org/wiki/Relative_luminance +// 0.2126 to red +// 0.7152 to green +// 0.0722 to blue +// (See this same define in k_kart.c!) +#define SETBRIGHTNESS(brightness,r,g,b) \ + brightness = (UINT8)(((1063*((UINT16)r)/5000) + (3576*((UINT16)g)/5000) + (361*((UINT16)b)/5000)) / 3) + +static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, GLMipmap_t *grmip, INT32 skinnum, skincolors_t color) { + UINT8 i; UINT16 w = gpatch->width, h = gpatch->height; UINT32 size = w*h; RGBA_t *image, *blendimage, *cur, blendcolor; @@ -642,175 +679,109 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, image = gpatch->mipmap.grInfo.data; blendimage = blendgpatch->mipmap.grInfo.data; - switch (color) + // Average all of the translation's colors { - case SKINCOLOR_WHITE: - blendcolor = V_GetColor(3); - break; - case SKINCOLOR_SILVER: - blendcolor = V_GetColor(10); - break; - case SKINCOLOR_GREY: - blendcolor = V_GetColor(15); - break; - case SKINCOLOR_BLACK: - blendcolor = V_GetColor(27); - break; - case SKINCOLOR_CYAN: - blendcolor = V_GetColor(215); - break; - case SKINCOLOR_TEAL: - blendcolor = V_GetColor(221); - break; - case SKINCOLOR_STEELBLUE: - blendcolor = V_GetColor(203); - break; - case SKINCOLOR_BLUE: - blendcolor = V_GetColor(232); - break; - case SKINCOLOR_PEACH: - blendcolor = V_GetColor(71); - break; - case SKINCOLOR_TAN: - blendcolor = V_GetColor(79); - break; - case SKINCOLOR_PINK: - blendcolor = V_GetColor(147); - break; - case SKINCOLOR_LAVENDER: - blendcolor = V_GetColor(251); - break; - case SKINCOLOR_PURPLE: - blendcolor = V_GetColor(195); - break; - case SKINCOLOR_ORANGE: - blendcolor = V_GetColor(87); - break; - case SKINCOLOR_ROSEWOOD: - blendcolor = V_GetColor(94); - break; - case SKINCOLOR_BEIGE: - blendcolor = V_GetColor(40); - break; - case SKINCOLOR_BROWN: - blendcolor = V_GetColor(57); - break; - case SKINCOLOR_RED: - blendcolor = V_GetColor(130); - break; - case SKINCOLOR_DARKRED: - blendcolor = V_GetColor(139); - break; - case SKINCOLOR_NEONGREEN: - blendcolor = V_GetColor(184); - break; - case SKINCOLOR_GREEN: - blendcolor = V_GetColor(166); - break; - case SKINCOLOR_ZIM: - blendcolor = V_GetColor(180); - break; - case SKINCOLOR_OLIVE: - blendcolor = V_GetColor(108); - break; - case SKINCOLOR_YELLOW: - blendcolor = V_GetColor(104); - break; - case SKINCOLOR_GOLD: - blendcolor = V_GetColor(115); - break; + const UINT8 div = 6; + const UINT8 start = 4; + UINT32 r, g, b; - case SKINCOLOR_SUPER1: - blendcolor = V_GetColor(97); - break; - case SKINCOLOR_SUPER2: - blendcolor = V_GetColor(100); - break; - case SKINCOLOR_SUPER3: - blendcolor = V_GetColor(103); - break; - case SKINCOLOR_SUPER4: - blendcolor = V_GetColor(113); - break; - case SKINCOLOR_SUPER5: - blendcolor = V_GetColor(116); - break; + blendcolor = V_GetColor(colortranslations[color][start]); + r = (UINT32)(blendcolor.s.red*blendcolor.s.red); + g = (UINT32)(blendcolor.s.green*blendcolor.s.green); + b = (UINT32)(blendcolor.s.blue*blendcolor.s.blue); - case SKINCOLOR_TSUPER1: - blendcolor = V_GetColor(81); - break; - case SKINCOLOR_TSUPER2: - blendcolor = V_GetColor(82); - break; - case SKINCOLOR_TSUPER3: - blendcolor = V_GetColor(84); - break; - case SKINCOLOR_TSUPER4: - blendcolor = V_GetColor(85); - break; - case SKINCOLOR_TSUPER5: - blendcolor = V_GetColor(87); - break; + for (i = 1; i < div; i++) + { + RGBA_t nextcolor = V_GetColor(colortranslations[color][start+i]); + r += (UINT32)(nextcolor.s.red*nextcolor.s.red); + g += (UINT32)(nextcolor.s.green*nextcolor.s.green); + b += (UINT32)(nextcolor.s.blue*nextcolor.s.blue); + } - case SKINCOLOR_KSUPER1: - blendcolor = V_GetColor(122); - break; - case SKINCOLOR_KSUPER2: - blendcolor = V_GetColor(123); - break; - case SKINCOLOR_KSUPER3: - blendcolor = V_GetColor(124); - break; - case SKINCOLOR_KSUPER4: - blendcolor = V_GetColor(125); - break; - case SKINCOLOR_KSUPER5: - blendcolor = V_GetColor(126); - break; - default: - blendcolor = V_GetColor(247); - break; + blendcolor.s.red = (UINT8)(FixedSqrt((r/div)<>FRACBITS); + blendcolor.s.green = (UINT8)(FixedSqrt((g/div)<>FRACBITS); + blendcolor.s.blue = (UINT8)(FixedSqrt((b/div)<>FRACBITS); } - while (size--) + // rainbow support, could theoretically support boss ones too + if (skinnum == TC_RAINBOW) { - if (blendimage->s.alpha == 0) + while (size--) { - // Don't bother with blending the pixel if the alpha of the blend pixel is 0 - cur->rgba = image->rgba; + if (image->s.alpha == 0 && blendimage->s.alpha == 0) + { + // Don't bother with blending the pixel if the alpha of the blend pixel is 0 + cur->rgba = image->rgba; + } + else + { + UINT32 tempcolor; + UINT16 imagebright, blendbright, finalbright, colorbright; + SETBRIGHTNESS(imagebright,image->s.red,image->s.green,image->s.blue); + SETBRIGHTNESS(blendbright,blendimage->s.red,blendimage->s.green,blendimage->s.blue); + // slightly dumb average between the blend image color and base image colour, usually one or the other will be fully opaque anyway + finalbright = (imagebright*(255-blendimage->s.alpha))/255 + (blendbright*blendimage->s.alpha)/255; + SETBRIGHTNESS(colorbright,blendcolor.s.red,blendcolor.s.green,blendcolor.s.blue); + + tempcolor = (finalbright*blendcolor.s.red)/colorbright; + tempcolor = min(255, tempcolor); + cur->s.red = (UINT8)tempcolor; + tempcolor = (finalbright*blendcolor.s.green)/colorbright; + tempcolor = min(255, tempcolor); + cur->s.green = (UINT8)tempcolor; + tempcolor = (finalbright*blendcolor.s.blue)/colorbright; + tempcolor = min(255, tempcolor); + cur->s.blue = (UINT8)tempcolor; + cur->s.alpha = image->s.alpha; + } + + cur++; image++; blendimage++; } - else + } + else + { + while (size--) { - INT32 tempcolor; - INT16 tempmult, tempalpha; - tempalpha = -(abs(blendimage->s.red-127)-127)*2; - if (tempalpha > 255) - tempalpha = 255; - else if (tempalpha < 0) - tempalpha = 0; + if (blendimage->s.alpha == 0) + { + // Don't bother with blending the pixel if the alpha of the blend pixel is 0 + cur->rgba = image->rgba; + } + else + { + INT32 tempcolor; + INT16 tempmult, tempalpha; + tempalpha = -(abs(blendimage->s.red-127)-127)*2; + if (tempalpha > 255) + tempalpha = 255; + else if (tempalpha < 0) + tempalpha = 0; - tempmult = (blendimage->s.red-127)*2; - if (tempmult > 255) - tempmult = 255; - else if (tempmult < 0) - tempmult = 0; + tempmult = (blendimage->s.red-127)*2; + if (tempmult > 255) + tempmult = 255; + else if (tempmult < 0) + tempmult = 0; - tempcolor = (image->s.red*(255-blendimage->s.alpha))/255 + ((tempmult + ((tempalpha*blendcolor.s.red)/255)) * blendimage->s.alpha)/255; - cur->s.red = (UINT8)tempcolor; - tempcolor = (image->s.green*(255-blendimage->s.alpha))/255 + ((tempmult + ((tempalpha*blendcolor.s.green)/255)) * blendimage->s.alpha)/255; - cur->s.green = (UINT8)tempcolor; - tempcolor = (image->s.blue*(255-blendimage->s.alpha))/255 + ((tempmult + ((tempalpha*blendcolor.s.blue)/255)) * blendimage->s.alpha)/255; - cur->s.blue = (UINT8)tempcolor; - cur->s.alpha = image->s.alpha; + tempcolor = (image->s.red*(255-blendimage->s.alpha))/255 + ((tempmult + ((tempalpha*blendcolor.s.red)/255)) * blendimage->s.alpha)/255; + cur->s.red = (UINT8)tempcolor; + tempcolor = (image->s.green*(255-blendimage->s.alpha))/255 + ((tempmult + ((tempalpha*blendcolor.s.green)/255)) * blendimage->s.alpha)/255; + cur->s.green = (UINT8)tempcolor; + tempcolor = (image->s.blue*(255-blendimage->s.alpha))/255 + ((tempmult + ((tempalpha*blendcolor.s.blue)/255)) * blendimage->s.alpha)/255; + cur->s.blue = (UINT8)tempcolor; + cur->s.alpha = image->s.alpha; + } + + cur++; image++; blendimage++; } - - cur++; image++; blendimage++; } return; } -static void HWR_GetBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, const UINT8 *colormap, skincolors_t color) +#undef SETBRIGHTNESS + +static void HWR_GetBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, INT32 skinnum, const UINT8 *colormap, skincolors_t color) { // mostly copied from HWR_GetMappedPatch, hence the similarities and comment GLMipmap_t *grmip, *newmip; @@ -851,7 +822,7 @@ static void HWR_GetBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, con grmip->nextcolormap = newmip; newmip->colormap = colormap; - HWR_CreateBlendedTexture(gpatch, blendgpatch, newmip, color); + HWR_CreateBlendedTexture(gpatch, blendgpatch, newmip, skinnum, color); HWD.pfnSetTexture(newmip); Z_ChangeTag(newmip->grInfo.data, PU_HWRCACHE_UNLOCKED); @@ -871,11 +842,10 @@ void HWR_DrawMD2(gr_vissprite_t *spr) char filename[64]; INT32 frame = 0; INT32 nextFrame = -1; - FTransform p; FSurfaceInfo Surf; - if (!cv_grmd2.value) + if (!cv_grmdls.value) return; if (spr->precip) @@ -883,6 +853,7 @@ void HWR_DrawMD2(gr_vissprite_t *spr) // MD2 colormap fix // colormap test + if (spr->mobj->subsector) { sector_t *sector = spr->mobj->subsector->sector; extracolormap_t *colormap = sector->extra_colormap; @@ -914,6 +885,10 @@ void HWR_DrawMD2(gr_vissprite_t *spr) else HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG); } + else + { + Surf.PolyColor.rgba = 0xFFFFFFFF; + } // Look at HWR_ProjectSprite for more { @@ -942,20 +917,20 @@ void HWR_DrawMD2(gr_vissprite_t *spr) // 1. load model+texture if not already loaded // 2. draw model with correct position, rotation,... - if (spr->mobj->skin && spr->mobj->sprite == SPR_PLAY) // Use the player MD2 list if the mobj has a skin and is using the player sprites + if (spr->mobj->skin && spr->mobj->sprite == SPR_PLAY && !md2_playermodels[(skin_t*)spr->mobj->skin-skins].notfound) // Use the player MD2 list if the mobj has a skin and is using the player sprites { md2 = &md2_playermodels[(skin_t*)spr->mobj->skin-skins]; md2->skin = (skin_t*)spr->mobj->skin-skins; } - else + else // if we can't find the player md2, use SPR_PLAY's MD2. md2 = &md2_models[spr->mobj->sprite]; if (md2->error) return; // we already failed loading this before :( if (!md2->model) { - //CONS_Debug(DBG_RENDER, "Loading MD2... (%s)", sprnames[spr->mobj->sprite]); - sprintf(filename, "md2/%s", md2->filename); + CONS_Debug(DBG_RENDER, "Loading model... (%s, %s)", sprnames[spr->mobj->sprite], md2->filename); + sprintf(filename, "mdls/%s", md2->filename); md2->model = md2_readModel(filename); if (md2->model) @@ -987,7 +962,30 @@ void HWR_DrawMD2(gr_vissprite_t *spr) md2->blendgrpatch && ((GLPatch_t *)md2->blendgrpatch)->mipmap.grInfo.format && gpatch->width == ((GLPatch_t *)md2->blendgrpatch)->width && gpatch->height == ((GLPatch_t *)md2->blendgrpatch)->height) { - HWR_GetBlendedTexture(gpatch, (GLPatch_t *)md2->blendgrpatch, spr->colormap, (skincolors_t)spr->mobj->color); + INT32 skinnum = TC_DEFAULT; + if ((spr->mobj->flags & MF_BOSS) && (spr->mobj->flags2 & MF2_FRET) && (leveltime & 1)) // Bosses "flash" + { + if (spr->mobj->type == MT_CYBRAKDEMON) + skinnum = TC_ALLWHITE; + else if (spr->mobj->type == MT_METALSONIC_BATTLE) + skinnum = TC_METALSONIC; + else + skinnum = TC_BOSS; + } + else if (spr->mobj->color) + { + if (spr->mobj->skin && spr->mobj->sprite == SPR_PLAY) + { + if (spr->mobj->colorized) + skinnum = TC_RAINBOW; + else + { + skinnum = (INT32)((skin_t*)spr->mobj->skin-skins); + } + } + else skinnum = TC_DEFAULT; + } + HWR_GetBlendedTexture(gpatch, (GLPatch_t *)md2->blendgrpatch, skinnum, spr->colormap, (skincolors_t)spr->mobj->color); } else { @@ -1011,8 +1009,9 @@ void HWR_DrawMD2(gr_vissprite_t *spr) //FIXME: this is not yet correct frame = (spr->mobj->frame & FF_FRAMEMASK) % md2->model->meshes[0].numFrames; + #ifdef USE_MODEL_NEXTFRAME - if (cv_grmd2.value == 1 && tics <= durs) + if (cv_grmdls.value == 1 && tics <= durs) { // frames are handled differently for states with FF_ANIMATE, so get the next frame differently for the interpolation if (spr->mobj->frame & FF_ANIMATE) @@ -1053,14 +1052,11 @@ void HWR_DrawMD2(gr_vissprite_t *spr) if (sprframe->rotate) { - fixed_t anglef = AngleFixed(spr->mobj->angle); - // \todo adapt for 2.2 directionchar? The below code is from Kart -#if 0 + fixed_t anglef; if (spr->mobj->player) anglef = AngleFixed(spr->mobj->player->frameangle); else anglef = AngleFixed(spr->mobj->angle); -#endif p.angley = FIXED_TO_FLOAT(anglef); } else @@ -1097,4 +1093,4 @@ void HWR_DrawMD2(gr_vissprite_t *spr) } } -#endif //HWRENDER \ No newline at end of file +#endif //HWRENDER diff --git a/src/m_menu.c b/src/m_menu.c index a95cac87..826fa806 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -1285,15 +1285,14 @@ static menuitem_t OP_OpenGLOptionsMenu[] = {IT_STRING|IT_CVAR, NULL, "Shaders", &cv_grshaders, 10}, {IT_STRING|IT_CVAR, NULL, "Software Perspective", &cv_grshearing, 20}, - {IT_STRING|IT_CVAR, NULL, "Field of view", &cv_grfov, 40}, - {IT_STRING|IT_CVAR, NULL, "Quality", &cv_scr_depth, 50}, - {IT_STRING|IT_CVAR, NULL, "Texture Filter", &cv_grfiltermode, 60}, - {IT_STRING|IT_CVAR, NULL, "Anisotropic", &cv_granisotropicmode, 70}, + {IT_STRING|IT_CVAR, NULL, "Quality", &cv_scr_depth, 40}, + {IT_STRING|IT_CVAR, NULL, "Texture Filter", &cv_grfiltermode, 50}, + {IT_STRING|IT_CVAR, NULL, "Anisotropic", &cv_granisotropicmode, 60}, #ifdef _WINDOWS - {IT_STRING|IT_CVAR, NULL, "Fullscreen", &cv_fullscreen, 80}, + {IT_STRING|IT_CVAR, NULL, "Fullscreen", &cv_fullscreen, 70}, #endif - {IT_SUBMENU|IT_STRING, NULL, "Fog...", &OP_OpenGLFogDef, 110}, - {IT_SUBMENU|IT_STRING, NULL, "Gamma...", &OP_OpenGLColorDef, 120}, + {IT_SUBMENU|IT_STRING, NULL, "Fog...", &OP_OpenGLFogDef, 100}, + {IT_SUBMENU|IT_STRING, NULL, "Gamma...", &OP_OpenGLColorDef, 110}, }; static menuitem_t OP_OpenGLFogMenu[] = diff --git a/src/r_main.c b/src/r_main.c index 7295f495..65e2fb19 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -137,7 +137,7 @@ static CV_PossibleValue_t drawdist_precip_cons_t[] = { {1024, "1024"}, {1536, "1536"}, {2048, "2048"}, {0, "None"}, {0, NULL}}; -static CV_PossibleValue_t fov_cons_t[] = {{0, "MIN"}, {179*FRACUNIT, "MAX"}, {0, NULL}}; +static CV_PossibleValue_t fov_cons_t[] = {{45*FRACUNIT, "MIN"}, {120*FRACUNIT, "MAX"}, {0, NULL}}; //static CV_PossibleValue_t precipdensity_cons_t[] = {{0, "None"}, {1, "Light"}, {2, "Moderate"}, {4, "Heavy"}, {6, "Thick"}, {8, "V.Thick"}, {0, NULL}}; static CV_PossibleValue_t translucenthud_cons_t[] = {{0, "MIN"}, {10, "MAX"}, {0, NULL}}; @@ -181,7 +181,9 @@ consvar_t cv_drawdist = {"drawdist", "Infinite", CV_SAVE, drawdist_cons_t, NULL, //consvar_t cv_drawdist_nights = {"drawdist_nights", "2048", CV_SAVE, drawdist_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_drawdist_precip = {"drawdist_precip", "1024", CV_SAVE, drawdist_precip_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; //consvar_t cv_precipdensity = {"precipdensity", "Moderate", CV_SAVE, precipdensity_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_fov = {"fov", "90", CV_FLOAT|CV_CALL, fov_cons_t, Fov_OnChange, 0, NULL, NULL, 0, 0, NULL}; + +// cap fov, fov too high tears software apart. +consvar_t cv_fov = {"fov", "90", CV_FLOAT|CV_CALL|CV_SAVE, fov_cons_t, Fov_OnChange, 0, NULL, NULL, 0, 0, NULL}; // Okay, whoever said homremoval causes a performance hit should be shot. consvar_t cv_homremoval = {"homremoval", "Yes", CV_SAVE, homremoval_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; diff --git a/src/v_video.c b/src/v_video.c index 0bf061f1..5ec92eb5 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -76,7 +76,6 @@ consvar_t cv_grgammablue = {"gr_gammablue", "127", CV_SAVE|CV_CALL, grgamma_cons // console variables in development consvar_t cv_grmdls = {"gr_mdls", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfallbackplayermodel = {"gr_fallbackplayermodel", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grspritebillboarding = {"gr_spritebillboarding", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grshearing = {"gr_shearing", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grspritebillboarding = {"gr_spritebillboarding", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; From df789e1d67ee6ab2da0b30988a6a803a51649154 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Wed, 12 Jun 2019 23:01:18 -0300 Subject: [PATCH 070/245] Open Graphics Library (OpenGL) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering. --- src/hardware/hw_cache.c | 13 ++++++++++++- src/hardware/hw_defs.h | 3 ++- src/hardware/hw_main.c | 23 +++++++++++++---------- src/hardware/hw_main.h | 3 ++- src/hardware/r_opengl/r_opengl.c | 19 ++++++++++++++++--- src/m_menu.c | 1 + src/r_main.c | 2 +- src/v_video.c | 8 +++++--- 8 files changed, 52 insertions(+), 20 deletions(-) diff --git a/src/hardware/hw_cache.c b/src/hardware/hw_cache.c index c41812c1..32f9c285 100644 --- a/src/hardware/hw_cache.c +++ b/src/hardware/hw_cache.c @@ -573,6 +573,10 @@ GLTexture_t *HWR_GetTexture(INT32 tex) static void HWR_CacheFlat(GLMipmap_t *grMipmap, lumpnum_t flatlumpnum) { +#ifdef GLENCORE + UINT8 *flat; + INT32 steppy; +#endif size_t size, pflatsize; // setup the texture info @@ -614,6 +618,13 @@ static void HWR_CacheFlat(GLMipmap_t *grMipmap, lumpnum_t flatlumpnum) // the flat raw data needn't be converted with palettized textures W_ReadLump(flatlumpnum, Z_Malloc(W_LumpLength(flatlumpnum), PU_HWRCACHE, &grMipmap->grInfo.data)); + +#ifdef GLENCORE + flat = grMipmap->grInfo.data; + for (steppy = 0; steppy < size; steppy++) + if (flat[steppy] != HWR_PATCHES_CHROMAKEY_COLORINDEX) + flat[steppy] = grMipmap->colormap[flat[steppy]]; +#endif } @@ -859,4 +870,4 @@ void HWR_GetFadeMask(lumpnum_t fademasklumpnum) Z_ChangeTag(grmip->grInfo.data, PU_HWRCACHE_UNLOCKED); } -#endif //HWRENDER \ No newline at end of file +#endif //HWRENDER diff --git a/src/hardware/hw_defs.h b/src/hardware/hw_defs.h index 32cb8a25..aba91675 100644 --- a/src/hardware/hw_defs.h +++ b/src/hardware/hw_defs.h @@ -241,6 +241,7 @@ enum hwdsetspecialstate HWD_SET_SHADERS, HWD_SET_FOG_MODE, + HWD_SET_FOG_FUNCTION, HWD_SET_FOG_DENSITY, HWD_SET_TEXTUREFILTERMODE, @@ -263,4 +264,4 @@ enum hwdfiltermode HWD_SET_TEXTUREFILTER_MIXED3, }; -#endif //_HWR_DEFS_ \ No newline at end of file +#endif //_HWR_DEFS_ diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 91208e69..d19cb4ae 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -161,15 +161,16 @@ void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UIN fog_color.s.green = (UINT8)(((float)fog_color.s.green) * fog_alpha); fog_color.s.blue = (UINT8)(((float)fog_color.s.blue) * fog_alpha); + if (cv_grfog.value) { // be careful, this may get negative for high lightlevel values. float fog = (fog_alpha - (light_level/255.0f))*3/2; if (fog < 0) fog = 0; - float red = (fog_color.s.red/255.0f) * fog / 1.0f + (final_color.s.red/255.0f) * (1.0f - fog) / 1.0f; - float green = (fog_color.s.green/255.0f) * fog / 1.0f + (final_color.s.green/255.0f) * (1.0f - fog) / 1.0f; - float blue = (fog_color.s.blue/255.0f) * fog / 1.0f + (final_color.s.blue/255.0f) * (1.0f - fog) / 1.0f; + float red = ((fog_color.s.red/255.0f) * fog) + ((final_color.s.red/255.0f) * (1.0f - fog)); + float green = ((fog_color.s.green/255.0f) * fog) + ((final_color.s.green/255.0f) * (1.0f - fog)); + float blue = ((fog_color.s.blue/255.0f) * fog) + ((final_color.s.blue/255.0f) * (1.0f - fog)); final_color.s.red = (UINT8)(red*255.0f); final_color.s.green = (UINT8)(green*255.0f); final_color.s.blue = (UINT8)(blue*255.0f); @@ -4540,6 +4541,12 @@ void HWR_DrawSkyBackground(void) angle = (viewangle + xtoviewangle[0]); dimensionmultiply = ((float)textures[skytexture]->width/256.0f)*2; + if (atransform.mirror) + { + angle = InvAngle(angle); + dimensionmultiply *= -1; + } + v[0].s = v[3].s = ((float) angle / ((ANGLE_90-1)*dimensionmultiply)); v[2].s = v[1].s = (-1.0f/dimensionmultiply)+((float) angle / ((ANGLE_90-1)*dimensionmultiply)); @@ -4547,12 +4554,6 @@ void HWR_DrawSkyBackground(void) angle = aimingangle; dimensionmultiply = ((float)textures[skytexture]->height/(128.0f*aspectratio)); - if (atransform.mirror) - { - angle = InvAngle(angle); - dimensionmultiply *= -1; - } - if (splitscreen == 1) { dimensionmultiply *= 2; @@ -4726,6 +4727,7 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) if (*postprocessor == postimg_flip) atransform.flip = true; + atransform.mirror = false; if (*postprocessor == postimg_mirror) atransform.mirror = true; @@ -4832,6 +4834,7 @@ void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) void HWR_FoggingOn(void) { HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, cv_grsoftwarefog.value ? 2 : 1); + HWD.pfnSetSpecialState(HWD_SET_FOG_FUNCTION, cv_grfogfunction.value); HWD.pfnSetSpecialState(HWD_SET_FOG_DENSITY, cv_grfogdensity.value); } @@ -5258,4 +5261,4 @@ skip_field: return; } -#endif // HWRENDER \ No newline at end of file +#endif // HWRENDER diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index b4073b86..ad771824 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -137,6 +137,7 @@ extern consvar_t cv_grmdls; extern consvar_t cv_grfog; extern consvar_t cv_grfogdensity; extern consvar_t cv_grsoftwarefog; +extern consvar_t cv_grfogfunction; extern consvar_t cv_grgammared; extern consvar_t cv_grgammagreen; extern consvar_t cv_grgammablue; @@ -150,4 +151,4 @@ extern consvar_t cv_grfallbackplayermodel; extern CV_PossibleValue_t granisotropicmode_cons_t[]; -#endif \ No newline at end of file +#endif diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 51f348b7..59ae9e61 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -490,6 +490,7 @@ boolean SetupGLfunc(void) } static INT32 glstate_fog_mode = 0; +static INT32 glstate_fog_function = 0; static float glstate_fog_density = 0; INT32 gl_leveltime = 0; @@ -572,12 +573,17 @@ static PFNglGetUniformLocation pglGetUniformLocation; #define GLSL_SHARED_FOG_MIX \ "float fog_distance = gl_FragCoord.z / gl_FragCoord.w;\n" \ - "float fog_attenuation = fog(fog_distance, 0.0001 * ((256-lighting)/24), fog_density);\n" \ + "float fog_attenuation = 0.0001 * ((256-lighting)/24);\n" \ + "if (fog_function == 2)\n" \ + "fog_attenuation = fog2(fog_distance, fog_attenuation, fog_density);\n" \ + "else\n" \ + "fog_attenuation = fog(fog_distance, fog_attenuation, fog_density);\n" \ "if (fog_mode == 2)\n" \ "fog_attenuation = floor(fog_attenuation*10)/10;\n" \ "vec4 fog_color = vec4(fade_color[0], fade_color[1], fade_color[2], 1.0);\n" \ "vec4 mixed_color = texel * mix_color;\n" \ - "vec4 final_color = mix(mixed_color, fog_color, fog_attenuation);\n" \ + "vec4 fog_mix = mix(mixed_color, fog_color, fog_attenuation);\n" \ + "vec4 final_color = mix(fog_mix, fog_color, ((256-lighting)/256));\n" \ "final_color[3] = mixed_color[3];\n" #define GLSL_FRAGMENT_SHADER_HEADER \ @@ -586,6 +592,7 @@ static PFNglGetUniformLocation pglGetUniformLocation; "uniform vec4 fade_color;\n" \ "uniform float lighting;\n" \ "uniform int fog_mode;\n" \ + "uniform int fog_function;\n" \ "uniform float fog_density;\n" \ #define SHARED_FRAGMENT_SHADER \ @@ -1596,6 +1603,7 @@ static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *mix, GLRGBAFloat *f { #define GETUNI(uniform) pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], uniform); GLint UNIFORM_fog_mode = GETUNI("fog_mode"); + GLint UNIFORM_fog_function = GETUNI("fog_function"); GLint UNIFORM_fog_density = GETUNI("fog_density"); GLint UNIFORM_mix_color = GETUNI("mix_color"); @@ -1624,6 +1632,7 @@ static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *mix, GLRGBAFloat *f // glstate UNIFORM_1(UNIFORM_fog_mode, glstate_fog_mode, pglUniform1i); + UNIFORM_1(UNIFORM_fog_function, glstate_fog_function, pglUniform1i); UNIFORM_1(UNIFORM_fog_density, glstate_fog_density, pglUniform1f); // polygon @@ -1724,6 +1733,10 @@ EXPORT void HWRAPI(SetSpecialState) (hwdspecialstate_t IdState, INT32 Value) glstate_fog_mode = Value; break; + case HWD_SET_FOG_FUNCTION: + glstate_fog_function = Value; + break; + case HWD_SET_FOG_DENSITY: glstate_fog_density = FIXED_TO_FLOAT(Value); break; @@ -2686,4 +2699,4 @@ EXPORT void HWRAPI(DrawScreenFinalTexture)(int width, int height) tex_downloaded = finalScreenTexture; } -#endif //HWRENDER \ No newline at end of file +#endif //HWRENDER diff --git a/src/m_menu.c b/src/m_menu.c index 826fa806..7c40eb2c 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -1300,6 +1300,7 @@ static menuitem_t OP_OpenGLFogMenu[] = {IT_STRING|IT_CVAR, NULL, "Fog", &cv_grfog, 10}, {IT_STRING|IT_CVAR, NULL, "Fog density", &cv_grfogdensity, 20}, {IT_STRING|IT_CVAR, NULL, "Software fog",&cv_grsoftwarefog,30}, + {IT_STRING|IT_CVAR, NULL, "Fog algorithm",&cv_grfogfunction,40}, }; static menuitem_t OP_OpenGLColorMenu[] = diff --git a/src/r_main.c b/src/r_main.c index 65e2fb19..f156c286 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -1552,7 +1552,7 @@ void R_RegisterEngineStuff(void) CV_RegisterVar(&cv_grfovchange); CV_RegisterVar(&cv_grfog); //CV_RegisterVar(&cv_grfogcolor); - CV_RegisterVar(&cv_grsoftwarefog); + CV_RegisterVar(&cv_grfogfunction); #ifdef ALAM_LIGHTING CV_RegisterVar(&cv_grstaticlighting); CV_RegisterVar(&cv_grdynamiclighting); diff --git a/src/v_video.c b/src/v_video.c index 5ec92eb5..90fb322b 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -59,11 +59,13 @@ static void CV_Gammaxxx_ONChange(void); // but they won't do anything. static CV_PossibleValue_t grgamma_cons_t[] = {{1, "MIN"}, {255, "MAX"}, {0, NULL}}; static CV_PossibleValue_t grfogdensity_cons_t[] = {{FRACUNIT/2, "MIN"}, {FRACUNIT*2, "MAX"}, {0, NULL}}; +static CV_PossibleValue_t grfogfunction_cons_t[] = {{1, "exp"}, {2, "exp2"}, {0, NULL}}; consvar_t cv_grshaders = {"gr_shaders", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfog = {"gr_fog", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grsoftwarefog = {"gr_softwarefog", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grfogdensity = {"gr_fogdensity", "1", CV_SAVE|CV_FLOAT, grfogdensity_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grfogfunction = {"gr_fogfunction", "exp2", CV_SAVE, grfogfunction_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grfogdensity = {"gr_fogdensity", "1.0", CV_SAVE|CV_FLOAT, grfogdensity_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfovchange = {"gr_fovchange", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grgammared = {"gr_gammared", "127", CV_SAVE|CV_CALL, grgamma_cons_t, CV_Gammaxxx_ONChange, 0, NULL, NULL, 0, 0, NULL}; @@ -77,8 +79,8 @@ consvar_t cv_grgammablue = {"gr_gammablue", "127", CV_SAVE|CV_CALL, grgamma_cons consvar_t cv_grmdls = {"gr_mdls", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfallbackplayermodel = {"gr_fallbackplayermodel", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grshearing = {"gr_shearing", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grspritebillboarding = {"gr_spritebillboarding", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grshearing = {"gr_shearing", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grspritebillboarding = {"gr_spritebillboarding", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; #endif const UINT8 gammatable[5][256] = From a0ff5c6b25da21a20937318c9edbcff9d7dc331c Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Wed, 12 Jun 2019 23:31:55 -0300 Subject: [PATCH 071/245] Update hw_main.c --- src/hardware/hw_main.c | 47 +++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index d19cb4ae..1b7cc4b1 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -199,29 +199,38 @@ void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mix mix_color.rgba = mixcolor; fog_color.rgba = fadecolor; - mix = (mix_color.s.alpha*255)/25; - fogmix = (fog_color.s.alpha*255)/25; + // if shaders are off, or shaders are on, but fog is off: + // modulate colors by light here + if (!cv_grshaders.value || (cv_grshaders.value && !cv_grfog.value)) + { + mix = (mix_color.s.alpha*255)/25; + fogmix = (fog_color.s.alpha*255)/25; - // Modulate the colors by alpha. - mix_color.s.red = (UINT8)(CALCLIGHT(mix,mix_color.s.red)); - mix_color.s.green = (UINT8)(CALCLIGHT(mix,mix_color.s.green)); - mix_color.s.blue = (UINT8)(CALCLIGHT(mix,mix_color.s.blue)); + // Modulate the colors by alpha. + mix_color.s.red = (UINT8)(CALCLIGHT(mix,mix_color.s.red)); + mix_color.s.green = (UINT8)(CALCLIGHT(mix,mix_color.s.green)); + mix_color.s.blue = (UINT8)(CALCLIGHT(mix,mix_color.s.blue)); - // Set the surface colors and further modulate the colors by light. - final_color.s.red = (UINT8)(CALCLIGHT((0xFF-mix),lightmix)+CALCLIGHT(mix_color.s.red,lightmix)); - final_color.s.green = (UINT8)(CALCLIGHT((0xFF-mix),lightmix)+CALCLIGHT(mix_color.s.green,lightmix)); - final_color.s.blue = (UINT8)(CALCLIGHT((0xFF-mix),lightmix)+CALCLIGHT(mix_color.s.blue,lightmix)); + // Set the surface colors and further modulate the colors by light. + final_color.s.red = (UINT8)(CALCLIGHT((0xFF-mix),lightmix)+CALCLIGHT(mix_color.s.red,lightmix)); + final_color.s.green = (UINT8)(CALCLIGHT((0xFF-mix),lightmix)+CALCLIGHT(mix_color.s.green,lightmix)); + final_color.s.blue = (UINT8)(CALCLIGHT((0xFF-mix),lightmix)+CALCLIGHT(mix_color.s.blue,lightmix)); - // Modulate the colors by alpha. - fog_color.s.red = (UINT8)(CALCLIGHT(fogmix,fog_color.s.red)); - fog_color.s.green = (UINT8)(CALCLIGHT(fogmix,fog_color.s.green)); - fog_color.s.blue = (UINT8)(CALCLIGHT(fogmix,fog_color.s.blue)); + // Modulate the colors by alpha. + fog_color.s.red = (UINT8)(CALCLIGHT(fogmix,fog_color.s.red)); + fog_color.s.green = (UINT8)(CALCLIGHT(fogmix,fog_color.s.green)); + fog_color.s.blue = (UINT8)(CALCLIGHT(fogmix,fog_color.s.blue)); - // Set the surface colors and further modulate the colors by light. - final_color.s.red = final_color.s.red+((UINT8)(CALCLIGHT((0xFF-fogmix),(0xFF-lightmix))+CALCLIGHT(fog_color.s.red,(0xFF-lightmix)))); - final_color.s.green = final_color.s.green+((UINT8)(CALCLIGHT((0xFF-fogmix),(0xFF-lightmix))+CALCLIGHT(fog_color.s.green,(0xFF-lightmix)))); - final_color.s.blue = final_color.s.blue+((UINT8)(CALCLIGHT((0xFF-fogmix),(0xFF-lightmix))+CALCLIGHT(fog_color.s.blue,(0xFF-lightmix)))); - final_color.s.alpha = 0xFF; + // Set the surface colors and further modulate the colors by light. + final_color.s.red = final_color.s.red+((UINT8)(CALCLIGHT((0xFF-fogmix),(0xFF-lightmix))+CALCLIGHT(fog_color.s.red,(0xFF-lightmix)))); + final_color.s.green = final_color.s.green+((UINT8)(CALCLIGHT((0xFF-fogmix),(0xFF-lightmix))+CALCLIGHT(fog_color.s.green,(0xFF-lightmix)))); + final_color.s.blue = final_color.s.blue+((UINT8)(CALCLIGHT((0xFF-fogmix),(0xFF-lightmix))+CALCLIGHT(fog_color.s.blue,(0xFF-lightmix)))); + final_color.s.alpha = 0xFF; + } + // if shaders are on: + // modulate colors by light on the shader + else + final_color.rgba = 0xFFFFFFFF; // Fog. fog_color.rgba = fadecolor; From bf13726c1e804bb0859ce080b635c3321ff7c0ca Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Thu, 13 Jun 2019 10:14:07 +0200 Subject: [PATCH 072/245] encore colormaps, fixups + flat align --- src/hardware/hw_cache.c | 14 ++++++------ src/hardware/hw_main.c | 20 ++++++++++------- src/p_setup.c | 48 ++++++++++++++++++++++++++++++++++------- 3 files changed, 59 insertions(+), 23 deletions(-) diff --git a/src/hardware/hw_cache.c b/src/hardware/hw_cache.c index 32f9c285..64b7e0a9 100644 --- a/src/hardware/hw_cache.c +++ b/src/hardware/hw_cache.c @@ -346,10 +346,10 @@ static void HWR_GenerateTexture(INT32 texnum, GLTexture_t *grtex) grtex->mipmap.height = (UINT16)blockheight; grtex->mipmap.grInfo.format = textureformat; -#ifdef GLENCORE grtex->mipmap.colormap = colormaps; - - if (encoremode) + +#ifdef GLENCORE + if (encoremap) grtex->mipmap.colormap += (256*32); #endif @@ -634,11 +634,11 @@ void HWR_GetFlat(lumpnum_t flatlumpnum) GLMipmap_t *grmip; grmip = &HWR_GetCachedGLPatch(flatlumpnum)->mipmap; - -#ifdef GLENCORE + grmip->colormap = colormaps; - - if (encoremode) + +#ifdef GLENCORE + if (encoremap) grmip->colormap += (256*32); #endif diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 1b7cc4b1..3b1327cd 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -387,13 +387,13 @@ void HWR_RenderPlane(extrasubsector_t *xsub, boolean isceiling, fixed_t fixedhei { scrollx = FIXED_TO_FLOAT(FOFsector->floor_xoffs)/fflatsize; scrolly = FIXED_TO_FLOAT(FOFsector->floor_yoffs)/fflatsize; - angle = FOFsector->floorpic_angle>>ANGLETOFINESHIFT; + angle = FOFsector->floorpic_angle; } else // it's a ceiling { scrollx = FIXED_TO_FLOAT(FOFsector->ceiling_xoffs)/fflatsize; scrolly = FIXED_TO_FLOAT(FOFsector->ceiling_yoffs)/fflatsize; - angle = FOFsector->ceilingpic_angle>>ANGLETOFINESHIFT; + angle = FOFsector->ceilingpic_angle; } } else if (gr_frontsector) @@ -402,24 +402,27 @@ void HWR_RenderPlane(extrasubsector_t *xsub, boolean isceiling, fixed_t fixedhei { scrollx = FIXED_TO_FLOAT(gr_frontsector->floor_xoffs)/fflatsize; scrolly = FIXED_TO_FLOAT(gr_frontsector->floor_yoffs)/fflatsize; - angle = gr_frontsector->floorpic_angle>>ANGLETOFINESHIFT; + angle = gr_frontsector->floorpic_angle; } else // it's a ceiling { scrollx = FIXED_TO_FLOAT(gr_frontsector->ceiling_xoffs)/fflatsize; scrolly = FIXED_TO_FLOAT(gr_frontsector->ceiling_yoffs)/fflatsize; - angle = gr_frontsector->ceilingpic_angle>>ANGLETOFINESHIFT; + angle = gr_frontsector->ceilingpic_angle; } } + if (angle) // Only needs to be done if there's an altered angle { + angle = InvAngle(angle)>>ANGLETOFINESHIFT; + // This needs to be done so that it scrolls in a different direction after rotation like software - tempxsow = FLOAT_TO_FIXED(scrollx); + /*tempxsow = FLOAT_TO_FIXED(scrollx); tempytow = FLOAT_TO_FIXED(scrolly); scrollx = (FIXED_TO_FLOAT(FixedMul(tempxsow, FINECOSINE(angle)) - FixedMul(tempytow, FINESINE(angle)))); - scrolly = (FIXED_TO_FLOAT(FixedMul(tempxsow, FINESINE(angle)) + FixedMul(tempytow, FINECOSINE(angle)))); + scrolly = (FIXED_TO_FLOAT(FixedMul(tempxsow, FINESINE(angle)) + FixedMul(tempytow, FINECOSINE(angle))));*/ // This needs to be done so everything aligns after rotation // It would be done so that rotation is done, THEN the translation, but I couldn't get it to rotate AND scroll like software does @@ -429,6 +432,7 @@ void HWR_RenderPlane(extrasubsector_t *xsub, boolean isceiling, fixed_t fixedhei flatyref = (FIXED_TO_FLOAT(FixedMul(tempxsow, FINESINE(angle)) + FixedMul(tempytow, FINECOSINE(angle)))); } + for (i = 0; i < nrPlaneVerts; i++,v3d++,pv++) { // Hurdler: add scrolling texture on floor/ceiling @@ -4381,7 +4385,7 @@ void HWR_ProjectSprite(mobj_t *thing) { vis->colormap = colormaps; #ifdef GLENCORE - if (encoremap && (thing->flags & (MF_SCENERY|MF_NOTHINK))) + if (encoremap && (thing->flags & (MF_SCENERY|MF_NOTHINK)) && !(thing->flags & MF_DONTENCOREMAP)) vis->colormap += (256*32); #endif } @@ -4499,7 +4503,7 @@ void HWR_ProjectPrecipitationSprite(precipmobj_t *thing) vis->colormap = colormaps; #ifdef GLENCORE - if (encoremap) + if (encoremap && !(thing->flags & MF_DONTENCOREMAP)) vis->colormap += (256*32); #endif diff --git a/src/p_setup.c b/src/p_setup.c index 6c6ef828..c5bded51 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -1408,6 +1408,8 @@ static void P_LoadRawSideDefs2(void *data) { UINT16 i; INT32 num; + size_t j; + UINT32 cr, cg, cb; for (i = 0; i < numsides; i++) { @@ -1486,10 +1488,26 @@ static void P_LoadRawSideDefs2(void *data) { col = msd->toptexture; - sec->extra_colormap->rgba = - (HEX2INT(col[1]) << 4) + (HEX2INT(col[2]) << 0) + - (HEX2INT(col[3]) << 12) + (HEX2INT(col[4]) << 8) + - (HEX2INT(col[5]) << 20) + (HEX2INT(col[6]) << 16); + // encore mode colormaps! + // do it like software by aproximating a color to a palette index, and then convert it to its encore variant and then back to a color code. + // do this for both the start and fade colormaps. + + cr = (HEX2INT(col[1]) << 4) + (HEX2INT(col[2]) << 0); + cg = (HEX2INT(col[3]) << 12) + (HEX2INT(col[4]) << 8); + cb = (HEX2INT(col[5]) << 20) + (HEX2INT(col[6]) << 16); + +#ifdef GLENCORE + if (encoremap) + { + j = encoremap[NearestColor((UINT8)cr, (UINT8)cg, (UINT8)cb)]; + //CONS_Printf("R_CreateColormap: encoremap[%d] = %d\n", j, encoremap[j]); -- moved encoremap upwards for optimisation + cr = pLocalPalette[j].s.red; + cg = pLocalPalette[j].s.green; + cb = pLocalPalette[j].s.blue; + } +#endif + + sec->extra_colormap->rgba = cr + cg + cb; // alpha if (msd->toptexture[7]) @@ -1515,10 +1533,24 @@ static void P_LoadRawSideDefs2(void *data) { col = msd->bottomtexture; - sec->extra_colormap->fadergba = - (HEX2INT(col[1]) << 4) + (HEX2INT(col[2]) << 0) + - (HEX2INT(col[3]) << 12) + (HEX2INT(col[4]) << 8) + - (HEX2INT(col[5]) << 20) + (HEX2INT(col[6]) << 16); + // do the exact same thing as above here. + + cr = (HEX2INT(col[1]) << 4) + (HEX2INT(col[2]) << 0); + cg = (HEX2INT(col[3]) << 12) + (HEX2INT(col[4]) << 8); + cb = (HEX2INT(col[5]) << 20) + (HEX2INT(col[6]) << 16); + +#ifdef GLENCORE + if (encoremap) + { + j = encoremap[NearestColor((UINT8)cr, (UINT8)cg, (UINT8)cb)]; + //CONS_Printf("R_CreateColormap: encoremap[%d] = %d\n", j, encoremap[j]); -- moved encoremap upwards for optimisation + cr = pLocalPalette[j].s.red; + cg = pLocalPalette[j].s.green; + cb = pLocalPalette[j].s.blue; + } +#endif + + sec->extra_colormap->fadergba = cr + cg + cb; // alpha if (msd->bottomtexture[7]) From 5e14fd4ae4693c628a37e8a9464aaab4d1c5fc94 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Thu, 13 Jun 2019 21:10:01 -0300 Subject: [PATCH 073/245] software is better --- src/doomdef.h | 3 +- src/hardware/hw_defs.h | 1 - src/hardware/hw_dll.h | 1 + src/hardware/hw_main.c | 3 +- src/hardware/hw_main.h | 2 - src/hardware/r_opengl/r_opengl.c | 297 +++++++++++++++++-------------- src/m_menu.c | 2 - src/r_main.c | 2 - src/v_video.c | 3 - 9 files changed, 169 insertions(+), 145 deletions(-) diff --git a/src/doomdef.h b/src/doomdef.h index 85ac2ac7..a2a2df9b 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -671,8 +671,7 @@ extern const char *compdate, *comptime, *comprevision, *compbranch; /// SRB2CB itself ported this from PrBoom+ //#define NEWCLIP -// GL4 +/// Hardware renderer: OpenGL #define GL_SHADERS -//#define GL_PORTALS #endif // __DOOMDEF__ diff --git a/src/hardware/hw_defs.h b/src/hardware/hw_defs.h index aba91675..f5839520 100644 --- a/src/hardware/hw_defs.h +++ b/src/hardware/hw_defs.h @@ -241,7 +241,6 @@ enum hwdsetspecialstate HWD_SET_SHADERS, HWD_SET_FOG_MODE, - HWD_SET_FOG_FUNCTION, HWD_SET_FOG_DENSITY, HWD_SET_TEXTUREFILTERMODE, diff --git a/src/hardware/hw_dll.h b/src/hardware/hw_dll.h index 237b068e..14040432 100644 --- a/src/hardware/hw_dll.h +++ b/src/hardware/hw_dll.h @@ -62,6 +62,7 @@ #define DEGREE (0.017453292519943295769236907684883l) // 2*PI/360 void GL_DBG_Printf(const char *format, ...) /*FUNCPRINTF*/; +#define DBG_Printf GL_DBG_Printf #ifdef _WINDOWS BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved); diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 1b7cc4b1..471da88d 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -4842,8 +4842,7 @@ void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) void HWR_FoggingOn(void) { - HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, cv_grsoftwarefog.value ? 2 : 1); - HWD.pfnSetSpecialState(HWD_SET_FOG_FUNCTION, cv_grfogfunction.value); + HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, 1); HWD.pfnSetSpecialState(HWD_SET_FOG_DENSITY, cv_grfogdensity.value); } diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index ad771824..d4f14a0b 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -136,8 +136,6 @@ extern consvar_t cv_grfov; extern consvar_t cv_grmdls; extern consvar_t cv_grfog; extern consvar_t cv_grfogdensity; -extern consvar_t cv_grsoftwarefog; -extern consvar_t cv_grfogfunction; extern consvar_t cv_grgammared; extern consvar_t cv_grgammagreen; extern consvar_t cv_grgammablue; diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 59ae9e61..ed59b29b 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -415,7 +415,7 @@ boolean SetupGLfunc(void) func = GetGLFunc(#proc); \ if (!func) \ { \ - GL_DBG_Printf("failed to get OpenGL function: %s", #proc); \ + GL_DBG_Printf("failed to get OpenGL function: %s\n", #proc); \ } \ GETOPENGLFUNC(pglClearColor, glClearColor) @@ -457,9 +457,6 @@ boolean SetupGLfunc(void) GETOPENGLFUNC(pglDrawElements, glDrawElements) GETOPENGLFUNC(pglEnableClientState, glEnableClientState) GETOPENGLFUNC(pglDisableClientState, glDisableClientState) - GETOPENGLFUNC(pglClientActiveTexture, glClientActiveTexture) - if (!pglClientActiveTexture) - GETOPENGLFUNC(pglClientActiveTexture, glClientActiveTextureARB) GETOPENGLFUNC(pglShadeModel, glShadeModel) GETOPENGLFUNC(pglLightfv, glLightfv) @@ -490,29 +487,11 @@ boolean SetupGLfunc(void) } static INT32 glstate_fog_mode = 0; -static INT32 glstate_fog_function = 0; static float glstate_fog_density = 0; INT32 gl_leveltime = 0; -// GL4 #ifdef GL_SHADERS - -#define MAXSHADERS 16 -#define MAXSHADERPROGRAMS 16 - -static GLuint gl_shaders[MAXSHADERS]; -static GLint gl_totalshaders = 0; - -static boolean gl_allowshaders = false; -static boolean gl_shadersenabled = false; -static GLuint gl_currentshaderprogram = 0; -static GLuint gl_shaderprograms[MAXSHADERPROGRAMS]; - -// 18032019 -static char *gl_customvertexshaders[MAXSHADERS]; -static char *gl_customfragmentshaders[MAXSHADERS]; - typedef GLuint (APIENTRY *PFNglCreateShader) (GLenum); typedef void (APIENTRY *PFNglShaderSource) (GLuint, GLsizei, const GLchar**, GLint*); typedef void (APIENTRY *PFNglCompileShader) (GLuint); @@ -555,84 +534,111 @@ static PFNglUniform2fv pglUniform2fv; static PFNglUniform3fv pglUniform3fv; static PFNglGetUniformLocation pglGetUniformLocation; +#define MAXSHADERS 16 +#define MAXSHADERPROGRAMS 16 + +// 18032019 +static char *gl_customvertexshaders[MAXSHADERS]; +static char *gl_customfragmentshaders[MAXSHADERS]; + +static boolean gl_allowshaders = false; +static boolean gl_shadersenabled = false; +static GLuint gl_currentshaderprogram = 0; + +// 13062019 +typedef enum +{ + // lighting + gluniform_mix_color, + gluniform_fade_color, + gluniform_lighting, + + // fog + gluniform_fog_mode, + gluniform_fog_density, + + // misc. (custom shaders) + gluniform_leveltime, + + gluniform_max, +} gluniform_t; + +typedef struct gl_shaderprogram_s +{ + GLuint program; + boolean custom; + GLuint uniforms[gluniform_max+1]; +} gl_shaderprogram_t; +static gl_shaderprogram_t gl_shaderprograms[MAXSHADERPROGRAMS]; + +// ======================== +// Fragment shader macros +// ======================== + // -// Fragment shaders +// GLSL Software fragment shader // -#define GLSL_SHARED_FOG_FUNCTION \ - "float fog(const float dist, const float density, const float globaldensity) {\n" \ - "const float LOG2 = -1.442695;\n" \ - "float d = density * dist;\n" \ - "return 1.0 - clamp(exp(d * globaldensity * LOG2), 0.0, 1.0);\n" \ - "}\n" \ - "float fog2(const float dist, const float density, const float globaldensity) {\n" \ +#define GLSL_INTERNAL_FOG_FUNCTION \ + "float fog(const float dist, const float density, const float globaldensity) {\n" \ "const float LOG2 = -1.442695;\n" \ "float d = density * dist;\n" \ "return 1.0 - clamp(exp2(d * d * globaldensity * LOG2), 0.0, 1.0);\n" \ "}\n" -#define GLSL_SHARED_FOG_MIX \ +// https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_gpu_shader_fp64.txt +#define GLSL_INTERNAL_FOG_MIX \ "float fog_distance = gl_FragCoord.z / gl_FragCoord.w;\n" \ - "float fog_attenuation = 0.0001 * ((256-lighting)/24);\n" \ - "if (fog_function == 2)\n" \ - "fog_attenuation = fog2(fog_distance, fog_attenuation, fog_density);\n" \ - "else\n" \ - "fog_attenuation = fog(fog_distance, fog_attenuation, fog_density);\n" \ - "if (fog_mode == 2)\n" \ - "fog_attenuation = floor(fog_attenuation*10)/10;\n" \ + "float fog_attenuation = floor(fog(fog_distance, 0.0001 * ((256.0-lighting)/24.0), fog_density)*10.0)/10.0;\n" \ "vec4 fog_color = vec4(fade_color[0], fade_color[1], fade_color[2], 1.0);\n" \ "vec4 mixed_color = texel * mix_color;\n" \ "vec4 fog_mix = mix(mixed_color, fog_color, fog_attenuation);\n" \ - "vec4 final_color = mix(fog_mix, fog_color, ((256-lighting)/256));\n" \ + "vec4 final_color = mix(fog_mix, fog_color, ((256.0-lighting)/256.0));\n" \ "final_color[3] = mixed_color[3];\n" -#define GLSL_FRAGMENT_SHADER_HEADER \ +#define GLSL_SOFTWARE_FRAGMENT_SHADER \ "uniform sampler2D tex;\n" \ "uniform vec4 mix_color;\n" \ "uniform vec4 fade_color;\n" \ "uniform float lighting;\n" \ "uniform int fog_mode;\n" \ - "uniform int fog_function;\n" \ "uniform float fog_density;\n" \ - -#define SHARED_FRAGMENT_SHADER \ - GLSL_FRAGMENT_SHADER_HEADER \ - GLSL_SHARED_FOG_FUNCTION \ + GLSL_INTERNAL_FOG_FUNCTION \ "void main(void) {\n" \ "vec4 texel = texture2D(tex, gl_TexCoord[0].st);\n" \ - "if (fog_mode == 0)\n" \ - "gl_FragColor = texel * mix_color;\n" \ - "else\n" \ - "{\n" \ - GLSL_SHARED_FOG_MIX \ - "gl_FragColor = final_color;\n" \ - "}\n" \ + GLSL_INTERNAL_FOG_MIX \ + "gl_FragColor = final_color;\n" \ + "}\0" + +// +// GLSL generic fragment shader +// + +#define GLSL_DEFAULT_FRAGMENT_SHADER \ + "uniform sampler2D tex;\n" \ + "uniform vec4 mix_color;\n" \ + "void main(void) {\n" \ + "gl_FragColor = texture2D(tex, gl_TexCoord[0].st) * mix_color;\n" \ "}\0" static const char *fragment_shaders[] = { // Default fragment shader - "uniform sampler2D tex;\n" - "uniform vec4 mix_color;\n" - "void main(void) {\n" - "vec4 color = texture2D(tex, gl_TexCoord[0].st);\n" - "vec4 mixed_color = color * mix_color;\n" - "gl_FragColor = mixed_color;\n" - "}\0", + GLSL_DEFAULT_FRAGMENT_SHADER, // Floor fragment shader - SHARED_FRAGMENT_SHADER, + GLSL_SOFTWARE_FRAGMENT_SHADER, // Wall fragment shader - SHARED_FRAGMENT_SHADER, + GLSL_SOFTWARE_FRAGMENT_SHADER, // Sprite fragment shader - SHARED_FRAGMENT_SHADER, + GLSL_SOFTWARE_FRAGMENT_SHADER, // Model fragment shader - SHARED_FRAGMENT_SHADER, + GLSL_SOFTWARE_FRAGMENT_SHADER, // Water fragment shader - SHARED_FRAGMENT_SHADER, + GLSL_SOFTWARE_FRAGMENT_SHADER, // Fog fragment shader "void main(void) {\n" @@ -642,17 +648,21 @@ static const char *fragment_shaders[] = { // Sky fragment shader "uniform sampler2D tex;\n" "void main(void) {\n" - "float texU = gl_TexCoord[0].s;\n" - "float texV = gl_TexCoord[0].t;\n" - "gl_FragColor = texture2D(tex, vec2(texU, texV));\n" + "gl_FragColor = texture2D(tex, gl_TexCoord[0].st);\n" \ "}\0", + + NULL, }; +// ====================== +// Vertex shader macros +// ====================== + // -// Vertex shaders +// GLSL generic vertex shader // -#define DEFAULT_VERTEX_SHADER \ +#define GLSL_DEFAULT_VERTEX_SHADER \ "void main()\n" \ "{\n" \ "gl_Position = gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex;\n" \ @@ -663,28 +673,30 @@ static const char *fragment_shaders[] = { static const char *vertex_shaders[] = { // Default vertex shader - DEFAULT_VERTEX_SHADER, + GLSL_DEFAULT_VERTEX_SHADER, // Floor vertex shader - DEFAULT_VERTEX_SHADER, + GLSL_DEFAULT_VERTEX_SHADER, // Wall vertex shader - DEFAULT_VERTEX_SHADER, + GLSL_DEFAULT_VERTEX_SHADER, // Sprite vertex shader - DEFAULT_VERTEX_SHADER, + GLSL_DEFAULT_VERTEX_SHADER, // Model vertex shader - DEFAULT_VERTEX_SHADER, + GLSL_DEFAULT_VERTEX_SHADER, // Water vertex shader - DEFAULT_VERTEX_SHADER, + GLSL_DEFAULT_VERTEX_SHADER, // Fog vertex shader - DEFAULT_VERTEX_SHADER, + GLSL_DEFAULT_VERTEX_SHADER, // Sky vertex shader - DEFAULT_VERTEX_SHADER, + GLSL_DEFAULT_VERTEX_SHADER, + + NULL, }; #endif // GL_SHADERS @@ -734,15 +746,19 @@ EXPORT void HWRAPI(LoadShaders) (void) GLuint gl_vertShader, gl_fragShader; GLint i, result; + gl_customvertexshaders[0] = NULL; + gl_customfragmentshaders[0] = NULL; + for (i = 0; vertex_shaders[i] && fragment_shaders[i]; i++) { + gl_shaderprogram_t *shader; const GLchar* vert_shader = vertex_shaders[i]; const GLchar* frag_shader = fragment_shaders[i]; + boolean custom = ((gl_customvertexshaders[i] || gl_customfragmentshaders[i]) && (i > 0)); // 18032019 if (gl_customvertexshaders[i]) vert_shader = gl_customvertexshaders[i]; - if (gl_customfragmentshaders[i]) frag_shader = gl_customfragmentshaders[i]; @@ -754,7 +770,7 @@ EXPORT void HWRAPI(LoadShaders) (void) // // Load and compile vertex shader // - gl_vertShader = gl_shaders[gl_totalshaders++] = pglCreateShader(GL_VERTEX_SHADER); + gl_vertShader = pglCreateShader(GL_VERTEX_SHADER); if (!gl_vertShader) I_Error("Hardware driver: Error creating vertex shader %d", i); @@ -779,7 +795,7 @@ EXPORT void HWRAPI(LoadShaders) (void) // // Load and compile fragment shader // - gl_fragShader = gl_shaders[gl_totalshaders++] = pglCreateShader(GL_FRAGMENT_SHADER); + gl_fragShader = pglCreateShader(GL_FRAGMENT_SHADER); if (!gl_fragShader) I_Error("Hardware driver: Error creating fragment shader %d", i); @@ -801,15 +817,38 @@ EXPORT void HWRAPI(LoadShaders) (void) I_Error("Hardware driver: Error compiling fragment shader %d\n%s", i, infoLog); } - gl_shaderprograms[i] = pglCreateProgram(); - pglAttachShader(gl_shaderprograms[i], gl_vertShader); - pglAttachShader(gl_shaderprograms[i], gl_fragShader); - pglLinkProgram(gl_shaderprograms[i]); + shader = &gl_shaderprograms[i]; + shader->program = pglCreateProgram(); + shader->custom = custom; + pglAttachShader(shader->program, gl_vertShader); + pglAttachShader(shader->program, gl_fragShader); + pglLinkProgram(shader->program); // check link status - pglGetProgramiv(gl_shaderprograms[i], GL_LINK_STATUS, &result); + pglGetProgramiv(shader->program, GL_LINK_STATUS, &result); if (result != GL_TRUE) I_Error("Hardware driver: Error linking shader program %d", i); + + // delete the shader objects + pglDeleteShader(gl_vertShader); + pglDeleteShader(gl_fragShader); + + // 13062019 +#define GETUNI(uniform) pglGetUniformLocation(shader->program, uniform); + + // lighting + shader->uniforms[gluniform_mix_color] = GETUNI("mix_color"); + shader->uniforms[gluniform_fade_color] = GETUNI("fade_color"); + shader->uniforms[gluniform_lighting] = GETUNI("lighting"); + + // fog + shader->uniforms[gluniform_fog_mode] = GETUNI("fog_mode"); + shader->uniforms[gluniform_fog_density] = GETUNI("fog_density"); + + // misc. (custom shaders) + shader->uniforms[gluniform_leveltime] = GETUNI("leveltime"); + +#undef GETUNI } #endif } @@ -866,20 +905,7 @@ EXPORT void HWRAPI(UnSetShader) (void) EXPORT void HWRAPI(KillShaders) (void) { -#ifdef GL_SHADERS - GLint total_shaders = gl_totalshaders; - GLint i; - - if (!total_shaders) - return; - - for (i = 0; i < total_shaders; i++) - { - pglDeleteShader(gl_shaders[i]); - gl_shaders[i] = 0; - gl_totalshaders--; - } -#endif + // unused......................... } // -----------------+ @@ -1590,30 +1616,36 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo) } } -// jimita static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *mix, GLRGBAFloat *fade) { #ifdef GL_SHADERS if (gl_shadersenabled) { - if (gl_shaderprograms[gl_currentshaderprogram]) + gl_shaderprogram_t *shader = &gl_shaderprograms[gl_currentshaderprogram]; + if (shader->program) { - pglUseProgram(gl_shaderprograms[gl_currentshaderprogram]); + boolean custom = (gl_shaderprograms[gl_currentshaderprogram].custom); + // 13062019 + // Check for fog + //if (changed) + { + if (!custom) + { + if (glstate_fog_mode == 0) // disabled + { + // Nevermind! + pglUseProgram(0); + return; + } + else // enabled + pglUseProgram(gl_shaderprograms[gl_currentshaderprogram].program); + } + else // always load custom shaders + pglUseProgram(gl_shaderprograms[gl_currentshaderprogram].program); + } + // set uniforms { -#define GETUNI(uniform) pglGetUniformLocation(gl_shaderprograms[gl_currentshaderprogram], uniform); - GLint UNIFORM_fog_mode = GETUNI("fog_mode"); - GLint UNIFORM_fog_function = GETUNI("fog_function"); - GLint UNIFORM_fog_density = GETUNI("fog_density"); - - GLint UNIFORM_mix_color = GETUNI("mix_color"); - GLint UNIFORM_fade_color = GETUNI("fade_color"); - GLint UNIFORM_lighting = GETUNI("lighting"); - - GLint UNIFORM_resolution = GETUNI("resolution"); - GLint UNIFORM_leveltime = GETUNI("leveltime"); -#undef GETUNI - #define UNIFORM_1(uniform, a, function) \ if (uniform != -1) \ function (uniform, a); @@ -1630,18 +1662,27 @@ static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *mix, GLRGBAFloat *f if (uniform != -1) \ function (uniform, a, b, c, d); - // glstate - UNIFORM_1(UNIFORM_fog_mode, glstate_fog_mode, pglUniform1i); - UNIFORM_1(UNIFORM_fog_function, glstate_fog_function, pglUniform1i); - UNIFORM_1(UNIFORM_fog_density, glstate_fog_density, pglUniform1f); - // polygon - UNIFORM_4(UNIFORM_mix_color, mix->red, mix->green, mix->blue, mix->alpha, pglUniform4f); - UNIFORM_4(UNIFORM_fade_color, fade->red, fade->green, fade->blue, fade->alpha, pglUniform4f); - UNIFORM_1(UNIFORM_lighting, Surface->LightInfo.light_level, pglUniform1f); + UNIFORM_4(shader->uniforms[gluniform_mix_color], mix->red, mix->green, mix->blue, mix->alpha, pglUniform4f); - UNIFORM_2(UNIFORM_resolution, screen_width, screen_height, pglUniform2f); - UNIFORM_1(UNIFORM_leveltime, (float)gl_leveltime, pglUniform1f); + // 13062019 + // Check for fog + if (glstate_fog_mode == 1) + { + // glstate + UNIFORM_1(shader->uniforms[gluniform_fog_density], glstate_fog_density, pglUniform1f); + + // polygon + UNIFORM_4(shader->uniforms[gluniform_fade_color], fade->red, fade->green, fade->blue, fade->alpha, pglUniform4f); + UNIFORM_1(shader->uniforms[gluniform_lighting], Surface->LightInfo.light_level, pglUniform1f); + + // Custom shader uniforms + if (custom) + { + UNIFORM_1(shader->uniforms[gluniform_fog_mode], glstate_fog_mode, pglUniform1i); + UNIFORM_1(shader->uniforms[gluniform_leveltime], (float)gl_leveltime, pglUniform1f); + } + } #undef UNIFORM_1 #undef UNIFORM_2 @@ -1689,7 +1730,6 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUI fade.alpha = byte2float[pSurf->FadeColor.s.alpha]; } - // jimita load_shaders(pSurf, &mix, &fade); pglVertexPointer(3, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].x); @@ -1733,10 +1773,6 @@ EXPORT void HWRAPI(SetSpecialState) (hwdspecialstate_t IdState, INT32 Value) glstate_fog_mode = Value; break; - case HWD_SET_FOG_FUNCTION: - glstate_fog_function = Value; - break; - case HWD_SET_FOG_DENSITY: glstate_fog_density = FIXED_TO_FLOAT(Value); break; @@ -2043,7 +2079,6 @@ static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32 fade.blue = byte2float[Surface->FadeColor.s.blue]; fade.alpha = byte2float[Surface->FadeColor.s.alpha]; - // jimita load_shaders(Surface, &mix, &fade); pglEnable(GL_CULL_FACE); diff --git a/src/m_menu.c b/src/m_menu.c index 7c40eb2c..1474a993 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -1299,8 +1299,6 @@ static menuitem_t OP_OpenGLFogMenu[] = { {IT_STRING|IT_CVAR, NULL, "Fog", &cv_grfog, 10}, {IT_STRING|IT_CVAR, NULL, "Fog density", &cv_grfogdensity, 20}, - {IT_STRING|IT_CVAR, NULL, "Software fog",&cv_grsoftwarefog,30}, - {IT_STRING|IT_CVAR, NULL, "Fog algorithm",&cv_grfogfunction,40}, }; static menuitem_t OP_OpenGLColorMenu[] = diff --git a/src/r_main.c b/src/r_main.c index f156c286..09cfb5e8 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -1552,7 +1552,6 @@ void R_RegisterEngineStuff(void) CV_RegisterVar(&cv_grfovchange); CV_RegisterVar(&cv_grfog); //CV_RegisterVar(&cv_grfogcolor); - CV_RegisterVar(&cv_grfogfunction); #ifdef ALAM_LIGHTING CV_RegisterVar(&cv_grstaticlighting); CV_RegisterVar(&cv_grdynamiclighting); @@ -1561,7 +1560,6 @@ void R_RegisterEngineStuff(void) #endif CV_RegisterVar(&cv_grmdls); CV_RegisterVar(&cv_grfallbackplayermodel); - CV_RegisterVar(&cv_grsoftwarefog); CV_RegisterVar(&cv_grfogdensity); CV_RegisterVar(&cv_grspritebillboarding); CV_RegisterVar(&cv_grshearing); diff --git a/src/v_video.c b/src/v_video.c index 90fb322b..56ac6041 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -59,12 +59,9 @@ static void CV_Gammaxxx_ONChange(void); // but they won't do anything. static CV_PossibleValue_t grgamma_cons_t[] = {{1, "MIN"}, {255, "MAX"}, {0, NULL}}; static CV_PossibleValue_t grfogdensity_cons_t[] = {{FRACUNIT/2, "MIN"}, {FRACUNIT*2, "MAX"}, {0, NULL}}; -static CV_PossibleValue_t grfogfunction_cons_t[] = {{1, "exp"}, {2, "exp2"}, {0, NULL}}; consvar_t cv_grshaders = {"gr_shaders", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfog = {"gr_fog", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grsoftwarefog = {"gr_softwarefog", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grfogfunction = {"gr_fogfunction", "exp2", CV_SAVE, grfogfunction_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfogdensity = {"gr_fogdensity", "1.0", CV_SAVE|CV_FLOAT, grfogdensity_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfovchange = {"gr_fovchange", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grgammared = {"gr_gammared", "127", CV_SAVE|CV_CALL, grgamma_cons_t, From 0b3a02bfcc1804da93bbe91541f3ebb027508d27 Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Thu, 13 Jun 2019 21:23:15 -0300 Subject: [PATCH 074/245] Update r_opengl.c --- src/hardware/r_opengl/r_opengl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index ed59b29b..85c28e13 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -567,7 +567,7 @@ typedef struct gl_shaderprogram_s { GLuint program; boolean custom; - GLuint uniforms[gluniform_max+1]; + GLint uniforms[gluniform_max+1]; } gl_shaderprogram_t; static gl_shaderprogram_t gl_shaderprograms[MAXSHADERPROGRAMS]; From a49c4349a49ba1918491f33206d2e2c667940230 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Fri, 14 Jun 2019 12:18:44 +0200 Subject: [PATCH 075/245] Don't remap boosters and springpads in encore + no horizon line in GL --- src/hardware/hw_cache.c | 4 ++-- src/hardware/hw_draw.c | 2 +- src/hardware/hw_glob.h | 4 +++- src/hardware/hw_main.c | 22 +++++++++++----------- src/r_bsp.c | 2 +- src/r_bsp.h | 4 ++++ 6 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/hardware/hw_cache.c b/src/hardware/hw_cache.c index 64b7e0a9..771a5a7f 100644 --- a/src/hardware/hw_cache.c +++ b/src/hardware/hw_cache.c @@ -629,7 +629,7 @@ static void HWR_CacheFlat(GLMipmap_t *grMipmap, lumpnum_t flatlumpnum) // Download a Doom 'flat' to the hardware cache and make it ready for use -void HWR_GetFlat(lumpnum_t flatlumpnum) +void HWR_GetFlat(lumpnum_t flatlumpnum, boolean noencoremap) { GLMipmap_t *grmip; @@ -638,7 +638,7 @@ void HWR_GetFlat(lumpnum_t flatlumpnum) grmip->colormap = colormaps; #ifdef GLENCORE - if (encoremap) + if (!noencoremap && encoremap) grmip->colormap += (256*32); #endif diff --git a/src/hardware/hw_draw.c b/src/hardware/hw_draw.c index 6f3712ef..8570c3b3 100644 --- a/src/hardware/hw_draw.c +++ b/src/hardware/hw_draw.c @@ -520,7 +520,7 @@ void HWR_DrawFlatFill (INT32 x, INT32 y, INT32 w, INT32 h, lumpnum_t flatlumpnum v[0].t = v[1].t = (float)((y & flatflag)/dflatsize); v[2].t = v[3].t = (float)(v[0].t + h/dflatsize); - HWR_GetFlat(flatlumpnum); + HWR_GetFlat(flatlumpnum, false); // Never Encore map drawflatfill, duh. //Hurdler: Boris, the same comment as above... but maybe for pics // it not a problem since they don't have any transparent pixel diff --git a/src/hardware/hw_glob.h b/src/hardware/hw_glob.h index dd1cf076..b3f058c4 100644 --- a/src/hardware/hw_glob.h +++ b/src/hardware/hw_glob.h @@ -34,7 +34,9 @@ void HWR_InitTextureCache(void); void HWR_FreeTextureCache(void); void HWR_FreeExtraSubsectors(void); -void HWR_GetFlat(lumpnum_t flatlumpnum); +void HWR_GetFlat(lumpnum_t flatlumpnum, boolean noencoremap); +// ^ some flats must NOT be remapped to encore, since we remap them as we cache them for ease, adding a toggle here seems wise. + GLTexture_t *HWR_GetTexture(INT32 tex); void HWR_GetPatch(GLPatch_t *gpatch); void HWR_GetMappedPatch(GLPatch_t *gpatch, const UINT8 *colormap); diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 3b1327cd..1a7cbdf7 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -28,7 +28,7 @@ #include "../p_local.h" #include "../p_setup.h" #include "../r_local.h" -#include "../r_bsp.h" +#include "../r_bsp.h" // R_NoEncore #include "../r_main.h" // cv_fov #include "../d_clisrv.h" #include "../w_wad.h" @@ -416,7 +416,7 @@ void HWR_RenderPlane(extrasubsector_t *xsub, boolean isceiling, fixed_t fixedhei if (angle) // Only needs to be done if there's an altered angle { - angle = InvAngle(angle)>>ANGLETOFINESHIFT; + angle = (InvAngle(angle)+ANGLE_180)>>ANGLETOFINESHIFT; // This needs to be done so that it scrolls in a different direction after rotation like software /*tempxsow = FLOAT_TO_FIXED(scrollx); @@ -1492,7 +1492,7 @@ void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom { // Single sided line... Deal only with the middletexture (if one exists) gr_midtexture = R_GetTextureNum(gr_sidedef->midtexture); - if (gr_midtexture) + if (gr_midtexture && gr_linedef->special != 41) // (Ignore horizon line for OGL) { { fixed_t texturevpeg; @@ -2305,7 +2305,7 @@ void HWR_AddPolyObjectPlanes(void) } else { - HWR_GetFlat(levelflats[polyobjsector->floorpic].lumpnum); + HWR_GetFlat(levelflats[polyobjsector->floorpic].lumpnum, R_NoEncore(polyobjsector, false)); HWR_RenderPolyObjectPlane(po_ptrs[i], false, polyobjsector->floorheight, PF_Occlude, polyobjsector->lightlevel, levelflats[polyobjsector->floorpic].lumpnum, polyobjsector, 255, NULL); @@ -2327,7 +2327,7 @@ void HWR_AddPolyObjectPlanes(void) } else { - HWR_GetFlat(levelflats[polyobjsector->ceilingpic].lumpnum); + HWR_GetFlat(levelflats[polyobjsector->ceilingpic].lumpnum, R_NoEncore(polyobjsector, true)); HWR_RenderPolyObjectPlane(po_ptrs[i], true, polyobjsector->ceilingheight, PF_Occlude, polyobjsector->lightlevel, levelflats[polyobjsector->floorpic].lumpnum, polyobjsector, 255, NULL); @@ -2463,7 +2463,7 @@ void HWR_Subsector(size_t num) { if (sub->validcount != validcount) { - HWR_GetFlat(levelflats[gr_frontsector->floorpic].lumpnum); + HWR_GetFlat(levelflats[gr_frontsector->floorpic].lumpnum, R_NoEncore(gr_frontsector, false)); HWR_RenderPlane(&extrasubsectors[num], false, // Hack to make things continue to work around slopes. locFloorHeight == cullFloorHeight ? locFloorHeight : gr_frontsector->floorheight, @@ -2479,7 +2479,7 @@ void HWR_Subsector(size_t num) { if (sub->validcount != validcount) { - HWR_GetFlat(levelflats[gr_frontsector->ceilingpic].lumpnum); + HWR_GetFlat(levelflats[gr_frontsector->ceilingpic].lumpnum, R_NoEncore(gr_frontsector, true)); HWR_RenderPlane(&extrasubsectors[num], true, // Hack to make things continue to work around slopes. locCeilingHeight == cullCeilingHeight ? locCeilingHeight : gr_frontsector->ceilingheight, @@ -2551,7 +2551,7 @@ void HWR_Subsector(size_t num) } else { - HWR_GetFlat(levelflats[*rover->bottompic].lumpnum); + HWR_GetFlat(levelflats[*rover->bottompic].lumpnum, R_NoEncore(gr_frontsector, false)); light = R_GetPlaneLight(gr_frontsector, centerHeight, viewz < cullHeight ? true : false); HWR_RenderPlane(&extrasubsectors[num], false, *rover->bottomheight, (rover->flags & FF_RIPPLE ? PF_Ripple : 0)|PF_Occlude, *gr_frontsector->lightlist[light].lightlevel, levelflats[*rover->bottompic].lumpnum, rover->master->frontsector, 255, gr_frontsector->lightlist[light].extra_colormap); @@ -2606,7 +2606,7 @@ void HWR_Subsector(size_t num) } else { - HWR_GetFlat(levelflats[*rover->toppic].lumpnum); + HWR_GetFlat(levelflats[*rover->toppic].lumpnum, R_NoEncore(gr_frontsector, true)); light = R_GetPlaneLight(gr_frontsector, centerHeight, viewz < cullHeight ? true : false); HWR_RenderPlane(&extrasubsectors[num], true, *rover->topheight, (rover->flags & FF_RIPPLE ? PF_Ripple : 0)|PF_Occlude, *gr_frontsector->lightlist[light].lightlevel, levelflats[*rover->toppic].lumpnum, rover->master->frontsector, 255, gr_frontsector->lightlist[light].extra_colormap); @@ -3979,7 +3979,7 @@ void HWR_RenderDrawNodes(void) gr_frontsector = NULL; if (!(sortnode[sortindex[i]].plane->blend & PF_NoTexture)) - HWR_GetFlat(sortnode[sortindex[i]].plane->lumpnum); + HWR_GetFlat(sortnode[sortindex[i]].plane->lumpnum, false); HWR_RenderPlane(sortnode[sortindex[i]].plane->xsub, sortnode[sortindex[i]].plane->isceiling, sortnode[sortindex[i]].plane->fixedheight, sortnode[sortindex[i]].plane->blend, sortnode[sortindex[i]].plane->lightlevel, sortnode[sortindex[i]].plane->lumpnum, sortnode[sortindex[i]].plane->FOFSector, sortnode[sortindex[i]].plane->alpha, /*sortnode[sortindex[i]].plane->fogplane,*/ sortnode[sortindex[i]].plane->planecolormap); } @@ -3989,7 +3989,7 @@ void HWR_RenderDrawNodes(void) gr_frontsector = NULL; if (!(sortnode[sortindex[i]].polyplane->blend & PF_NoTexture)) - HWR_GetFlat(sortnode[sortindex[i]].polyplane->lumpnum); + HWR_GetFlat(sortnode[sortindex[i]].polyplane->lumpnum, false); HWR_RenderPolyObjectPlane(sortnode[sortindex[i]].polyplane->polysector, sortnode[sortindex[i]].polyplane->isceiling, sortnode[sortindex[i]].polyplane->fixedheight, sortnode[sortindex[i]].polyplane->blend, sortnode[sortindex[i]].polyplane->lightlevel, sortnode[sortindex[i]].polyplane->lumpnum, sortnode[sortindex[i]].polyplane->FOFSector, sortnode[sortindex[i]].polyplane->alpha, sortnode[sortindex[i]].polyplane->planecolormap); } diff --git a/src/r_bsp.c b/src/r_bsp.c index 296cbbe8..43cb6432 100644 --- a/src/r_bsp.c +++ b/src/r_bsp.c @@ -37,7 +37,7 @@ drawseg_t *ds_p = NULL; // indicates doors closed wrt automap bugfix: INT32 doorclosed; -static boolean R_NoEncore(sector_t *sector, boolean ceiling) +boolean R_NoEncore(sector_t *sector, boolean ceiling) { boolean invertencore = (GETSECSPECIAL(sector->special, 2) == 15); #if 0 // perfect implementation diff --git a/src/r_bsp.h b/src/r_bsp.h index e3662e2e..1e4ca68f 100644 --- a/src/r_bsp.h +++ b/src/r_bsp.h @@ -40,6 +40,10 @@ void R_ClearDrawSegs(void); void R_RenderBSPNode(INT32 bspnum); void R_AddPortal(INT32 line1, INT32 line2, INT32 x1, INT32 x2); +// determines when a given sector shouldn't abide by the encoremap's palette. +// no longer a static since this is used for encore in hw_main.c as well now: +boolean R_NoEncore(sector_t *sector, boolean ceiling); + #ifdef POLYOBJECTS void R_SortPolyObjects(subsector_t *sub); From b9b76e739ce2f4beb706b62762fff37962cadc8c Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Mon, 17 Jun 2019 21:27:31 +0200 Subject: [PATCH 076/245] change default fog settings, put sprite billboarding in menus and attempt to make colormaps look nicer still --- src/hardware/hw_main.c | 15 ++++++++------- src/m_menu.c | 9 +++++---- src/v_video.c | 6 +++--- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index d6813b4e..c9def3a2 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -137,7 +137,7 @@ void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UIN mix_color.rgba = mixcolor; fog_color.rgba = fadecolor; - mix = mix_color.s.alpha*10/4; + mix = mix_color.s.alpha*10/5; if (mix > 25) mix = 25; mix *= 255; mix /= 25; @@ -188,7 +188,7 @@ void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mix float fog_alpha; // You see the problem is that darker light isn't actually as dark as it SHOULD be. - lightmix = 255 - ((255 - light_level)*100/96); + lightmix = 255 - ((255 - light_level)*10/7); // Don't go out of bounds if (lightmix < 0) @@ -234,7 +234,7 @@ void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mix // Fog. fog_color.rgba = fadecolor; - fog_alpha = (0xFF - fog_color.s.alpha) / 255.0f; + fog_alpha = (0xFF - fog_color.s.alpha*10/7) / 255.0f; // Set the surface colors and further modulate the colors by light. fog_color.s.red = (UINT8)(((float)fog_color.s.red) * fog_alpha); @@ -243,7 +243,7 @@ void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mix Surface->PolyColor.rgba = final_color.rgba; Surface->FadeColor.rgba = fog_color.rgba; - Surface->LightInfo.light_level = light_level; + Surface->LightInfo.light_level = lightmix; } UINT8 HWR_FogBlockAlpha(INT32 light, UINT32 color) // Let's see if this can work @@ -1481,8 +1481,9 @@ void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom } else // neither sectors are thok barriers { - if ((gr_backsector->floorheight > gr_frontsector->floorheight && !gr_sidedef->bottomtexture) // no bottom texture and sector behind is higher + if (((gr_backsector->floorheight > gr_frontsector->floorheight && !gr_sidedef->bottomtexture) // no bottom texture and sector behind is higher || gr_backsector->floorpic != skyflatnum) // behind sector is not a sky + && ABS(gr_backsector->floorheight - gr_frontsector->floorheight) > FRACUNIT*3/2) // don't draw sky walls for VERY thin differences, this makes for horrible looking slopes sometimes! HWR_DrawSkyWall(wallVerts, &Surf, INT32_MIN, depthwallheight); } } @@ -3979,7 +3980,7 @@ void HWR_RenderDrawNodes(void) gr_frontsector = NULL; if (!(sortnode[sortindex[i]].plane->blend & PF_NoTexture)) - HWR_GetFlat(sortnode[sortindex[i]].plane->lumpnum, false); + HWR_GetFlat(sortnode[sortindex[i]].plane->lumpnum, R_NoEncore(sortnode[sortindex[i]].plane->FOFSector, sortnode[sortindex[i]].plane->isceiling)); HWR_RenderPlane(sortnode[sortindex[i]].plane->xsub, sortnode[sortindex[i]].plane->isceiling, sortnode[sortindex[i]].plane->fixedheight, sortnode[sortindex[i]].plane->blend, sortnode[sortindex[i]].plane->lightlevel, sortnode[sortindex[i]].plane->lumpnum, sortnode[sortindex[i]].plane->FOFSector, sortnode[sortindex[i]].plane->alpha, /*sortnode[sortindex[i]].plane->fogplane,*/ sortnode[sortindex[i]].plane->planecolormap); } @@ -3989,7 +3990,7 @@ void HWR_RenderDrawNodes(void) gr_frontsector = NULL; if (!(sortnode[sortindex[i]].polyplane->blend & PF_NoTexture)) - HWR_GetFlat(sortnode[sortindex[i]].polyplane->lumpnum, false); + HWR_GetFlat(sortnode[sortindex[i]].polyplane->lumpnum, R_NoEncore(sortnode[sortindex[i]].polyplane->FOFSector, sortnode[sortindex[i]].polyplane->isceiling)); HWR_RenderPolyObjectPlane(sortnode[sortindex[i]].polyplane->polysector, sortnode[sortindex[i]].polyplane->isceiling, sortnode[sortindex[i]].polyplane->fixedheight, sortnode[sortindex[i]].polyplane->blend, sortnode[sortindex[i]].polyplane->lightlevel, sortnode[sortindex[i]].polyplane->lumpnum, sortnode[sortindex[i]].polyplane->FOFSector, sortnode[sortindex[i]].polyplane->alpha, sortnode[sortindex[i]].polyplane->planecolormap); } diff --git a/src/m_menu.c b/src/m_menu.c index 1474a993..85370307 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -1284,12 +1284,13 @@ static menuitem_t OP_OpenGLOptionsMenu[] = { {IT_STRING|IT_CVAR, NULL, "Shaders", &cv_grshaders, 10}, {IT_STRING|IT_CVAR, NULL, "Software Perspective", &cv_grshearing, 20}, + {IT_STRING|IT_CVAR, NULL, "Sprite Billboarding", &cv_grspritebillboarding,30}, - {IT_STRING|IT_CVAR, NULL, "Quality", &cv_scr_depth, 40}, - {IT_STRING|IT_CVAR, NULL, "Texture Filter", &cv_grfiltermode, 50}, - {IT_STRING|IT_CVAR, NULL, "Anisotropic", &cv_granisotropicmode, 60}, + {IT_STRING|IT_CVAR, NULL, "Quality", &cv_scr_depth, 50}, + {IT_STRING|IT_CVAR, NULL, "Texture Filter", &cv_grfiltermode, 60}, + {IT_STRING|IT_CVAR, NULL, "Anisotropic", &cv_granisotropicmode, 70}, #ifdef _WINDOWS - {IT_STRING|IT_CVAR, NULL, "Fullscreen", &cv_fullscreen, 70}, + {IT_STRING|IT_CVAR, NULL, "Fullscreen", &cv_fullscreen, 80}, #endif {IT_SUBMENU|IT_STRING, NULL, "Fog...", &OP_OpenGLFogDef, 100}, {IT_SUBMENU|IT_STRING, NULL, "Gamma...", &OP_OpenGLColorDef, 110}, diff --git a/src/v_video.c b/src/v_video.c index 56ac6041..f34cf988 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -58,11 +58,11 @@ static void CV_Gammaxxx_ONChange(void); // - You can change them in software, // but they won't do anything. static CV_PossibleValue_t grgamma_cons_t[] = {{1, "MIN"}, {255, "MAX"}, {0, NULL}}; -static CV_PossibleValue_t grfogdensity_cons_t[] = {{FRACUNIT/2, "MIN"}, {FRACUNIT*2, "MAX"}, {0, NULL}}; +static CV_PossibleValue_t grfogdensity_cons_t[] = {{FRACUNIT/4, "MIN"}, {FRACUNIT*2, "MAX"}, {0, NULL}}; consvar_t cv_grshaders = {"gr_shaders", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfog = {"gr_fog", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grfogdensity = {"gr_fogdensity", "1.0", CV_SAVE|CV_FLOAT, grfogdensity_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grfogdensity = {"gr_fogdensity", "0.60", CV_SAVE|CV_FLOAT, grfogdensity_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfovchange = {"gr_fovchange", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grgammared = {"gr_gammared", "127", CV_SAVE|CV_CALL, grgamma_cons_t, CV_Gammaxxx_ONChange, 0, NULL, NULL, 0, 0, NULL}; @@ -76,7 +76,7 @@ consvar_t cv_grgammablue = {"gr_gammablue", "127", CV_SAVE|CV_CALL, grgamma_cons consvar_t cv_grmdls = {"gr_mdls", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfallbackplayermodel = {"gr_fallbackplayermodel", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grshearing = {"gr_shearing", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grshearing = {"gr_shearing", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grspritebillboarding = {"gr_spritebillboarding", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; #endif From 1b60524e429c5be63f21b480b49b6006725274e4 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Sun, 23 Jun 2019 14:08:17 +0200 Subject: [PATCH 077/245] Fix framedrops with 'dual-thok-barriers' --- src/hardware/hw_main.c | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index c9def3a2..1cc358ee 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -1862,7 +1862,7 @@ void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom // From PrBoom: // -// e6y: Check whether the player can look beyond this line +// e6y: Check whether the player can look beyond this line, rturns true if we can't // boolean checkforemptylines = true; @@ -1909,11 +1909,8 @@ static boolean CheckClip(seg_t * seg, sector_t * afrontsector, sector_t * abacks if (backc1 <= frontf1 && backc2 <= frontf2) { checkforemptylines = false; - if (!seg->sidedef->toptexture) - return false; - - if (abacksector->ceilingpic == skyflatnum && afrontsector->ceilingpic == skyflatnum) - return false; + //if (!seg->sidedef->toptexture) + // return false; return true; } @@ -1921,12 +1918,8 @@ static boolean CheckClip(seg_t * seg, sector_t * afrontsector, sector_t * abacks if (backf1 >= frontc1 && backf2 >= frontc2) { checkforemptylines = false; - if (!seg->sidedef->bottomtexture) - return false; - - // properly render skies (consider door "open" if both floors are sky): - if (abacksector->ceilingpic == skyflatnum && afrontsector->ceilingpic == skyflatnum) - return false; + //if (!seg->sidedef->bottomtexture) + // return false; return true; } @@ -1935,7 +1928,7 @@ static boolean CheckClip(seg_t * seg, sector_t * afrontsector, sector_t * abacks { checkforemptylines = false; // preserve a kind of transparent door/lift special effect: - if (backc1 < frontc1 || backc2 < frontc2) + /*if (backc1 < frontc1 || backc2 < frontc2) { if (!seg->sidedef->toptexture) return false; @@ -1944,13 +1937,7 @@ static boolean CheckClip(seg_t * seg, sector_t * afrontsector, sector_t * abacks { if (!seg->sidedef->bottomtexture) return false; - } - if (abacksector->ceilingpic == skyflatnum && afrontsector->ceilingpic == skyflatnum) - return false; - - if (abacksector->floorpic == skyflatnum && afrontsector->floorpic == skyflatnum) - return false; - + }*/ return true; } From 1556e1d027a314f18682c461394bce80c54de3d5 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Sun, 23 Jun 2019 18:35:57 +0200 Subject: [PATCH 078/245] Remove cyan pixels for now --- src/hardware/hw_cache.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/hardware/hw_cache.c b/src/hardware/hw_cache.c index 771a5a7f..b3077e9a 100644 --- a/src/hardware/hw_cache.c +++ b/src/hardware/hw_cache.c @@ -134,9 +134,13 @@ static void HWR_DrawPatchInCache(GLMipmap_t *mipmap, //Hurdler: not perfect, but better than holes if (texel == HWR_PATCHES_CHROMAKEY_COLORINDEX && (mipmap->flags & TF_CHROMAKEYED)) - texel = HWR_CHROMAKEY_EQUIVALENTCOLORINDEX; + alpha = 0x00; + + //texel = HWR_CHROMAKEY_EQUIVALENTCOLORINDEX; + // Lat: Don't do that, some weirdos still use CYAN on their WALLTEXTURES for translucency :V + //Hurdler: 25/04/2000: now support colormap in hardware mode - else if (mipmap->colormap) + if (mipmap->colormap) texel = mipmap->colormap[texel]; // hope compiler will get this switch out of the loops (dreams...) @@ -291,7 +295,7 @@ static UINT8 *MakeBlock(GLMipmap_t *grMipmap) { UINT8 *block; INT32 bpp, i; - UINT16 bu16 = ((0x00 <<8) | HWR_CHROMAKEY_EQUIVALENTCOLORINDEX); + UINT16 bu16 = ((0x00 <<8) | HWR_PATCHES_CHROMAKEY_COLORINDEX); bpp = format2bpp[grMipmap->grInfo.format]; block = Z_Malloc(blocksize*bpp, PU_HWRCACHE, &(grMipmap->grInfo.data)); @@ -302,8 +306,8 @@ static UINT8 *MakeBlock(GLMipmap_t *grMipmap) case 2: // fill background with chromakey, alpha = 0 for (i = 0; i < blocksize; i++) - //[segabor] memcpy(block+i*sizeof(UINT16), &bu16, sizeof(UINT16)); + break; case 4: memset(block, 0x00, blocksize*sizeof(UINT32)); break; } From 998ee7b6b2f17c690da85a55cd836c02aa70278c Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Mon, 24 Jun 2019 10:39:16 +0200 Subject: [PATCH 079/245] fix splitscreen, fix thok barriers, better fog settings --- src/hardware/hw_draw.c | 18 ++++++- src/hardware/hw_main.c | 93 +++++++++++++++++++------------- src/hardware/hw_main.h | 6 ++- src/hardware/r_opengl/r_opengl.c | 2 +- src/v_video.c | 4 +- 5 files changed, 78 insertions(+), 45 deletions(-) diff --git a/src/hardware/hw_draw.c b/src/hardware/hw_draw.c index 8570c3b3..4a0c0380 100644 --- a/src/hardware/hw_draw.c +++ b/src/hardware/hw_draw.c @@ -195,7 +195,10 @@ void HWR_DrawFixedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscale, } if (option & V_SPLITSCREEN) - cy /= 2; + cy += FIXED_TO_FLOAT((BASEVIDHEIGHT/2)<= vid.width || fy >= vid.height) @@ -1004,6 +1013,11 @@ void HWR_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color) else if (!(color & V_SNAPTOTOP)) fy += ((float)vid.height - ((float)BASEVIDHEIGHT * dupy)) / 2; } + if (color & V_SPLITSCREEN) + fy += ((float)BASEVIDHEIGHT * dupy)/2; + if (color & V_HORZSCREEN) + fx += ((float)BASEVIDWIDTH * dupx)/2; + } if (fx >= vid.width || fy >= vid.height) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 1cc358ee..b5c6d991 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -91,16 +91,23 @@ static void CV_anisotropic_ONChange(void) // base values set at SetViewSize static float gr_basecentery; +static float gr_basecenterx; float gr_baseviewwindowy, gr_basewindowcentery; +float gr_baseviewwindowx, gr_basewindowcenterx; float gr_viewwidth, gr_viewheight; // viewport clipping boundaries (screen coords) -float gr_viewwindowx; -static float gr_centerx, gr_centery; -static float gr_viewwindowy; // top left corner of view window +static float gr_centerx; +static float gr_viewwindowx; static float gr_windowcenterx; // center of view window, for projection + +static float gr_centery; +static float gr_viewwindowy; // top left corner of view window static float gr_windowcentery; +static float gr_pspritexscale, gr_pspriteyscale; + + static seg_t *gr_curline; static side_t *gr_sidedef; static line_t *gr_linedef; @@ -1905,39 +1912,44 @@ static boolean CheckClip(seg_t * seg, sector_t * afrontsector, sector_t * abacks backc1 = backc2 = abacksector->ceilingheight; } + // now check for closed sectors! + + // here we're talking about a CEILING lower than a floor. ...yeah we don't even need to bother. if (backc1 <= frontf1 && backc2 <= frontf2) { checkforemptylines = false; - //if (!seg->sidedef->toptexture) - // return false; - return true; } + // here we're talking about floors higher than ceilings, don't even bother either. if (backf1 >= frontc1 && backf2 >= frontc2) { checkforemptylines = false; - //if (!seg->sidedef->bottomtexture) - // return false; - return true; } + // Lat: Ok, here's what we need to do, we want to draw thok barriers. Let's define what a thok barrier is; + // -Must have ceilheight <= floorheight + // -ceilpic must be skyflatnum + // -an adjacant sector needs to have a ceilingheight or a floor height different than the one we have, otherwise, it's just a huge ass wall, we shouldn't render past it. + // -said adjacant sector cannot also be a thok barrier, because that's also dumb and we could render far more than we need to as a result :V + if (backc1 <= backf1 && backc2 <= backf2) { checkforemptylines = false; - // preserve a kind of transparent door/lift special effect: - /*if (backc1 < frontc1 || backc2 < frontc2) - { - if (!seg->sidedef->toptexture) - return false; - } + + // before we do anything, if both sectors are thok barriers, GET ME OUT OF HERE! + if (frontc1 <= backc1 && frontc2 <= frontc2) + return true; // STOP RENDERING. + + // draw floors at the top of thok barriers: + if (backc1 < frontc1 || backc2 < frontc2) + return false; + if (backf1 > frontf1 || backf2 > frontf2) - { - if (!seg->sidedef->bottomtexture) - return false; - }*/ + return false; + return true; } @@ -4539,8 +4551,8 @@ void HWR_DrawSkyBackground(void) // software doesn't draw any further than 1024 for skies anyway, but this doesn't overlap properly // The only time this will probably be an issue is when a sky wider than 1024 is used as a sky AND a regular wall texture - angle = (viewangle + xtoviewangle[0]); - dimensionmultiply = ((float)textures[skytexture]->width/256.0f)*2; + angle = (viewangle/2 + xtoviewangle[0]); + dimensionmultiply = ((float)textures[skytexture]->width/256.0f); if (atransform.mirror) { @@ -4634,25 +4646,22 @@ void HWR_SetViewSize(void) if (splitscreen > 1) gr_viewwidth /= 2; - gr_centerx = gr_viewwidth / 2; - gr_basecentery = gr_viewheight / 2; //note: this is (gr_centerx * gr_viewheight / gr_viewwidth) + gr_basecenterx = gr_viewwidth / 2; + gr_basecentery = gr_viewheight / 2; - gr_viewwindowx = (vid.width - gr_viewwidth) / 2; - gr_windowcenterx = (float)(vid.width / 2); - if (fabsf(gr_viewwidth - vid.width) < 1.0E-36f) - { - gr_baseviewwindowy = 0; - gr_basewindowcentery = gr_viewheight / 2; // window top left corner at 0,0 - } - else - { - gr_baseviewwindowy = (vid.height-gr_viewheight) / 2; - gr_basewindowcentery = (float)(vid.height / 2); - } + gr_baseviewwindowy = 0; + gr_basewindowcentery = (float)(gr_viewheight / 2); + + gr_baseviewwindowx = 0; + gr_basewindowcenterx = (float)(gr_viewwidth / 2); + + gr_pspritexscale = ((vid.width*gr_pspriteyscale*BASEVIDHEIGHT)/BASEVIDWIDTH)/vid.height; + gr_pspriteyscale = ((vid.height*gr_pspritexscale*BASEVIDWIDTH)/BASEVIDHEIGHT)/vid.width; HWD.pfnFlushScreenTextures(); } + // ========================================================================== // Render the current frame. // ========================================================================== @@ -4664,13 +4673,17 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) INT32 i; // set window position + gr_centerx = gr_basecenterx; + gr_viewwindowx = gr_baseviewwindowx; + gr_windowcenterx = gr_basewindowcenterx; gr_centery = gr_basecentery; gr_viewwindowy = gr_baseviewwindowy; gr_windowcentery = gr_basewindowcentery; - if (splitscreen && viewnumber == 1) + + if ((splitscreen == 1 && viewnumber == 1) || (splitscreen > 1 && viewnumber > 1)) { - gr_viewwindowy += (vid.height/2); - gr_windowcentery += (vid.height/2); + gr_viewwindowy += gr_viewheight; + gr_windowcentery += gr_viewheight; } if (splitscreen > 1 && viewnumber & 1) @@ -4679,6 +4692,7 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) gr_windowcenterx += gr_viewwidth; } + // check for new console commands. NetUpdate(); @@ -4816,6 +4830,9 @@ void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) HWD.pfnClearBuffer(true, false, &ClearColor); } + if (viewnumber > 3) + return; + // Render the skybox if there is one. drewsky = false; if (skybox) diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index d4f14a0b..91a95a30 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -34,8 +34,10 @@ void HWR_Startup(void); void HWR_Shutdown(void); -extern float gr_viewwidth, gr_viewheight, gr_baseviewwindowy; -extern float gr_viewwindowx, gr_basewindowcentery; +extern float gr_viewwidth, gr_viewheight, gr_baseviewwindowx, gr_baseviewwindowy; + +extern float gr_basewindowcenterx, gr_basewindowcentery; + extern FTransform atransform; // hw_draw.c diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 85c28e13..d4b04e1f 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -583,7 +583,7 @@ static gl_shaderprogram_t gl_shaderprograms[MAXSHADERPROGRAMS]; "float fog(const float dist, const float density, const float globaldensity) {\n" \ "const float LOG2 = -1.442695;\n" \ "float d = density * dist;\n" \ - "return 1.0 - clamp(exp2(d * d * globaldensity * LOG2), 0.0, 1.0);\n" \ + "return 1.0 - clamp(exp2(d * sqrt(d) * globaldensity * LOG2), 0.0, 1.0);\n" \ "}\n" // https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_gpu_shader_fp64.txt diff --git a/src/v_video.c b/src/v_video.c index f34cf988..6292ffc6 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -58,11 +58,11 @@ static void CV_Gammaxxx_ONChange(void); // - You can change them in software, // but they won't do anything. static CV_PossibleValue_t grgamma_cons_t[] = {{1, "MIN"}, {255, "MAX"}, {0, NULL}}; -static CV_PossibleValue_t grfogdensity_cons_t[] = {{FRACUNIT/4, "MIN"}, {FRACUNIT*2, "MAX"}, {0, NULL}}; +static CV_PossibleValue_t grfogdensity_cons_t[] = {{FRACUNIT/8, "MIN"}, {FRACUNIT*2, "MAX"}, {0, NULL}}; consvar_t cv_grshaders = {"gr_shaders", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfog = {"gr_fog", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grfogdensity = {"gr_fogdensity", "0.60", CV_SAVE|CV_FLOAT, grfogdensity_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grfogdensity = {"gr_fogdensity", "0.30", CV_SAVE|CV_FLOAT, grfogdensity_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfovchange = {"gr_fovchange", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grgammared = {"gr_gammared", "127", CV_SAVE|CV_CALL, grgamma_cons_t, CV_Gammaxxx_ONChange, 0, NULL, NULL, 0, 0, NULL}; From e219645577a1037454b0a4a9207674a91ceca018 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Mon, 24 Jun 2019 12:51:18 +0200 Subject: [PATCH 080/245] handle clipping like literally every hw renderer ever --- src/r_things.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/r_things.c b/src/r_things.c index b2170924..97b22c13 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -259,6 +259,11 @@ static boolean R_AddSingleSpriteDef(const char *sprname, spritedef_t *spritedef, //BP: we cannot use special tric in hardware mode because feet in ground caused by z-buffer if (rendermode != render_none) // not for psprite spritecachedinfo[numspritelumps].topoffset += 4<0 && SHORT(patch.topoffset) Date: Sun, 30 Jun 2019 10:47:08 -0700 Subject: [PATCH 081/245] Send the old GT_MATCH only for specific versions These version numbers were gathered from the Master Server's PHP code. --- src/d_clisrv.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/d_clisrv.h b/src/d_clisrv.h index e7879d58..d7f033b6 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -29,7 +29,9 @@ // SOME numpty changed all the gametype constants and it fell out of sync with vanilla and now we have to pretend to be vanilla when talking to the master server... #define VANILLA_GT_RACE 2 -#if VERSION < 210 +// Woah, what do these numbers mean? 200 refers to SRB2 2.0, 246 refers to +// SRB2Riders. Both use the old 2.0 gametype numbers. +#if VERSION == 200 || VERSION == 246 #define VANILLA_GT_MATCH 1 #else #define VANILLA_GT_MATCH 3 From f15adb64cb4cb2434b3f4310cafa2da4f2a3ccd4 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Sat, 13 Jul 2019 14:07:57 +0200 Subject: [PATCH 082/245] fix thrust on spring pads for shrink and the likes --- src/p_spec.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/p_spec.c b/src/p_spec.c index a08bdbc3..f221227b 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -3812,12 +3812,14 @@ DoneSection2: { const fixed_t hscale = mapobjectscale + (mapobjectscale - player->mo->scale); const fixed_t minspeed = 24*hscale; + angle_t pushangle = FixedHypot(player->mo->momx, player->mo->momy) ? R_PointToAngle2(0, 0, player->mo->momx, player->mo->momy) : player->mo->angle; + // if we have no speed for SOME REASON, use the player's angle, otherwise we'd be forcefully thrusted to what I can only assume is angle 0 if (player->mo->eflags & MFE_SPRUNG) break; if (player->speed < minspeed) // Push forward to prevent getting stuck - P_InstaThrust(player->mo, player->mo->angle, minspeed); + P_InstaThrust(player->mo, pushangle, minspeed); player->kartstuff[k_pogospring] = 1; K_DoPogoSpring(player->mo, 0, 1); @@ -3833,14 +3835,16 @@ DoneSection2: const fixed_t hscale = mapobjectscale + (mapobjectscale - player->mo->scale); const fixed_t minspeed = 24*hscale; const fixed_t maxspeed = 28*hscale; + angle_t pushangle = FixedHypot(player->mo->momx, player->mo->momy) ? R_PointToAngle2(0, 0, player->mo->momx, player->mo->momy) : player->mo->angle; + // if we have no speed for SOME REASON, use the player's angle, otherwise we'd be forcefully thrusted to what I can only assume is angle 0 if (player->mo->eflags & MFE_SPRUNG) break; if (player->speed > maxspeed) // Prevent overshooting jumps - P_InstaThrust(player->mo, R_PointToAngle2(0, 0, player->mo->momx, player->mo->momy), maxspeed); + P_InstaThrust(player->mo, pushangle, maxspeed); else if (player->speed < minspeed) // Push forward to prevent getting stuck - P_InstaThrust(player->mo, player->mo->angle, minspeed); + P_InstaThrust(player->mo, pushangle, minspeed); player->kartstuff[k_pogospring] = 2; K_DoPogoSpring(player->mo, 0, 1); From 61d7fc8b48bf3a2ee301e0ad34c065bdc7f9b567 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Sun, 4 Aug 2019 11:26:26 +0200 Subject: [PATCH 083/245] remove join passwords --- src/command.c | 3 +- src/command.h | 3 +- src/d_clisrv.c | 284 ++++--------------------------------------------- src/d_clisrv.h | 27 +---- src/d_main.c | 7 +- src/d_net.c | 5 +- src/d_netcmd.c | 128 ---------------------- src/d_netcmd.h | 8 -- src/m_menu.c | 49 +-------- src/m_menu.h | 1 - 10 files changed, 36 insertions(+), 479 deletions(-) diff --git a/src/command.c b/src/command.c index 6d9c86d3..5116b31c 100644 --- a/src/command.c +++ b/src/command.c @@ -1307,8 +1307,7 @@ found: var->string = var->zstring = Z_StrDup(valstr); - if (var->flags & CV_PASSWORD); // Don't change value for password field - else if (override) + if (override) var->value = overrideval; else if (var->flags & CV_FLOAT) { diff --git a/src/command.h b/src/command.h index 6b5d513e..559f2f14 100644 --- a/src/command.h +++ b/src/command.h @@ -98,8 +98,7 @@ typedef enum CV_HIDEN = 1024, // variable is not part of the cvar list so cannot be accessed by the console // can only be set when we have the pointer to it // used on menus - CV_CHEAT = 2048, // Don't let this be used in multiplayer unless cheats are on. - CV_PASSWORD = 4096 // Password field + CV_CHEAT = 2048 // Don't let this be used in multiplayer unless cheats are on. } cvflags_t; typedef struct CV_PossibleValue_s diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 213f5dde..56558932 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -23,7 +23,6 @@ #include "d_net.h" #include "d_netfil.h" // fileneedednum #include "d_main.h" -#include "d_event.h" #include "g_game.h" #include "hu_stuff.h" #include "keys.h" @@ -1101,23 +1100,14 @@ typedef enum #endif CL_CONNECTED, CL_ABORTED, - CL_ASKFULLFILELIST, - CL_ASKDOWNLOADFILES, - CL_WAITDOWNLOADFILESRESPONSE, - CL_CHALLENGE + CL_ASKFULLFILELIST // used when the server has more files than usual } cl_mode_t; static void GetPackets(void); static cl_mode_t cl_mode = CL_SEARCHING; -static boolean cl_needsdownload = false; -static UINT16 cl_lastcheckedfilecount = 0; -static UINT8 cl_challengenum = 0; -static UINT8 cl_challengequestion[MD5_LEN+1]; -static char cl_challengepassword[65]; -static UINT8 cl_challengeanswer[MD5_LEN+1]; -static UINT8 cl_challengeattempted = 0; +static UINT16 cl_lastcheckedfilecount = 0; // used for full file list // Player name send/load @@ -1154,7 +1144,6 @@ static void CV_LoadPlayerNames(UINT8 **p) } #ifdef CLIENT_LOADINGSCREEN -static UINT32 SL_SearchServer(INT32 node); // // CL_DrawConnectionStatus @@ -1179,42 +1168,11 @@ static inline void CL_DrawConnectionStatus(void) // 15 pal entries total. const char *cltext; - if (cl_mode != CL_CHALLENGE) - for (i = 0; i < 16; ++i) - V_DrawFill((BASEVIDWIDTH/2-128) + (i * 16), BASEVIDHEIGHT-24, 16, 8, palstart + ((animtime - i) & 15)); + for (i = 0; i < 16; ++i) + V_DrawFill((BASEVIDWIDTH/2-128) + (i * 16), BASEVIDHEIGHT-24, 16, 8, palstart + ((animtime - i) & 15)); switch (cl_mode) { - case CL_CHALLENGE: - { - char asterisks[33]; - size_t sl = min(32, strlen(cl_challengepassword)); - UINT32 serverid; - - memset(asterisks, '*', sl); - memset(asterisks+sl, 0, 33-sl); - - V_DrawString(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-24, V_MONOSPACE|V_ALLOWLOWERCASE, asterisks); - V_DrawFixedPatch((BASEVIDWIDTH/2) << FRACBITS, (BASEVIDHEIGHT/2) << FRACBITS, FRACUNIT, 0, W_CachePatchName("BSRVLOCK", PU_CACHE), NULL); - - serverid = SL_SearchServer(servernode); - - if (serverid == UINT32_MAX) - { - M_DrawTextBox(BASEVIDWIDTH/2-128-8, BASEVIDHEIGHT/2-8, 32, 1); - V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, V_REDMAP, M_GetText("This server is password protected.")); - } - else - { - M_DrawTextBox(BASEVIDWIDTH/2-128-8, BASEVIDHEIGHT/2-8, 32, 3); - V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, V_REDMAP, M_GetText("This server,")); - V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2+8, V_ALLOWLOWERCASE, serverlist[serverid].info.servername); - V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2+16, V_REDMAP, M_GetText("is password protected.")); - } - - cltext = M_GetText(cl_challengeattempted ? "Incorrect password. Please try again." : "Please enter the server password."); - } - break; #ifdef JOININGAME case CL_DOWNLOADSAVEGAME: if (lastfilenum != -1) @@ -1237,9 +1195,6 @@ static inline void CL_DrawConnectionStatus(void) case CL_WAITJOINRESPONSE: cltext = M_GetText("Requesting to join..."); break; - case CL_ASKDOWNLOADFILES: - case CL_WAITDOWNLOADFILESRESPONSE: - cltext = M_GetText("Waiting to download files..."); default: cltext = M_GetText("Connecting to server..."); break; @@ -1325,9 +1280,6 @@ static boolean CL_SendJoin(void) netbuffer->u.clientcfg.localplayers = localplayers; netbuffer->u.clientcfg.version = VERSION; netbuffer->u.clientcfg.subversion = SUBVERSION; - netbuffer->u.clientcfg.needsdownload = cl_needsdownload; - netbuffer->u.clientcfg.challengenum = cl_challengenum; - memcpy(netbuffer->u.clientcfg.challengeanswer, cl_challengeanswer, MD5_LEN); return HSendPacket(servernode, true, 0, sizeof (clientconfig_pak)); } @@ -1351,10 +1303,10 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) netbuffer->u.serverinfo.kartvars = (UINT8) ( (cv_kartspeed.value & SV_SPEEDMASK) | - (dedicated ? SV_DEDICATED : 0) | - (D_IsJoinPasswordOn() ? SV_PASSWORD : 0) + (dedicated ? SV_DEDICATED : 0) ); + strncpy(netbuffer->u.serverinfo.servername, cv_servername.string, MAXSERVERNAME); strncpy(netbuffer->u.serverinfo.mapname, G_BuildMapName(gamemap), 7); @@ -1950,7 +1902,7 @@ static boolean CL_FinishedFileList(void) return false; } - cl_mode = CL_ASKDOWNLOADFILES; + cl_mode = CL_DOWNLOADFILES; } return true; } @@ -2090,7 +2042,6 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic /* FALLTHRU */ case CL_ASKJOIN: - cl_needsdownload = false; CL_LoadServerFiles(); #ifdef JOININGAME // prepare structures to save the file @@ -2099,23 +2050,9 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic CL_PrepareDownloadSaveGame(tmpsave); #endif if (CL_SendJoin()) - { - *asksent = I_GetTime(); cl_mode = CL_WAITJOINRESPONSE; - } break; - case CL_ASKDOWNLOADFILES: - cl_needsdownload = true; - - if (CL_SendJoin()) - { - *asksent = I_GetTime(); - cl_mode = CL_WAITDOWNLOADFILESRESPONSE; - } - break; - - #ifdef JOININGAME case CL_DOWNLOADSAVEGAME: // At this state, the first (and only) needed file is the gamestate @@ -2129,19 +2066,7 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic break; #endif - case CL_CHALLENGE: - (*asksent) = I_GetTime() - NEWTICRATE; // Send password immediately upon entering - break; - case CL_WAITJOINRESPONSE: - case CL_WAITDOWNLOADFILESRESPONSE: - if (*asksent + NEWTICRATE < I_GetTime() && CL_SendJoin()) - { - *asksent = I_GetTime(); - } - - break; - case CL_CONNECTED: default: break; @@ -2159,15 +2084,21 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic // Call it only once by tic if (*oldtic != I_GetTime()) { - I_OsPolling(); - D_ProcessEvents(); - if (gamestate != GS_WAITINGPLAYERS) - return false; - // why are these here? this is for servers, we're a client - //if (key == 's' && server) - // doomcom->numnodes = (INT16)pnumnodes; - //SV_FileSendTicker(); + INT32 key; + + I_OsPolling(); + key = I_GetKey(); + // Only ESC and non-keyboard keys abort connection + if (key == KEY_ESCAPE || key >= KEY_MOUSE1) + { + CONS_Printf(M_GetText("Network game synchronization aborted.\n")); + D_QuitNetGame(); + CL_Reset(); + D_StartTitle(); + + return false; + } *oldtic = I_GetTime(); #ifdef CLIENT_LOADINGSCREEN @@ -2191,71 +2122,6 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic return true; } -boolean CL_Responder(event_t *ev) -{ - size_t len; - INT32 ch; - - if (!(client && cl_mode != CL_CONNECTED && cl_mode != CL_ABORTED)) - return false; // Don't do anything outside of the connection screen - - if (ev->type != ev_keydown) - return false; - - ch = (INT32)ev->data1; - - // Only ESC and non-keyboard keys abort connection - if (ch == KEY_ESCAPE || ch >= KEY_MOUSE1) - { - CONS_Printf(M_GetText("Network game synchronization aborted.\n")); - //M_StartMessage(M_GetText("Network game synchronization aborted.\n\nPress ESC\n"), NULL, MM_NOTHING); - D_QuitNetGame(); - CL_Reset(); - D_StartTitle(); - return true; - } - - if (cl_mode != CL_CHALLENGE) - return false; - - if ((ch >= HU_FONTSTART && ch <= HU_FONTEND && hu_font[ch-HU_FONTSTART]) - || ch == ' ') // Allow spaces, of course - { - len = strlen(cl_challengepassword); - if (len < 64) - { - cl_challengepassword[len+1] = 0; - cl_challengepassword[len] = CON_ShiftChar(ch); - } - - cl_challengeattempted = 0; - } - else if (ch == KEY_BACKSPACE) - { - len = strlen(cl_challengepassword); - - if (len > 0) - cl_challengepassword[len-1] = 0; - - cl_challengeattempted = 0; - } - else if (ch == KEY_ENTER) - { - netgame = true; - multiplayer = true; - -#ifndef NONET - SL_ClearServerList(servernode); -#endif - cl_mode = CL_SEARCHING; - - D_ComputeChallengeAnswer(cl_challengequestion, cl_challengepassword, cl_challengeanswer); - cl_challengeattempted = 1; - } - - return true; -} - /** Use adaptive send using net_bandwidth and stat.sendbytes * * \param viams ??? @@ -2276,7 +2142,6 @@ static void CL_ConnectToServer(boolean viams) #endif cl_mode = CL_SEARCHING; - cl_challengenum = 0; #ifdef CLIENT_LOADINGSCREEN lastfilenum = -1; @@ -2331,8 +2196,6 @@ static void CL_ConnectToServer(boolean viams) SL_ClearServerList(servernode); #endif - cl_challengeattempted = 0; - do { // If the connection was aborted for some reason, leave @@ -3271,9 +3134,6 @@ void D_ClientServerInit(void) gametic = 0; localgametic = 0; - memset(cl_challengequestion, 0x00, MD5_LEN+1); - memset(cl_challengeanswer, 0x00, MD5_LEN+1); - // do not send anything before the real begin SV_StopServer(); SV_ResetServer(); @@ -3749,33 +3609,6 @@ static void HandleConnect(SINT8 node) boolean newnode = false; #endif - if (node != servernode && !nodeingame[node] && D_IsJoinPasswordOn()) - { - // Ensure node sent the correct password challenge - boolean passed = false; - - if (netbuffer->u.clientcfg.challengenum && D_VerifyJoinPasswordChallenge(netbuffer->u.clientcfg.challengenum, netbuffer->u.clientcfg.challengeanswer)) - passed = true; - - if (!passed) - { - D_MakeJoinPasswordChallenge(&netbuffer->u.joinchallenge.challengenum, netbuffer->u.joinchallenge.question); - - netbuffer->packettype = PT_JOINCHALLENGE; - HSendPacket(node, true, 0, sizeof(joinchallenge_pak)); - Net_CloseConnection(node); - - return; - } - } - - if (netbuffer->u.clientcfg.needsdownload) - { - netbuffer->packettype = PT_DOWNLOADFILESOKAY; - HSendPacket(node, true, 0, 0); - return; - } - // client authorised to join nodewaiting[node] = (UINT8)(netbuffer->u.clientcfg.localplayers - playerpernode[node]); if (!nodeingame[node]) @@ -3973,43 +3806,6 @@ static void HandlePacketFromAwayNode(SINT8 node) Net_CloseConnection(node); break; - case PT_JOINCHALLENGE: - if (server && serverrunning) - { // But wait I thought I'm the server? - Net_CloseConnection(node); - break; - } - SERVERONLY - if (cl_mode == CL_WAITJOINRESPONSE || cl_mode == CL_WAITDOWNLOADFILESRESPONSE) - { - cl_challengenum = netbuffer->u.joinchallenge.challengenum; - memcpy(cl_challengequestion, netbuffer->u.joinchallenge.question, 16); - - Net_CloseConnection(node|FORCECLOSE); // Don't need to stay connected while challenging - - cl_mode = CL_CHALLENGE; - - switch (cl_challengeattempted) - { - case 2: - // We already sent a correct password, so throw it back up again. - D_ComputeChallengeAnswer(cl_challengequestion, cl_challengepassword, cl_challengeanswer); - cl_mode = CL_ASKJOIN; - break; - - case 1: - // We entered the wrong password! - S_StartSound(NULL, sfx_s26d); - break; - - default: - // First entry to the password screen. - S_StartSound(NULL, sfx_s224); - break; - } - } - break; - case PT_SERVERREFUSE: // Negative response of client join request if (server && serverrunning) { // But wait I thought I'm the server? @@ -4038,41 +3834,6 @@ static void HandlePacketFromAwayNode(SINT8 node) } break; - case PT_DOWNLOADFILESOKAY: - if (server && serverrunning) - { // But wait I thought I'm the server? - Net_CloseConnection(node); - break; - } - - SERVERONLY - - // This should've already been checked, but just to be safe... - if (!CL_CheckDownloadable()) - { - D_QuitNetGame(); - CL_Reset(); - D_StartTitle(); - M_StartMessage(M_GetText( - "You cannot connect to this server\n" - "because you cannot download the files\n" - "that you are missing from the server.\n\n" - "See the console or log file for\n" - "more details.\n\n" - "Press ESC\n" - ), NULL, MM_NOTHING); - break; - } - - if (cl_challengeattempted == 1) // Successful password noise. - S_StartSound(NULL, sfx_s221); - - cl_challengeattempted = 2; - CONS_Printf("trying to download\n"); - if (CL_SendRequestFile()) - cl_mode = CL_DOWNLOADFILES; - break; - case PT_SERVERCFG: // Positive response of client join request { INT32 j; @@ -4088,9 +3849,6 @@ static void HandlePacketFromAwayNode(SINT8 node) if (cl_mode != CL_WAITJOINRESPONSE) break; - if (cl_challengeattempted == 1) // Successful password noise. - S_StartSound(NULL, sfx_s221); - if (client) { maketic = gametic = neededtic = (tic_t)LONG(netbuffer->u.servercfg.gametic); diff --git a/src/d_clisrv.h b/src/d_clisrv.h index e961c38f..6cbf93ca 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -13,14 +13,11 @@ #ifndef __D_CLISRV__ #define __D_CLISRV__ -#include "d_event.h" #include "d_ticcmd.h" #include "d_netcmd.h" #include "tables.h" #include "d_player.h" -#include "md5.h" - // Network play related stuff. // There is a data struct that stores network // communication related stuff, and another @@ -78,9 +75,6 @@ typedef enum PT_CLIENT4MIS, PT_BASICKEEPALIVE,// Keep the network alive during wipes, as tics aren't advanced and NetUpdate isn't called - PT_JOINCHALLENGE, // You must give a password to joinnnnn - PT_DOWNLOADFILESOKAY, // You can download files from the server.... - PT_CANFAIL, // This is kind of a priority. Anything bigger than CANFAIL // allows HSendPacket(*, true, *, *) to return false. // In addition, this packet can't occupy all the available slots. @@ -348,22 +342,13 @@ typedef struct { UINT8 version; // Different versions don't work UINT8 subversion; // Contains build version - UINT8 localplayers; - UINT8 needsdownload; - UINT8 challengenum; // Non-zero if trying to join with a password attempt - UINT8 challengeanswer[MD5_LEN]; // Join challenge + UINT8 localplayers; // number of splitscreen players + UINT8 mode; } ATTRPACK clientconfig_pak; -typedef struct -{ - UINT8 challengenum; // Number to send back in join attempt - UINT8 question[MD5_LEN]; // Challenge data to be manipulated and answered with -} ATTRPACK joinchallenge_pak; - -#define SV_SPEEDMASK 0x03 -#define SV_LOTSOFADDONS 0x20 -#define SV_DEDICATED 0x40 -#define SV_PASSWORD 0x80 +#define SV_SPEEDMASK 0x03 // used to send kartspeed +#define SV_DEDICATED 0x40 // server is dedicated +#define SV_LOTSOFADDONS 0x20 // flag used to ask for full file list in d_netfil #define MAXSERVERNAME 32 #define MAXFILENEEDED 915 @@ -465,7 +450,6 @@ typedef struct UINT8 textcmd[MAXTEXTCMD+1]; // 66049 bytes (wut??? 64k??? More like 257 bytes...) filetx_pak filetxpak; // 139 bytes clientconfig_pak clientcfg; // 153 bytes - joinchallenge_pak joinchallenge; // 17 bytes serverinfo_pak serverinfo; // 1024 bytes serverrefuse_pak serverrefuse; // 65025 bytes (somehow I feel like those values are garbage...) askinfo_pak askinfo; // 61 bytes @@ -571,7 +555,6 @@ void CL_Reset(void); void CL_ClearPlayer(INT32 playernum); void CL_RemovePlayer(INT32 playernum, INT32 reason); void CL_UpdateServerList(boolean internetsearch, INT32 room); -boolean CL_Responder(event_t *ev); // Is there a game running boolean Playing(void); diff --git a/src/d_main.c b/src/d_main.c index 467976c1..864e6ff0 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -233,9 +233,6 @@ void D_ProcessEvents(void) if (M_ScreenshotResponder(ev)) continue; // ate the event - if (CL_Responder(ev)) - continue; - if (gameaction == ga_nothing && gamestate == GS_TITLESCREEN) { if (cht_Responder(ev)) @@ -447,7 +444,7 @@ static void D_Display(void) { if (i > 0) // Splitscreen-specific { - switch (i) + switch (i) { case 1: if (splitscreen > 1) @@ -475,7 +472,7 @@ static void D_Display(void) break; } - + topleft = screens[0] + viewwindowy*vid.width + viewwindowx; } diff --git a/src/d_net.c b/src/d_net.c index 94b11d51..abb63e64 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -805,9 +805,6 @@ static const char *packettypename[NUMPACKETTYPE] = "CLIENT4MIS", "BASICKEEPALIVE", - "JOINCHALLENGE", - "DOWNLOADFILESOKAY", - "FILEFRAGMENT", "TEXTCMD", "TEXTCMD2", @@ -833,7 +830,7 @@ static void DebugPrintpacket(const char *header) break; case PT_CLIENTJOIN: fprintf(debugfile, " number %d mode %d\n", netbuffer->u.clientcfg.localplayers, - netbuffer->u.clientcfg.needsdownload); + netbuffer->u.clientcfg.mode); break; case PT_SERVERTICS: { diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 7dff1231..171a59e2 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -172,7 +172,6 @@ static void Got_Verification(UINT8 **cp, INT32 playernum); static void Got_Removal(UINT8 **cp, INT32 playernum); static void Command_Verify_f(void); static void Command_RemoveAdmin_f(void); -static void Command_ChangeJoinPassword_f(void); static void Command_MotD_f(void); static void Got_MotD_f(UINT8 **cp, INT32 playernum); @@ -554,8 +553,6 @@ void D_RegisterServerCommands(void) RegisterNetXCmd(XD_PICKVOTE, Got_PickVotecmd); // Remote Administration - CV_RegisterVar(&cv_dummyjoinpassword); - COM_AddCommand("joinpassword", Command_ChangeJoinPassword_f); COM_AddCommand("password", Command_Changepassword_f); RegisterNetXCmd(XD_LOGIN, Got_Login); COM_AddCommand("login", Command_Login_f); // useful in dedicated to kick off remote admin @@ -3956,131 +3953,6 @@ static void Got_Removal(UINT8 **cp, INT32 playernum) CONS_Printf(M_GetText("You are no longer a server administrator.\n")); } -// Join password stuff -consvar_t cv_dummyjoinpassword = {"dummyjoinpassword", "", CV_HIDEN|CV_NOSHOWHELP|CV_PASSWORD, NULL, NULL, 0, NULL, NULL, 0, 0, NULL}; - -#define NUMJOINCHALLENGES 32 -static UINT8 joinpassmd5[MD5_LEN+1]; -boolean joinpasswordset = false; -static UINT8 joinpasschallenges[NUMJOINCHALLENGES][MD5_LEN]; -static tic_t joinpasschallengeson[NUMJOINCHALLENGES]; - -boolean D_IsJoinPasswordOn(void) -{ - return joinpasswordset; -} - -static inline void GetChallengeAnswer(UINT8 *question, UINT8 *passwordmd5, UINT8 *answer) -{ - D_MD5PasswordPass(question, MD5_LEN, (char *) passwordmd5, answer); -} - -void D_ComputeChallengeAnswer(UINT8 *question, const char *pw, UINT8 *answer) -{ - static UINT8 passwordmd5[MD5_LEN+1]; - - memset(passwordmd5, 0x00, MD5_LEN+1); - D_MD5PasswordPass((const UINT8 *)pw, strlen(pw), BASESALT, &passwordmd5); - GetChallengeAnswer(question, passwordmd5, answer); -} - -void D_SetJoinPassword(const char *pw) -{ - memset(joinpassmd5, 0x00, MD5_LEN+1); - D_MD5PasswordPass((const UINT8 *)pw, strlen(pw), BASESALT, &joinpassmd5); - joinpasswordset = true; -} - -boolean D_VerifyJoinPasswordChallenge(UINT8 num, UINT8 *answer) -{ - boolean passed = false; - - num %= NUMJOINCHALLENGES; - - //@TODO use a constant-time memcmp.... - if (joinpasschallengeson[num] > 0 && memcmp(answer, joinpasschallenges[num], MD5_LEN) == 0) - passed = true; - - // Wipe and reset the challenge so that it can't be tried against again, as a small measure against brute-force attacks. - memset(joinpasschallenges[num], 0x00, MD5_LEN); - joinpasschallengeson[num] = 0; - - return passed; -} - -void D_MakeJoinPasswordChallenge(UINT8 *num, UINT8 *question) -{ - size_t i; - - for (i = 0; i < NUMJOINCHALLENGES; i++) - { - (*num) = M_RandomKey(NUMJOINCHALLENGES); - - if (joinpasschallengeson[(*num)] == 0) - break; - } - - if (joinpasschallengeson[(*num)] > 0) - { - // Ugh, all challenges are (probably) taken. Let's find the oldest one and overwrite it. - tic_t oldesttic = INT32_MAX; - - for (i = 0; i < NUMJOINCHALLENGES; i++) - { - if (joinpasschallengeson[i] < oldesttic) - { - (*num) = i; - oldesttic = joinpasschallengeson[i]; - } - } - } - - joinpasschallengeson[(*num)] = I_GetTime(); - - memset(question, 0x00, MD5_LEN); - for (i = 0; i < MD5_LEN; i++) - question[i] = M_RandomByte(); - - // Store the answer in memory. What was the question again? - GetChallengeAnswer(question, joinpassmd5, joinpasschallenges[(*num)]); - - // This ensures that num is always non-zero and will be valid when used for the answer - if ((*num) == 0) - (*num) = NUMJOINCHALLENGES; -} - -// Remote Administration -static void Command_ChangeJoinPassword_f(void) -{ -#ifdef NOMD5 - // If we have no MD5 support then completely disable XD_LOGIN responses for security. - CONS_Alert(CONS_NOTICE, "Remote administration commands are not supported in this build.\n"); -#else - if (client) // cannot change remotely - { - CONS_Printf(M_GetText("Only the server can use this.\n")); - return; - } - - if (COM_Argc() != 2) - { - CONS_Printf(M_GetText("joinpassword : set a password to join the server\nUse -remove to disable the password.\n")); - return; - } - - if (strcmp(COM_Argv(1), "-remove") == 0) - { - joinpasswordset = false; - CONS_Printf(M_GetText("Join password removed.\n")); - } - else - { - D_SetJoinPassword(COM_Argv(1)); - CONS_Printf(M_GetText("Join password set.\n")); - } -#endif -} - static void Command_MotD_f(void) { size_t i, j; diff --git a/src/d_netcmd.h b/src/d_netcmd.h index e6c327ab..2d8e5705 100644 --- a/src/d_netcmd.h +++ b/src/d_netcmd.h @@ -246,14 +246,6 @@ void RemoveAdminPlayer(INT32 playernum); void ItemFinder_OnChange(void); void D_SetPassword(const char *pw); -extern consvar_t cv_dummyjoinpassword; -extern boolean joinpasswordset; -boolean D_IsJoinPasswordOn(void); -void D_ComputeChallengeAnswer(UINT8 *question, const char *pw, UINT8 *answer); -void D_SetJoinPassword(const char *pw); -boolean D_VerifyJoinPasswordChallenge(UINT8 num, UINT8 *answer); -void D_MakeJoinPasswordChallenge(UINT8 *num, UINT8 *question); - // used for the player setup menu UINT8 CanChangeSkin(INT32 playernum); diff --git a/src/m_menu.c b/src/m_menu.c index 97b1ce9b..aff30475 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -984,10 +984,9 @@ static menuitem_t MP_MainMenu[] = static menuitem_t MP_ServerMenu[] = { - {IT_STRING|IT_CVAR, NULL, "Max. Player Count", &cv_maxplayers, 0}, - {IT_STRING|IT_CALL, NULL, "Room...", M_RoomMenu, 10}, - {IT_STRING|IT_CVAR|IT_CV_STRING, NULL, "Server Name", &cv_servername, 20}, - {IT_STRING|IT_CVAR|IT_CV_PASSWORD, NULL, "Password", &cv_dummyjoinpassword, 44}, + {IT_STRING|IT_CVAR, NULL, "Max. Player Count", &cv_maxplayers, 10}, + {IT_STRING|IT_CALL, NULL, "Room...", M_RoomMenu, 20}, + {IT_STRING|IT_CVAR|IT_CV_STRING, NULL, "Server Name", &cv_servername, 30}, {IT_STRING|IT_CVAR, NULL, "Game Type", &cv_newgametype, 68}, {IT_STRING|IT_CVAR, NULL, "Level", &cv_nextmap, 78}, @@ -2464,9 +2463,6 @@ static void M_NextOpt(void) { INT16 oldItemOn = itemOn; // prevent infinite loop - if ((currentMenu->menuitems[itemOn].status & IT_CVARTYPE) == IT_CV_PASSWORD) - ((consvar_t *)currentMenu->menuitems[itemOn].itemaction)->value = 0; - do { if (itemOn + 1 > currentMenu->numitems - 1) @@ -2480,9 +2476,6 @@ static void M_PrevOpt(void) { INT16 oldItemOn = itemOn; // prevent infinite loop - if ((currentMenu->menuitems[itemOn].status & IT_CVARTYPE) == IT_CV_PASSWORD) - ((consvar_t *)currentMenu->menuitems[itemOn].itemaction)->value = 0; - do { if (!itemOn) @@ -2767,10 +2760,8 @@ boolean M_Responder(event_t *ev) // BP: one of the more big hack i have never made if (routine && (currentMenu->menuitems[itemOn].status & IT_TYPE) == IT_CVAR) { - if ((currentMenu->menuitems[itemOn].status & IT_CVARTYPE) == IT_CV_STRING || (currentMenu->menuitems[itemOn].status & IT_CVARTYPE) == IT_CV_PASSWORD) + if ((currentMenu->menuitems[itemOn].status & IT_CVARTYPE) == IT_CV_STRING) { - if (ch == KEY_TAB && (currentMenu->menuitems[itemOn].status & IT_CVARTYPE) == IT_CV_PASSWORD) - ((consvar_t *)currentMenu->menuitems[itemOn].itemaction)->value ^= 1; if (shiftdown && ch >= 32 && ch <= 127) ch = shiftxform[ch]; @@ -3722,8 +3713,6 @@ static void M_DrawGenericMenu(void) case IT_CVAR: { consvar_t *cv = (consvar_t *)currentMenu->menuitems[i].itemaction; - char asterisks[MAXSTRINGLENGTH+1]; - size_t sl; switch (currentMenu->menuitems[i].status & IT_CVARTYPE) { case IT_CV_SLIDER: @@ -3731,27 +3720,6 @@ static void M_DrawGenericMenu(void) case IT_CV_NOPRINT: // color use this case IT_CV_INVISSLIDER: // monitor toggles use this break; - case IT_CV_PASSWORD: - if (i == itemOn) - { - V_DrawRightAlignedThinString(x + MAXSTRINGLENGTH*8 + 10, y, V_ALLOWLOWERCASE, va(M_GetText("Tab: %s password"), cv->value ? "hide" : "show")); - } - - if (!cv->value || i != itemOn) - { - sl = strlen(cv->string); - memset(asterisks, '*', sl); - memset(asterisks + sl, 0, MAXSTRINGLENGTH+1-sl); - - M_DrawTextBox(x, y + 4, MAXSTRINGLENGTH, 1); - V_DrawString(x + 8, y + 12, V_ALLOWLOWERCASE, asterisks); - if (skullAnimCounter < 4 && i == itemOn) - V_DrawCharacter(x + 8 + V_StringWidth(asterisks, 0), y + 12, - '_' | 0x80, false); - y += 16; - break; - } - /* fallthru */ case IT_CV_STRING: M_DrawTextBox(x, y + 4, MAXSTRINGLENGTH, 1); V_DrawString(x + 8, y + 12, V_ALLOWLOWERCASE, cv->string); @@ -8312,6 +8280,7 @@ static void M_DrawConnectMenu(void) V_DrawSmallString(currentMenu->x+112, S_LINEY(i)+8, globalflags, gt); + // display game speed for race gametypes if (serverlist[slindex].info.gametype == GT_RACE) { spd = kartspeed_cons_t[serverlist[slindex].info.kartvars & SV_SPEEDMASK].strvalue; @@ -8319,9 +8288,6 @@ static void M_DrawConnectMenu(void) V_DrawSmallString(currentMenu->x+132, S_LINEY(i)+8, globalflags, va("(%s Speed)", spd)); } - if (serverlist[slindex].info.kartvars & SV_PASSWORD) - V_DrawFixedPatch((currentMenu->x - 9) << FRACBITS, (S_LINEY(i)) << FRACBITS, FRACUNIT, globalflags & (~V_ALLOWLOWERCASE), W_CachePatchName("SERVLOCK", PU_CACHE), NULL); - MP_ConnectMenu[i+FIRSTSERVERLINE].status = IT_STRING | IT_CALL; } @@ -8572,11 +8538,6 @@ static void M_StartServer(INT32 choice) // Still need to reset devmode cv_debug = 0; - if (strlen(cv_dummyjoinpassword.string) > 0) - D_SetJoinPassword(cv_dummyjoinpassword.string); - else - joinpasswordset = false; - if (demo.playback) G_StopDemo(); if (metalrecording) diff --git a/src/m_menu.h b/src/m_menu.h index 62c852e4..d83a4e26 100644 --- a/src/m_menu.h +++ b/src/m_menu.h @@ -107,7 +107,6 @@ boolean M_CanShowLevelInList(INT32 mapnum, INT32 gt); #define IT_CV_NOPRINT 1536 #define IT_CV_NOMOD 2048 #define IT_CV_INVISSLIDER 2560 -#define IT_CV_PASSWORD 3072 //call/submenu specific // There used to be a lot more here but ... From 9cdd8d85c889a4ec825b9c9a145ee885cf85bb3b Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Mon, 12 Aug 2019 00:14:01 +0200 Subject: [PATCH 084/245] Fix bombs exploding twice in the same frame --- src/p_enemy.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/p_enemy.c b/src/p_enemy.c index 1795a304..b1c53883 100644 --- a/src/p_enemy.c +++ b/src/p_enemy.c @@ -3929,6 +3929,9 @@ static inline boolean PIT_GrenadeRing(mobj_t *thing) if (!grenade) return false; + if (grenade->flags2 & MF2_DEBRIS) + return false; + if (thing->type != MT_PLAYER) // Don't explode for anything but an actual player. return true; @@ -3977,6 +3980,9 @@ void A_GrenadeRing(mobj_t *actor) return; #endif + if (actor->flags2 & MF2_DEBRIS) + return; + if (actor->state == &states[S_SSMINE_DEPLOY8]) explodedist = (3*explodedist)/2; @@ -4001,6 +4007,9 @@ static inline boolean PIT_MineExplode(mobj_t *thing) if (!grenade || P_MobjWasRemoved(grenade)) return false; // There's the possibility these can chain react onto themselves after they've already died if there are enough all in one spot + if (grenade->flags2 & MF2_DEBRIS) // don't explode twice + return false; + if (thing == grenade || thing->type == MT_MINEEXPLOSIONSOUND) // Don't explode yourself! Endless loop! return true; @@ -4045,6 +4054,9 @@ void A_MineExplode(mobj_t *actor) return; #endif + if (actor->flags2 & MF2_DEBRIS) + return; + type = (mobjtype_t)locvar1; // Use blockmap to check for nearby shootables From eb8cef41e425a210a4c0f99f4a67b25fcd8e3d10 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Sun, 1 Sep 2019 23:04:07 +0200 Subject: [PATCH 085/245] shorten RA intro & allow to restart with pause --- src/d_netcmd.c | 8 +++++++- src/g_game.c | 22 ++++++++++++++++------ src/m_menu.c | 3 +-- src/m_menu.h | 3 +++ src/p_tick.c | 5 ++++- src/p_user.c | 2 +- 6 files changed, 32 insertions(+), 11 deletions(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 7dff1231..708c91a0 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -2688,11 +2688,17 @@ static void Command_Pause(void) if (cv_pause.value || server || (IsPlayerAdmin(consoleplayer))) { - if (!paused && (modeattacking || !(gamestate == GS_LEVEL || gamestate == GS_INTERMISSION || gamestate == GS_VOTING || gamestate == GS_WAITINGPLAYERS))) + if (!paused && (!(gamestate == GS_LEVEL || gamestate == GS_INTERMISSION || gamestate == GS_VOTING || gamestate == GS_WAITINGPLAYERS))) { CONS_Printf(M_GetText("You can't pause here.\n")); return; } + else if (modeattacking) // in time attack, pausing restarts the map + { + M_ModeAttackRetry(0); // directly call from m_menu; + return; + } + SendNetXCmd(XD_PAUSE, &buf, 2); } else diff --git a/src/g_game.c b/src/g_game.c index b8a1a3bf..a11b877b 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -2320,6 +2320,12 @@ void G_Ticker(boolean run) UINT32 i; INT32 buf; ticcmd_t *cmd; + UINT32 ra_timeskip = (modeattacking && !demo.playback && leveltime < starttime - TICRATE*4) ? 0 : (starttime - TICRATE*4 - 1); + // starttime - TICRATE*4 is where we want RA to start when we PLAY IT, so we will loop the main thinker on RA start to get it to this point, + // the reason this is done is to ensure that ghosts won't look out of synch with other map elements (objects, moving platforms...) + // when we REPLAY, don't skip, let the camera spin, do its thing etc~ + + // also the -1 is to ensure that the thinker runs in the loop below. P_MapStart(); // do player reborns if needed @@ -2392,12 +2398,16 @@ void G_Ticker(boolean run) switch (gamestate) { case GS_LEVEL: - if (demo.title) - F_TitleDemoTicker(); - P_Ticker(run); // tic the game - ST_Ticker(); - AM_Ticker(); - HU_Ticker(); + + for (; ra_timeskip < starttime - TICRATE*4; ra_timeskip++) // this looks weird but this is done to not break compability with older demos for now. + { + if (demo.title) + F_TitleDemoTicker(); + P_Ticker(run); // tic the game + ST_Ticker(); + AM_Ticker(); + HU_Ticker(); + } break; case GS_INTERMISSION: diff --git a/src/m_menu.c b/src/m_menu.c index 97b1ce9b..62997a56 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -231,7 +231,6 @@ static void M_HandleStaffReplay(INT32 choice); static void M_ReplayTimeAttack(INT32 choice); static void M_ChooseTimeAttack(INT32 choice); //static void M_ChooseNightsAttack(INT32 choice); -static void M_ModeAttackRetry(INT32 choice); static void M_ModeAttackEndGame(INT32 choice); static void M_SetGuestReplay(INT32 choice); //static void M_ChoosePlayer(INT32 choice); @@ -8085,7 +8084,7 @@ static void M_SetGuestReplay(INT32 choice) which(0); } -static void M_ModeAttackRetry(INT32 choice) +void M_ModeAttackRetry(INT32 choice) { (void)choice; G_CheckDemoStatus(); // Cancel recording diff --git a/src/m_menu.h b/src/m_menu.h index 62c852e4..c2543509 100644 --- a/src/m_menu.h +++ b/src/m_menu.h @@ -54,6 +54,9 @@ void M_SortServerList(void); // Draws a box with a texture inside as background for messages void M_DrawTextBox(INT32 x, INT32 y, INT32 width, INT32 boxlines); +// Used in d_netcmd to restart time attack +void M_ModeAttackRetry(INT32 choice); + // the function to show a message box typing with the string inside // string must be static (not in the stack) // routine is a function taking a INT32 in parameter diff --git a/src/p_tick.c b/src/p_tick.c index 2502c721..08fbda72 100644 --- a/src/p_tick.c +++ b/src/p_tick.c @@ -689,7 +689,10 @@ void P_Ticker(boolean run) if (run) leveltime++; - timeinmap++; + + // as this is mostly used for HUD stuff, add the record attack specific hack to it as well! + if (!(modeattacking && !demo.playback) || leveltime >= starttime - TICRATE*4) + timeinmap++; /*if (G_TagGametype()) P_DoTagStuff(); diff --git a/src/p_user.c b/src/p_user.c index ced8b2da..84e43581 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -7426,7 +7426,7 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall const INT32 timeovercam = max(0, min(180, (player->kartstuff[k_timeovercam] - 2*TICRATE)*15)); camrotate += timeovercam; } - else if (leveltime < introtime) // Whoooshy camera! + else if (leveltime < introtime && !(modeattacking && !demo.playback)) // Whoooshy camera! (don't do this in RA when we PLAY, still do it in replays however~) { const INT32 introcam = (introtime - leveltime); camrotate += introcam*5; From 45b62aa8a427aedeb82cf1f56c9ebabfe57eab1e Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Thu, 5 Sep 2019 23:24:23 +0200 Subject: [PATCH 086/245] replay freecam + enhancements --- src/d_main.c | 9 +- src/d_netcmd.c | 3 + src/g_game.c | 17 ++-- src/g_game.h | 3 + src/k_kart.c | 15 ++-- src/m_menu.c | 213 ++++++++++++++++++++++++++++++++++++++++------ src/m_menu.h | 3 + src/p_local.h | 19 +++++ src/p_tick.c | 2 + src/p_user.c | 223 ++++++++++++++++++++++++++++++++++++++++++++++++- src/st_stuff.c | 4 +- 11 files changed, 467 insertions(+), 44 deletions(-) diff --git a/src/d_main.c b/src/d_main.c index 467976c1..9c63bd91 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -252,6 +252,11 @@ void D_ProcessEvents(void) if (M_Responder(ev)) continue; // menu ate the event + // Demo input: + if (demo.playback) + if (M_DemoResponder(ev)) + continue; // demo ate the event + // console input if (CON_Responder(ev)) continue; // ate the event @@ -447,7 +452,7 @@ static void D_Display(void) { if (i > 0) // Splitscreen-specific { - switch (i) + switch (i) { case 1: if (splitscreen > 1) @@ -475,7 +480,7 @@ static void D_Display(void) break; } - + topleft = screens[0] + viewwindowy*vid.width + viewwindowx; } diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 7dff1231..4c3a0f48 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -2040,6 +2040,9 @@ static void Command_View_f(void) return; } + if (demo.freecam) + return; + displayplayerp = &displayplayers[viewnum-1]; if (COM_Argc() > 1)/* switch to player */ diff --git a/src/g_game.c b/src/g_game.c index b8a1a3bf..761b0e8d 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1868,7 +1868,7 @@ boolean G_Responder(event_t *ev) // allow spy mode changes even during the demo if (gamestate == GS_LEVEL && ev->type == ev_keydown - && (ev->data1 == KEY_F12 || ev->data1 == gamecontrol[gc_viewpoint][0] || ev->data1 == gamecontrol[gc_viewpoint][1])) + && (ev->data1 == KEY_F12 || ev->data1 == gamecontrol[gc_viewpoint][0] || ev->data1 == gamecontrol[gc_viewpoint][1]) && !demo.freecam) { if (!demo.playback && (splitscreen || !netgame)) displayplayers[0] = consoleplayer; @@ -1884,7 +1884,7 @@ boolean G_Responder(event_t *ev) } } - if (gamestate == GS_LEVEL && ev->type == ev_keydown && multiplayer && demo.playback) + if (gamestate == GS_LEVEL && ev->type == ev_keydown && multiplayer && demo.playback && !demo.freecam) { if (ev->data1 == gamecontrolbis[gc_viewpoint][0] || ev->data1 == gamecontrolbis[gc_viewpoint][1]) { @@ -1928,11 +1928,8 @@ boolean G_Responder(event_t *ev) return true; } - // Anything else opens the menu if not already open, except for a few keys... - if (!( - // Rankings - ev->data1 == gamecontrol[gc_scores][0] || ev->data1 == gamecontrol[gc_scores][1] - )) + // open menu but only w/ esc + if (ev->data1 == 32) { M_StartControlPanel(); @@ -6005,6 +6002,9 @@ void G_PreviewRewind(tic_t previewtime) players[i].kartstuff[j] = info->playerinfo[i].player.kartstuff[j]; } + if (demo.freecam) + return; // nope + for (i = splitscreen; i >= 0; i--) P_ResetCamera(&players[displayplayers[i]], &camera[i]); } @@ -6046,6 +6046,9 @@ void G_ConfirmRewind(tic_t rewindtime) COM_BufInsertText("renderview on\n"); + if (demo.freecam) + return; // don't touch from there + splitscreen = oldss; displayplayers[0] = olddp1; displayplayers[1] = olddp2; diff --git a/src/g_game.h b/src/g_game.h index a69f9142..40b90e99 100644 --- a/src/g_game.h +++ b/src/g_game.h @@ -60,6 +60,9 @@ struct demovars_s { DSM_WILLSAVE, DSM_SAVED } savemode; + + boolean freecam; + }; extern struct demovars_s demo; diff --git a/src/k_kart.c b/src/k_kart.c index 10d772ba..bd0ec107 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -8750,6 +8750,7 @@ void K_drawKartHUD(void) { boolean isfreeplay = false; boolean battlefullscreen = false; + boolean freecam = demo.freecam; //disable some hud elements w/ freecam UINT8 i; // Define the X and Y for each drawn object @@ -8759,7 +8760,7 @@ void K_drawKartHUD(void) // Draw that fun first person HUD! Drawn ASAP so it looks more "real". for (i = 0; i <= splitscreen; i++) { - if (stplyr == &players[displayplayers[i]] && !camera[i].chase) + if (stplyr == &players[displayplayers[i]] && !camera[i].chase && !freecam) K_drawKartFirstPerson(); } @@ -8780,7 +8781,7 @@ void K_drawKartHUD(void) if (!demo.title && (!battlefullscreen || splitscreen)) { // Draw the CHECK indicator before the other items, so it's overlapped by everything else - if (cv_kartcheck.value && !splitscreen && !players[displayplayers[0]].exiting) + if (cv_kartcheck.value && !splitscreen && !players[displayplayers[0]].exiting && !freecam) K_drawKartPlayerCheck(); // Draw WANTED status @@ -8801,7 +8802,7 @@ void K_drawKartHUD(void) } } - if (battlefullscreen) + if (battlefullscreen && !freecam) { #ifdef HAVE_BLUA if (LUA_HudEnabled(hud_battlefullscreen)) @@ -8812,7 +8813,7 @@ void K_drawKartHUD(void) // Draw the item window #ifdef HAVE_BLUA - if (LUA_HudEnabled(hud_item)) + if (LUA_HudEnabled(hud_item) && !freecam) #endif K_drawKartItem(); @@ -8835,7 +8836,7 @@ void K_drawKartHUD(void) } } - if (!stplyr->spectator) // Bottom of the screen elements, don't need in spectate mode + if (!stplyr->spectator && !demo.freecam) // Bottom of the screen elements, don't need in spectate mode { if (demo.title) // Draw title logo instead in demo.titles { @@ -8924,7 +8925,7 @@ void K_drawKartHUD(void) } // Race overlays - if (G_RaceGametype()) + if (G_RaceGametype() && !freecam) { if (stplyr->exiting) K_drawKartFinish(); @@ -8932,7 +8933,7 @@ void K_drawKartHUD(void) K_drawLapStartAnim(); } - if (modeattacking) // everything after here is MP and debug only + if (modeattacking || freecam) // everything after here is MP and debug only return; if (G_BattleGametype() && !splitscreen && (stplyr->kartstuff[k_yougotem] % 2)) // * YOU GOT EM * diff --git a/src/m_menu.c b/src/m_menu.c index 97b1ce9b..6b01ec9e 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -319,6 +319,7 @@ static void M_PlaybackFastForward(INT32 choice); static void M_PlaybackAdvance(INT32 choice); static void M_PlaybackSetViews(INT32 choice); static void M_PlaybackAdjustView(INT32 choice); +static void M_PlaybackToggleFreecam(INT32 choice); static void M_PlaybackQuit(INT32 choice); static UINT8 playback_enterheld = 0; // horrid hack to prevent holding the button from being extremely fucked @@ -518,24 +519,23 @@ static menuitem_t MISC_ReplayOptionsMenu[] = static menuitem_t PlaybackMenu[] = { - {IT_CALL | IT_STRING, "M_PHIDE", "Hide Menu", M_SelectableClearMenus, 0}, + {IT_CALL | IT_STRING, "M_PHIDE", "Hide Menu (Esc)", M_SelectableClearMenus, 0}, - {IT_CALL | IT_STRING, "M_PREW", "Rewind", M_PlaybackRewind, 20}, - {IT_CALL | IT_STRING, "M_PPAUSE", "Pause", M_PlaybackPause, 36}, - {IT_CALL | IT_STRING, "M_PFFWD", "Fast-Forward", M_PlaybackFastForward, 52}, - {IT_CALL | IT_STRING, "M_PSTEPB", "Backup Frame", M_PlaybackRewind, 20}, + {IT_CALL | IT_STRING, "M_PREW", "Rewind ([)", M_PlaybackRewind, 20}, + {IT_CALL | IT_STRING, "M_PPAUSE", "Pause (\\)", M_PlaybackPause, 36}, + {IT_CALL | IT_STRING, "M_PFFWD", "Fast-Forward (])", M_PlaybackFastForward, 52}, + {IT_CALL | IT_STRING, "M_PSTEPB", "Backup Frame ([)", M_PlaybackRewind, 20}, {IT_CALL | IT_STRING, "M_PRESUM", "Resume", M_PlaybackPause, 36}, - {IT_CALL | IT_STRING, "M_PFADV", "Advance Frame", M_PlaybackAdvance, 52}, + {IT_CALL | IT_STRING, "M_PFADV", "Advance Frame (])", M_PlaybackAdvance, 52}, - {IT_ARROWS | IT_STRING, "M_PVIEWS", "View Count", M_PlaybackSetViews, 72}, - {IT_ARROWS | IT_STRING, "M_PNVIEW", "Viewpoint", M_PlaybackAdjustView, 88}, - {IT_ARROWS | IT_STRING, "M_PNVIEW", "Viewpoint 2", M_PlaybackAdjustView, 104}, - {IT_ARROWS | IT_STRING, "M_PNVIEW", "Viewpoint 3", M_PlaybackAdjustView, 120}, - {IT_ARROWS | IT_STRING, "M_PNVIEW", "Viewpoint 4", M_PlaybackAdjustView, 136}, + {IT_ARROWS | IT_STRING, "M_PVIEWS", "View Count (- and =)", M_PlaybackSetViews, 72}, + {IT_ARROWS | IT_STRING, "M_PNVIEW", "Viewpoint (1)", M_PlaybackAdjustView, 88}, + {IT_ARROWS | IT_STRING, "M_PNVIEW", "Viewpoint 2 (2)", M_PlaybackAdjustView, 104}, + {IT_ARROWS | IT_STRING, "M_PNVIEW", "Viewpoint 3 (3)", M_PlaybackAdjustView, 120}, + {IT_ARROWS | IT_STRING, "M_PNVIEW", "Viewpoint 4 (4)", M_PlaybackAdjustView, 136}, - //{IT_CALL | IT_STRING, "M_POPTS", "More Options...", M_ReplayHut, 156}, - //{IT_CALL | IT_STRING, "M_PEXIT", "Stop Playback", M_PlaybackQuit, 172}, - {IT_CALL | IT_STRING, "M_PEXIT", "Stop Playback", M_PlaybackQuit, 156}, + {IT_CALL | IT_STRING, "M_PVIEWS", "Toggle Free Camera (')", M_PlaybackToggleFreecam, 156}, + {IT_CALL | IT_STRING, "M_PEXIT", "Stop Playback", M_PlaybackQuit, 172}, }; typedef enum { @@ -551,6 +551,7 @@ typedef enum playback_view2, playback_view3, playback_view4, + playback_freecamera, //playback_moreoptions, playback_quit } playback_e; @@ -2792,6 +2793,56 @@ boolean M_Responder(event_t *ev) case KEY_UPARROW: ch = KEY_RIGHTARROW; break; case KEY_RIGHTARROW: ch = KEY_DOWNARROW; break; case KEY_DOWNARROW: ch = KEY_LEFTARROW; break; + + // arbitrary keyboard shortcuts because fuck you + + case '\'': // toggle freecam + M_PlaybackToggleFreecam(0); + break; + + case ']': // ffw / advance frame (depends on if paused or not) + if (paused) + M_PlaybackAdvance(0); + else + M_PlaybackFastForward(0); + break; + + case '[': // rewind /backupframe, uses the same function + M_PlaybackRewind(0); + break; + + case '\\': // pause + M_PlaybackPause(0); + break; + + // viewpoints, an annoyance (tm) + case '-': // viewpoint minus + M_PlaybackSetViews(-1); // yeah lol. + break; + + case '=': // viewpoint plus + M_PlaybackSetViews(1); // yeah lol. + break; + + // switch viewpoints: + case '1': // viewpoint for p1 (also f12) + // maximum laziness: + if (!demo.freecam) + G_AdjustView(1, 1, true); + break; + case '2': // viewpoint for p2 + if (!demo.freecam) + G_AdjustView(2, 1, true); + break; + case '3': // viewpoint for p3 + if (!demo.freecam) + G_AdjustView(3, 1, true); + break; + case '4': // viewpoint for p4 + if (!demo.freecam) + G_AdjustView(4, 1, true); + break; + default: break; } } @@ -2950,6 +3001,93 @@ boolean M_Responder(event_t *ev) return true; } +// special responder for demos +boolean M_DemoResponder(event_t *ev) +{ + + INT32 ch = -1; // cur event data + boolean eatinput = false; // :omnom: + + //should be accounted for beforehand but just to be safe... + if (!demo.playback || demo.title) + return false; + + if (noFurtherInput) + { + // Ignore input after enter/escape/other buttons + // (but still allow shift keyup so caps doesn't get stuck) + return false; + } + else if (ev->type == ev_keydown) + { + ch = ev->data1; + // since this is ONLY for demos, there isn't MUCH for us to do. + // mirrored from m_responder + + switch (ch) + { + // arbitrary keyboard shortcuts because fuck you + + case '\'': // toggle freecam + M_PlaybackToggleFreecam(0); + eatinput = true; + break; + + case ']': // ffw / advance frame (depends on if paused or not) + if (paused) + M_PlaybackAdvance(0); + else + M_PlaybackFastForward(0); + eatinput = true; + break; + + case '[': // rewind /backupframe, uses the same function + M_PlaybackRewind(0); + break; + + case '\\': // pause + M_PlaybackPause(0); + eatinput = true; + break; + + // viewpoints, an annoyance (tm) + case '-': // viewpoint minus + M_PlaybackSetViews(-1); // yeah lol. + eatinput = true; + break; + + case '=': // viewpoint plus + M_PlaybackSetViews(1); // yeah lol. + eatinput = true; + break; + + // switch viewpoints: + case '1': // viewpoint for p1 (also f12) + // maximum laziness: + if (!demo.freecam) + G_AdjustView(1, 1, true); + break; + case '2': // viewpoint for p2 + if (!demo.freecam) + G_AdjustView(2, 1, true); + break; + case '3': // viewpoint for p3 + if (!demo.freecam) + G_AdjustView(3, 1, true); + break; + case '4': // viewpoint for p4 + if (!demo.freecam) + G_AdjustView(4, 1, true); + break; + + default: break; + } + + } + return eatinput; +} + + // // M_Drawer // Called after the view has been rendered, @@ -5745,13 +5883,10 @@ static void M_DrawPlaybackMenu(void) { for (i = playback_viewcount; i <= playback_view4; i++) PlaybackMenu[i].status = IT_DISABLED; + PlaybackMenu[playback_freecamera].alphaKey = 72; + PlaybackMenu[playback_quit].alphaKey = 88; - //PlaybackMenu[playback_moreoptions].alphaKey = 72; - //PlaybackMenu[playback_quit].alphaKey = 88; - PlaybackMenu[playback_quit].alphaKey = 72; - - //currentMenu->x = BASEVIDWIDTH/2 - 52; - currentMenu->x = BASEVIDWIDTH/2 - 44; + currentMenu->x = BASEVIDWIDTH/2 - 52; } else { @@ -5762,11 +5897,8 @@ static void M_DrawPlaybackMenu(void) for (i = splitscreen+1; i < 4; i++) PlaybackMenu[playback_view1+i].status = IT_DISABLED; - //PlaybackMenu[playback_moreoptions].alphaKey = 156; - //PlaybackMenu[playback_quit].alphaKey = 172; - PlaybackMenu[playback_quit].alphaKey = 156; - - //currentMenu->x = BASEVIDWIDTH/2 - 94; + PlaybackMenu[playback_freecamera].alphaKey = 156; + PlaybackMenu[playback_quit].alphaKey = 172; currentMenu->x = BASEVIDWIDTH/2 - 88; } @@ -5920,6 +6052,10 @@ static void M_PlaybackAdvance(INT32 choice) static void M_PlaybackSetViews(INT32 choice) { + + if (demo.freecam) + return; // not here. + if (choice > 0) { if (splitscreen < 3) @@ -5937,6 +6073,33 @@ static void M_PlaybackAdjustView(INT32 choice) G_AdjustView(itemOn - playback_viewcount, (choice > 0) ? 1 : -1, true); } +// this one's rather tricky +static void M_PlaybackToggleFreecam(INT32 choice) +{ + (void)choice; + M_ClearMenus(true); + + // remove splitscreen: + splitscreen = 0; + R_ExecuteSetViewSize(); + + P_InitCameraCmd(); // init camera controls + if (!demo.freecam) // toggle on + { + demo.freecam = true; + democam.cam = &camera[0]; // this is rather useful + } + else // toggle off + { + demo.freecam = false; + // reset democam vars: + democam.cam = NULL; + democam.turnheld = false; + democam.keyboardlook = false; // reset only these. localangle / aiming gets set before the cam does anything anyway + } +} + + static void M_PlaybackQuit(INT32 choice) { (void)choice; diff --git a/src/m_menu.h b/src/m_menu.h index 62c852e4..f9b88019 100644 --- a/src/m_menu.h +++ b/src/m_menu.h @@ -29,6 +29,9 @@ // Does all the real work of the menu interaction. boolean M_Responder(event_t *ev); +// Called by main loop, runs for demo playback. If this returns true, nullify any further user input. +boolean M_DemoResponder(event_t *ev); + // Called by main loop, only used for menu (skull cursor) animation. void M_Ticker(void); diff --git a/src/p_local.h b/src/p_local.h index 0d0ddc89..8b2d6333 100644 --- a/src/p_local.h +++ b/src/p_local.h @@ -109,6 +109,23 @@ typedef struct camera_s fixed_t pan; } camera_t; +// demo freecam or something before i commit die +struct demofreecam_s { + + camera_t *cam; // this is useful when the game is paused, notably + + fixed_t rewindx; + fixed_t rewindy; + fixed_t rewindz; // when rewinding, this is used to make sure the cam doesn't reset + + angle_t localangle; // keeps track of the cam angle for cmds + angle_t localaiming; // ditto with aiming + boolean turnheld; // holding turn button for gradual turn speed + boolean keyboardlook; // keyboard look +}; + +extern struct demofreecam_s democam; + extern camera_t camera[MAXSPLITSCREENPLAYERS]; extern consvar_t cv_cam_dist, cv_cam_still, cv_cam_height; extern consvar_t cv_cam_speed, cv_cam_rotate, cv_cam_rotspeed; @@ -133,7 +150,9 @@ void P_AddPlayerScore(player_t *player, UINT32 amount); void P_ResetCamera(player_t *player, camera_t *thiscam); boolean P_TryCameraMove(fixed_t x, fixed_t y, camera_t *thiscam); void P_SlideCameraMove(camera_t *thiscam); +void P_DemoCameraMovement(camera_t *cam); boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcalled); +void P_InitCameraCmd(void); boolean P_PlayerInPain(player_t *player); void P_DoPlayerPain(player_t *player, mobj_t *source, mobj_t *inflictor); void P_ResetPlayer(player_t *player); diff --git a/src/p_tick.c b/src/p_tick.c index 2502c721..0ed7fb0b 100644 --- a/src/p_tick.c +++ b/src/p_tick.c @@ -597,6 +597,8 @@ void P_Ticker(boolean run) leveltime = (leveltime-1) & ~3; G_PreviewRewind(leveltime); } + else if (demo.freecam && democam.cam) // special case: allow freecam to MOVE during pause! + P_DemoCameraMovement(democam.cam); return; } diff --git a/src/p_user.c b/src/p_user.c index ced8b2da..9b50a10a 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -29,6 +29,7 @@ #include "m_random.h" #include "m_misc.h" #include "i_video.h" +#include "i_joy.h" #include "p_slopes.h" #include "p_spec.h" #include "r_splats.h" @@ -7204,6 +7205,220 @@ fixed_t t_cam4_rotate = -42; #define MAXCAMERADIST 140*FRACUNIT // Max distance the camera can be in front of the player (2D mode) +// Heavily simplified version of G_BuildTicCmd that only takes the local first player's control input and converts it to readable ticcmd_t +// we then throw that ticcmd garbage in the camera and make it move + +// redefine this +static fixed_t forwardmove[2] = {25<>16, 50<>16}; +static fixed_t sidemove[2] = {2<>16, 4<>16}; +static fixed_t angleturn[3] = {KART_FULLTURN/2, KART_FULLTURN, KART_FULLTURN/4}; // + slow turn + +static ticcmd_t cameracmd; + +struct demofreecam_s democam; + +// called by m_menu to reinit cam input every time it's toggled +void P_InitCameraCmd(void) +{ + memset(&cameracmd, 0, sizeof(ticcmd_t)); // initialize cmd +} + +static ticcmd_t *P_CameraCmd(camera_t *cam) +{ + INT32 laim, th, tspeed, forward, side, axis; //i + const INT32 speed = 1; + // these ones used for multiple conditions + boolean turnleft, turnright, mouseaiming; + boolean invertmouse, lookaxis, usejoystick, kbl; + angle_t lang; + + ticcmd_t *cmd = &cameracmd; + + if (!demo.playback) + return cmd; // empty cmd, no. + + lang = democam.localangle; + laim = democam.localaiming; + th = democam.turnheld; + kbl = democam.keyboardlook; + + G_CopyTiccmd(cmd, I_BaseTiccmd(), 1); // empty, or external driver + + cmd->angleturn = (INT16)(lang >> 16); + cmd->aiming = G_ClipAimingPitch(&laim); + + mouseaiming = true; + invertmouse = cv_invertmouse.value; + lookaxis = cv_lookaxis.value; + + usejoystick = true; + turnright = InputDown(gc_turnright, 1); + turnleft = InputDown(gc_turnleft, 1); + + axis = JoyAxis(AXISTURN, 1); + + if (encoremode) + { + turnright ^= turnleft; // swap these using three XORs + turnleft ^= turnright; + turnright ^= turnleft; + axis = -axis; + } + + if (axis != 0) + { + turnright = turnright || (axis > 0); + turnleft = turnleft || (axis < 0); + } + forward = side = 0; + + // use two stage accelerative turning + // on the keyboard and joystick + if (turnleft || turnright) + th += 1; + else + th = 0; + + if (th < SLOWTURNTICS) + tspeed = 2; // slow turn + else + tspeed = speed; + + // let movement keys cancel each other out + if (turnright && !(turnleft)) + { + cmd->angleturn = (INT16)(cmd->angleturn - (angleturn[tspeed])); + side += sidemove[1]; + } + else if (turnleft && !(turnright)) + { + cmd->angleturn = (INT16)(cmd->angleturn + (angleturn[tspeed])); + side -= sidemove[1]; + } + + cmd->angleturn = (INT16)(cmd->angleturn - ((mousex*(encoremode ? -1 : 1)*8))); + + axis = JoyAxis(AXISMOVE, 1); + if (InputDown(gc_accelerate, 1) || (usejoystick && axis > 0)) + cmd->buttons |= BT_ACCELERATE; + axis = JoyAxis(AXISBRAKE, 1); + if (InputDown(gc_brake, 1) || (usejoystick && axis > 0)) + cmd->buttons |= BT_BRAKE; + axis = JoyAxis(AXISAIM, 1); + if (InputDown(gc_aimforward, 1) || (usejoystick && axis < 0)) + forward += forwardmove[1]; + if (InputDown(gc_aimbackward, 1) || (usejoystick && axis > 0)) + forward -= forwardmove[1]; + + + // spectator aiming shit, ahhhh... + INT32 player_invert = invertmouse ? -1 : 1; + INT32 screen_invert = 1; // nope + + // mouse look stuff (mouse look is not the same as mouse aim) + kbl = false; + + // looking up/down + laim += (mlooky<<19)*player_invert*screen_invert; + + axis = JoyAxis(AXISLOOK, 1); + + // spring back if not using keyboard neither mouselookin' + if (!kbl && !lookaxis && !mouseaiming) + laim = 0; + + if (InputDown(gc_lookup, 1) || (axis < 0)) + { + laim += KB_LOOKSPEED * screen_invert; + kbl = true; + } + else if (InputDown(gc_lookdown, 1) || (axis > 0)) + { + laim -= KB_LOOKSPEED * screen_invert; + kbl = true; + } + + if (InputDown(gc_centerview, 1)) // No need to put a spectator limit on this one though :V + laim = 0; + + cmd->aiming = G_ClipAimingPitch(&laim); + + mousex = mousey = mlooky = 0; + + if (forward > MAXPLMOVE) + forward = MAXPLMOVE; + else if (forward < -MAXPLMOVE) + forward = -MAXPLMOVE; + + if (side > MAXPLMOVE) + side = MAXPLMOVE; + else if (side < -MAXPLMOVE) + side = -MAXPLMOVE; + + if (forward || side) + { + cmd->forwardmove = (SINT8)(cmd->forwardmove + forward); + cmd->sidemove = (SINT8)(cmd->sidemove + side); + } + + lang += (cmd->angleturn<<16); + + democam.localangle = lang; + democam.localaiming = laim; + democam.turnheld = th; + democam.keyboardlook = kbl; + + return cmd; +} + +void P_DemoCameraMovement(camera_t *cam) +{ + ticcmd_t *cmd; + angle_t thrustangle; + + // update democam stuff with what we got here: + democam.cam = cam; + democam.localangle = cam->angle; + democam.localaiming = cam->aiming; + + democam.rewindx = cam->x; + democam.rewindy = cam->y; + democam.rewindz = cam->z; + + // first off we need to get button input + cmd = P_CameraCmd(cam); + + cam->aiming = cmd->aiming<angle = cmd->angleturn<<16; + + // camera movement: + + if (cmd->buttons & BT_ACCELERATE) + cam->z += 32*mapobjectscale; + else if (cmd->buttons & BT_BRAKE) + cam->z -= 32*mapobjectscale; + + + cam->momx = cam->momy = cam->momz = 0; + if (cmd->forwardmove != 0) + { + + thrustangle = cam->angle >> ANGLETOFINESHIFT; + + cam->momx += FixedMul(cmd->forwardmove*mapobjectscale, FINECOSINE(thrustangle)); + cam->momy += FixedMul(cmd->forwardmove*mapobjectscale, FINESINE(thrustangle)); + cam->momz += FixedMul(cmd->forwardmove*mapobjectscale, AIMINGTOSLOPE(cam->aiming)); + + //funny thing cameras aren't mobjs so we gotta handle this ourselves; + cam->x += cam->momx; + cam->y += cam->momy; + cam->z += cam->momz; + + // this.......... doesn't actually check for floors and walls and whatnot but the function to do that is a pure mess so fuck that. + // besides freecam going inside walls sounds pretty cool on paper. + } +} + void P_ResetCamera(player_t *player, camera_t *thiscam) { tic_t tries = 0; @@ -7262,7 +7477,13 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall boolean cameranoclip; subsector_t *newsubsec; #endif - + + if (demo.freecam) + { + P_DemoCameraMovement(thiscam); + return true; + } + // We probably shouldn't move the camera if there is no player or player mobj somehow if (!player || !player->mo) return true; diff --git a/src/st_stuff.c b/src/st_stuff.c index 50bac3ee..b51d8d6f 100644 --- a/src/st_stuff.c +++ b/src/st_stuff.c @@ -1907,7 +1907,7 @@ static void ST_overlayDrawer(void) V_DrawCenteredString((BASEVIDWIDTH/2), BASEVIDHEIGHT-32, V_ALLOWLOWERCASE, player_names[stplyr-players]); } } - else if (!demo.title) + /*else if (!demo.title) { if (!splitscreen) @@ -1927,7 +1927,7 @@ static void ST_overlayDrawer(void) { V_DrawCenteredThinString((vid.width/vid.dupx)/4, BASEVIDHEIGHT/2 - 12, V_HUDTRANSHALF|V_ALLOWLOWERCASE|K_calcSplitFlags(V_SNAPTOBOTTOM|V_SNAPTOLEFT), player_names[stplyr-players]); } - } + }*/ // This is where we draw all the fun cheese if you have the chasecam off! /*if ((stplyr == &players[displayplayers[0]] && !camera[0].chase) From e3393d63234a8f1a88cb0512293b4fffcbdc4a1a Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Mon, 9 Sep 2019 20:20:40 +0200 Subject: [PATCH 087/245] let mfe_drawonlyfor flags stack --- src/hardware/hw_main.c | 59 +++++++++++++++++++++++++++++------------- src/r_things.c | 58 ++++++++++++++++++++++++++++------------- 2 files changed, 81 insertions(+), 36 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 6a08b1c7..6e9d98a6 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -5436,6 +5436,9 @@ static void HWR_AddSprites(sector_t *sec) #endif fixed_t approx_dist, limit_dist; + INT32 splitflags; + boolean split_drawsprite; // drawing with splitscreen flags + // BSP is traversed by subsector. // A sector might have been split into several // subsectors during BSP building. @@ -5455,27 +5458,37 @@ static void HWR_AddSprites(sector_t *sec) { for (thing = sec->thinglist; thing; thing = thing->snext) { + + split_drawsprite = false; + if (thing->sprite == SPR_NULL || thing->flags2 & MF2_DONTDRAW) continue; - if (splitscreen) + splitflags = thing->eflags & (MFE_DRAWONLYFORP1|MFE_DRAWONLYFORP2|MFE_DRAWONLYFORP3|MFE_DRAWONLYFORP4); + + if (splitscreen && splitflags) { if (thing->eflags & MFE_DRAWONLYFORP1) - if (viewssnum != 0) - continue; + if (viewssnum == 0) + split_drawsprite = true; if (thing->eflags & MFE_DRAWONLYFORP2) - if (viewssnum != 1) - continue; + if (viewssnum == 1) + split_drawsprite = true; if (thing->eflags & MFE_DRAWONLYFORP3 && splitscreen > 1) - if (viewssnum != 2) - continue; + if (viewssnum == 2) + split_drawsprite = true; if (thing->eflags & MFE_DRAWONLYFORP4 && splitscreen > 2) - if (viewssnum != 3) - continue; + if (viewssnum == 3) + split_drawsprite = true; } + else + split_drawsprite = true; + + if (!split_drawsprite) + continue; approx_dist = P_AproxDistance(viewx-thing->x, viewy-thing->y); @@ -5490,27 +5503,37 @@ static void HWR_AddSprites(sector_t *sec) // Draw everything in sector, no checks for (thing = sec->thinglist; thing; thing = thing->snext) { + + split_drawsprite = false; + if (thing->sprite == SPR_NULL || thing->flags2 & MF2_DONTDRAW) continue; - if (splitscreen) + splitflags = thing->eflags & (MFE_DRAWONLYFORP1|MFE_DRAWONLYFORP2|MFE_DRAWONLYFORP3|MFE_DRAWONLYFORP4); + + if (splitscreen && splitflags) { if (thing->eflags & MFE_DRAWONLYFORP1) - if (viewssnum != 0) - continue; + if (viewssnum == 0) + split_drawsprite = true; if (thing->eflags & MFE_DRAWONLYFORP2) - if (viewssnum != 1) - continue; + if (viewssnum == 1) + split_drawsprite = true; if (thing->eflags & MFE_DRAWONLYFORP3 && splitscreen > 1) - if (viewssnum != 2) - continue; + if (viewssnum == 2) + split_drawsprite = true; if (thing->eflags & MFE_DRAWONLYFORP4 && splitscreen > 2) - if (viewssnum != 3) - continue; + if (viewssnum == 3) + split_drawsprite = true; } + else + split_drawsprite = true; + + if (!split_drawsprite) + continue; HWR_ProjectSprite(thing); } diff --git a/src/r_things.c b/src/r_things.c index b2170924..fe07fded 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -1711,6 +1711,9 @@ void R_AddSprites(sector_t *sec, INT32 lightlevel) INT32 lightnum; fixed_t approx_dist, limit_dist; + INT32 splitflags; // check if a mobj has spliscreen flags + boolean split_drawsprite; // used for splitscreen flags + if (rendermode != render_soft) return; @@ -1744,27 +1747,36 @@ void R_AddSprites(sector_t *sec, INT32 lightlevel) { for (thing = sec->thinglist; thing; thing = thing->snext) { + split_drawsprite = false; + if (thing->sprite == SPR_NULL || thing->flags2 & MF2_DONTDRAW) continue; - if (splitscreen) + splitflags = thing->eflags & (MFE_DRAWONLYFORP1|MFE_DRAWONLYFORP2|MFE_DRAWONLYFORP3|MFE_DRAWONLYFORP4); + + if (splitscreen && splitflags) { if (thing->eflags & MFE_DRAWONLYFORP1) - if (viewssnum != 0) - continue; + if (viewssnum == 0) + split_drawsprite = true; if (thing->eflags & MFE_DRAWONLYFORP2) - if (viewssnum != 1) - continue; + if (viewssnum == 1) + split_drawsprite = true; if (thing->eflags & MFE_DRAWONLYFORP3 && splitscreen > 1) - if (viewssnum != 2) - continue; + if (viewssnum == 2) + split_drawsprite = true; if (thing->eflags & MFE_DRAWONLYFORP4 && splitscreen > 2) - if (viewssnum != 3) - continue; + if (viewssnum == 3) + split_drawsprite = true; } + else + split_drawsprite = true; + + if (!split_drawsprite) + continue; approx_dist = P_AproxDistance(viewx-thing->x, viewy-thing->y); @@ -1779,27 +1791,37 @@ void R_AddSprites(sector_t *sec, INT32 lightlevel) // Draw everything in sector, no checks for (thing = sec->thinglist; thing; thing = thing->snext) { + + split_drawsprite = false; + if (thing->sprite == SPR_NULL || thing->flags2 & MF2_DONTDRAW) continue; - if (splitscreen) + splitflags = thing->eflags & (MFE_DRAWONLYFORP1|MFE_DRAWONLYFORP2|MFE_DRAWONLYFORP3|MFE_DRAWONLYFORP4); + + if (splitscreen && splitflags) { if (thing->eflags & MFE_DRAWONLYFORP1) - if (viewssnum != 0) - continue; + if (viewssnum == 0) + split_drawsprite = true; if (thing->eflags & MFE_DRAWONLYFORP2) - if (viewssnum != 1) - continue; + if (viewssnum == 1) + split_drawsprite = true; if (thing->eflags & MFE_DRAWONLYFORP3 && splitscreen > 1) - if (viewssnum != 2) - continue; + if (viewssnum == 2) + split_drawsprite = true; if (thing->eflags & MFE_DRAWONLYFORP4 && splitscreen > 2) - if (viewssnum != 3) - continue; + if (viewssnum == 3) + split_drawsprite = true; } + else + split_drawsprite = true; + + if (!split_drawsprite) + continue; R_ProjectSprite(thing); } From 18c8f47f9a4733a3721564b61bec636bb42aa574 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Mon, 9 Sep 2019 22:15:50 +0200 Subject: [PATCH 088/245] fix rewind, fix sound local sound playing in freecam --- src/g_game.c | 3 -- src/g_game.h | 4 +-- src/k_kart.c | 8 +++--- src/p_local.h | 7 ++--- src/p_setup.c | 5 ++-- src/p_user.c | 77 ++++++++++++++++++++++++++++----------------------- src/s_sound.c | 4 +-- 7 files changed, 55 insertions(+), 53 deletions(-) diff --git a/src/g_game.c b/src/g_game.c index 761b0e8d..89bab2b1 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -6002,9 +6002,6 @@ void G_PreviewRewind(tic_t previewtime) players[i].kartstuff[j] = info->playerinfo[i].player.kartstuff[j]; } - if (demo.freecam) - return; // nope - for (i = splitscreen; i >= 0; i--) P_ResetCamera(&players[displayplayers[i]], &camera[i]); } diff --git a/src/g_game.h b/src/g_game.h index 40b90e99..bbdbe4e4 100644 --- a/src/g_game.h +++ b/src/g_game.h @@ -60,9 +60,9 @@ struct demovars_s { DSM_WILLSAVE, DSM_SAVED } savemode; - + boolean freecam; - + }; extern struct demovars_s demo; diff --git a/src/k_kart.c b/src/k_kart.c index bd0ec107..19bdf955 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -1062,7 +1062,7 @@ static void K_KartItemRoulette(player_t *player, ticcmd_t *cmd) } // This makes the roulette produce the random noises. - if ((player->kartstuff[k_itemroulette] % 3) == 1 && P_IsDisplayPlayer(player)) + if ((player->kartstuff[k_itemroulette] % 3) == 1 && P_IsDisplayPlayer(player) && !demo.freecam) { #define PLAYROULETTESND S_StartSound(NULL, sfx_itrol1 + ((player->kartstuff[k_itemroulette] / 3) % 8)) for (i = 0; i <= splitscreen; i++) @@ -1096,7 +1096,7 @@ static void K_KartItemRoulette(player_t *player, ticcmd_t *cmd) //player->kartstuff[k_itemblinkmode] = 1; player->kartstuff[k_itemroulette] = 0; player->kartstuff[k_roulettetype] = 0; - if (P_IsDisplayPlayer(player)) + if (P_IsDisplayPlayer(player) && !demo.freecam) S_StartSound(NULL, sfx_itrole); return; } @@ -1109,7 +1109,7 @@ static void K_KartItemRoulette(player_t *player, ticcmd_t *cmd) player->kartstuff[k_itemblinkmode] = 2; player->kartstuff[k_itemroulette] = 0; player->kartstuff[k_roulettetype] = 0; - if (P_IsDisplayPlayer(player)) + if (P_IsDisplayPlayer(player) && !demo.freecam) S_StartSound(NULL, sfx_dbgsal); return; } @@ -1141,7 +1141,7 @@ static void K_KartItemRoulette(player_t *player, ticcmd_t *cmd) player->kartstuff[k_itemamount] = 1; } - if (P_IsDisplayPlayer(player)) + if (P_IsDisplayPlayer(player) && !demo.freecam) S_StartSound(NULL, ((player->kartstuff[k_roulettetype] == 1) ? sfx_itrolk : (mashed ? sfx_itrolm : sfx_itrolf))); player->kartstuff[k_itemblink] = TICRATE; diff --git a/src/p_local.h b/src/p_local.h index 8b2d6333..7216326d 100644 --- a/src/p_local.h +++ b/src/p_local.h @@ -113,11 +113,8 @@ typedef struct camera_s struct demofreecam_s { camera_t *cam; // this is useful when the game is paused, notably - - fixed_t rewindx; - fixed_t rewindy; - fixed_t rewindz; // when rewinding, this is used to make sure the cam doesn't reset - + mobj_t *soundmobj; // mobj to play sound from, used in s_sound + angle_t localangle; // keeps track of the cam angle for cmds angle_t localaiming; // ditto with aiming boolean turnheld; // holding turn button for gradual turn speed diff --git a/src/p_setup.c b/src/p_setup.c index bf13971b..5cea7c6e 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -3201,8 +3201,9 @@ boolean P_SetupLevel(boolean skipprecip) if (!dedicated) { - for (i = 0; i <= splitscreen; i++) - P_SetupCamera(displayplayers[i], &camera[i]); + if (!demo.freecam) + for (i = 0; i <= splitscreen; i++) + P_SetupCamera(displayplayers[i], &camera[i]); // Salt: CV_ClearChangedFlags() messes with your settings :( /*if (!cv_cam_height.changed) diff --git a/src/p_user.c b/src/p_user.c index 9b50a10a..8d2eeaf9 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -7217,11 +7217,11 @@ static ticcmd_t cameracmd; struct demofreecam_s democam; -// called by m_menu to reinit cam input every time it's toggled +// called by m_menu to reinit cam input every time it's toggled void P_InitCameraCmd(void) { memset(&cameracmd, 0, sizeof(ticcmd_t)); // initialize cmd -} +} static ticcmd_t *P_CameraCmd(camera_t *cam) { @@ -7231,17 +7231,17 @@ static ticcmd_t *P_CameraCmd(camera_t *cam) boolean turnleft, turnright, mouseaiming; boolean invertmouse, lookaxis, usejoystick, kbl; angle_t lang; - + ticcmd_t *cmd = &cameracmd; - + if (!demo.playback) return cmd; // empty cmd, no. - + lang = democam.localangle; laim = democam.localaiming; th = democam.turnheld; kbl = democam.keyboardlook; - + G_CopyTiccmd(cmd, I_BaseTiccmd(), 1); // empty, or external driver cmd->angleturn = (INT16)(lang >> 16); @@ -7295,7 +7295,7 @@ static ticcmd_t *P_CameraCmd(camera_t *cam) cmd->angleturn = (INT16)(cmd->angleturn + (angleturn[tspeed])); side -= sidemove[1]; } - + cmd->angleturn = (INT16)(cmd->angleturn - ((mousex*(encoremode ? -1 : 1)*8))); axis = JoyAxis(AXISMOVE, 1); @@ -7342,7 +7342,7 @@ static ticcmd_t *P_CameraCmd(camera_t *cam) laim = 0; cmd->aiming = G_ClipAimingPitch(&laim); - + mousex = mousey = mlooky = 0; if (forward > MAXPLMOVE) @@ -7362,35 +7362,32 @@ static ticcmd_t *P_CameraCmd(camera_t *cam) } lang += (cmd->angleturn<<16); - + democam.localangle = lang; democam.localaiming = laim; democam.turnheld = th; democam.keyboardlook = kbl; - + return cmd; } void P_DemoCameraMovement(camera_t *cam) { - ticcmd_t *cmd; + ticcmd_t *cmd; angle_t thrustangle; - + mobj_t *awayviewmobj_hack; + // update democam stuff with what we got here: democam.cam = cam; democam.localangle = cam->angle; democam.localaiming = cam->aiming; - - democam.rewindx = cam->x; - democam.rewindy = cam->y; - democam.rewindz = cam->z; - + // first off we need to get button input cmd = P_CameraCmd(cam); - + cam->aiming = cmd->aiming<angle = cmd->angleturn<<16; - + // camera movement: if (cmd->buttons & BT_ACCELERATE) @@ -7398,29 +7395,37 @@ void P_DemoCameraMovement(camera_t *cam) else if (cmd->buttons & BT_BRAKE) cam->z -= 32*mapobjectscale; - + cam->momx = cam->momy = cam->momz = 0; if (cmd->forwardmove != 0) { - + thrustangle = cam->angle >> ANGLETOFINESHIFT; - cam->momx += FixedMul(cmd->forwardmove*mapobjectscale, FINECOSINE(thrustangle)); - cam->momy += FixedMul(cmd->forwardmove*mapobjectscale, FINESINE(thrustangle)); - cam->momz += FixedMul(cmd->forwardmove*mapobjectscale, AIMINGTOSLOPE(cam->aiming)); - - //funny thing cameras aren't mobjs so we gotta handle this ourselves; - cam->x += cam->momx; - cam->y += cam->momy; - cam->z += cam->momz; - + cam->x += FixedMul(cmd->forwardmove*mapobjectscale, FINECOSINE(thrustangle)); + cam->y += FixedMul(cmd->forwardmove*mapobjectscale, FINESINE(thrustangle)); + cam->z += FixedMul(cmd->forwardmove*mapobjectscale, AIMINGTOSLOPE(cam->aiming)); + // momentums are useless here, directly add to the coordinates + // this.......... doesn't actually check for floors and walls and whatnot but the function to do that is a pure mess so fuck that. // besides freecam going inside walls sounds pretty cool on paper. } -} + + // awayviewmobj hack; this is to prevent us from hearing sounds from the player's perspective + + awayviewmobj_hack = P_SpawnMobj(cam->x, cam->y, cam->z, MT_THOK); + awayviewmobj_hack->tics = 2; + awayviewmobj_hack->flags2 |= MF2_DONTDRAW; + + democam.soundmobj = awayviewmobj_hack; +} void P_ResetCamera(player_t *player, camera_t *thiscam) { + + if (demo.freecam) + return; // do not reset the camera there. + tic_t tries = 0; fixed_t x, y, z; @@ -7477,13 +7482,15 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall boolean cameranoclip; subsector_t *newsubsec; #endif - + + democam.soundmobj = NULL; // reset this each frame, we don't want the game crashing for stupid reasons now do we + if (demo.freecam) - { + { P_DemoCameraMovement(thiscam); return true; - } - + } + // We probably shouldn't move the camera if there is no player or player mobj somehow if (!player || !player->mo) return true; diff --git a/src/s_sound.c b/src/s_sound.c index 21b668f2..184f2529 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -442,7 +442,7 @@ void S_StartSoundAtVolume(const void *origin_p, sfxenum_t sfx_id, INT32 volume) listener_t listener3 = {0,0,0,0}; listener_t listener4 = {0,0,0,0}; - mobj_t *listenmobj = players[displayplayers[0]].mo; + mobj_t *listenmobj = democam.soundmobj ? : players[displayplayers[0]].mo; mobj_t *listenmobj2 = NULL; mobj_t *listenmobj3 = NULL; mobj_t *listenmobj4 = NULL; @@ -903,7 +903,7 @@ void S_UpdateSounds(void) listener_t listener3; listener_t listener4; - mobj_t *listenmobj = players[displayplayers[0]].mo; + mobj_t *listenmobj = democam.soundmobj ? : players[displayplayers[0]].mo; mobj_t *listenmobj2 = NULL; mobj_t *listenmobj3 = NULL; mobj_t *listenmobj4 = NULL; From bee60709ec5081bd4ff2803ac306b494109f5cff Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Mon, 9 Sep 2019 22:26:09 +0200 Subject: [PATCH 089/245] I'm an idiot and forgot to let you download files --- src/d_clisrv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 56558932..ed49ce29 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1902,7 +1902,8 @@ static boolean CL_FinishedFileList(void) return false; } - cl_mode = CL_DOWNLOADFILES; + if (CL_SendRequestFile()) + cl_mode = CL_DOWNLOADFILES; } return true; } From 2205246f0c307003a2d73ee20a31e924a845ee8f Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Tue, 10 Sep 2019 11:59:17 +0200 Subject: [PATCH 090/245] get replays to save player lua vars --- src/g_game.c | 26 ++- src/g_game.h | 2 + src/lua_script.c | 513 ++++++++++++++++++++++++++++++++++++++++++++++- src/lua_script.h | 4 + 4 files changed, 542 insertions(+), 3 deletions(-) diff --git a/src/g_game.c b/src/g_game.c index 89bab2b1..9aed6809 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -43,6 +43,7 @@ #include "y_inter.h" #include "v_video.h" #include "dehacked.h" // get_number (for ghost thok) +#include "lua_script.h" // LUA_ArchiveDemo and LUA_UnArchiveDemo #include "lua_hook.h" #include "b_bot.h" #include "m_cond.h" // condition sets @@ -287,7 +288,8 @@ UINT32 timesBeatenWithEmeralds; //@TODO put these all in a struct for namespacing purposes? static char demoname[128]; static UINT8 *demobuffer = NULL; -static UINT8 *demo_p, *demotime_p, *demoinfo_p; +static UINT8 *demotime_p, *demoinfo_p; +UINT8 *demo_p; static UINT8 *demoend; static UINT8 demoflags; static boolean demosynced = true; // console warning message @@ -4734,6 +4736,11 @@ char *G_BuildMapTitle(INT32 mapnum) #define DF_RECORDATTACK 0x02 // This demo is from record attack and contains its final completion time! #define DF_NIGHTSATTACK 0x04 // This demo is from NiGHTS attack and contains its time left, score, and mares! #define DF_ATTACKMASK 0x06 // This demo is from ??? attack and contains ??? + +#ifdef HAVE_BLUA +#define DF_LUAVARS 0x20 // this demo contains extra lua vars; this is mostly used for backwards compability +#endif + #define DF_ATTACKSHIFT 1 #define DF_ENCORE 0x40 #define DF_MULTIPLAYER 0x80 // This demo was recorded in multiplayer mode! @@ -6321,6 +6328,10 @@ void G_BeginRecording(void) if (encoremode) demoflags |= DF_ENCORE; +#ifdef HAVE_BLUA + demoflags |= DF_LUAVARS; +#endif + // Setup header. M_Memcpy(demo_p, DEMOHEADER, 12); demo_p += 12; WRITEUINT8(demo_p,VERSION); @@ -6417,11 +6428,17 @@ void G_BeginRecording(void) // Kart speed and weight WRITEUINT8(demo_p, skins[player->skin].kartspeed); WRITEUINT8(demo_p, skins[player->skin].kartweight); + } } WRITEUINT8(demo_p, 0xFF); // Denote the end of the player listing +#ifdef HAVE_BLUA + // player lua vars, always saved even if empty + LUA_ArchiveDemo(); +#endif + memset(&oldcmd,0,sizeof(oldcmd)); memset(&oldghost,0,sizeof(oldghost)); memset(&ghostext,0,sizeof(ghostext)); @@ -7479,6 +7496,13 @@ void G_DoPlayDemo(char *defdemoname) p = READUINT8(demo_p); } +// end of player read (the 0xFF marker) +// so this is where we are to read our lua variables (if possible!) +#ifdef HAVE_BLUA + if (demoflags & DF_LUAVARS) // again, used for compability, lua shit will be saved to replays regardless of if it's even been loaded + LUA_UnArchiveDemo(); +#endif + splitscreen = 0; if (demo.title) diff --git a/src/g_game.h b/src/g_game.h index bbdbe4e4..0edc13c7 100644 --- a/src/g_game.h +++ b/src/g_game.h @@ -31,6 +31,8 @@ extern char player_names[MAXPLAYERS][MAXPLAYERNAME+1]; extern player_t players[MAXPLAYERS]; extern boolean playeringame[MAXPLAYERS]; +extern UINT8 *demo_p; + // ====================================== // DEMO playback/recording related stuff. // ====================================== diff --git a/src/lua_script.c b/src/lua_script.c index 28f02ca3..98a39c0f 100644 --- a/src/lua_script.c +++ b/src/lua_script.c @@ -734,6 +734,220 @@ static UINT8 ArchiveValue(int TABLESINDEX, int myindex) return 0; } +// because of how this function works it has to be pasted allll over again just to save to demo_p since it returns an uint8 to begin with +static UINT8 ArchiveValueDemo(int TABLESINDEX, int myindex) +{ + if (myindex < 0) + myindex = lua_gettop(gL)+1+myindex; + switch (lua_type(gL, myindex)) + { + case LUA_TNONE: + case LUA_TNIL: + WRITEUINT8(demo_p, ARCH_NULL); + break; + // This might be a problem. D: + case LUA_TLIGHTUSERDATA: + case LUA_TTHREAD: + case LUA_TFUNCTION: + WRITEUINT8(demo_p, ARCH_NULL); + return 2; + case LUA_TBOOLEAN: + WRITEUINT8(demo_p, ARCH_BOOLEAN); + WRITEUINT8(demo_p, lua_toboolean(gL, myindex)); + break; + case LUA_TNUMBER: + { + lua_Integer number = lua_tointeger(gL, myindex); + WRITEUINT8(demo_p, ARCH_SIGNED); + WRITEFIXED(demo_p, number); + break; + } + case LUA_TSTRING: + { + UINT16 len = (UINT16)lua_objlen(gL, myindex); // get length of string, including embedded zeros + const char *s = lua_tostring(gL, myindex); + UINT16 i = 0; + WRITEUINT8(demo_p, ARCH_STRING); + // if you're wondering why we're writing a string to demo_p this way, + // it turns out that Lua can have embedded zeros ('\0') in the strings, + // so we can't use WRITESTRING as that cuts off when it finds a '\0'. + // Saving the size of the string also allows us to get the size of the string on the other end, + // fixing the awful crashes previously encountered for reading strings longer than 1024 + // (yes I know that's kind of a stupid thing to care about, but it'd be evil to trim or ignore them?) + // -- Monster Iestyn 05/08/18 + WRITEUINT16(demo_p, len); // save size of string + while (i < len) + WRITECHAR(demo_p, s[i++]); // write chars individually, including the embedded zeros + break; + } + case LUA_TTABLE: + { + boolean found = false; + INT32 i; + UINT16 t = (UINT16)lua_objlen(gL, TABLESINDEX); + + for (i = 1; i <= t && !found; i++) + { + lua_rawgeti(gL, TABLESINDEX, i); + if (lua_rawequal(gL, myindex, -1)) + { + t = i; + found = true; + } + lua_pop(gL, 1); + } + if (!found) + t++; + + WRITEUINT8(demo_p, ARCH_TABLE); + WRITEUINT16(demo_p, t); + + if (!found) + { + lua_pushvalue(gL, myindex); + lua_rawseti(gL, TABLESINDEX, t); + return 1; + } + break; + } + case LUA_TUSERDATA: + switch (GetUserdataArchType(myindex)) + { + case ARCH_MOBJINFO: + { + mobjinfo_t *info = *((mobjinfo_t **)lua_touserdata(gL, myindex)); + WRITEUINT8(demo_p, ARCH_MOBJINFO); + WRITEUINT16(demo_p, info - mobjinfo); + break; + } + case ARCH_STATE: + { + state_t *state = *((state_t **)lua_touserdata(gL, myindex)); + WRITEUINT8(demo_p, ARCH_STATE); + WRITEUINT16(demo_p, state - states); + break; + } + case ARCH_MOBJ: + { + mobj_t *mobj = *((mobj_t **)lua_touserdata(gL, myindex)); + if (!mobj) + WRITEUINT8(demo_p, ARCH_NULL); + else { + WRITEUINT8(demo_p, ARCH_MOBJ); + WRITEUINT32(demo_p, mobj->mobjnum); + } + break; + } + case ARCH_PLAYER: + { + player_t *player = *((player_t **)lua_touserdata(gL, myindex)); + if (!player) + WRITEUINT8(demo_p, ARCH_NULL); + else { + WRITEUINT8(demo_p, ARCH_PLAYER); + WRITEUINT8(demo_p, player - players); + } + break; + } + case ARCH_MAPTHING: + { + mapthing_t *mapthing = *((mapthing_t **)lua_touserdata(gL, myindex)); + if (!mapthing) + WRITEUINT8(demo_p, ARCH_NULL); + else { + WRITEUINT8(demo_p, ARCH_MAPTHING); + WRITEUINT16(demo_p, mapthing - mapthings); + } + break; + } + case ARCH_VERTEX: + { + vertex_t *vertex = *((vertex_t **)lua_touserdata(gL, myindex)); + if (!vertex) + WRITEUINT8(demo_p, ARCH_NULL); + else { + WRITEUINT8(demo_p, ARCH_VERTEX); + WRITEUINT16(demo_p, vertex - vertexes); + } + break; + } + case ARCH_LINE: + { + line_t *line = *((line_t **)lua_touserdata(gL, myindex)); + if (!line) + WRITEUINT8(demo_p, ARCH_NULL); + else { + WRITEUINT8(demo_p, ARCH_LINE); + WRITEUINT16(demo_p, line - lines); + } + break; + } + case ARCH_SIDE: + { + side_t *side = *((side_t **)lua_touserdata(gL, myindex)); + if (!side) + WRITEUINT8(demo_p, ARCH_NULL); + else { + WRITEUINT8(demo_p, ARCH_SIDE); + WRITEUINT16(demo_p, side - sides); + } + break; + } + case ARCH_SUBSECTOR: + { + subsector_t *subsector = *((subsector_t **)lua_touserdata(gL, myindex)); + if (!subsector) + WRITEUINT8(demo_p, ARCH_NULL); + else { + WRITEUINT8(demo_p, ARCH_SUBSECTOR); + WRITEUINT16(demo_p, subsector - subsectors); + } + break; + } + case ARCH_SECTOR: + { + sector_t *sector = *((sector_t **)lua_touserdata(gL, myindex)); + if (!sector) + WRITEUINT8(demo_p, ARCH_NULL); + else { + WRITEUINT8(demo_p, ARCH_SECTOR); + WRITEUINT16(demo_p, sector - sectors); + } + break; + } +#ifdef ESLOPE + case ARCH_SLOPE: + { + pslope_t *slope = *((pslope_t **)lua_touserdata(gL, myindex)); + if (!slope) + WRITEUINT8(demo_p, ARCH_NULL); + else { + WRITEUINT8(demo_p, ARCH_SLOPE); + WRITEUINT16(demo_p, slope->id); + } + break; + } +#endif + case ARCH_MAPHEADER: + { + mapheader_t *header = *((mapheader_t **)lua_touserdata(gL, myindex)); + if (!header) + WRITEUINT8(demo_p, ARCH_NULL); + else { + WRITEUINT8(demo_p, ARCH_MAPHEADER); + WRITEUINT16(demo_p, header - *mapheaderinfo); + } + break; + } + default: + WRITEUINT8(demo_p, ARCH_NULL); + return 2; + } + break; + } + return 0; +} + static void ArchiveExtVars(void *pointer, const char *ptype) { int TABLESINDEX; @@ -790,6 +1004,63 @@ static void ArchiveExtVars(void *pointer, const char *ptype) lua_pop(gL, 1); } +// simplified for demos +static void ArchiveExtVarsDemo(void *pointer, const char *ptype) +{ + int TABLESINDEX; + UINT16 i; + + if (!gL) { + if (fastcmp(ptype,"player")) // players must always be included, even if no vars + WRITEUINT16(demo_p, 0); + return; + } + + TABLESINDEX = lua_gettop(gL); + + lua_getfield(gL, LUA_REGISTRYINDEX, LREG_EXTVARS); + I_Assert(lua_istable(gL, -1)); + lua_pushlightuserdata(gL, pointer); + lua_rawget(gL, -2); + lua_remove(gL, -2); // pop LREG_EXTVARS + + if (!lua_istable(gL, -1)) + { // no extra values table + lua_pop(gL, 1); + if (fastcmp(ptype,"player")) // players must always be included, even if no vars + WRITEUINT16(demo_p, 0); + return; + } + + lua_pushnil(gL); + for (i = 0; lua_next(gL, -2); i++) + lua_pop(gL, 1); + + // skip anything that has an empty table and isn't a player. + if (i == 0) + { + if (fastcmp(ptype,"player")) // always include players even if they have no extra variables + WRITEUINT16(demo_p, 0); + lua_pop(gL, 1); + return; + } + + if (fastcmp(ptype,"mobj")) // mobjs must write their mobjnum as a header + WRITEUINT32(demo_p, ((mobj_t *)pointer)->mobjnum); + WRITEUINT16(demo_p, i); + lua_pushnil(gL); + while (lua_next(gL, -2)) + { + I_Assert(lua_type(gL, -2) == LUA_TSTRING); + WRITESTRING(demo_p, lua_tostring(gL, -2)); + if (ArchiveValueDemo(TABLESINDEX, -1) == 2) + CONS_Alert(CONS_ERROR, "Type of value for %s entry '%s' (%s) could not be archived!\n", ptype, lua_tostring(gL, -2), luaL_typename(gL, -1)); + lua_pop(gL, 1); + } + + lua_pop(gL, 1); +} + static int NetArchive(lua_State *L) { int TABLESINDEX = lua_upvalueindex(1); @@ -843,6 +1114,50 @@ static void ArchiveTables(void) } } +static void ArchiveTablesDemo(void) +{ + int TABLESINDEX; + UINT16 i, n; + UINT8 e; + + if (!gL) + return; + + TABLESINDEX = lua_gettop(gL); + + n = (UINT16)lua_objlen(gL, TABLESINDEX); + for (i = 1; i <= n; i++) + { + lua_rawgeti(gL, TABLESINDEX, i); + lua_pushnil(gL); + while (lua_next(gL, -2)) + { + // Write key + e = ArchiveValueDemo(TABLESINDEX, -2); // key should be either a number or a string, ArchiveValue can handle this. + if (e == 2) // invalid key type (function, thread, lightuserdata, or anything we don't recognise) + { + lua_pushvalue(gL, -2); + CONS_Alert(CONS_ERROR, "Index '%s' (%s) of table %d could not be archived!\n", lua_tostring(gL, -1), luaL_typename(gL, -1), i); + lua_pop(gL, 1); + } + // Write value + e = ArchiveValueDemo(TABLESINDEX, -1); + if (e == 1) + n++; // the table contained a new table we'll have to archive. :( + else if (e == 2) // invalid value type + { + lua_pushvalue(gL, -2); + CONS_Alert(CONS_ERROR, "Type of value for table %d entry '%s' (%s) could not be archived!\n", i, lua_tostring(gL, -1), luaL_typename(gL, -1)); + lua_pop(gL, 1); + } + + lua_pop(gL, 1); + } + lua_pop(gL, 1); + WRITEUINT8(demo_p, ARCH_TEND); + } +} + static UINT8 UnArchiveValue(int TABLESINDEX) { UINT8 type = READUINT8(save_p); @@ -932,6 +1247,95 @@ static UINT8 UnArchiveValue(int TABLESINDEX) return 0; } +static UINT8 UnArchiveValueDemo(int TABLESINDEX) +{ + UINT8 type = READUINT8(demo_p); + switch (type) + { + case ARCH_NULL: + lua_pushnil(gL); + break; + case ARCH_BOOLEAN: + lua_pushboolean(gL, READUINT8(demo_p)); + break; + case ARCH_SIGNED: + lua_pushinteger(gL, READFIXED(demo_p)); + break; + case ARCH_STRING: + { + UINT16 len = READUINT16(demo_p); // length of string, including embedded zeros + char *value; + UINT16 i = 0; + // See my comments in the ArchiveValue function; + // it's much the same for reading strings as writing them! + // (i.e. we can't use READSTRING either) + // -- Monster Iestyn 05/08/18 + value = malloc(len); // make temp buffer of size len + // now read the actual string + while (i < len) + value[i++] = READCHAR(demo_p); // read chars individually, including the embedded zeros + lua_pushlstring(gL, value, len); // push the string (note: this function supports embedded zeros) + free(value); // free the buffer + break; + } + case ARCH_TABLE: + { + UINT16 tid = READUINT16(demo_p); + lua_rawgeti(gL, TABLESINDEX, tid); + if (lua_isnil(gL, -1)) + { + lua_pop(gL, 1); + lua_newtable(gL); + lua_pushvalue(gL, -1); + lua_rawseti(gL, TABLESINDEX, tid); + return 2; + } + break; + } + case ARCH_MOBJINFO: + LUA_PushUserdata(gL, &mobjinfo[READUINT16(demo_p)], META_MOBJINFO); + break; + case ARCH_STATE: + LUA_PushUserdata(gL, &states[READUINT16(demo_p)], META_STATE); + break; + case ARCH_MOBJ: + LUA_PushUserdata(gL, P_FindNewPosition(READUINT32(demo_p)), META_MOBJ); + break; + case ARCH_PLAYER: + LUA_PushUserdata(gL, &players[READUINT8(demo_p)], META_PLAYER); + break; + case ARCH_MAPTHING: + LUA_PushUserdata(gL, &mapthings[READUINT16(demo_p)], META_MAPTHING); + break; + case ARCH_VERTEX: + LUA_PushUserdata(gL, &vertexes[READUINT16(demo_p)], META_VERTEX); + break; + case ARCH_LINE: + LUA_PushUserdata(gL, &lines[READUINT16(demo_p)], META_LINE); + break; + case ARCH_SIDE: + LUA_PushUserdata(gL, &sides[READUINT16(demo_p)], META_SIDE); + break; + case ARCH_SUBSECTOR: + LUA_PushUserdata(gL, &subsectors[READUINT16(demo_p)], META_SUBSECTOR); + break; + case ARCH_SECTOR: + LUA_PushUserdata(gL, §ors[READUINT16(demo_p)], META_SECTOR); + break; +#ifdef ESLOPE + case ARCH_SLOPE: + LUA_PushUserdata(gL, P_SlopeById(READUINT16(demo_p)), META_SLOPE); + break; +#endif + case ARCH_MAPHEADER: + LUA_PushUserdata(gL, mapheaderinfo[READUINT16(demo_p)], META_MAPHEADER); + break; + case ARCH_TEND: + return 1; + } + return 0; +} + static void UnArchiveExtVars(void *pointer) { int TABLESINDEX; @@ -948,7 +1352,7 @@ static void UnArchiveExtVars(void *pointer) for (i = 0; i < field_count; i++) { - READSTRING(save_p, field); + READSTRING(demo_p, field); UnArchiveValue(TABLESINDEX); lua_setfield(gL, -2, field); } @@ -961,6 +1365,36 @@ static void UnArchiveExtVars(void *pointer) lua_pop(gL, 2); // pop LREG_EXTVARS and pointer's subtable } +static void UnArchiveExtVarsDemo(void *pointer) +{ + int TABLESINDEX; + UINT16 field_count = READUINT16(demo_p); + UINT16 i; + char field[1024]; + + if (field_count == 0) + return; + I_Assert(gL != NULL); + + TABLESINDEX = lua_gettop(gL); + lua_createtable(gL, 0, field_count); // pointer's ext vars subtable + + for (i = 0; i < field_count; i++) + { + READSTRING(demo_p, field); + CONS_Printf("%s\n", field); + UnArchiveValueDemo(TABLESINDEX); + lua_setfield(gL, -2, field); + } + + lua_getfield(gL, LUA_REGISTRYINDEX, LREG_EXTVARS); + I_Assert(lua_istable(gL, -1)); + lua_pushlightuserdata(gL, pointer); + lua_pushvalue(gL, -3); // pointer's ext vars subtable + lua_rawset(gL, -3); + lua_pop(gL, 2); // pop LREG_EXTVARS and pointer's subtable +} + static int NetUnArchive(lua_State *L) { int TABLESINDEX = lua_upvalueindex(1); @@ -970,7 +1404,7 @@ static int NetUnArchive(lua_State *L) return n; } -static void UnArchiveTables(void) +static void UnArchiveTables() { int TABLESINDEX; UINT16 i, n; @@ -1002,6 +1436,38 @@ static void UnArchiveTables(void) } } +static void UnArchiveTablesDemo() +{ + int TABLESINDEX; + UINT16 i, n; + + if (!gL) + return; + + TABLESINDEX = lua_gettop(gL); + + n = (UINT16)lua_objlen(gL, TABLESINDEX); + for (i = 1; i <= n; i++) + { + lua_rawgeti(gL, TABLESINDEX, i); + while (true) + { + if (UnArchiveValueDemo(TABLESINDEX) == 1) // read key + break; + if (UnArchiveValueDemo(TABLESINDEX) == 2) // read value + n++; + if (lua_isnil(gL, -2)) // if key is nil (if a function etc was accidentally saved) + { + CONS_Alert(CONS_ERROR, "A nil key in table %d was found! (Invalid key type or corrupted save?)\n", i); + lua_pop(gL, 2); // pop key and value instead of setting them in the table, to prevent Lua panic errors + } + else + lua_rawset(gL, -3); + } + lua_pop(gL, 1); + } +} + void LUA_Step(void) { if (!gL) @@ -1076,6 +1542,49 @@ void LUA_UnArchive(void) lua_pop(gL, 1); // pop tables } +// simplified versions of LUA_Archive for demos +void LUA_ArchiveDemo(void) +{ + INT32 i; + + if (gL) + lua_newtable(gL); // tables to be archived. + + for (i = 0; i < MAXPLAYERS; i++) + { + if (!playeringame[i] && i > 0) // NEVER skip player 0, this is for dedi servs. + continue; + // all players in game will be archived, even if they just add a 0. + ArchiveExtVarsDemo(&players[i], "player"); + } + + ArchiveTablesDemo(); + + if (gL) + lua_pop(gL, 1); // pop tables +} + +// this time make sure we read from demo_p +void LUA_UnArchiveDemo(void) +{ + INT32 i; + + if (gL) + lua_newtable(gL); // tables to be read + + for (i = 0; i < MAXPLAYERS; i++) + { + if (!playeringame[i] && i > 0) // same here, this is to synch dediservs properly. + continue; + UnArchiveExtVarsDemo(&players[i]); + } + + UnArchiveTablesDemo(); + + if (gL) + lua_pop(gL, 1); // pop tables +} + // For mobj_t, player_t, etc. to take custom variables. int Lua_optoption(lua_State *L, int narg, const char *def, const char *const lst[]) diff --git a/src/lua_script.h b/src/lua_script.h index f944149d..dffd39c4 100644 --- a/src/lua_script.h +++ b/src/lua_script.h @@ -51,6 +51,10 @@ void LUA_InvalidatePlayer(player_t *player); void LUA_Step(void); void LUA_Archive(void); void LUA_UnArchive(void); + +void LUA_ArchiveDemo(void); +void LUA_UnArchiveDemo(void); + void Got_Luacmd(UINT8 **cp, INT32 playernum); // lua_consolelib.c void LUA_CVarChanged(const char *name); // lua_consolelib.c int Lua_optoption(lua_State *L, int narg, From cea0ffab6014b0c319740a1e2efeccf1fcd3702b Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Tue, 10 Sep 2019 13:52:32 +0200 Subject: [PATCH 091/245] forgot to add back 'void' after undoing experiments --- src/lua_script.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lua_script.c b/src/lua_script.c index 98a39c0f..a7f0f74e 100644 --- a/src/lua_script.c +++ b/src/lua_script.c @@ -1404,7 +1404,7 @@ static int NetUnArchive(lua_State *L) return n; } -static void UnArchiveTables() +static void UnArchiveTables(void) { int TABLESINDEX; UINT16 i, n; @@ -1436,7 +1436,7 @@ static void UnArchiveTables() } } -static void UnArchiveTablesDemo() +static void UnArchiveTablesDemo(void) { int TABLESINDEX; UINT16 i, n; From ca2f6685e402b0aaad66f02fcca0b90fcf64e4a4 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Wed, 11 Sep 2019 21:30:11 +0200 Subject: [PATCH 092/245] forgot to reset variables on demo stop --- src/g_game.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/g_game.c b/src/g_game.c index 9aed6809..180aacc2 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -8115,6 +8115,15 @@ void G_StopDemo(void) demo.timing = false; singletics = false; + demo.freecam = false; + // reset democam shit too: + democam.cam = NULL; + democam.soundmobj = NULL; + democam.localangle = 0; + democam.localaiming = 0; + democam.turnheld = false; + democam.keyboardlook = false; + CV_SetValue(&cv_playbackspeed, 1); demo.rewinding = false; From ef279ac5fec4d913c3f4501c4db6dcdcc4d911b2 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Fri, 13 Sep 2019 23:42:51 +0200 Subject: [PATCH 093/245] i am a retard --- src/lua_script.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lua_script.c b/src/lua_script.c index a7f0f74e..1a5b9726 100644 --- a/src/lua_script.c +++ b/src/lua_script.c @@ -1352,7 +1352,7 @@ static void UnArchiveExtVars(void *pointer) for (i = 0; i < field_count; i++) { - READSTRING(demo_p, field); + READSTRING(save_p, field); UnArchiveValue(TABLESINDEX); lua_setfield(gL, -2, field); } From 9a1bfb3a92804cd32ce5f5f48b890e7b93ba96c9 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Tue, 17 Sep 2019 00:04:32 +0200 Subject: [PATCH 094/245] camera checks to avoid crashes --- src/p_user.c | 15 +++++++++------ src/r_main.c | 4 ++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/p_user.c b/src/p_user.c index 8d2eeaf9..4e85f078 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -7418,6 +7418,9 @@ void P_DemoCameraMovement(camera_t *cam) awayviewmobj_hack->flags2 |= MF2_DONTDRAW; democam.soundmobj = awayviewmobj_hack; + + // update subsector to avoid crashes; + thiscam->subsector = R_PointInSubsector(cam->x, cam->y); } void P_ResetCamera(player_t *player, camera_t *thiscam) @@ -7485,12 +7488,6 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall democam.soundmobj = NULL; // reset this each frame, we don't want the game crashing for stupid reasons now do we - if (demo.freecam) - { - P_DemoCameraMovement(thiscam); - return true; - } - // We probably shouldn't move the camera if there is no player or player mobj somehow if (!player || !player->mo) return true; @@ -7499,6 +7496,12 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall if (thiscam->subsector == NULL || thiscam->subsector->sector == NULL) return true; + if (demo.freecam) + { + P_DemoCameraMovement(thiscam); + return true; + } + mo = player->mo; #ifndef NOCLIPCAM diff --git a/src/r_main.c b/src/r_main.c index 358a24bb..1735c8d8 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -1176,7 +1176,7 @@ void R_SetupFrame(player_t *player, boolean skybox) viewx += quake.x; viewy += quake.y; - if (thiscam->subsector) + if (thiscam->subsector && thiscam->subsector->sector) viewsector = thiscam->subsector->sector; else viewsector = R_PointInSubsector(viewx, viewy)->sector; @@ -1188,7 +1188,7 @@ void R_SetupFrame(player_t *player, boolean skybox) viewx += quake.x; viewy += quake.y; - if (viewmobj->subsector) + if (viewmobj->subsector && thiscam->subsector->sector) viewsector = viewmobj->subsector->sector; else viewsector = R_PointInSubsector(viewx, viewy)->sector; From 90a272489e90efea52b85c62cb09e38d23b9c9aa Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Wed, 18 Sep 2019 14:04:23 +0200 Subject: [PATCH 095/245] it's cam, not thiscam --- src/p_user.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/p_user.c b/src/p_user.c index 4e85f078..9560db39 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -7418,9 +7418,9 @@ void P_DemoCameraMovement(camera_t *cam) awayviewmobj_hack->flags2 |= MF2_DONTDRAW; democam.soundmobj = awayviewmobj_hack; - + // update subsector to avoid crashes; - thiscam->subsector = R_PointInSubsector(cam->x, cam->y); + cam->subsector = R_PointInSubsector(cam->x, cam->y); } void P_ResetCamera(player_t *player, camera_t *thiscam) @@ -7500,8 +7500,8 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall { P_DemoCameraMovement(thiscam); return true; - } - + } + mo = player->mo; #ifndef NOCLIPCAM From fdb54d8e8014afb4e6e22e88e326aba862a9cacb Mon Sep 17 00:00:00 2001 From: James R Date: Tue, 15 Oct 2019 23:29:02 -0700 Subject: [PATCH 096/245] Apply BMBOUNDFIX to A_MineExplode --- src/p_enemy.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/p_enemy.c b/src/p_enemy.c index 1795a304..92aebfbc 100644 --- a/src/p_enemy.c +++ b/src/p_enemy.c @@ -4053,6 +4053,8 @@ void A_MineExplode(mobj_t *actor) xh = (unsigned)(actor->x + explodedist - bmaporgx)>>MAPBLOCKSHIFT; xl = (unsigned)(actor->x - explodedist - bmaporgx)>>MAPBLOCKSHIFT; + BMBOUNDFIX (xl, xh, yl, yh); + grenade = actor; for (by = yl; by <= yh; by++) From ff7a70697697f39cbcef85825f52225870620bcf Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Mon, 11 Nov 2019 00:24:06 +0100 Subject: [PATCH 097/245] fix orbiting items not protecting you against your own items --- src/p_map.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/p_map.c b/src/p_map.c index d9b72365..4664703d 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -732,7 +732,7 @@ static boolean PIT_CheckThing(mobj_t *thing) if (tmthing->z + tmthing->height < thing->z) return true; // underneath - if (((tmthing->target == thing) || (tmthing->target == thing->target)) && (tmthing->threshold > 0 || (thing->type != MT_PLAYER && thing->threshold > 0))) + if (((tmthing->target == thing) || (tmthing->target == thing->target)) && ((tmthing->threshold > 0 && thing->type == MT_PLAYER) || (thing->type != MT_PLAYER && thing->threshold > 0))) return true; if (tmthing->health <= 0 || thing->health <= 0) From 3bd62175f6294ddbe5eef8da0b226d55a6e25af6 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Tue, 12 Nov 2019 00:21:37 +0100 Subject: [PATCH 098/245] fix encore for ogl --- src/hardware/hw_cache.c | 31 ++++++++++++++++++++++++++++++- src/hardware/hw_draw.c | 2 +- src/hardware/hw_glob.h | 4 +++- src/hardware/hw_main.c | 18 +++++++++--------- src/hardware/hw_main.h | 2 ++ src/r_bsp.c | 2 +- src/r_bsp.h | 5 +++++ 7 files changed, 51 insertions(+), 13 deletions(-) diff --git a/src/hardware/hw_cache.c b/src/hardware/hw_cache.c index d49531bd..956b6ade 100644 --- a/src/hardware/hw_cache.c +++ b/src/hardware/hw_cache.c @@ -379,6 +379,14 @@ static void HWR_GenerateTexture(INT32 texnum, GLTexture_t *grtex) grtex->mipmap.height = (UINT16)blockheight; grtex->mipmap.grInfo.format = textureformat; + grtex->mipmap.colormap = colormaps; + +#ifdef GLENCORE + if (encoremap) + grtex->mipmap.colormap += (256*32); +#endif + + block = MakeBlock(&grtex->mipmap); if (skyspecial) //Hurdler: not efficient, but better than holes in the sky (and it's done only at level loading) @@ -613,6 +621,12 @@ static void HWR_CacheFlat(GLMipmap_t *grMipmap, lumpnum_t flatlumpnum) { size_t size, pflatsize; +#ifdef GLENCORE + UINT8 *flat; + UINT32 steppy; +#endif + + // setup the texture info grMipmap->grInfo.smallLodLog2 = GR_LOD_LOG2_64; grMipmap->grInfo.largeLodLog2 = GR_LOD_LOG2_64; @@ -652,16 +666,31 @@ static void HWR_CacheFlat(GLMipmap_t *grMipmap, lumpnum_t flatlumpnum) // the flat raw data needn't be converted with palettized textures W_ReadLump(flatlumpnum, Z_Malloc(W_LumpLength(flatlumpnum), PU_HWRCACHE, &grMipmap->grInfo.data)); + +#ifdef GLENCORE + flat = grMipmap->grInfo.data; + for (steppy = 0; steppy < size; steppy++) + if (flat[steppy] != HWR_PATCHES_CHROMAKEY_COLORINDEX) + flat[steppy] = grMipmap->colormap[flat[steppy]]; +#endif } // Download a Doom 'flat' to the hardware cache and make it ready for use -void HWR_GetFlat(lumpnum_t flatlumpnum) +void HWR_GetFlat(lumpnum_t flatlumpnum, boolean noencoremap) { GLMipmap_t *grmip; grmip = &HWR_GetCachedGLPatch(flatlumpnum)->mipmap; + grmip->colormap = colormaps; + +#ifdef GLENCORE + if (!noencoremap && encoremap) + grmip->colormap += (256*32); +#endif + + if (!grmip->downloaded && !grmip->grInfo.data) HWR_CacheFlat(grmip, flatlumpnum); diff --git a/src/hardware/hw_draw.c b/src/hardware/hw_draw.c index b39103ee..ac63df15 100644 --- a/src/hardware/hw_draw.c +++ b/src/hardware/hw_draw.c @@ -568,7 +568,7 @@ void HWR_DrawFlatFill (INT32 x, INT32 y, INT32 w, INT32 h, lumpnum_t flatlumpnum v[0].tow = v[1].tow = (float)((y & flatflag)/dflatsize); v[2].tow = v[3].tow = (float)(v[0].tow + h/dflatsize); - HWR_GetFlat(flatlumpnum); + HWR_GetFlat(flatlumpnum, false); //Hurdler: Boris, the same comment as above... but maybe for pics // it not a problem since they don't have any transparent pixel diff --git a/src/hardware/hw_glob.h b/src/hardware/hw_glob.h index 9656e54e..2fb7cff7 100644 --- a/src/hardware/hw_glob.h +++ b/src/hardware/hw_glob.h @@ -100,7 +100,9 @@ void HWR_InitTextureCache(void); void HWR_FreeTextureCache(void); void HWR_FreeExtraSubsectors(void); -void HWR_GetFlat(lumpnum_t flatlumpnum); +void HWR_GetFlat(lumpnum_t flatlumpnum, boolean noencore); +// ^ some flats must NOT be remapped to encore, since we remap them as we cache them for ease, adding a toggle here seems wise. + GLTexture_t *HWR_GetTexture(INT32 tex); void HWR_GetPatch(GLPatch_t *gpatch); void HWR_GetMappedPatch(GLPatch_t *gpatch, const UINT8 *colormap); diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 6a08b1c7..fd112c29 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -30,7 +30,7 @@ #include "../p_local.h" #include "../p_setup.h" #include "../r_local.h" -#include "../r_bsp.h" +#include "../r_bsp.h" // R_NoEncore #include "../d_clisrv.h" #include "../w_wad.h" #include "../z_zone.h" @@ -3397,7 +3397,7 @@ static void HWR_AddPolyObjectPlanes(void) } else { - HWR_GetFlat(levelflats[polyobjsector->floorpic].lumpnum); + HWR_GetFlat(levelflats[polyobjsector->floorpic].lumpnum, R_NoEncore(polyobjsector, false)); HWR_RenderPolyObjectPlane(po_ptrs[i], false, polyobjsector->floorheight, PF_Occlude, polyobjsector->lightlevel, levelflats[polyobjsector->floorpic].lumpnum, polyobjsector, 255, NULL); @@ -3419,7 +3419,7 @@ static void HWR_AddPolyObjectPlanes(void) } else { - HWR_GetFlat(levelflats[polyobjsector->ceilingpic].lumpnum); + HWR_GetFlat(levelflats[polyobjsector->ceilingpic].lumpnum, R_NoEncore(polyobjsector, false)); HWR_RenderPolyObjectPlane(po_ptrs[i], true, polyobjsector->ceilingheight, PF_Occlude, polyobjsector->lightlevel, levelflats[polyobjsector->floorpic].lumpnum, polyobjsector, 255, NULL); @@ -3572,7 +3572,7 @@ static void HWR_Subsector(size_t num) { if (sub->validcount != validcount) { - HWR_GetFlat(levelflats[gr_frontsector->floorpic].lumpnum); + HWR_GetFlat(levelflats[gr_frontsector->floorpic].lumpnum, R_NoEncore(gr_frontsector, false)); HWR_RenderPlane(gr_frontsector, &extrasubsectors[num], false, // Hack to make things continue to work around slopes. locFloorHeight == cullFloorHeight ? locFloorHeight : gr_frontsector->floorheight, @@ -3594,7 +3594,7 @@ static void HWR_Subsector(size_t num) { if (sub->validcount != validcount) { - HWR_GetFlat(levelflats[gr_frontsector->ceilingpic].lumpnum); + HWR_GetFlat(levelflats[gr_frontsector->ceilingpic].lumpnum, R_NoEncore(gr_frontsector, false)); HWR_RenderPlane(NULL, &extrasubsectors[num], true, // Hack to make things continue to work around slopes. locCeilingHeight == cullCeilingHeight ? locCeilingHeight : gr_frontsector->ceilingheight, @@ -3687,7 +3687,7 @@ static void HWR_Subsector(size_t num) } else { - HWR_GetFlat(levelflats[*rover->bottompic].lumpnum); + HWR_GetFlat(levelflats[*rover->bottompic].lumpnum, R_NoEncore(gr_frontsector, false)); light = R_GetPlaneLight(gr_frontsector, centerHeight, dup_viewz < cullHeight ? true : false); HWR_RenderPlane(NULL, &extrasubsectors[num], false, *rover->bottomheight, PF_Occlude, *gr_frontsector->lightlist[light].lightlevel, levelflats[*rover->bottompic].lumpnum, rover->master->frontsector, 255, false, gr_frontsector->lightlist[light].extra_colormap); @@ -3751,7 +3751,7 @@ static void HWR_Subsector(size_t num) } else { - HWR_GetFlat(levelflats[*rover->toppic].lumpnum); + HWR_GetFlat(levelflats[*rover->toppic].lumpnum, R_NoEncore(gr_frontsector, false)); light = R_GetPlaneLight(gr_frontsector, centerHeight, dup_viewz < cullHeight ? true : false); HWR_RenderPlane(NULL, &extrasubsectors[num], true, *rover->topheight, PF_Occlude, *gr_frontsector->lightlist[light].lightlevel, levelflats[*rover->toppic].lumpnum, rover->master->frontsector, 255, false, gr_frontsector->lightlist[light].extra_colormap); @@ -5348,7 +5348,7 @@ static void HWR_CreateDrawNodes(void) gr_frontsector = NULL; if (!(sortnode[sortindex[i]].plane->blend & PF_NoTexture)) - HWR_GetFlat(sortnode[sortindex[i]].plane->lumpnum); + HWR_GetFlat(sortnode[sortindex[i]].plane->lumpnum, R_NoEncore(sortnode[sortindex[i]].plane->FOFSector, sortnode[sortindex[i]].plane->isceiling)); HWR_RenderPlane(NULL, sortnode[sortindex[i]].plane->xsub, sortnode[sortindex[i]].plane->isceiling, sortnode[sortindex[i]].plane->fixedheight, sortnode[sortindex[i]].plane->blend, sortnode[sortindex[i]].plane->lightlevel, sortnode[sortindex[i]].plane->lumpnum, sortnode[sortindex[i]].plane->FOFSector, sortnode[sortindex[i]].plane->alpha, sortnode[sortindex[i]].plane->fogplane, sortnode[sortindex[i]].plane->planecolormap); } @@ -5358,7 +5358,7 @@ static void HWR_CreateDrawNodes(void) gr_frontsector = NULL; if (!(sortnode[sortindex[i]].polyplane->blend & PF_NoTexture)) - HWR_GetFlat(sortnode[sortindex[i]].polyplane->lumpnum); + HWR_GetFlat(sortnode[sortindex[i]].polyplane->lumpnum, R_NoEncore(sortnode[sortindex[i]].polyplane->FOFSector, sortnode[sortindex[i]].polyplane->isceiling)); HWR_RenderPolyObjectPlane(sortnode[sortindex[i]].polyplane->polysector, sortnode[sortindex[i]].polyplane->isceiling, sortnode[sortindex[i]].polyplane->fixedheight, sortnode[sortindex[i]].polyplane->blend, sortnode[sortindex[i]].polyplane->lightlevel, sortnode[sortindex[i]].polyplane->lumpnum, sortnode[sortindex[i]].polyplane->FOFSector, sortnode[sortindex[i]].polyplane->alpha, sortnode[sortindex[i]].polyplane->planecolormap); } diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index 7bc361d9..e6c1fb6f 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -17,6 +17,8 @@ /// \file /// \brief 3D render mode functions +#define GLENCORE + #ifndef __HWR_MAIN_H__ #define __HWR_MAIN_H__ diff --git a/src/r_bsp.c b/src/r_bsp.c index 296cbbe8..43cb6432 100644 --- a/src/r_bsp.c +++ b/src/r_bsp.c @@ -37,7 +37,7 @@ drawseg_t *ds_p = NULL; // indicates doors closed wrt automap bugfix: INT32 doorclosed; -static boolean R_NoEncore(sector_t *sector, boolean ceiling) +boolean R_NoEncore(sector_t *sector, boolean ceiling) { boolean invertencore = (GETSECSPECIAL(sector->special, 2) == 15); #if 0 // perfect implementation diff --git a/src/r_bsp.h b/src/r_bsp.h index e3662e2e..3350ce8e 100644 --- a/src/r_bsp.h +++ b/src/r_bsp.h @@ -40,6 +40,11 @@ void R_ClearDrawSegs(void); void R_RenderBSPNode(INT32 bspnum); void R_AddPortal(INT32 line1, INT32 line2, INT32 x1, INT32 x2); +// determines when a given sector shouldn't abide by the encoremap's palette. +// no longer a static since this is used for encore in hw_main.c as well now: +boolean R_NoEncore(sector_t *sector, boolean ceiling); + + #ifdef POLYOBJECTS void R_SortPolyObjects(subsector_t *sub); From f22e76738000ec2e27280dec5c46afcb2f285cad Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Sun, 10 Nov 2019 00:04:11 -0300 Subject: [PATCH 099/245] fix conflict --- src/hardware/hw_main.c | 4 ++-- src/m_anigif.c | 52 +++++++++++++++++++++++++++++++++++++++--- src/m_misc.c | 8 ++----- src/r_data.c | 3 +-- src/r_data.h | 2 ++ src/sdl/i_video.c | 5 ++-- src/v_video.c | 27 ++++++++++++++++++---- src/v_video.h | 12 ++++++++++ 8 files changed, 92 insertions(+), 21 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 6a08b1c7..18d6ab1c 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -581,7 +581,7 @@ static void HWR_RenderPlane(sector_t *sector, extrasubsector_t *xsub, boolean is if (nrPlaneVerts < 3) //not even a triangle ? return; - if ((UINT32)nrPlaneVerts > UINT16_MAX) // FIXME: exceeds plVerts size + if (nrPlaneVerts > INT16_MAX) // FIXME: exceeds plVerts size { CONS_Debug(DBG_RENDER, "polygon size of %d exceeds max value of %d vertices\n", nrPlaneVerts, UINT16_MAX); return; @@ -3228,7 +3228,7 @@ static void HWR_RenderPolyObjectPlane(polyobj_t *polysector, boolean isceiling, if (nrPlaneVerts < 3) //not even a triangle ? return; - if (nrPlaneVerts > UINT16_MAX) // FIXME: exceeds plVerts size + if (nrPlaneVerts > INT16_MAX) // FIXME: exceeds plVerts size { CONS_Debug(DBG_RENDER, "polygon size of %s exceeds max value of %d vertices\n", sizeu1(nrPlaneVerts), UINT16_MAX); return; diff --git a/src/m_anigif.c b/src/m_anigif.c index 4e68819b..f19679ef 100644 --- a/src/m_anigif.c +++ b/src/m_anigif.c @@ -19,6 +19,10 @@ #include "v_video.h" #include "i_video.h" +#ifdef HWRENDER +#include "hardware/hw_main.h" +#endif + // GIFs are always little-endian #include "byteptr.h" @@ -452,6 +456,32 @@ const UINT8 gifframe_gchead[4] = {0x21,0xF9,0x04,0x04}; // GCE, bytes, packed by static UINT8 *gifframe_data = NULL; static size_t gifframe_size = 8192; +#ifdef HWRENDER +static void hwrconvert(void) +{ + UINT8 *linear = HWR_GetScreenshot(); + UINT8 *dest = screens[2]; + UINT8 r, g, b; + INT32 x, y; + size_t i = 0; + + InitColorLUT(); + + for (y = 0; y < vid.height; y++) + { + for (x = 0; x < vid.width; x++, i += 3) + { + r = (UINT8)linear[i]; + g = (UINT8)linear[i + 1]; + b = (UINT8)linear[i + 2]; + dest[(y * vid.width) + x] = colorlookup[r >> SHIFTCOLORBITS][g >> SHIFTCOLORBITS][b >> SHIFTCOLORBITS]; + } + } + + free(linear); +} +#endif + // // GIF_framewrite // writes a frame into the file. @@ -477,7 +507,12 @@ static void GIF_framewrite(void) GIF_optimizeregion(cur_screen, movie_screen, &blitx, &blity, &blitw, &blith); // blit to temp screen - I_ReadScreen(movie_screen); + if (rendermode == render_soft) + I_ReadScreen(movie_screen); +#ifdef HWRENDER + else if (rendermode == render_opengl) + hwrconvert(); +#endif } else { @@ -486,7 +521,18 @@ static void GIF_framewrite(void) blith = vid.height; if (gif_frames == 0) - I_ReadScreen(movie_screen); + { + if (rendermode == render_soft) + I_ReadScreen(movie_screen); +#ifdef HWRENDER + else if (rendermode == render_opengl) + { + hwrconvert(); + VID_BlitLinearScreen(screens[2], screens[0], vid.width*vid.bpp, vid.height, vid.width*vid.bpp, vid.rowbytes); + } +#endif + } + movie_screen = screens[0]; } @@ -575,7 +621,7 @@ static void GIF_framewrite(void) // INT32 GIF_open(const char *filename) { -#ifdef HWRENDER +#if 0 if (rendermode != render_soft) { CONS_Alert(CONS_WARNING, M_GetText("GIFs cannot be taken in non-software modes!\n")); diff --git a/src/m_misc.c b/src/m_misc.c index f4a4ec29..2774910e 100644 --- a/src/m_misc.c +++ b/src/m_misc.c @@ -1100,12 +1100,8 @@ void M_StartMovie(void) switch (cv_moviemode.value) { case MM_GIF: - if (rendermode == render_soft) - { - moviemode = M_StartMovieGIF(pathname); - break; - } - /* FALLTHRU */ + moviemode = M_StartMovieGIF(pathname); + break; case MM_APNG: moviemode = M_StartMovieAPNG(pathname); break; diff --git a/src/r_data.c b/src/r_data.c index 7fb11855..b1b20f19 100644 --- a/src/r_data.c +++ b/src/r_data.c @@ -1177,7 +1177,6 @@ void R_ClearColormaps(void) // static double deltas[256][3], map[256][3]; -static UINT8 NearestColor(UINT8 r, UINT8 g, UINT8 b); static int RoundUp(double number); #ifdef HASINVERT @@ -1403,7 +1402,7 @@ INT32 R_CreateColormap(char *p1, char *p2, char *p3) // Thanks to quake2 source! // utils3/qdata/images.c -static UINT8 NearestColor(UINT8 r, UINT8 g, UINT8 b) +UINT8 NearestColor(UINT8 r, UINT8 g, UINT8 b) { int dr, dg, db; int distortion, bestdistortion = 256 * 256 * 4, bestcolor = 0, i; diff --git a/src/r_data.h b/src/r_data.h index 640b3030..3b12b576 100644 --- a/src/r_data.h +++ b/src/r_data.h @@ -98,6 +98,8 @@ void R_MakeInvertmap(void); #endif const char *R_ColormapNameForNum(INT32 num); +UINT8 NearestColor(UINT8 r, UINT8 g, UINT8 b); + extern INT32 numtextures; #endif diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index 42e0a917..c9c3022d 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -1641,6 +1641,7 @@ INT32 VID_SetMode(INT32 modeNum) //Impl_SetWindowName("SRB2Kart "VERSIONSTRING); SDLSetMode(vid.width, vid.height, USE_FULLSCREEN); + Impl_VideoSetupBuffer(); if (rendermode == render_soft) { @@ -1649,8 +1650,6 @@ INT32 VID_SetMode(INT32 modeNum) SDL_FreeSurface(bufSurface); bufSurface = NULL; } - - Impl_VideoSetupBuffer(); } return SDL_TRUE; @@ -1773,7 +1772,7 @@ static void Impl_VideoSetupSDLBuffer(void) static void Impl_VideoSetupBuffer(void) { // Set up game's software render buffer - if (rendermode == render_soft) + //if (rendermode == render_soft) { vid.rowbytes = vid.width * vid.bpp; vid.direct = NULL; diff --git a/src/v_video.c b/src/v_video.c index 9233eda4..466c1ec1 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -2593,6 +2593,27 @@ Unoptimized version #endif } +// Taken from my videos-in-SRB2 project +// Generates a color look-up table +// which has up to 64 colors at each channel +// (see the defines in v_video.h) + +UINT8 colorlookup[CLUTSIZE][CLUTSIZE][CLUTSIZE]; + +void InitColorLUT(void) +{ + UINT8 r, g, b; + static boolean clutinit = false; + if (!clutinit) + { + for (r = 0; r < CLUTSIZE; r++) + for (g = 0; g < CLUTSIZE; g++) + for (b = 0; b < CLUTSIZE; b++) + colorlookup[r][g][b] = NearestColor(r << SHIFTCOLORBITS, g << SHIFTCOLORBITS, b << SHIFTCOLORBITS); + clutinit = true; + } +} + // V_Init // old software stuff, buffers are allocated at video mode setup // here we set the screens[x] pointers accordingly @@ -2604,13 +2625,9 @@ void V_Init(void) const INT32 screensize = vid.rowbytes * vid.height; LoadMapPalette(); - // hardware modes do not use screens[] pointers + for (i = 0; i < NUMSCREENS; i++) screens[i] = NULL; - if (rendermode != render_soft) - { - return; // be sure to cause a NULL read/write error so we detect it, in case of.. - } // start address of NUMSCREENS * width*height vidbuffers if (base) diff --git a/src/v_video.h b/src/v_video.h index c8485c17..800dd69c 100644 --- a/src/v_video.h +++ b/src/v_video.h @@ -33,6 +33,18 @@ extern consvar_t cv_ticrate, cv_usegamma, cv_allcaps, cv_constextsize; // Allocates buffer screens, call before R_Init. void V_Init(void); +// Taken from my videos-in-SRB2 project +// Generates a color look-up table +// which has up to 64 colors at each channel + +#define COLORBITS 6 +#define SHIFTCOLORBITS (8-COLORBITS) +#define CLUTSIZE (1< Date: Mon, 11 Nov 2019 00:02:22 -0300 Subject: [PATCH 100/245] Recreate the CLUT when the palette changes --- src/v_video.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/v_video.c b/src/v_video.c index 466c1ec1..19cf88c2 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -2604,13 +2604,15 @@ void InitColorLUT(void) { UINT8 r, g, b; static boolean clutinit = false; - if (!clutinit) + static RGBA_t *lastpalette = NULL; + if ((!clutinit) || (lastpalette != pLocalPalette)) { for (r = 0; r < CLUTSIZE; r++) for (g = 0; g < CLUTSIZE; g++) for (b = 0; b < CLUTSIZE; b++) colorlookup[r][g][b] = NearestColor(r << SHIFTCOLORBITS, g << SHIFTCOLORBITS, b << SHIFTCOLORBITS); clutinit = true; + lastpalette = pLocalPalette; } } From aab87012dff516089b587d44bcc7293a7c3342dd Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Tue, 12 Nov 2019 00:40:25 +0100 Subject: [PATCH 101/245] dontencoreremap flag + colormaps --- src/hardware/hw_main.c | 4 +-- src/p_setup.c | 61 +++++++++++++++++++++++++++++++++++------- src/r_data.c | 4 +-- 3 files changed, 56 insertions(+), 13 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index fd112c29..23a2120f 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -5762,7 +5762,7 @@ static void HWR_ProjectSprite(mobj_t *thing) { vis->colormap = colormaps; #ifdef GLENCORE - if (encoremap && (thing->flags & (MF_SCENERY|MF_NOTHINK))) + if (encoremap && (thing->flags & (MF_SCENERY|MF_NOTHINK)) && !(thing->flags & MF_DONTENCOREMAP)) vis->colormap += (256*32); #endif } @@ -5880,7 +5880,7 @@ static void HWR_ProjectPrecipitationSprite(precipmobj_t *thing) vis->colormap = colormaps; #ifdef GLENCORE - if (encoremap) + if (encoremap && !(thing->flags & MF_DONTENCOREMAP)) vis->colormap += (256*32); #endif diff --git a/src/p_setup.c b/src/p_setup.c index bf13971b..59c4429b 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -1407,11 +1407,12 @@ static inline void P_LoadSideDefs(lumpnum_t lumpnum) P_LoadRawSideDefs(W_LumpLength(lumpnum)); } - static void P_LoadRawSideDefs2(void *data) { UINT16 i; INT32 num; + size_t j; + UINT32 cr, cg, cb; for (i = 0; i < numsides; i++) { @@ -1490,16 +1491,43 @@ static void P_LoadRawSideDefs2(void *data) { col = msd->toptexture; - sec->extra_colormap->rgba = - (HEX2INT(col[1]) << 4) + (HEX2INT(col[2]) << 0) + - (HEX2INT(col[3]) << 12) + (HEX2INT(col[4]) << 8) + - (HEX2INT(col[5]) << 20) + (HEX2INT(col[6]) << 16); + // encore mode colormaps! + // do it like software by aproximating a color to a palette index, and then convert it to its encore variant and then back to a color code. + // do this for both the start and fade colormaps. + + cr = (HEX2INT(col[1]) << 4) + (HEX2INT(col[2]) << 0); + cg = (HEX2INT(col[3]) << 12) + (HEX2INT(col[4]) << 8); + cb = (HEX2INT(col[5]) << 20) + (HEX2INT(col[6]) << 16); + +#ifdef GLENCORE + if (encoremap) + { + j = encoremap[NearestColor((UINT8)cr, (UINT8)cg, (UINT8)cb)]; + //CONS_Printf("R_CreateColormap: encoremap[%d] = %d\n", j, encoremap[j]); -- moved encoremap upwards for optimisation + cr = pLocalPalette[j].s.red; + cg = pLocalPalette[j].s.green; + cb = pLocalPalette[j].s.blue; + } +#endif + + sec->extra_colormap->rgba = cr + cg + cb; // alpha if (msd->toptexture[7]) sec->extra_colormap->rgba += (ALPHA2INT(col[7]) << 24); else sec->extra_colormap->rgba += (25 << 24); + + /*nearest = NearestColor( + (HEX2INT(col[1]) << 4) + (HEX2INT(col[2]) << 0), + (HEX2INT(col[3]) << 4) + (HEX2INT(col[4]) << 0), + (HEX2INT(col[5]) << 4) + (HEX2INT(col[6]) << 0) + ); + + sec->extra_colormap->rgba = + pLocalPalette[nearest].s.red + + (pLocalPalette[nearest].s.green << 8) + + (pLocalPalette[nearest].s.blue << 16);*/ } else sec->extra_colormap->rgba = 0; @@ -1508,10 +1536,24 @@ static void P_LoadRawSideDefs2(void *data) { col = msd->bottomtexture; - sec->extra_colormap->fadergba = - (HEX2INT(col[1]) << 4) + (HEX2INT(col[2]) << 0) + - (HEX2INT(col[3]) << 12) + (HEX2INT(col[4]) << 8) + - (HEX2INT(col[5]) << 20) + (HEX2INT(col[6]) << 16); + // do the exact same thing as above here. + + cr = (HEX2INT(col[1]) << 4) + (HEX2INT(col[2]) << 0); + cg = (HEX2INT(col[3]) << 12) + (HEX2INT(col[4]) << 8); + cb = (HEX2INT(col[5]) << 20) + (HEX2INT(col[6]) << 16); + +#ifdef GLENCORE + if (encoremap) + { + j = encoremap[NearestColor((UINT8)cr, (UINT8)cg, (UINT8)cb)]; + //CONS_Printf("R_CreateColormap: encoremap[%d] = %d\n", j, encoremap[j]); -- moved encoremap upwards for optimisation + cr = pLocalPalette[j].s.red; + cg = pLocalPalette[j].s.green; + cb = pLocalPalette[j].s.blue; + } +#endif + + sec->extra_colormap->fadergba = cr + cg + cb; // alpha if (msd->bottomtexture[7]) @@ -1658,6 +1700,7 @@ static void P_LoadRawSideDefs2(void *data) R_ClearTextureNumCache(true); } + // Delay loading texture names until after loaded linedefs. static void P_LoadSideDefs2(lumpnum_t lumpnum) { diff --git a/src/r_data.c b/src/r_data.c index 7fb11855..d5e384bb 100644 --- a/src/r_data.c +++ b/src/r_data.c @@ -1177,7 +1177,7 @@ void R_ClearColormaps(void) // static double deltas[256][3], map[256][3]; -static UINT8 NearestColor(UINT8 r, UINT8 g, UINT8 b); +UINT8 NearestColor(UINT8 r, UINT8 g, UINT8 b); static int RoundUp(double number); #ifdef HASINVERT @@ -1403,7 +1403,7 @@ INT32 R_CreateColormap(char *p1, char *p2, char *p3) // Thanks to quake2 source! // utils3/qdata/images.c -static UINT8 NearestColor(UINT8 r, UINT8 g, UINT8 b) +UINT8 NearestColor(UINT8 r, UINT8 g, UINT8 b) { int dr, dg, db; int distortion, bestdistortion = 256 * 256 * 4, bestcolor = 0, i; From 6131b80f03fcd30f3f003c1793deb77bcad7ef6e Mon Sep 17 00:00:00 2001 From: fickleheart Date: Sun, 1 Dec 2019 12:34:25 -0600 Subject: [PATCH 102/245] I don't like your sprite clipping fix, so here's mine --- src/hardware/hw_main.c | 49 +++++++++++++++++++++++------------------- src/r_things.c | 6 +----- 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 31ea0760..2965d7fc 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -3245,20 +3245,22 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) baseWallVerts[0].t = baseWallVerts[1].t = gpatch->max_t; } - // if it has a dispoffset, push it a little towards the camera - if (spr->dispoffset) - { - float co = -gr_viewcos*(0.05f*spr->dispoffset); - float si = -gr_viewsin*(0.05f*spr->dispoffset); - baseWallVerts[0].z = baseWallVerts[3].z = baseWallVerts[0].z+si; - baseWallVerts[1].z = baseWallVerts[2].z = baseWallVerts[1].z+si; - baseWallVerts[0].x = baseWallVerts[3].x = baseWallVerts[0].x+co; - baseWallVerts[1].x = baseWallVerts[2].x = baseWallVerts[1].x+co; - } - // Let dispoffset work first since this adjust each vertex HWR_RotateSpritePolyToAim(spr, baseWallVerts); + // push it toward the camera to mitigate floor-clipping sprites + { + float sprdist = sqrtf((spr->x1 - gr_viewx)*(spr->x1 - gr_viewx) + (spr->z1 - gr_viewy)*(spr->z1 - gr_viewy) + (spr->ty - gr_viewz)*(spr->ty - gr_viewz)); + float distfact = ((2.0f*spr->dispoffset) + 20.0f) / sprdist; + size_t i; + for (i = 0; i < 4; i++) + { + baseWallVerts[i].x += (gr_viewx - baseWallVerts[i].x)*distfact; + baseWallVerts[i].z += (gr_viewy - baseWallVerts[i].z)*distfact; + baseWallVerts[i].y += (gr_viewz - baseWallVerts[i].y)*distfact; + } + } + realtop = top = baseWallVerts[3].y; realbot = bot = baseWallVerts[0].y; towtop = baseWallVerts[3].t; @@ -3598,20 +3600,23 @@ static void HWR_DrawSprite(gr_vissprite_t *spr) HWR_DrawSpriteShadow(spr, gpatch, this_scale); } - // if it has a dispoffset, push it a little towards the camera - if (spr->dispoffset) - { - float co = -gr_viewcos*(0.05f*spr->dispoffset); - float si = -gr_viewsin*(0.05f*spr->dispoffset); - wallVerts[0].z = wallVerts[3].z = wallVerts[0].z+si; - wallVerts[1].z = wallVerts[2].z = wallVerts[1].z+si; - wallVerts[0].x = wallVerts[3].x = wallVerts[0].x+co; - wallVerts[1].x = wallVerts[2].x = wallVerts[1].x+co; - } - // Let dispoffset work first since this adjust each vertex + // ...nah HWR_RotateSpritePolyToAim(spr, wallVerts); + // push it toward the camera to mitigate floor-clipping sprites + { + float sprdist = sqrtf((spr->x1 - gr_viewx)*(spr->x1 - gr_viewx) + (spr->z1 - gr_viewy)*(spr->z1 - gr_viewy) + (spr->ty - gr_viewz)*(spr->ty - gr_viewz)); + float distfact = ((2.0f*spr->dispoffset) + 20.0f) / sprdist; + size_t i; + for (i = 0; i < 4; i++) + { + wallVerts[i].x += (gr_viewx - wallVerts[i].x)*distfact; + wallVerts[i].z += (gr_viewy - wallVerts[i].z)*distfact; + wallVerts[i].y += (gr_viewz - wallVerts[i].y)*distfact; + } + } + // This needs to be AFTER the shadows so that the regular sprites aren't drawn completely black. // sprite lighting by modulating the RGB components /// \todo coloured diff --git a/src/r_things.c b/src/r_things.c index 97b22c13..f933cb8c 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -259,11 +259,7 @@ static boolean R_AddSingleSpriteDef(const char *sprname, spritedef_t *spritedef, //BP: we cannot use special tric in hardware mode because feet in ground caused by z-buffer if (rendermode != render_none) // not for psprite spritecachedinfo[numspritelumps].topoffset += 4<0 && SHORT(patch.topoffset) Date: Sun, 1 Dec 2019 12:38:05 -0600 Subject: [PATCH 103/245] Fix kart HUD fadein --- src/hardware/hw_draw.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/hardware/hw_draw.c b/src/hardware/hw_draw.c index 4a0c0380..ba069420 100644 --- a/src/hardware/hw_draw.c +++ b/src/hardware/hw_draw.c @@ -293,9 +293,9 @@ void HWR_DrawFixedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscale, { FSurfaceInfo Surf; Surf.PolyColor.s.red = Surf.PolyColor.s.green = Surf.PolyColor.s.blue = 0xff; - if (alphalevel == 13) Surf.PolyColor.s.alpha = softwaretranstogl_lo[cv_translucenthud.value]; - else if (alphalevel == 14) Surf.PolyColor.s.alpha = softwaretranstogl[cv_translucenthud.value]; - else if (alphalevel == 15) Surf.PolyColor.s.alpha = softwaretranstogl_hi[cv_translucenthud.value]; + if (alphalevel == 13) Surf.PolyColor.s.alpha = softwaretranstogl_lo[hudtrans]; + else if (alphalevel == 14) Surf.PolyColor.s.alpha = softwaretranstogl[hudtrans]; + else if (alphalevel == 15) Surf.PolyColor.s.alpha = softwaretranstogl_hi[hudtrans]; else Surf.PolyColor.s.alpha = softwaretranstogl[10-alphalevel]; flags |= PF_Modulated; HWD.pfnDrawPolygon(&Surf, v, 4, flags); @@ -909,7 +909,7 @@ void HWR_DrawConsoleFill(INT32 x, INT32 y, INT32 w, INT32 h, UINT32 color, INT32 fy += ((float)BASEVIDHEIGHT * dupy)/2; if (options & V_HORZSCREEN) fx += ((float)BASEVIDWIDTH * dupx)/2; - + } if (fx >= vid.width || fy >= vid.height) @@ -1017,7 +1017,7 @@ void HWR_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color) fy += ((float)BASEVIDHEIGHT * dupy)/2; if (color & V_HORZSCREEN) fx += ((float)BASEVIDWIDTH * dupx)/2; - + } if (fx >= vid.width || fy >= vid.height) @@ -1168,4 +1168,4 @@ boolean HWR_Screenshot(const char *pathname) return ret; } -#endif //HWRENDER \ No newline at end of file +#endif //HWRENDER From 35a8944f88a1db21b75f90bb9d4c88e0dc1ffee9 Mon Sep 17 00:00:00 2001 From: fickleheart Date: Sun, 1 Dec 2019 15:38:40 -0600 Subject: [PATCH 104/245] Remove (redundant?) skywalls that seemed to drop performance --- src/hardware/hw_main.c | 152 ----------------------------------------- 1 file changed, 152 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 2965d7fc..cd6e97fd 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -974,111 +974,6 @@ void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom worldlow = gr_backsector->floorheight; #endif - // Sky culling - if (!gr_curline->polyseg) // Don't do it for polyobjects - { - // Sky Ceilings - wallVerts[3].y = wallVerts[2].y = FIXED_TO_FLOAT(INT32_MAX); - - if (gr_frontsector->ceilingpic == skyflatnum) - { - if (gr_backsector->ceilingpic == skyflatnum) - { - // Both front and back sectors are sky, needs skywall from the frontsector's ceiling, but only if the - // backsector is lower - if ((worldhigh <= worldtop) -#ifdef ESLOPE - && (worldhighslope <= worldtopslope) -#endif - ) - { -#ifdef ESLOPE - wallVerts[0].y = FIXED_TO_FLOAT(worldhigh); - wallVerts[1].y = FIXED_TO_FLOAT(worldhighslope); -#else - wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(worldhigh); -#endif - HWR_DrawSkyWall(wallVerts, &Surf, 0, 0); - } - } - else - { - // Only the frontsector is sky, just draw a skywall from the front ceiling -#ifdef ESLOPE - wallVerts[0].y = FIXED_TO_FLOAT(worldtop); - wallVerts[1].y = FIXED_TO_FLOAT(worldtopslope); -#else - wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(worldtop); -#endif - HWR_DrawSkyWall(wallVerts, &Surf, 0, 0); - } - } - else if (gr_backsector->ceilingpic == skyflatnum) - { - // Only the backsector is sky, just draw a skywall from the front ceiling -#ifdef ESLOPE - wallVerts[0].y = FIXED_TO_FLOAT(worldtop); - wallVerts[1].y = FIXED_TO_FLOAT(worldtopslope); -#else - wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(worldtop); -#endif - HWR_DrawSkyWall(wallVerts, &Surf, 0, 0); - } - - - // Sky Floors - wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(INT32_MIN); - - if (gr_frontsector->floorpic == skyflatnum) - { - if (gr_backsector->floorpic == skyflatnum) - { - // Both front and back sectors are sky, needs skywall from the backsector's floor, but only if the - // it's higher, also needs to check for bottomtexture as the floors don't usually move down - // when both sides are sky floors - if ((worldlow >= worldbottom) -#ifdef ESLOPE - && (worldlowslope >= worldbottomslope) -#endif - && !(gr_sidedef->bottomtexture)) - { -#ifdef ESLOPE - wallVerts[3].y = FIXED_TO_FLOAT(worldlow); - wallVerts[2].y = FIXED_TO_FLOAT(worldlowslope); -#else - wallVerts[3].y = wallVerts[2].y = FIXED_TO_FLOAT(worldlow); -#endif - - HWR_DrawSkyWall(wallVerts, &Surf, 0, 0); - } - } - else - { - // Only the backsector has sky, just draw a skywall from the back floor -#ifdef ESLOPE - wallVerts[3].y = FIXED_TO_FLOAT(worldbottom); - wallVerts[2].y = FIXED_TO_FLOAT(worldbottomslope); -#else - wallVerts[3].y = wallVerts[2].y = FIXED_TO_FLOAT(worldbottom); -#endif - - HWR_DrawSkyWall(wallVerts, &Surf, 0, 0); - } - } - else if ((gr_backsector->floorpic == skyflatnum) && !(gr_sidedef->bottomtexture)) - { - // Only the backsector has sky, just draw a skywall from the back floor if there's no bottomtexture -#ifdef ESLOPE - wallVerts[3].y = FIXED_TO_FLOAT(worldlow); - wallVerts[2].y = FIXED_TO_FLOAT(worldlowslope); -#else - wallVerts[3].y = wallVerts[2].y = FIXED_TO_FLOAT(worldlow); -#endif - - HWR_DrawSkyWall(wallVerts, &Surf, 0, 0); - } - } - // hack to allow height changes in outdoor areas // This is what gets rid of the upper textures if there should be sky if (gr_frontsector->ceilingpic == skyflatnum && @@ -1671,53 +1566,6 @@ void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom HWR_ProjectWall(wallVerts, &Surf, PF_Masked, lightnum, colormap); } } - else - { -#ifdef ESLOPE - //Set textures properly on single sided walls that are sloped - wallVerts[3].y = FIXED_TO_FLOAT(worldtop); - wallVerts[0].y = FIXED_TO_FLOAT(worldbottom); - wallVerts[2].y = FIXED_TO_FLOAT(worldtopslope); - wallVerts[1].y = FIXED_TO_FLOAT(worldbottomslope); -#else - // set top/bottom coords - wallVerts[2].y = wallVerts[3].y = FIXED_TO_FLOAT(worldtop); - wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(worldbottom); -#endif - - // When there's no midtexture, draw a skywall to prevent rendering behind it - HWR_DrawSkyWall(wallVerts, &Surf, 0, 0); - } - - - // Single sided lines are simple for skywalls, just need to draw from the top or bottom of the sector if there's - // a sky flat - if (!gr_curline->polyseg) - { - if (gr_frontsector->ceilingpic == skyflatnum) // It's a single-sided line with sky for its sector - { - wallVerts[3].y = wallVerts[2].y = FIXED_TO_FLOAT(INT32_MAX); -#ifdef ESLOPE - wallVerts[0].y = FIXED_TO_FLOAT(worldtop); - wallVerts[1].y = FIXED_TO_FLOAT(worldtopslope); -#else - wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(worldtop); -#endif - HWR_DrawSkyWall(wallVerts, &Surf, 0, 0); - } - if (gr_frontsector->floorpic == skyflatnum) - { -#ifdef ESLOPE - wallVerts[3].y = FIXED_TO_FLOAT(worldbottom); - wallVerts[2].y = FIXED_TO_FLOAT(worldbottomslope); -#else - wallVerts[3].y = wallVerts[2].y = FIXED_TO_FLOAT(worldbottom); -#endif - wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(INT32_MIN); - - HWR_DrawSkyWall(wallVerts, &Surf, 0, 0); - } - } } From 92d320be729508319029e0e8f3f840c1282476a2 Mon Sep 17 00:00:00 2001 From: fickleheart Date: Sun, 1 Dec 2019 16:16:09 -0600 Subject: [PATCH 105/245] Fix dereferencing uninitialized pointer --- src/hardware/hw_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index cd6e97fd..313af04c 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -4667,7 +4667,7 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) { angle_t a1; const float fpov = FIXED_TO_FLOAT(cv_fov.value+player->fovadd); - postimg_t *postprocessor; + postimg_t *postprocessor = &postimgtype[0]; INT32 i; // set window position From 2b837726ebcb84b67408aa033887e2a115721237 Mon Sep 17 00:00:00 2001 From: James R Date: Wed, 11 Dec 2019 23:46:57 -0800 Subject: [PATCH 106/245] nix: Fork before game code and wait to catch signals and coredumps Ditched signal_handler to avoid worrying about async-signal-safe functions. D_QuitNetGame is not called, so players whose programs are interrupted by a signal will time out from the server. Because the game runs in a child process, the window can close before the "Signal Caught" text box appears. "(core dumped)" is also included in the message if core dumping could be determined. --- src/doomdef.h | 4 ++++ src/i_system.h | 4 ++++ src/sdl/i_main.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++ src/sdl/i_system.c | 33 +++++++++++++++++++++++------ 4 files changed, 87 insertions(+), 6 deletions(-) diff --git a/src/doomdef.h b/src/doomdef.h index 24b52e8d..94bd71d3 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -136,6 +136,10 @@ #define LOGMESSAGES // write message in log.txt #endif +#if (defined (__unix__) && !defined (_MSDOS)) || defined (UNIXCOMMON) +#define NEWSIGNALHANDLER +#endif + #ifdef LOGMESSAGES extern FILE *logstream; #endif diff --git a/src/i_system.h b/src/i_system.h index d1708fe5..e8c516fe 100644 --- a/src/i_system.h +++ b/src/i_system.h @@ -92,6 +92,10 @@ ticcmd_t *I_BaseTiccmd4(void); */ void I_Quit(void) FUNCNORETURN; +/** \brief Print a message and text box about a signal that was raised. +*/ +void I_ReportSignal(int num, int coredumped); + typedef enum { EvilForce = -1, diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c index 41a9d7cd..b8161abf 100644 --- a/src/sdl/i_main.c +++ b/src/sdl/i_main.c @@ -26,6 +26,11 @@ #include #endif +#ifdef NEWSIGNALHANDLER +#include +#include +#endif + #ifdef HAVE_SDL #ifdef HAVE_TTF @@ -157,6 +162,53 @@ int main(int argc, char **argv) #endif MakeCodeWritable(); #endif + +#ifdef NEWSIGNALHANDLER + switch (fork()) + { + case -1: + I_Error( + "Error setting up signal reporting: fork(): %s\n", + strerror(errno) + ); + break; + case 0: + break; + default: + { + int status; + int signum; + if (wait(&status) == -1) + { + I_Error( + "Error setting up signal reporting: fork(): %s\n", + strerror(errno) + ); + } + else + { + if (WIFSIGNALED (status)) + { + signum = WTERMSIG (status); +#ifdef WCOREDUMP + I_ReportSignal(signum, WCOREDUMP (status)); +#else + I_ReportSignal(signum, 0); +#endif + status = 128 + signum; + } + else if (WIFEXITED (status)) + { + status = WEXITSTATUS (status); + } + + I_ShutdownSystem(); + exit(status); + } + } + } +#endif/*NEWSIGNALHANDLER*/ + // startup SRB2 CONS_Printf("Setting up SRB2Kart...\n"); D_SRB2Main(); diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index c0fca64d..db35b0f7 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -246,13 +246,11 @@ SDL_bool framebuffer = SDL_FALSE; UINT8 keyboard_started = false; -FUNCNORETURN static ATTRNORETURN void signal_handler(INT32 num) +void I_ReportSignal(int num, int coredumped) { //static char msg[] = "oh no! back to reality!\r\n"; const char * sigmsg; - char sigdef[32]; - - D_QuitNetGame(); // Fix server freezes + char msg[128]; switch (num) { @@ -278,8 +276,21 @@ FUNCNORETURN static ATTRNORETURN void signal_handler(INT32 num) sigmsg = "SIGABRT - abnormal termination triggered by abort call"; break; default: - sprintf(sigdef,"signal number %d", num); - sigmsg = sigdef; + sprintf(msg,"signal number %d", num); + if (coredumped) + sigmsg = 0; + else + sigmsg = msg; + } + + if (coredumped) + { + if (sigmsg) + sprintf(msg, "%s (core dumped)", sigmsg); + else + strcat(msg, " (core dumped)"); + + sigmsg = msg; } I_OutputMsg("\nsignal_handler() error: %s\n", sigmsg); @@ -287,11 +298,19 @@ FUNCNORETURN static ATTRNORETURN void signal_handler(INT32 num) SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Signal caught", sigmsg, NULL); +} + +#ifndef NEWSIGNALHANDLER +FUNCNORETURN static ATTRNORETURN void signal_handler(INT32 num) +{ + D_QuitNetGame(); // Fix server freezes + I_ReportSignal(num, 0); I_ShutdownSystem(); signal(num, SIG_DFL); //default signal action raise(num); I_Quit(); } +#endif FUNCNORETURN static ATTRNORETURN void quit_handler(int num) { @@ -681,10 +700,12 @@ void I_StartupKeyboard (void) // If these defines don't exist, // then compilation would have failed above us... +#ifndef NEWSIGNALHANDLER signal(SIGILL , signal_handler); signal(SIGSEGV , signal_handler); signal(SIGABRT , signal_handler); signal(SIGFPE , signal_handler); +#endif } // From 9efe4d844594fa4dd596432e0bf116b6cd7e9948 Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 12 Dec 2019 15:07:59 -0800 Subject: [PATCH 107/245] Move everything to i_system.c This also simplifies things; SDL isn't initialized in the parent process. --- src/doomdef.h | 4 ---- src/i_system.h | 4 ---- src/sdl/i_main.c | 51 ---------------------------------------- src/sdl/i_system.c | 58 +++++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 57 insertions(+), 60 deletions(-) diff --git a/src/doomdef.h b/src/doomdef.h index 94bd71d3..24b52e8d 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -136,10 +136,6 @@ #define LOGMESSAGES // write message in log.txt #endif -#if (defined (__unix__) && !defined (_MSDOS)) || defined (UNIXCOMMON) -#define NEWSIGNALHANDLER -#endif - #ifdef LOGMESSAGES extern FILE *logstream; #endif diff --git a/src/i_system.h b/src/i_system.h index e8c516fe..d1708fe5 100644 --- a/src/i_system.h +++ b/src/i_system.h @@ -92,10 +92,6 @@ ticcmd_t *I_BaseTiccmd4(void); */ void I_Quit(void) FUNCNORETURN; -/** \brief Print a message and text box about a signal that was raised. -*/ -void I_ReportSignal(int num, int coredumped); - typedef enum { EvilForce = -1, diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c index b8161abf..e7d87631 100644 --- a/src/sdl/i_main.c +++ b/src/sdl/i_main.c @@ -26,11 +26,6 @@ #include #endif -#ifdef NEWSIGNALHANDLER -#include -#include -#endif - #ifdef HAVE_SDL #ifdef HAVE_TTF @@ -163,52 +158,6 @@ int main(int argc, char **argv) MakeCodeWritable(); #endif -#ifdef NEWSIGNALHANDLER - switch (fork()) - { - case -1: - I_Error( - "Error setting up signal reporting: fork(): %s\n", - strerror(errno) - ); - break; - case 0: - break; - default: - { - int status; - int signum; - if (wait(&status) == -1) - { - I_Error( - "Error setting up signal reporting: fork(): %s\n", - strerror(errno) - ); - } - else - { - if (WIFSIGNALED (status)) - { - signum = WTERMSIG (status); -#ifdef WCOREDUMP - I_ReportSignal(signum, WCOREDUMP (status)); -#else - I_ReportSignal(signum, 0); -#endif - status = 128 + signum; - } - else if (WIFEXITED (status)) - { - status = WEXITSTATUS (status); - } - - I_ShutdownSystem(); - exit(status); - } - } - } -#endif/*NEWSIGNALHANDLER*/ - // startup SRB2 CONS_Printf("Setting up SRB2Kart...\n"); D_SRB2Main(); diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index db35b0f7..4cbf7626 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -102,6 +102,12 @@ typedef LPVOID (WINAPI *p_MapViewOfFile) (HANDLE, DWORD, DWORD, DWORD, SIZE_T); #endif #endif +#if (defined (__unix__) && !defined (_MSDOS)) || defined (UNIXCOMMON) +#include +#include +#define NEWSIGNALHANDLER +#endif + #ifndef NOMUMBLE #ifdef __linux__ // need -lrt #include @@ -246,7 +252,7 @@ SDL_bool framebuffer = SDL_FALSE; UINT8 keyboard_started = false; -void I_ReportSignal(int num, int coredumped) +static void I_ReportSignal(int num, int coredumped) { //static char msg[] = "oh no! back to reality!\r\n"; const char * sigmsg; @@ -3043,6 +3049,53 @@ void I_Sleep(void) SDL_Delay(cv_sleep.value); } +#ifdef NEWSIGNALHANDLER +static void I_Fork(void) +{ + int status; + int signum; + switch (fork()) + { + case -1: + I_Error( + "Error setting up signal reporting: fork(): %s\n", + strerror(errno) + ); + break; + case 0: + break; + default: + if (wait(&status)) + { + I_Error( + "Error setting up signal reporting: fork(): %s\n", + strerror(errno) + ); + } + else + { + if (WIFSIGNALED (status)) + { + signum = WTERMSIG (status); +#ifdef WCOREDUMP + I_ReportSignal(signum, WCOREDUMP (status)); +#else + I_ReportSignal(signum, 0); +#endif + status = 128 + signum; + } + else if (WIFEXITED (status)) + { + status = WEXITSTATUS (status); + } + + I_ShutdownSystem(); + exit(status); + } + } +} +#endif/*NEWSIGNALHANDLER*/ + INT32 I_StartupSystem(void) { SDL_version SDLcompiled; @@ -3050,6 +3103,9 @@ INT32 I_StartupSystem(void) SDL_VERSION(&SDLcompiled) SDL_GetVersion(&SDLlinked); I_StartupConsole(); +#ifdef NEWSIGNALHANDLER + I_Fork(); +#endif I_OutputMsg("Compiled for SDL version: %d.%d.%d\n", SDLcompiled.major, SDLcompiled.minor, SDLcompiled.patch); I_OutputMsg("Linked with SDL version: %d.%d.%d\n", From c9830e5ab1dd634c23006e4633ddbb86dea35e73 Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 12 Dec 2019 21:20:51 -0800 Subject: [PATCH 108/245] Fix idiot mistake --- src/sdl/i_system.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index 4cbf7626..3f64a3d4 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -3065,7 +3065,7 @@ static void I_Fork(void) case 0: break; default: - if (wait(&status)) + if (wait(&status) == -1) { I_Error( "Error setting up signal reporting: fork(): %s\n", From a64dbe101664a19c274fd9bc1cbbed6638b17e26 Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 12 Dec 2019 21:21:25 -0800 Subject: [PATCH 109/245] Kill child when wait fails, so I_Error exits both --- src/sdl/i_system.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index 3f64a3d4..aa74d7d9 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -3052,9 +3052,13 @@ void I_Sleep(void) #ifdef NEWSIGNALHANDLER static void I_Fork(void) { + int child; int status; int signum; - switch (fork()) + + child = fork(); + + switch (child) { case -1: I_Error( @@ -3067,6 +3071,7 @@ static void I_Fork(void) default: if (wait(&status) == -1) { + kill(child, SIGKILL); I_Error( "Error setting up signal reporting: fork(): %s\n", strerror(errno) From b83f41e089bbd06c9ac1c2c177c552b0647cb83e Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 12 Dec 2019 21:30:35 -0800 Subject: [PATCH 110/245] Rename I_StartupKeyboard to I_RegisterSignals and call it in a sane place --- src/d_main.c | 3 --- src/i_system.h | 4 ---- src/sdl/i_system.c | 3 ++- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/d_main.c b/src/d_main.c index 467976c1..e3252e88 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -613,9 +613,6 @@ void D_SRB2Loop(void) // Pushing of + parameters is now done back in D_SRB2Main, not here. - CONS_Printf("I_StartupKeyboard()...\n"); - I_StartupKeyboard(); - #ifdef _WINDOWS CONS_Printf("I_StartupMouse()...\n"); I_DoStartupMouse(); diff --git a/src/i_system.h b/src/i_system.h index d1708fe5..3e589c69 100644 --- a/src/i_system.h +++ b/src/i_system.h @@ -226,10 +226,6 @@ void I_StartupMouse(void); */ void I_StartupMouse2(void); -/** \brief keyboard startup, shutdown, handler -*/ -void I_StartupKeyboard(void); - /** \brief setup timer irq and user timer routine. */ void I_StartupTimer(void); diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index aa74d7d9..d8404e24 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -692,7 +692,7 @@ static inline void I_ShutdownConsole(void){} // // StartupKeyboard // -void I_StartupKeyboard (void) +void I_RegisterSignals (void) { #ifdef SIGINT signal(SIGINT , quit_handler); @@ -3111,6 +3111,7 @@ INT32 I_StartupSystem(void) #ifdef NEWSIGNALHANDLER I_Fork(); #endif + I_RegisterSignals(); I_OutputMsg("Compiled for SDL version: %d.%d.%d\n", SDLcompiled.major, SDLcompiled.minor, SDLcompiled.patch); I_OutputMsg("Linked with SDL version: %d.%d.%d\n", From a0d6dc30cbe38e4b3e2a3bb4b8cb6f375eb00c64 Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 12 Dec 2019 21:57:54 -0800 Subject: [PATCH 111/245] Fix signal handler setup error reporting --- src/sdl/i_system.c | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index d8404e24..1b9cc2ed 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -3050,6 +3050,26 @@ void I_Sleep(void) } #ifdef NEWSIGNALHANDLER +static void newsignalhandler_Warn(const char *pr) +{ + char text[128]; + + snprintf(text, sizeof text, + "Error while setting up signal reporting: %s: %s", + pr, + strerror(errno) + ); + + I_OutputMsg("%s\n", text); + + SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, + "Startup error", + text, NULL); + + I_ShutdownConsole(); + exit(-1); +} + static void I_Fork(void) { int child; @@ -3061,10 +3081,7 @@ static void I_Fork(void) switch (child) { case -1: - I_Error( - "Error setting up signal reporting: fork(): %s\n", - strerror(errno) - ); + newsignalhandler_Warn("fork()"); break; case 0: break; @@ -3072,10 +3089,7 @@ static void I_Fork(void) if (wait(&status) == -1) { kill(child, SIGKILL); - I_Error( - "Error setting up signal reporting: fork(): %s\n", - strerror(errno) - ); + newsignalhandler_Warn("wait()"); } else { @@ -3094,7 +3108,7 @@ static void I_Fork(void) status = WEXITSTATUS (status); } - I_ShutdownSystem(); + I_ShutdownConsole(); exit(status); } } From d0c41a8d55a9ddab2487062fcb290230246be45e Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 12 Dec 2019 22:01:16 -0800 Subject: [PATCH 112/245] Rename signal caught message to be more obvious --- src/sdl/i_system.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index 1b9cc2ed..d4297c14 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -299,10 +299,10 @@ static void I_ReportSignal(int num, int coredumped) sigmsg = msg; } - I_OutputMsg("\nsignal_handler() error: %s\n", sigmsg); + I_OutputMsg("\nProcess killed by signal: %s\n\n", sigmsg); SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, - "Signal caught", + "Process killed by signal", sigmsg, NULL); } From f460e83846bdcfa4f52fe60591f79c28c151102f Mon Sep 17 00:00:00 2001 From: James R Date: Fri, 13 Dec 2019 15:04:31 -0800 Subject: [PATCH 113/245] Add this back for Windoodoo because I'm an idiot --- src/sdl/i_system.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index d4297c14..912e3fee 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -3368,6 +3368,10 @@ void I_ShutdownSystem(void) { INT32 c; +#ifndef NEWSIGNALHANDLER + I_ShutdownConsole(); +#endif + for (c = MAX_QUIT_FUNCS-1; c >= 0; c--) if (quit_funcs[c]) (*quit_funcs[c])(); From 2a016332c469aa173d54a4d079f5802a3aed8ff6 Mon Sep 17 00:00:00 2001 From: James R Date: Fri, 13 Dec 2019 16:51:49 -0800 Subject: [PATCH 114/245] Handle log file in parent properly --- src/doomdef.h | 1 + src/sdl/i_main.c | 7 +++++-- src/sdl/i_system.c | 15 ++++++++++++++- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/doomdef.h b/src/doomdef.h index 24b52e8d..a0896094 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -138,6 +138,7 @@ #ifdef LOGMESSAGES extern FILE *logstream; +extern char logfilename[1024]; #endif //#define DEVELOP // Disable this for release builds to remove excessive cheat commands and enable MD5 checking and stuff, all in one go. :3 diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c index e7d87631..41874e9f 100644 --- a/src/sdl/i_main.c +++ b/src/sdl/i_main.c @@ -45,6 +45,7 @@ extern int SDL_main(int argc, char *argv[]); #ifdef LOGMESSAGES FILE *logstream = NULL; +char logfilename[1024]; #endif #ifndef DOXYGEN @@ -130,10 +131,12 @@ int main(int argc, char **argv) #ifdef LOGMESSAGES #ifdef DEFAULTDIR if (logdir) - logstream = fopen(va("%s/"DEFAULTDIR"/log.txt",logdir), "wt"); + strcpy(logfilename, va("%s/"DEFAULTDIR"/log.txt",logdir)); else #endif - logstream = fopen("./log.txt", "wt"); + strcpy(logfilename, "./log.txt"); + + logstream = fopen(logfilename, "wt"); #endif //I_OutputMsg("I_StartupSystem() ...\n"); diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index 912e3fee..37d6dd79 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -3075,6 +3075,7 @@ static void I_Fork(void) int child; int status; int signum; + int c; child = fork(); @@ -3086,7 +3087,19 @@ static void I_Fork(void) case 0: break; default: - if (wait(&status) == -1) + if (logstream) + fclose(logstream);/* the child has this */ + + c = wait(&status); + +#ifdef LOGMESSAGES + /* By the way, exit closes files. */ + logstream = fopen(logfilename, "at"); +#else + logstream = 0; +#endif + + if (c == -1) { kill(child, SIGKILL); newsignalhandler_Warn("wait()"); From ba8dff544adde750ebe851ba90bff3640a6c14c9 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Wed, 29 Jan 2020 22:33:00 +0100 Subject: [PATCH 115/245] How can you look at yourself in the mirror? --- src/d_netcmd.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 0bb87556..ea689d15 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -2769,6 +2769,12 @@ static void Command_Respawn(void) return; } + if (players[consoleplayer].mo && (players[consoleplayer].kartstuff[k_spinouttimer] || spbplace == players[consoleplayer].kartstuff[k_position])) // KART: Nice try, but no, you won't be cheesing spb anymore (x2) + { + CONS_Printf(M_GetText("Nice try.\n")); + return; + } + /*if (!G_RaceGametype()) // srb2kart: not necessary, respawning makes you lose a bumper in battle, so it's not desirable to use as a way to escape a hit { CONS_Printf(M_GetText("You may only use this in co-op, race, and competition!\n")); @@ -2791,7 +2797,7 @@ static void Got_Respawn(UINT8 **cp, INT32 playernum) INT32 respawnplayer = READINT32(*cp); // You can't respawn someone else. Nice try, there. - if (respawnplayer != playernum) // srb2kart: "|| (!G_RaceGametype())" + if (respawnplayer != playernum || players[respawnplayer].kartstuff[k_spinouttimer] || spbplace == players[respawnplayer].kartstuff[k_position]) // srb2kart: "|| (!G_RaceGametype())" { CONS_Alert(CONS_WARNING, M_GetText("Illegal respawn command received from %s\n"), player_names[playernum]); if (server) From 190b0d466083011356864ad125effd970ac488c3 Mon Sep 17 00:00:00 2001 From: TehRealSalt Date: Mon, 28 Oct 2019 12:14:51 -0400 Subject: [PATCH 116/245] Replay playback changes: - Store level state periodically - Load the closest usable level state when done rewinding for quicker resumes - Make playback menu fade out after 5 seconds of no activity (but not while paused) - Remove wrapping from replay hut (original wrapping was broken at some point before 1.1 and it's not necessary anyway) - Allow holding enter on frame advance for noisy slow-mo from fickleheart --- src/d_clisrv.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/d_clisrv.h | 15 +++++++++++++ src/g_game.c | 41 +++++++++++++++++++++++++++++------ src/m_menu.c | 31 ++++++++++++++++++--------- 4 files changed, 129 insertions(+), 16 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 213f5dde..49738ddb 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -5567,3 +5567,61 @@ tic_t GetLag(INT32 node) { return gametic - nettics[node]; } + +#define REWIND_POINT_INTERVAL 4*TICRATE + 16 +rewind_t *rewindhead; + +void CL_ClearRewinds(void) +{ + rewind_t *head; + while ((head = rewindhead)) + { + rewindhead = rewindhead->next; + free(head); + } +} + +rewind_t *CL_SaveRewindPoint(size_t demopos) +{ + rewind_t *rewind; + + if (rewindhead && rewindhead->leveltime + REWIND_POINT_INTERVAL > leveltime) + return NULL; + + rewind = (rewind_t *)malloc(sizeof (rewind_t)); + if (!rewind) + return NULL; + + CONS_Printf("Saving rewind point for time %d\n", leveltime); + save_p = rewind->savebuffer; + P_SaveNetGame(); + rewind->leveltime = leveltime; + rewind->next = rewindhead; + rewind->demopos = demopos; + rewindhead = rewind; + + return rewind; +} + +rewind_t *CL_RewindToTime(tic_t time) +{ + rewind_t *rewind; + + while (rewindhead && rewindhead->leveltime > time) + { + rewind = rewindhead->next; + free(rewindhead); + rewindhead = rewind; + } + + if (!rewindhead) + return NULL; + + CONS_Printf("Restoring rewind to time %d for goal time %d\n", rewindhead->leveltime, time); + save_p = rewindhead->savebuffer; + P_LoadNetGame(); + wipegamestate = gamestate; // No fading back in! + timeinmap = leveltime; + + return rewindhead; +} diff --git a/src/d_clisrv.h b/src/d_clisrv.h index e961c38f..3c089374 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -604,4 +604,19 @@ UINT8 GetFreeXCmdSize(void); extern UINT8 hu_resynching; extern UINT8 hu_stopped; // kart, true when the game is stopped for players due to a disconnecting or connecting player + +typedef struct rewind_s { + UINT8 savebuffer[(768*1024)]; + tic_t leveltime; + size_t demopos; + + ticcmd_t oldcmd[MAXPLAYERS]; + mobj_t oldghost[MAXPLAYERS]; + + struct rewind_s *next; +} rewind_t; + +void CL_ClearRewinds(void); +rewind_t *CL_SaveRewindPoint(size_t demopos); +rewind_t *CL_RewindToTime(tic_t time); #endif diff --git a/src/g_game.c b/src/g_game.c index b8a1a3bf..93e7e4fe 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -4863,6 +4863,16 @@ void G_ReadDemoExtraData(void) INT32 p, extradata, i; char name[17]; + if (leveltime > starttime) + { + rewind_t *rewind = CL_SaveRewindPoint(demo_p - demobuffer); + if (rewind) + { + memcpy(rewind->oldcmd, oldcmd, sizeof (oldcmd)); + memcpy(rewind->oldghost, oldghost, sizeof (oldghost)); + } + } + memset(name, '\0', 17); p = READUINT8(demo_p); @@ -5901,6 +5911,8 @@ static rewindinfo_t *rewindhead = NULL; // Reverse chronological order void G_InitDemoRewind(void) { + CL_ClearRewinds(); + while (rewindhead) { rewindinfo_t *p = rewindhead->prev; @@ -6022,19 +6034,35 @@ void G_ConfirmRewind(tic_t rewindtime) CV_StealthSetValue(&cv_renderview, 0); - if (rewindtime > starttime) + if (rewindtime <= starttime) { - sound_disabled = true; // Prevent sound spam - demo.rewinding = true; + demo.rewinding = false; + G_DoPlayDemo(NULL); // Restart the current demo } else - demo.rewinding = false; + { + rewind_t *rewind; + sound_disabled = true; // Prevent sound spam + demo.rewinding = true; - G_DoPlayDemo(NULL); // Restart the current demo + rewind = CL_RewindToTime(rewindtime); + + if (rewind) + { + demo_p = demobuffer + rewind->demopos; + memcpy(oldcmd, rewind->oldcmd, sizeof (oldcmd)); + memcpy(oldghost, rewind->oldghost, sizeof (oldghost)); + paused = false; + } + else + { + demo.rewinding = true; + G_DoPlayDemo(NULL); // Restart the current demo + } + } for (j = 0; j < rewindtime && leveltime < rewindtime; j++) { - //TryRunTics(1); G_Ticker((j % NEWTICRATERATIO) == 0); } @@ -8093,6 +8121,7 @@ void G_StopDemo(void) CV_SetValue(&cv_playbackspeed, 1); demo.rewinding = false; + CL_ClearRewinds(); if (gamestate == GS_LEVEL && rendermode != render_none) { diff --git a/src/m_menu.c b/src/m_menu.c index 97b1ce9b..264b1864 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -516,6 +516,7 @@ static menuitem_t MISC_ReplayOptionsMenu[] = {IT_CVAR|IT_STRING, NULL, "Sync Check Interval", &cv_netdemosyncquality, 10}, }; +static tic_t playback_last_menu_interaction_leveltime = 0; static menuitem_t PlaybackMenu[] = { {IT_CALL | IT_STRING, "M_PHIDE", "Hide Menu", M_SelectableClearMenus, 0}, @@ -2785,6 +2786,7 @@ boolean M_Responder(event_t *ev) if (currentMenu == &PlaybackMenuDef) { + playback_last_menu_interaction_leveltime = leveltime; // Flip left/right with up/down for the playback menu, since it's a horizontal icon row. switch (ch) { @@ -2846,9 +2848,9 @@ boolean M_Responder(event_t *ev) if (currentMenu == &PlaybackMenuDef) { boolean held = (boolean)playback_enterheld; - playback_enterheld = TICRATE/7; if (held) return true; + playback_enterheld = 3; } if (routine) @@ -3021,6 +3023,7 @@ void M_StartControlPanel(void) if (demo.playback) { currentMenu = &PlaybackMenuDef; + playback_last_menu_interaction_leveltime = leveltime; } else if (!Playing()) { @@ -5193,6 +5196,7 @@ void M_ReplayHut(INT32 choice) G_SetGamestate(GS_TIMEATTACK); demo.rewinding = false; + CL_ClearRewinds(); S_ChangeMusicInternal("replst", true); } @@ -5205,7 +5209,8 @@ static void M_HandleReplayHutList(INT32 choice) if (dir_on[menudepthleft]) dir_on[menudepthleft]--; else - M_PrevOpt(); + return; + //M_PrevOpt(); S_StartSound(NULL, sfx_menu1); replayScrollTitle = 0; replayScrollDelay = TICRATE; replayScrollDir = 1; @@ -5215,7 +5220,8 @@ static void M_HandleReplayHutList(INT32 choice) if (dir_on[menudepthleft] < sizedirmenu-1) dir_on[menudepthleft]++; else - itemOn = 0; // Not M_NextOpt because that would take us to the extra dummy item + return; + //itemOn = 0; // Not M_NextOpt because that would take us to the extra dummy item S_StartSound(NULL, sfx_menu1); replayScrollTitle = 0; replayScrollDelay = TICRATE; replayScrollDir = 1; @@ -5722,6 +5728,11 @@ static void M_DrawPlaybackMenu(void) INT16 i; patch_t *icon; UINT8 *activemap = R_GetTranslationColormap(TC_RAINBOW, SKINCOLOR_GOLD, GTC_MENUCACHE); + UINT32 transmap = max(0, (INT32)(leveltime - playback_last_menu_interaction_leveltime - 4*TICRATE)) / 5; + transmap = min(8, transmap) << V_ALPHASHIFT; + + if (leveltime - playback_last_menu_interaction_leveltime >= 6*TICRATE) + playback_last_menu_interaction_leveltime = leveltime - 6*TICRATE; // Toggle items if (paused && !demo.rewinding) @@ -5803,16 +5814,16 @@ static void M_DrawPlaybackMenu(void) icon = W_CachePatchName("PLAYRANK", PU_CACHE); // temp if ((i == playback_fastforward && cv_playbackspeed.value > 1) || (i == playback_rewind && demo.rewinding)) - V_DrawMappedPatch(currentMenu->x + currentMenu->menuitems[i].alphaKey, currentMenu->y, V_SNAPTOTOP, icon, R_GetTranslationColormap(TC_RAINBOW, SKINCOLOR_JAWZ, GTC_MENUCACHE)); + V_DrawMappedPatch(currentMenu->x + currentMenu->menuitems[i].alphaKey, currentMenu->y, transmap|V_SNAPTOTOP, icon, R_GetTranslationColormap(TC_RAINBOW, SKINCOLOR_JAWZ, GTC_MENUCACHE)); else - V_DrawMappedPatch(currentMenu->x + currentMenu->menuitems[i].alphaKey, currentMenu->y, V_SNAPTOTOP, icon, (i == itemOn) ? activemap : inactivemap); + V_DrawMappedPatch(currentMenu->x + currentMenu->menuitems[i].alphaKey, currentMenu->y, transmap|V_SNAPTOTOP, icon, (i == itemOn) ? activemap : inactivemap); if (i == itemOn) { V_DrawCharacter(currentMenu->x + currentMenu->menuitems[i].alphaKey + 4, currentMenu->y + 14, - '\x1A' | V_SNAPTOTOP|highlightflags, false); + '\x1A' | transmap|V_SNAPTOTOP|highlightflags, false); - V_DrawCenteredString(BASEVIDWIDTH/2, currentMenu->y + 18, V_SNAPTOTOP|V_ALLOWLOWERCASE, currentMenu->menuitems[i].text); + V_DrawCenteredString(BASEVIDWIDTH/2, currentMenu->y + 18, transmap|V_SNAPTOTOP|V_ALLOWLOWERCASE, currentMenu->menuitems[i].text); if ((currentMenu->menuitems[i].status & IT_TYPE) == IT_ARROWS) { @@ -5820,11 +5831,11 @@ static void M_DrawPlaybackMenu(void) if (!(i == playback_viewcount && splitscreen == 3)) V_DrawCharacter(BASEVIDWIDTH/2 - 4, currentMenu->y + 28 - (skullAnimCounter/5), - '\x1A' | V_SNAPTOTOP|highlightflags, false); // up arrow + '\x1A' | transmap|V_SNAPTOTOP|highlightflags, false); // up arrow if (!(i == playback_viewcount && splitscreen == 0)) V_DrawCharacter(BASEVIDWIDTH/2 - 4, currentMenu->y + 48 + (skullAnimCounter/5), - '\x1B' | V_SNAPTOTOP|highlightflags, false); // down arrow + '\x1B' | transmap|V_SNAPTOTOP|highlightflags, false); // down arrow switch (i) { @@ -5843,7 +5854,7 @@ static void M_DrawPlaybackMenu(void) continue; } - V_DrawCenteredString(BASEVIDWIDTH/2, currentMenu->y + 38, V_SNAPTOTOP|V_ALLOWLOWERCASE|highlightflags, str); + V_DrawCenteredString(BASEVIDWIDTH/2, currentMenu->y + 38, transmap|V_SNAPTOTOP|V_ALLOWLOWERCASE|highlightflags, str); } } } From b8e4af3f8d6df886aec7e8bdbabb0a3788180bfe Mon Sep 17 00:00:00 2001 From: fickleheart Date: Thu, 5 Mar 2020 22:18:39 -0600 Subject: [PATCH 117/245] SUPER EXPERIMENTAL FREEZE-B-GONE --- src/d_clisrv.c | 100 +++++++++++++++++++++++++------------------------ src/d_clisrv.h | 3 +- src/d_net.c | 6 +-- src/doomstat.h | 2 +- src/g_game.c | 2 +- src/p_setup.c | 2 +- 6 files changed, 60 insertions(+), 55 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 213f5dde..88e018d1 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -71,8 +71,6 @@ // firstticstosend is used to optimize a condition // Normally maketic >= gametic > 0 -#define PREDICTIONQUEUE BACKUPTICS -#define PREDICTIONMASK (PREDICTIONQUEUE-1) #define MAX_REASONLENGTH 30 #define FORCECLOSE 0x8000 @@ -109,7 +107,7 @@ static tic_t firstticstosend; // min of the nettics static tic_t tictoclear = 0; // optimize d_clearticcmd static tic_t maketic; -static INT16 consistancy[BACKUPTICS]; +static INT16 consistancy[TICQUEUE]; // Resynching shit! static UINT32 resynch_score[MAXNETNODES]; // "score" for kicking -- if this gets too high then cfail kick @@ -163,7 +161,7 @@ typedef struct textcmdtic_s struct textcmdtic_s *next; } textcmdtic_t; -ticcmd_t netcmds[BACKUPTICS][MAXPLAYERS]; +ticcmd_t netcmds[TICQUEUE][MAXPLAYERS]; static textcmdtic_t *textcmds[TEXTCMD_HASH_SIZE] = {NULL}; @@ -208,21 +206,22 @@ UINT16 software_MAXPACKETLENGTH; /** Guesses the value of a tic from its lowest byte and from maketic * * \param low The lowest byte of the tic value + * \param basetic The last full tic value to compare against * \return The full tic value * */ -tic_t ExpandTics(INT32 low) +tic_t ExpandTics(INT32 low, tic_t basetic) { INT32 delta; - delta = low - (maketic & UINT8_MAX); + delta = low - (basetic & UINT8_MAX); if (delta >= -64 && delta <= 64) - return (maketic & ~UINT8_MAX) + low; + return (basetic & ~UINT8_MAX) + low; else if (delta > 64) - return (maketic & ~UINT8_MAX) - 256 + low; + return (basetic & ~UINT8_MAX) - 256 + low; else //if (delta < -64) - return (maketic & ~UINT8_MAX) + 256 + low; + return (basetic & ~UINT8_MAX) + 256 + low; } // ----------------------------------------------------------------- @@ -467,9 +466,9 @@ static void D_Clearticcmd(tic_t tic) D_FreeTextcmd(tic); for (i = 0; i < MAXPLAYERS; i++) - netcmds[tic%BACKUPTICS][i].angleturn = 0; + netcmds[tic%TICQUEUE][i].angleturn = 0; - DEBFILE(va("clear tic %5u (%2u)\n", tic, tic%BACKUPTICS)); + DEBFILE(va("clear tic %5u (%2u)\n", tic, tic%TICQUEUE)); } void D_ResetTiccmds(void) @@ -1747,7 +1746,7 @@ static void CL_LoadReceivedSavegame(void) save_p = NULL; if (unlink(tmpsave) == -1) CONS_Alert(CONS_ERROR, M_GetText("Can't delete %s\n"), tmpsave); - consistancy[gametic%BACKUPTICS] = Consistancy(); + consistancy[gametic%TICQUEUE] = Consistancy(); CON_ToggleOff(); } #endif @@ -3666,7 +3665,7 @@ void SV_StopServer(void) localtextcmd3[0] = 0; localtextcmd4[0] = 0; - for (i = firstticstosend; i < firstticstosend + BACKUPTICS; i++) + for (i = firstticstosend; i < firstticstosend + TICQUEUE; i++) D_Clearticcmd(i); consoleplayer = 0; @@ -4199,9 +4198,9 @@ static void HandlePacketFromAwayNode(SINT8 node) */ static boolean CheckForSpeedHacks(UINT8 p) { - if (netcmds[maketic%BACKUPTICS][p].forwardmove > MAXPLMOVE || netcmds[maketic%BACKUPTICS][p].forwardmove < -MAXPLMOVE - || netcmds[maketic%BACKUPTICS][p].sidemove > MAXPLMOVE || netcmds[maketic%BACKUPTICS][p].sidemove < -MAXPLMOVE - || netcmds[maketic%BACKUPTICS][p].driftturn > KART_FULLTURN || netcmds[maketic%BACKUPTICS][p].driftturn < -KART_FULLTURN) + if (netcmds[maketic%TICQUEUE][p].forwardmove > MAXPLMOVE || netcmds[maketic%TICQUEUE][p].forwardmove < -MAXPLMOVE + || netcmds[maketic%TICQUEUE][p].sidemove > MAXPLMOVE || netcmds[maketic%TICQUEUE][p].sidemove < -MAXPLMOVE + || netcmds[maketic%TICQUEUE][p].driftturn > KART_FULLTURN || netcmds[maketic%TICQUEUE][p].driftturn < -KART_FULLTURN) { XBOXSTATIC char buf[2]; CONS_Alert(CONS_WARNING, M_GetText("Illegal movement value received from node %d\n"), playernode[p]); @@ -4269,8 +4268,8 @@ FILESTAMP // To save bytes, only the low byte of tic numbers are sent // Use ExpandTics to figure out what the rest of the bytes are - realstart = ExpandTics(netbuffer->u.clientpak.client_tic); - realend = ExpandTics(netbuffer->u.clientpak.resendfrom); + realstart = ExpandTics(netbuffer->u.clientpak.client_tic, nettics[node]); + realend = ExpandTics(netbuffer->u.clientpak.resendfrom, nettics[node]); if (netbuffer->packettype == PT_CLIENTMIS || netbuffer->packettype == PT_CLIENT2MIS || netbuffer->packettype == PT_CLIENT3MIS || netbuffer->packettype == PT_CLIENT4MIS @@ -4307,7 +4306,7 @@ FILESTAMP break; // Copy ticcmd - G_MoveTiccmd(&netcmds[maketic%BACKUPTICS][netconsole], &netbuffer->u.clientpak.cmd, 1); + G_MoveTiccmd(&netcmds[maketic%TICQUEUE][netconsole], &netbuffer->u.clientpak.cmd, 1); // Check ticcmd for "speed hacks" if (CheckForSpeedHacks((UINT8)netconsole)) @@ -4319,7 +4318,7 @@ FILESTAMP || (netbuffer->packettype == PT_CLIENT4CMD || netbuffer->packettype == PT_CLIENT4MIS)) && (nodetoplayer2[node] >= 0)) { - G_MoveTiccmd(&netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer2[node]], + G_MoveTiccmd(&netcmds[maketic%TICQUEUE][(UINT8)nodetoplayer2[node]], &netbuffer->u.client2pak.cmd2, 1); if (CheckForSpeedHacks((UINT8)nodetoplayer2[node])) @@ -4330,7 +4329,7 @@ FILESTAMP || (netbuffer->packettype == PT_CLIENT4CMD || netbuffer->packettype == PT_CLIENT4MIS)) && (nodetoplayer3[node] >= 0)) { - G_MoveTiccmd(&netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer3[node]], + G_MoveTiccmd(&netcmds[maketic%TICQUEUE][(UINT8)nodetoplayer3[node]], &netbuffer->u.client3pak.cmd3, 1); if (CheckForSpeedHacks((UINT8)nodetoplayer3[node])) @@ -4340,7 +4339,7 @@ FILESTAMP if ((netbuffer->packettype == PT_CLIENT4CMD || netbuffer->packettype == PT_CLIENT4MIS) && (nodetoplayer4[node] >= 0)) { - G_MoveTiccmd(&netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer4[node]], + G_MoveTiccmd(&netcmds[maketic%TICQUEUE][(UINT8)nodetoplayer4[node]], &netbuffer->u.client4pak.cmd4, 1); if (CheckForSpeedHacks((UINT8)nodetoplayer4[node])) @@ -4355,8 +4354,8 @@ FILESTAMP break; } // Check player consistancy during the level - if (realstart <= gametic && realstart > gametic - BACKUPTICS+1 && gamestate == GS_LEVEL - && consistancy[realstart%BACKUPTICS] != SHORT(netbuffer->u.clientpak.consistancy)) + if (realstart <= gametic && realstart > gametic - TICQUEUE+1 && gamestate == GS_LEVEL + && consistancy[realstart%TICQUEUE] != SHORT(netbuffer->u.clientpak.consistancy)) { SV_RequireResynch(node); @@ -4365,10 +4364,10 @@ FILESTAMP if (cv_blamecfail.value) CONS_Printf(M_GetText("Synch failure for player %d (%s); expected %hd, got %hd\n"), netconsole+1, player_names[netconsole], - consistancy[realstart%BACKUPTICS], + consistancy[realstart%TICQUEUE], SHORT(netbuffer->u.clientpak.consistancy)); DEBFILE(va("Restoring player %d (synch failure) [%update] %d!=%d\n", - netconsole, realstart, consistancy[realstart%BACKUPTICS], + netconsole, realstart, consistancy[realstart%TICQUEUE], SHORT(netbuffer->u.clientpak.consistancy))); break; } @@ -4380,7 +4379,7 @@ FILESTAMP buf[1] = KICK_MSG_CON_FAIL; SendNetXCmd(XD_KICK, &buf, 2); DEBFILE(va("player %d kicked (synch failure) [%u] %d!=%d\n", - netconsole, realstart, consistancy[realstart%BACKUPTICS], + netconsole, realstart, consistancy[realstart%TICQUEUE], SHORT(netbuffer->u.clientpak.consistancy))); break; } @@ -4455,10 +4454,10 @@ FILESTAMP // search a tic that have enougth space in the ticcmd while ((textcmd = D_GetExistingTextcmd(tic, netconsole)), (TotalTextCmdPerTic(tic) > j || netbuffer->u.textcmd[0] + (textcmd ? textcmd[0] : 0) > MAXTEXTCMD) - && tic < firstticstosend + BACKUPTICS) + && tic < firstticstosend + TICQUEUE) tic++; - if (tic >= firstticstosend + BACKUPTICS) + if (tic >= firstticstosend + TICQUEUE) { DEBFILE(va("GetPacket: Textcmd too long (max %s, used %s, mak %d, " "tosend %u, node %u, player %d)\n", sizeu1(j), sizeu2(TotalTextCmdPerTic(maketic)), @@ -4566,7 +4565,7 @@ FILESTAMP break; } - realstart = ExpandTics(netbuffer->u.serverpak.starttic); + realstart = ExpandTics(netbuffer->u.serverpak.starttic, maketic); realend = realstart + netbuffer->u.serverpak.numtics; if (!txtpak) @@ -4588,7 +4587,7 @@ FILESTAMP D_Clearticcmd(i); // copy the tics - pak = G_ScpyTiccmd(netcmds[i%BACKUPTICS], pak, + pak = G_ScpyTiccmd(netcmds[i%TICQUEUE], pak, netbuffer->u.serverpak.numslots*sizeof (ticcmd_t)); // copy the textcmds @@ -4943,7 +4942,7 @@ static void CL_SendClientCmd(void) { packetsize = sizeof (clientcmd_pak); G_MoveTiccmd(&netbuffer->u.clientpak.cmd, &localcmds, 1); - netbuffer->u.clientpak.consistancy = SHORT(consistancy[gametic%BACKUPTICS]); + netbuffer->u.clientpak.consistancy = SHORT(consistancy[gametic%TICQUEUE]); if (splitscreen || botingame) // Send a special packet with 2 cmd for splitscreen { @@ -5030,20 +5029,23 @@ static void SV_SendTics(void) for (n = 1; n < MAXNETNODES; n++) if (nodeingame[n]) { - lasttictosend = maketic; - // assert supposedtics[n]>=nettics[n] realfirsttic = supposedtics[n]; - if (realfirsttic >= maketic) + lasttictosend = maketic; + + if (lasttictosend - nettics[n] >= BACKUPTICS) + lasttictosend = nettics[n] + BACKUPTICS-1; + + if (realfirsttic >= lasttictosend) { // well we have sent all tics we will so use extrabandwidth // to resent packet that are supposed lost (this is necessary since lost // packet detection work when we have received packet with firsttic > neededtic // (getpacket servertics case) DEBFILE(va("Nothing to send node %u mak=%u sup=%u net=%u \n", - n, maketic, supposedtics[n], nettics[n])); + n, lasttictosend, supposedtics[n], nettics[n])); realfirsttic = nettics[n]; - if (realfirsttic >= maketic || (I_GetTime() + n)&3) + if (realfirsttic >= lasttictosend || (I_GetTime() + n)&3) // all tic are ok continue; DEBFILE(va("Sent %d anyway\n", realfirsttic)); @@ -5093,7 +5095,7 @@ static void SV_SendTics(void) for (i = realfirsttic; i < lasttictosend; i++) { - bufpos = G_DcpyTiccmd(bufpos, netcmds[i%BACKUPTICS], doomcom->numslots * sizeof (ticcmd_t)); + bufpos = G_DcpyTiccmd(bufpos, netcmds[i%TICQUEUE], doomcom->numslots * sizeof (ticcmd_t)); } // add textcmds @@ -5169,16 +5171,16 @@ void SV_SpawnPlayer(INT32 playernum, INT32 x, INT32 y, angle_t angle) for (tic = server ? maketic : (neededtic - 1); tic >= gametic; tic--) { - if (numadjust++ == BACKUPTICS) + if (numadjust++ == TICQUEUE) { DEBFILE(va("SV_SpawnPlayer: All netcmds for player %d adjusted!\n", playernum)); // We already adjusted them all, waste of time doing the same thing over and over // This shouldn't happen normally though, either gametic was 0 (which is handled now anyway) - // or maketic >= gametic + BACKUPTICS + // or maketic >= gametic + TICQUEUE // -- Monster Iestyn 16/01/18 break; } - netcmds[tic%BACKUPTICS][playernum].angleturn = (INT16)((angle>>16) | TICCMD_RECEIVED); + netcmds[tic%TICQUEUE][playernum].angleturn = (INT16)((angle>>16) | TICCMD_RECEIVED); if (!tic) // failsafe for gametic == 0 -- Monster Iestyn 16/01/18 break; @@ -5194,7 +5196,7 @@ static void SV_Maketic(void) if (playerpernode[j]) { INT32 player = nodetoplayer[j]; - if ((netcmds[maketic%BACKUPTICS][player].angleturn & TICCMD_RECEIVED) == 0) + if ((netcmds[maketic%TICQUEUE][player].angleturn & TICCMD_RECEIVED) == 0) { // we didn't receive this tic INT32 i; @@ -5209,8 +5211,8 @@ static void SV_Maketic(void) else if (i == 1) player = nodetoplayer2[j]; else if (i == 2) player = nodetoplayer3[j]; else if (i == 3) player = nodetoplayer4[j]; - netcmds[maketic%BACKUPTICS][player] = netcmds[(maketic-1)%BACKUPTICS][player]; - netcmds[maketic%BACKUPTICS][player].angleturn &= ~TICCMD_RECEIVED; + netcmds[maketic%TICQUEUE][player] = netcmds[(maketic-1)%TICQUEUE][player]; + netcmds[maketic%TICQUEUE][player].angleturn &= ~TICCMD_RECEIVED; } } } @@ -5288,7 +5290,7 @@ void TryRunTics(tic_t realtics) G_Ticker((gametic % NEWTICRATERATIO) == 0); ExtraDataTicker(); gametic++; - consistancy[gametic%BACKUPTICS] = Consistancy(); + consistancy[gametic%TICQUEUE] = Consistancy(); // Leave a certain amount of tics present in the net buffer as long as we've ran at least one tic this frame. if (client && gamestate == GS_LEVEL && leveltime > 3 && neededtic <= gametic + cv_netticbuffer.value) @@ -5367,6 +5369,8 @@ static inline void PingUpdate(void) //make the ping packet and clear server data for next one for (i = 0; i < MAXPLAYERS; i++) { + CONS_Printf("player %d - total pings: %d\n", i, realpingtable[i]); + netbuffer->u.pingtable[i] = realpingtable[i] / pingmeasurecount; //server takes a snapshot of the real ping for display. //otherwise, pings fluctuate a lot and would be odd to look at. @@ -5397,7 +5401,7 @@ static void UpdatePingTable(void) // update node latency values so we can take an average later. for (i = 0; i < MAXPLAYERS; i++) if (playeringame[i]) - realpingtable[i] += G_TicsToMilliseconds(GetLag(playernode[i])); + realpingtable[i] += (INT32)(GetLag(playernode[i]) * (1000.00f/TICRATE)); // TicsToMilliseconds can't handle pings over 1000ms lol pingmeasurecount++; } } @@ -5521,8 +5525,8 @@ FILESTAMP // Do not make tics while resynching if (counts != -666) { - if (maketic + counts >= firstticstosend + BACKUPTICS) - counts = firstticstosend+BACKUPTICS-maketic-1; + if (maketic + counts >= firstticstosend + TICQUEUE) + counts = firstticstosend+TICQUEUE-maketic-1; for (i = 0; i < counts; i++) SV_Maketic(); // Create missed tics and increment maketic diff --git a/src/d_clisrv.h b/src/d_clisrv.h index 66d9e73e..a6ba3499 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -37,6 +37,7 @@ // Networking and tick handling related. #define BACKUPTICS 32 +#define TICQUEUE 512 // more than enough for most timeouts.... #define MAXTEXTCMD 256 // // Packet structure @@ -544,7 +545,7 @@ extern consvar_t cv_netticbuffer, cv_allownewplayer, cv_maxplayers, cv_resynchattempts, cv_blamecfail, cv_maxsend, cv_noticedownload, cv_downloadspeed; // Used in d_net, the only dependence -tic_t ExpandTics(INT32 low); +tic_t ExpandTics(INT32 low, tic_t basetic); void D_ClientServerInit(void); // Initialise the other field diff --git a/src/d_net.c b/src/d_net.c index 94b11d51..8c9c3e95 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -842,7 +842,7 @@ static void DebugPrintpacket(const char *header) size_t ntxtcmd = &((UINT8 *)netbuffer)[doomcom->datalength] - cmd; fprintf(debugfile, " firsttic %u ply %d tics %d ntxtcmd %s\n ", - (UINT32)ExpandTics(serverpak->starttic), serverpak->numslots, serverpak->numtics, sizeu1(ntxtcmd)); + (UINT32)serverpak->starttic, serverpak->numslots, serverpak->numtics, sizeu1(ntxtcmd)); /// \todo Display more readable information about net commands fprintfstringnewline((char *)cmd, ntxtcmd); /*fprintfstring((char *)cmd, 3); @@ -865,8 +865,8 @@ static void DebugPrintpacket(const char *header) case PT_NODEKEEPALIVE: case PT_NODEKEEPALIVEMIS: fprintf(debugfile, " tic %4u resendfrom %u\n", - (UINT32)ExpandTics(netbuffer->u.clientpak.client_tic), - (UINT32)ExpandTics (netbuffer->u.clientpak.resendfrom)); + (UINT32)netbuffer->u.clientpak.client_tic, + (UINT32)netbuffer->u.clientpak.resendfrom); break; case PT_BASICKEEPALIVE: fprintf(debugfile, " keep alive\n"); diff --git a/src/doomstat.h b/src/doomstat.h index 1f855da2..6b8a5ff5 100644 --- a/src/doomstat.h +++ b/src/doomstat.h @@ -549,7 +549,7 @@ extern consvar_t cv_downloading; // allow clients to downloading WADs. extern consvar_t cv_nettimeout; // SRB2Kart: Advanced server options menu extern consvar_t cv_jointimeout; extern consvar_t cv_maxping; -extern ticcmd_t netcmds[BACKUPTICS][MAXPLAYERS]; +extern ticcmd_t netcmds[TICQUEUE][MAXPLAYERS]; extern INT32 serverplayer; extern INT32 adminplayers[MAXPLAYERS]; diff --git a/src/g_game.c b/src/g_game.c index b8a1a3bf..142eb1cd 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -2358,7 +2358,7 @@ void G_Ticker(boolean run) default: I_Error("gameaction = %d\n", gameaction); } - buf = gametic % BACKUPTICS; + buf = gametic % TICQUEUE; if (!demo.playback) // read/write demo and check turbo cheat diff --git a/src/p_setup.c b/src/p_setup.c index bf13971b..e07bc060 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -3328,7 +3328,7 @@ boolean P_SetupLevel(boolean skipprecip) if (loadprecip) // uglier hack { // to make a newly loaded level start on the second frame. - INT32 buf = gametic % BACKUPTICS; + INT32 buf = gametic % TICQUEUE; for (i = 0; i < MAXPLAYERS; i++) { if (playeringame[i]) From 11cba9bd6aefca5ec51a147629066caa3fdbefe8 Mon Sep 17 00:00:00 2001 From: fickleheart Date: Sat, 7 Mar 2020 12:40:45 -0600 Subject: [PATCH 118/245] I'M GONNA PISS MYSELF OF LAUGHER anyway fixed syncbombs --- src/d_clisrv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 88e018d1..3845290e 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -4247,7 +4247,7 @@ FILESTAMP case PT_RESYNCHGET: if (client) break; - SV_AcknowledgeResynchAck(netconsole, netbuffer->u.resynchgot); + SV_AcknowledgeResynchAck(node, netbuffer->u.resynchgot); break; case PT_CLIENTCMD: case PT_CLIENT2CMD: From 428dc42e2dccfdabb395dadc8716dd6387c4e586 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Tue, 10 Mar 2020 10:21:47 +0100 Subject: [PATCH 119/245] Remove debug print --- src/d_clisrv.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 49738ddb..7ae31597 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -5592,7 +5592,6 @@ rewind_t *CL_SaveRewindPoint(size_t demopos) if (!rewind) return NULL; - CONS_Printf("Saving rewind point for time %d\n", leveltime); save_p = rewind->savebuffer; P_SaveNetGame(); rewind->leveltime = leveltime; @@ -5617,7 +5616,6 @@ rewind_t *CL_RewindToTime(tic_t time) if (!rewindhead) return NULL; - CONS_Printf("Restoring rewind to time %d for goal time %d\n", rewindhead->leveltime, time); save_p = rewindhead->savebuffer; P_LoadNetGame(); wipegamestate = gamestate; // No fading back in! From 8c00331c2b6ac811bdb69de98d3a5380acf87ecc Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Tue, 10 Mar 2020 11:53:28 +0100 Subject: [PATCH 120/245] Push consoleplayer and displayplayers to Lua --- src/dehacked.c | 8 +++- src/lua_playerlib.c | 94 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+), 2 deletions(-) diff --git a/src/dehacked.c b/src/dehacked.c index b311a860..e3e5bd74 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -9799,8 +9799,7 @@ static inline int lib_getenum(lua_State *L) if (mathlib) return luaL_error(L, "constant '%s' could not be parsed.\n", word); // DYNAMIC variables too!! - // Try not to add anything that would break netgames or timeattack replays here. - // You know, like consoleplayer, displayplayers, or gametime. + if (fastcmp(word,"gamemap")) { lua_pushinteger(L, gamemap); return 1; @@ -9881,6 +9880,11 @@ static inline int lib_getenum(lua_State *L) return 0; LUA_PushUserdata(L, &players[serverplayer], META_PLAYER); return 1; + } else if (fastcmp(word,"consoleplayer")) { // Player controlling the console, basically our local player + if (consoleplayer < 0 || !playeringame[consoleplayer]) + return 0; + LUA_PushUserdata(L, &players[consoleplayer], META_PLAYER); + return 1; /*} else if (fastcmp(word,"admin")) { LUA_Deprecated(L, "admin", "IsPlayerAdmin(player)"); if (!playeringame[adminplayers[0]] || IsPlayerAdmin(serverplayer)) diff --git a/src/lua_playerlib.c b/src/lua_playerlib.c index 3cca1f91..d9766513 100644 --- a/src/lua_playerlib.c +++ b/src/lua_playerlib.c @@ -81,6 +81,88 @@ static int lib_lenPlayer(lua_State *L) return 1; } +// Same deal as the three functions above but for displayplayers + +static int lib_iterateDisplayplayers(lua_State *L) +{ + INT32 i = -1; + INT32 temp = -1; + INT32 iter = 0; + + if (lua_gettop(L) < 2) + { + //return luaL_error(L, "Don't call displayplayers.iterate() directly, use it as 'for player in displayplayers.iterate do end'."); + lua_pushcfunction(L, lib_iterateDisplayplayers); + return 1; + } + lua_settop(L, 2); + lua_remove(L, 1); // state is unused. + if (!lua_isnil(L, 1)) + { + temp = (INT32)(*((player_t **)luaL_checkudata(L, 1, META_PLAYER)) - players); // get the player # of the last iterated player. + + // @FIXME: + // I didn't quite find a better way for this; Here, we go back to which player in displayplayers we last iterated to resume the for loop below for this new function call + // I don't understand enough about how the Lua stacks work to get this to work in possibly a single line. + // So anyone feel free to correct this! + + for (; iter < MAXSPLITSCREENPLAYERS; iter++) + { + if (displayplayers[iter] == temp) + { + i = iter; + break; + } + } + } + + for (i++; i < MAXSPLITSCREENPLAYERS; i++) + { + if (!playeringame[displayplayers[i]] || i > splitscreen) + return 0; // Stop! There are no more players for us to go through. There will never be a player gap in displayplayers. + + if (!players[displayplayers[i]].mo) + continue; + LUA_PushUserdata(L, &players[displayplayers[i]], META_PLAYER); + lua_pushinteger(L, i); // push this to recall what number we were on for the next function call. I suppose this also means you can retrieve the splitscreen player number with 'for p, n in displayplayers.iterate'! + return 2; + } + return 0; +} + +static int lib_getDisplayplayers(lua_State *L) +{ + const char *field; + // i -> players[i] + if (lua_type(L, 2) == LUA_TNUMBER) + { + lua_Integer i = luaL_checkinteger(L, 2); + if (i < 0 || i >= MAXSPLITSCREENPLAYERS) + return luaL_error(L, "displayplayers[] index %d out of range (0 - %d)", i, MAXSPLITSCREENPLAYERS-1); + if (!playeringame[displayplayers[i]]) + return 0; + if (!players[displayplayers[i]].mo) + return 0; + LUA_PushUserdata(L, &players[displayplayers[i]], META_PLAYER); + return 1; + } + + field = luaL_checkstring(L, 2); + if (fastcmp(field,"iterate")) + { + lua_pushcfunction(L, lib_iterateDisplayplayers); + return 1; + } + return 0; +} + +// #displayplayers -> MAXSPLITSCREENPLAYERS +static int lib_lenDisplayplayers(lua_State *L) +{ + lua_pushinteger(L, MAXSPLITSCREENPLAYERS); + return 1; +} + static int player_get(lua_State *L) { player_t *plr = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); @@ -777,6 +859,18 @@ int LUA_PlayerLib(lua_State *L) lua_setfield(L, -2, "__len"); lua_setmetatable(L, -2); lua_setglobal(L, "players"); + + // push displayplayers in the same fashion + lua_newuserdata(L, 0); + lua_createtable(L, 0, 2); + lua_pushcfunction(L, lib_getDisplayplayers); + lua_setfield(L, -2, "__index"); + + lua_pushcfunction(L, lib_lenDisplayplayers); + lua_setfield(L, -2, "__len"); + lua_setmetatable(L, -2); + lua_setglobal(L, "displayplayers"); + return 0; } From 2e5608d33b5d55ec3223afabbbe6486921d9707d Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Tue, 10 Mar 2020 12:57:30 +0100 Subject: [PATCH 121/245] Push race countdowns and functions to set them --- src/dehacked.c | 12 ++++++------ src/lua_baselib.c | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 6 deletions(-) diff --git a/src/dehacked.c b/src/dehacked.c index e3e5bd74..d6d54b6f 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -9891,18 +9891,12 @@ static inline int lib_getenum(lua_State *L) return 0; LUA_PushUserdata(L, &players[adminplayers[0]], META_PLAYER); return 1;*/ - } else if (fastcmp(word,"emeralds")) { - lua_pushinteger(L, emeralds); - return 1; } else if (fastcmp(word,"gravity")) { lua_pushinteger(L, gravity); return 1; } else if (fastcmp(word,"VERSIONSTRING")) { lua_pushstring(L, VERSIONSTRING); return 1; - } else if (fastcmp(word, "token")) { - lua_pushinteger(L, token); - return 1; } else if (fastcmp(word,"gamespeed")) { lua_pushinteger(L, gamespeed); return 1; @@ -9936,6 +9930,12 @@ static inline int lib_getenum(lua_State *L) } else if (fastcmp(word,"numlaps")) { lua_pushinteger(L, cv_numlaps.value); return 1; + } else if (fastcmp(word,"racecountdown")) { + lua_pushinteger(L, countdown); + return 1; + } else if (fastcmp(word,"exitcountdown")) { + lua_pushinteger(L, countdown2); // This name is pretty dumb. Hence why we'll prefer more descriptive names at least in Lua... + return 1; } return 0; } diff --git a/src/lua_baselib.c b/src/lua_baselib.c index 6700d5af..672b4574 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -2641,6 +2641,41 @@ static int lib_kGetItemPatch(lua_State *L) return 1; } +// sets the remaining time before players blow up +static int lib_kSetRaceCountdown(lua_State *L) +{ + tic_t c = (tic_t)luaL_checkinteger(L, 1); + countdown = c; + return 0; +} + +// sets the remaining time before the race ends after everyone finishes +static int lib_kSetExitCountdown(lua_State *L) +{ + tic_t c = (tic_t)luaL_checkinteger(L, 1); + NOHUD + countdown2 = c; + return 0; +} + +// Sets the item cooldown before another shrink / SPB can be rolled +static int lib_kSetIndirectItemCountdown(lua_State *L) +{ + tic_t c = (tic_t)luaL_checkinteger(L, 1); + NOHUD + indirectitemcooldown = c; + return 0; +} + +// Sets the item cooldown before another shrink / SPB can be rolled +static int lib_kSetHyuCountdown(lua_State *L) +{ + tic_t c = (tic_t)luaL_checkinteger(L, 1); + NOHUD + hyubgone = c; + return 0; +} + static luaL_Reg lib[] = { {"print", lib_print}, {"chatprint", lib_chatprint}, @@ -2868,6 +2903,10 @@ static luaL_Reg lib[] = { {"K_GetKartAccel",lib_kGetKartAccel}, {"K_GetKartFlashing",lib_kGetKartFlashing}, {"K_GetItemPatch",lib_kGetItemPatch}, + {"K_SetRaceCountdown",lib_kSetRaceCountdown}, + {"K_SetExitCountdown",lib_kSetExitCountdown}, + {"K_SetIndirectItemCooldown",lib_kSetIndirectItemCountdown}, + {"K_SetHyudoroCooldown",lib_kSetHyuCountdown}, {NULL, NULL} }; From 63eadaf83c53699490d025fcc16b15622d334c76 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Tue, 10 Mar 2020 18:12:20 +0100 Subject: [PATCH 122/245] Expose CV_FindVar to Lua --- src/command.c | 4 ++-- src/command.h | 3 +++ src/lua_consolelib.c | 25 +++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/command.c b/src/command.c index 6d9c86d3..dff83c2c 100644 --- a/src/command.c +++ b/src/command.c @@ -56,7 +56,7 @@ static void CV_EnforceExecVersion(void); static boolean CV_FilterVarByVersion(consvar_t *v, const char *valstr); static boolean CV_Command(void); -static consvar_t *CV_FindVar(const char *name); +consvar_t *CV_FindVar(const char *name); static const char *CV_StringValue(const char *var_name); static consvar_t *consvar_vars; // list of registered console variables @@ -1027,7 +1027,7 @@ static const char *cv_null_string = ""; * \return Pointer to the variable if found, or NULL. * \sa CV_FindNetVar */ -static consvar_t *CV_FindVar(const char *name) +consvar_t *CV_FindVar(const char *name) { consvar_t *cvar; diff --git a/src/command.h b/src/command.h index 6b5d513e..484cd426 100644 --- a/src/command.h +++ b/src/command.h @@ -173,4 +173,7 @@ void CV_ResetCheatNetVars(void); boolean CV_IsSetToDefault(consvar_t *v); UINT8 CV_CheatsEnabled(void); +// Returns cvar by name. Exposed here for Lua. +consvar_t *CV_FindVar(const char *name); + #endif // __COMMAND_H__ diff --git a/src/lua_consolelib.c b/src/lua_consolelib.c index 299870e0..0c73459c 100644 --- a/src/lua_consolelib.c +++ b/src/lua_consolelib.c @@ -413,6 +413,30 @@ static int lib_cvRegisterVar(lua_State *L) return 1; } +// For some reason I couldn't cherry pick this. +// Credits for this function go to james. All hail birb. -Lat' + +static int lib_cvFindVar(lua_State *L) +{ + consvar_t *cv; + if (( cv = CV_FindVar(luaL_checkstring(L,1)) )) + { + lua_settop(L,1);/* We only want one argument in the stack. */ + lua_pushlightuserdata(L, cv);/* Now the second value on stack. */ + luaL_getmetatable(L, META_CVAR); + /* + The metatable is the last value on the stack, so this + applies it to the second value, which is the cvar. + */ + lua_setmetatable(L,2); + lua_pushvalue(L,2); + return 1; + } + else + return 0; +} + + // CONS_Printf for a single player // Use 'print' in baselib for a global message. static int lib_consPrintf(lua_State *L) @@ -452,6 +476,7 @@ static luaL_Reg lib[] = { {"COM_BufInsertText", lib_comBufInsertText}, {"CV_RegisterVar", lib_cvRegisterVar}, {"CONS_Printf", lib_consPrintf}, + {"CV_FindVar", lib_cvFindVar}, {NULL, NULL} }; From 5202a4f0fd836deda1e74191af04a0a0e84472a9 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Tue, 10 Mar 2020 18:58:44 +0100 Subject: [PATCH 123/245] VoteThinker Hook for Lua --- src/lua_hook.h | 2 ++ src/lua_hooklib.c | 22 ++++++++++++++++++++++ src/y_inter.c | 4 ++++ 3 files changed, 28 insertions(+) diff --git a/src/lua_hook.h b/src/lua_hook.h index e61acdf1..a12998bd 100644 --- a/src/lua_hook.h +++ b/src/lua_hook.h @@ -52,6 +52,7 @@ enum hook { hook_PlayerSquish, //SRB2KART hook_PlayerCmd, //SRB2KART hook_IntermissionThinker, //SRB2KART + hook_VoteThinker, //SRB2KART hook_MAX // last hook }; @@ -101,5 +102,6 @@ boolean LUAh_PlayerSquish(player_t *player, mobj_t *inflictor, mobj_t *source); boolean LUAh_PlayerCmd(player_t *player, ticcmd_t *cmd); // Allows to write to player cmd before the game does anything with them. void LUAh_IntermissionThinker(void); // Hook for Y_Ticker +void LUAh_VoteThinker(void); // Hook for Y_VoteTicker #endif diff --git a/src/lua_hooklib.c b/src/lua_hooklib.c index c15d13a0..009a16dd 100644 --- a/src/lua_hooklib.c +++ b/src/lua_hooklib.c @@ -63,6 +63,7 @@ const char *const hookNames[hook_MAX+1] = { "PlayerSquish", "PlayerCmd", "IntermissionThinker", + "VoteThinker", NULL }; @@ -442,6 +443,27 @@ void LUAh_IntermissionThinker(void) } } +// Hook for Y_VoteTicker +void LUAh_VoteThinker(void) +{ + hook_p hookp; + if (!gL || !(hooksAvailable[hook_VoteThinker/8] & (1<<(hook_VoteThinker%8)))) + return; + + for (hookp = roothook; hookp; hookp = hookp->next) + if (hookp->type == hook_VoteThinker) + { + lua_pushfstring(gL, FMT_HOOKID, hookp->id); + lua_gettable(gL, LUA_REGISTRYINDEX); + if (lua_pcall(gL, 0, 0, 0)) { + if (!hookp->error || cv_debug & DBG_LUA) + CONS_Alert(CONS_WARNING,"%s\n",lua_tostring(gL, -1)); + lua_pop(gL, 1); + hookp->error = true; + } + } +} + // Hook for mobj collisions UINT8 LUAh_MobjCollideHook(mobj_t *thing1, mobj_t *thing2, enum hook which) diff --git a/src/y_inter.c b/src/y_inter.c index 379694a1..29b681f7 100644 --- a/src/y_inter.c +++ b/src/y_inter.c @@ -1251,6 +1251,10 @@ void Y_VoteTicker(void) if (paused || P_AutoPause() || !voteclient.loaded) return; +#ifdef HAVE_BLUA + LUAh_VoteThinker(); +#endif + votetic++; if (votetic == voteendtic) From 168b8ac052f74840555e504f5dd4884f65764952 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Wed, 11 Mar 2020 07:20:11 +0100 Subject: [PATCH 124/245] Bump MAX_WADFILES to 256 --- src/w_wad.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/w_wad.h b/src/w_wad.h index 762d3708..7a41bced 100644 --- a/src/w_wad.h +++ b/src/w_wad.h @@ -77,7 +77,7 @@ typedef struct // ========================================================================= #define MAX_WADPATH 512 -#define MAX_WADFILES 48 // maximum of wad files used at the same time +#define MAX_WADFILES 256 // maximum of wad files used at the same time // (there is a max of simultaneous open files anyway, and this should be plenty) #define lumpcache_t void * From 37c733b8c22be5d72daea1a7e6cfc7ea76e753d9 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Wed, 11 Mar 2020 07:37:33 +0100 Subject: [PATCH 125/245] More explicit var names for countdown and countdown2 --- src/dehacked.c | 4 ++-- src/doomstat.h | 2 +- src/g_game.c | 4 ++-- src/k_kart.c | 4 ++-- src/lua_baselib.c | 4 ++-- src/p_inter.c | 8 ++++---- src/p_saveg.c | 8 ++++---- src/p_setup.c | 2 +- src/p_tick.c | 12 ++++++------ src/p_user.c | 18 +++++++++--------- src/st_stuff.c | 4 ++-- 11 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/dehacked.c b/src/dehacked.c index d6d54b6f..05a8e1b1 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -9931,10 +9931,10 @@ static inline int lib_getenum(lua_State *L) lua_pushinteger(L, cv_numlaps.value); return 1; } else if (fastcmp(word,"racecountdown")) { - lua_pushinteger(L, countdown); + lua_pushinteger(L, racecountdown); return 1; } else if (fastcmp(word,"exitcountdown")) { - lua_pushinteger(L, countdown2); // This name is pretty dumb. Hence why we'll prefer more descriptive names at least in Lua... + lua_pushinteger(L, exitcountdown); // This name is pretty dumb. Hence why we'll prefer more descriptive names at least in Lua... return 1; } return 0; diff --git a/src/doomstat.h b/src/doomstat.h index 1f855da2..b9488bc9 100644 --- a/src/doomstat.h +++ b/src/doomstat.h @@ -448,7 +448,7 @@ extern UINT8 maxXtraLife; // Max extra lives from rings extern mobj_t *hunt1, *hunt2, *hunt3; // Emerald hunt locations // For racing -extern UINT32 countdown, countdown2; +extern tic_t racecountdown, exitcountdown; extern fixed_t gravity; extern fixed_t mapobjectscale; diff --git a/src/g_game.c b/src/g_game.c index b8a1a3bf..678633ce 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -233,7 +233,7 @@ mobj_t *hunt1; mobj_t *hunt2; mobj_t *hunt3; -UINT32 countdown, countdown2; // for racing +tic_t racecountdown, exitcountdown; // for racing fixed_t gravity; fixed_t mapobjectscale; @@ -4583,7 +4583,7 @@ void G_InitNew(UINT8 pencoremode, const char *mapname, boolean resetplayer, bool { // Clear a bunch of variables tokenlist = token = sstimer = redscore = bluescore = lastmap = 0; - countdown = countdown2 = mapreset = 0; + racecountdown = exitcountdown = mapreset = 0; for (i = 0; i < MAXPLAYERS; i++) { diff --git a/src/k_kart.c b/src/k_kart.c index 10d772ba..5a026285 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -8910,9 +8910,9 @@ void K_drawKartHUD(void) if (leveltime >= starttime-(3*TICRATE) && leveltime < starttime+TICRATE) K_drawKartStartCountdown(); - else if (countdown && (!splitscreen || !stplyr->exiting)) + else if (racecountdown && (!splitscreen || !stplyr->exiting)) { - char *countstr = va("%d", countdown/TICRATE); + char *countstr = va("%d", racecountdown/TICRATE); if (splitscreen > 1) V_DrawCenteredString(BASEVIDWIDTH/4, LAPS_Y+1, K_calcSplitFlags(0), countstr); diff --git a/src/lua_baselib.c b/src/lua_baselib.c index 672b4574..32cbbf4f 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -2645,7 +2645,7 @@ static int lib_kGetItemPatch(lua_State *L) static int lib_kSetRaceCountdown(lua_State *L) { tic_t c = (tic_t)luaL_checkinteger(L, 1); - countdown = c; + racecountdown = c; return 0; } @@ -2654,7 +2654,7 @@ static int lib_kSetExitCountdown(lua_State *L) { tic_t c = (tic_t)luaL_checkinteger(L, 1); NOHUD - countdown2 = c; + exitcountdown = c; return 0; } diff --git a/src/p_inter.c b/src/p_inter.c index a910445d..abb12811 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -2036,7 +2036,7 @@ boolean P_CheckRacers(void) if (i == MAXPLAYERS) // finished { - countdown = countdown2 = 0; + racecountdown = exitcountdown = 0; return true; } @@ -2063,13 +2063,13 @@ boolean P_CheckRacers(void) if (j == MAXPLAYERS) // finish anyways, force a time over { P_DoTimeOver(&players[i]); - countdown = countdown2 = 0; + racecountdown = exitcountdown = 0; return true; } } } - if (!countdown) // Check to see if the winners have finished, to set countdown. + if (!racecountdown) // Check to see if the winners have finished, to set countdown. { UINT8 numingame = 0, numexiting = 0; UINT8 winningpos = 1; @@ -2088,7 +2088,7 @@ boolean P_CheckRacers(void) winningpos++; if (numexiting >= winningpos) - countdown = (((netgame || multiplayer) ? cv_countdowntime.value : 30)*TICRATE) + 1; // 30 seconds to finish, get going! + racecountdown = (((netgame || multiplayer) ? cv_countdowntime.value : 30)*TICRATE) + 1; // 30 seconds to finish, get going! } return false; diff --git a/src/p_saveg.c b/src/p_saveg.c index 7d2e9a30..5bbba1f2 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -3264,8 +3264,8 @@ static void P_NetArchiveMisc(void) WRITEINT16(save_p, scrambletotal); WRITEINT16(save_p, scramblecount); - WRITEUINT32(save_p, countdown); - WRITEUINT32(save_p, countdown2); + WRITEUINT32(save_p, racecountdown); + WRITEUINT32(save_p, exitcountdown); WRITEFIXED(save_p, gravity); WRITEFIXED(save_p, mapobjectscale); @@ -3373,8 +3373,8 @@ static inline boolean P_NetUnArchiveMisc(void) scrambletotal = READINT16(save_p); scramblecount = READINT16(save_p); - countdown = READUINT32(save_p); - countdown2 = READUINT32(save_p); + racecountdown = READUINT32(save_p); + exitcountdown = READUINT32(save_p); gravity = READFIXED(save_p); mapobjectscale = READFIXED(save_p); diff --git a/src/p_setup.c b/src/p_setup.c index bf13971b..7814b02b 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -2344,7 +2344,7 @@ static void P_LevelInitStuff(void) players[i].lives = 1; // SRB2Kart #endif - players[i].realtime = countdown = countdown2 = 0; + players[i].realtime = racecountdown = exitcountdown = 0; curlap = bestlap = 0; // SRB2Kart players[i].gotcontinue = false; diff --git a/src/p_tick.c b/src/p_tick.c index 2502c721..0327091e 100644 --- a/src/p_tick.c +++ b/src/p_tick.c @@ -715,15 +715,15 @@ void P_Ticker(boolean run) } } - if (countdown > 1) - countdown--; + if (racecountdown > 1) + racecountdown--; - if (countdown2) - countdown2--; + if (exitcountdown > 1) + exitcountdown--; - if (indirectitemcooldown) + if (indirectitemcooldown > 1) indirectitemcooldown--; - if (hyubgone) + if (hyubgone > 1) hyubgone--; if (G_BattleGametype()) diff --git a/src/p_user.c b/src/p_user.c index ced8b2da..bf3deda2 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -1726,8 +1726,8 @@ void P_DoPlayerExit(player_t *player) P_EndingMusic(player); // SRB2kart 120217 - //if (!countdown2) - //countdown2 = countdown + 8*TICRATE; + //if (!exitcountdown) + //exitcountdown = racecountdown + 8*TICRATE; if (P_CheckRacers()) player->exiting = raceexittime+1; @@ -7087,7 +7087,7 @@ static void P_DeathThink(player_t *player) } // Keep time rolling - if (!(countdown2 && !countdown) && !(player->exiting || mapreset) && !(player->pflags & PF_TIMEOVER)) + if (!(exitcountdown && !racecountdown) && !(player->exiting || mapreset) && !(player->pflags & PF_TIMEOVER)) { if (leveltime >= starttime) { @@ -8057,8 +8057,8 @@ void P_DoTimeOver(player_t *player) P_EndingMusic(player); - if (!countdown2) - countdown2 = 5*TICRATE; + if (!exitcountdown) + exitcountdown = 5*TICRATE; } // @@ -8201,7 +8201,7 @@ void P_PlayerThink(player_t *player) // begin the drown music for countdown! // SRB2Kart: despite how perfect this is, it's disabled FOR A REASON - /*if (countdown == 11*TICRATE - 1) + /*if (racecountdown == 11*TICRATE - 1) { if (P_IsLocalPlayer(player)) S_ChangeMusicInternal("drown", false); @@ -8209,7 +8209,7 @@ void P_PlayerThink(player_t *player) // If you've hit the countdown and you haven't made // it to the exit, you're a goner! - else if (countdown == 1 && !player->exiting && !player->spectator && player->lives > 0) + else if (racecountdown == 1 && !player->exiting && !player->spectator && player->lives > 0) { P_DoTimeOver(player); @@ -8223,10 +8223,10 @@ void P_PlayerThink(player_t *player) if (player->exiting > 1 && (player->exiting < raceexittime+2 || !G_RaceGametype())) // SRB2kart - "&& player->exiting > 1" player->exiting--; - if (player->exiting && countdown2) + if (player->exiting && exitcountdown) player->exiting = 99; // SRB2kart - if (player->exiting == 2 || countdown2 == 2) + if (player->exiting == 2 || exitcountdown == 2) { if (cv_playersforexit.value) // Count to be sure everyone's exited { diff --git a/src/st_stuff.c b/src/st_stuff.c index 50bac3ee..76680133 100644 --- a/src/st_stuff.c +++ b/src/st_stuff.c @@ -1834,7 +1834,7 @@ static void ST_overlayDrawer(void) { patch_t *p; - if (countdown == 1) + if (racecountdown == 1) p = timeover; else p = sboover; @@ -1954,7 +1954,7 @@ static void ST_overlayDrawer(void) if (!hu_showscores && netgame && !mapreset) { - /*if (G_GametypeUsesLives() && stplyr->lives <= 0 && countdown != 1) + /*if (G_GametypeUsesLives() && stplyr->lives <= 0 && racecountdown != 1) V_DrawCenteredString(BASEVIDWIDTH/2, STRINGY(132), 0, M_GetText("Press Viewpoint Key to watch a player.")); else if (gametype == GT_HIDEANDSEEK && (!stplyr->spectator && !(stplyr->pflags & PF_TAGIT)) && (leveltime > hidetime * TICRATE)) From 513c3d1c3ff1cdf9aef2492e29354a24c69339a7 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Wed, 11 Mar 2020 12:34:35 +0100 Subject: [PATCH 126/245] don't set MAX_WADFILES to 256, worst mistake of my life --- src/w_wad.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/w_wad.h b/src/w_wad.h index 7a41bced..ffe63e79 100644 --- a/src/w_wad.h +++ b/src/w_wad.h @@ -77,8 +77,9 @@ typedef struct // ========================================================================= #define MAX_WADPATH 512 -#define MAX_WADFILES 256 // maximum of wad files used at the same time -// (there is a max of simultaneous open files anyway, and this should be plenty) +#define MAX_WADFILES 127 // maximum of wad files used at the same time +// Replay code relies on it being an UINT8 and, just to be safe, in case some wad counter somewhere is a SINT8, you should NOT go above 127 here if you're lazy like me. +// Besides, are there truly 127 wads worth your interrest? #define lumpcache_t void * From dabed0cd50671dc8a9c8cc28badf8af771aa4c09 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Wed, 11 Mar 2020 19:33:22 +0100 Subject: [PATCH 127/245] Attempt to fix replay loading crash --- bin/Mingw/Release/stmlls0b | Bin 0 -> 4034780 bytes src/lua_script.c | 15 ++++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 bin/Mingw/Release/stmlls0b diff --git a/bin/Mingw/Release/stmlls0b b/bin/Mingw/Release/stmlls0b new file mode 100644 index 0000000000000000000000000000000000000000..9db9efef52a456fb57fcfc638d61ae5e2e752abc GIT binary patch literal 4034780 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�ZQZZbXdM$T8F^BW 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

CzMUzJ}$^{&7QpBNN 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

tjC^ZjdkjviF{xSHJtO1Q@djzYN)Yc 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

2QG$rIPHf_7)dm& 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�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�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

~Z>ziQx60CoM4M?zo2{tIf_*_4$?R>7E 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%0DpjX2A-$T6b8VzupjP#b0*3r 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%0D4CA+x~YIFKF**!qem{r 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

beh=R6T>BY(#@ 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

~6nCyXMaNA~ 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� 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%0D8O2xY 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

q}7Lxrr>~s# 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 P8kJqZa-<+7Se`M5+N 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 r0IjhJ?38dnN2(>Wi!_|V$+8Y()Pu(vnEVoP@~A Date: Wed, 11 Mar 2020 19:53:52 +0100 Subject: [PATCH 128/245] Remove debug prints --- src/d_clisrv.c | 2 +- src/lua_script.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index fa1b7a17..e09518e7 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -5369,7 +5369,7 @@ static inline void PingUpdate(void) //make the ping packet and clear server data for next one for (i = 0; i < MAXPLAYERS; i++) { - CONS_Printf("player %d - total pings: %d\n", i, realpingtable[i]); + //CONS_Printf("player %d - total pings: %d\n", i, realpingtable[i]); netbuffer->u.pingtable[i] = realpingtable[i] / pingmeasurecount; //server takes a snapshot of the real ping for display. diff --git a/src/lua_script.c b/src/lua_script.c index 1a5b9726..84dfdb79 100644 --- a/src/lua_script.c +++ b/src/lua_script.c @@ -1382,7 +1382,7 @@ static void UnArchiveExtVarsDemo(void *pointer) for (i = 0; i < field_count; i++) { READSTRING(demo_p, field); - CONS_Printf("%s\n", field); + //CONS_Printf("%s\n", field); UnArchiveValueDemo(TABLESINDEX); lua_setfield(gL, -2, field); } From 20f4dc12b32efc6dd890a6057d03cac1f2facf89 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Wed, 11 Mar 2020 15:03:12 -0400 Subject: [PATCH 129/245] What the fuck how did this get here --- bin/Mingw/Release/stmlls0b | Bin 4034780 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/Mingw/Release/stmlls0b diff --git a/bin/Mingw/Release/stmlls0b b/bin/Mingw/Release/stmlls0b deleted file mode 100644 index 9db9efef52a456fb57fcfc638d61ae5e2e752abc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4034780 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�ZQZZbXdM$T8F^BW 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

CzMUzJ}$^{&7QpBNN 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

tjC^ZjdkjviF{xSHJtO1Q@djzYN)Yc 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

2QG$rIPHf_7)dm& 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�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�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

~Z>ziQx60CoM4M?zo2{tIf_*_4$?R>7E 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%0DpjX2A-$T6b8VzupjP#b0*3r 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%0D4CA+x~YIFKF**!qem{r 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

beh=R6T>BY(#@ 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

~6nCyXMaNA~ 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� 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%0D8O2xY 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

q}7Lxrr>~s# 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 P8kJqZa-<+7Se`M5+N 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 r0IjhJ?38dnN2(>Wi!_|V$+8Y()Pu(vnEVoP@~A Date: Thu, 12 Mar 2020 15:31:58 +0100 Subject: [PATCH 130/245] Fix Demo lua archive crash for real this time --- src/lua_script.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/lua_script.c b/src/lua_script.c index 930da7f3..aa6a5652 100644 --- a/src/lua_script.c +++ b/src/lua_script.c @@ -1247,6 +1247,14 @@ static UINT8 UnArchiveValue(int TABLESINDEX) return 0; } + +// Unarchives from demo_p: +// Return values: +// 0: Normal +// 1: Read table key +// 2: Read table value +// 3: Don't use setfield + static UINT8 UnArchiveValueDemo(int TABLESINDEX, char field[1024]) { UINT8 type = READUINT8(demo_p); @@ -1305,7 +1313,8 @@ static UINT8 UnArchiveValueDemo(int TABLESINDEX, char field[1024]) else CONS_Alert(CONS_WARNING,"Couldn't read mobj_t\n"); - break; + return 3; // Don't set the field + case ARCH_PLAYER: LUA_PushUserdata(gL, &players[READUINT8(demo_p)], META_PLAYER); break; @@ -1387,10 +1396,8 @@ static void UnArchiveExtVarsDemo(void *pointer) for (i = 0; i < field_count; i++) { READSTRING(demo_p, field); - //CONS_Printf("%s\n", field); - CONS_Printf("%s\n", field); - UnArchiveValueDemo(TABLESINDEX, field); - lua_setfield(gL, -2, field); + if (UnArchiveValueDemo(TABLESINDEX, field) != 3) // This will return 3 if we shouldn't set this field. + lua_setfield(gL, -2, field); } lua_getfield(gL, LUA_REGISTRYINDEX, LREG_EXTVARS); From 44f45d6d2835e3a82336d38229e181c7946f8548 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Thu, 12 Mar 2020 16:03:12 +0100 Subject: [PATCH 131/245] Fix Lua crashes when loading without addons --- src/g_game.c | 6 ++++++ src/lua_script.c | 2 +- src/lua_script.h | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/g_game.c b/src/g_game.c index 352a6084..4fce4db8 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -45,6 +45,7 @@ #include "dehacked.h" // get_number (for ghost thok) #include "lua_script.h" // LUA_ArchiveDemo and LUA_UnArchiveDemo #include "lua_hook.h" +#include "lua_libs.h" // gL (Lua state) #include "b_bot.h" #include "m_cond.h" // condition sets #include "md5.h" // demo checksums @@ -7538,7 +7539,12 @@ void G_DoPlayDemo(char *defdemoname) // so this is where we are to read our lua variables (if possible!) #ifdef HAVE_BLUA if (demoflags & DF_LUAVARS) // again, used for compability, lua shit will be saved to replays regardless of if it's even been loaded + { + if (!gL) // No Lua state! ...I guess we'll just start one... + LUA_ClearState(); + LUA_UnArchiveDemo(); + } #endif splitscreen = 0; diff --git a/src/lua_script.c b/src/lua_script.c index aa6a5652..6961f2e9 100644 --- a/src/lua_script.c +++ b/src/lua_script.c @@ -112,7 +112,7 @@ static int noglobals(lua_State *L) // Clear and create a new Lua state, laddo! // There's SCRIPTIN to be had! -static void LUA_ClearState(void) +void LUA_ClearState(void) { lua_State *L; int i; diff --git a/src/lua_script.h b/src/lua_script.h index dffd39c4..b3ca16bc 100644 --- a/src/lua_script.h +++ b/src/lua_script.h @@ -38,6 +38,8 @@ void LUA_ClearExtVars(void); #endif +void LUA_ClearState(void); + void LUA_LoadLump(UINT16 wad, UINT16 lump); #ifdef LUA_ALLOW_BYTECODE void LUA_DumpFile(const char *filename); From 245ac5565443109fb5832a14c6ae2cf6fc3cf881 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Fri, 13 Mar 2020 13:50:22 +0100 Subject: [PATCH 132/245] This flag shouldn't have been applied there --- src/p_enemy.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/p_enemy.c b/src/p_enemy.c index b1c53883..398b8dad 100644 --- a/src/p_enemy.c +++ b/src/p_enemy.c @@ -4022,6 +4022,9 @@ static inline boolean PIT_MineExplode(mobj_t *thing) if (G_BattleGametype() && grenade->target && grenade->target->player && grenade->target->player->kartstuff[k_bumper] <= 0 && thing == grenade->target) return true; + if (thing->player && thing->player->powers[pw_flashing] == K_GetKartFlashing(thing->player)) // we literally got bombed that frame + return true; + // see if it went over / under if (grenade->z - explodedist > thing->z + thing->height) return true; // overhead @@ -4032,8 +4035,6 @@ static inline boolean PIT_MineExplode(mobj_t *thing) thing->z - grenade->z) > explodedist) return true; // Too far away - grenade->flags2 |= MF2_DEBRIS; - if (thing->player) // Looks like we're going to have to need a seperate function for this too K_ExplodePlayer(thing->player, grenade->target, grenade); else @@ -4080,6 +4081,8 @@ void A_MineExplode(mobj_t *actor) K_SpawnMineExplosion(actor, SKINCOLOR_KETCHUP); P_SpawnMobj(actor->x, actor->y, actor->z, MT_MINEEXPLOSIONSOUND); + + actor->flags2 |= MF2_DEBRIS; // Set this flag to ensure that the explosion won't be effective more than 1 frame. } //} From 549eabe9e4c2ea33b74d82e834875bd44922bdc2 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Sun, 22 Mar 2020 13:08:46 +0100 Subject: [PATCH 133/245] I'm dumb, don't check for flashtics here... --- src/p_enemy.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/p_enemy.c b/src/p_enemy.c index 398b8dad..832be2c2 100644 --- a/src/p_enemy.c +++ b/src/p_enemy.c @@ -4022,9 +4022,6 @@ static inline boolean PIT_MineExplode(mobj_t *thing) if (G_BattleGametype() && grenade->target && grenade->target->player && grenade->target->player->kartstuff[k_bumper] <= 0 && thing == grenade->target) return true; - if (thing->player && thing->player->powers[pw_flashing] == K_GetKartFlashing(thing->player)) // we literally got bombed that frame - return true; - // see if it went over / under if (grenade->z - explodedist > thing->z + thing->height) return true; // overhead From 9395a0f5fc427bdec52a37e0ddb27af860f419c2 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 5 Apr 2020 07:03:49 -0500 Subject: [PATCH 134/245] Record attack only linedef exec --- src/p_spec.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/p_spec.c b/src/p_spec.c index f221227b..4ddb3157 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -1944,6 +1944,7 @@ boolean P_RunTriggerLinedef(line_t *triggerline, mobj_t *actor, sector_t *caller || specialtype == 318 // Unlockable trigger - Once || specialtype == 320 // Unlockable - Once || specialtype == 321 || specialtype == 322 // Trigger on X calls - Continuous + Each Time + || specialtype == 323 // Record attack only - Once || specialtype == 328 // Encore Load || specialtype == 399) // Level Load triggerline->special = 0; // Clear it out @@ -6558,6 +6559,12 @@ void P_SpawnSpecials(INT32 fromnetsave) P_AddEachTimeThinker(§ors[sec], &lines[i]); } break; + // Record attack only linedef exec + case 323: + case 324: + if (!modeattacking) + lines[i].special = 0; + break; case 328: // Encore-only linedef execute on map load if (!encoremode) From 88a6b6b2f429ba8dd578c55bc941047fefe72265 Mon Sep 17 00:00:00 2001 From: Sally Cochenour Date: Mon, 16 Mar 2020 04:24:32 -0400 Subject: [PATCH 135/245] Slow down backwards spikeballs (again) --- src/k_kart.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index 43c6c7cc..75c0c39b 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -3159,11 +3159,11 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map if (dir == -1) { // Shoot backward - mo = K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 - 0x06000000, 0, PROJSPEED/4); - K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 - 0x03000000, 0, PROJSPEED/4); - K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180, 0, PROJSPEED/4); - K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 + 0x03000000, 0, PROJSPEED/4); - K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 + 0x06000000, 0, PROJSPEED/4); + mo = K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 - 0x06000000, 0, PROJSPEED/16); + K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 - 0x03000000, 0, PROJSPEED/16); + K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180, 0, PROJSPEED/16); + K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 + 0x03000000, 0, PROJSPEED/16); + K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 + 0x06000000, 0, PROJSPEED/16); } else { @@ -3180,7 +3180,7 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map if (dir == -1 && mapthing != MT_SPB) { // Shoot backward - mo = K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180, 0, PROJSPEED/2); + mo = K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180, 0, PROJSPEED/8); } else { From 49842c37cde7c11cdcb7e5796c65fe315ff164ef Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 5 Apr 2020 07:03:49 -0500 Subject: [PATCH 136/245] Record attack only linedef exec --- src/p_spec.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/p_spec.c b/src/p_spec.c index f221227b..4ddb3157 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -1944,6 +1944,7 @@ boolean P_RunTriggerLinedef(line_t *triggerline, mobj_t *actor, sector_t *caller || specialtype == 318 // Unlockable trigger - Once || specialtype == 320 // Unlockable - Once || specialtype == 321 || specialtype == 322 // Trigger on X calls - Continuous + Each Time + || specialtype == 323 // Record attack only - Once || specialtype == 328 // Encore Load || specialtype == 399) // Level Load triggerline->special = 0; // Clear it out @@ -6558,6 +6559,12 @@ void P_SpawnSpecials(INT32 fromnetsave) P_AddEachTimeThinker(§ors[sec], &lines[i]); } break; + // Record attack only linedef exec + case 323: + case 324: + if (!modeattacking) + lines[i].special = 0; + break; case 328: // Encore-only linedef execute on map load if (!encoremode) From 4d477d1aeded6108104e60e69be9b6375d3a4575 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 5 Apr 2020 12:09:44 -0500 Subject: [PATCH 137/245] Reimplement the MusicChange hook why the fuck was this removed --- src/lua_hook.h | 7 +++++ src/lua_hooklib.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++ src/lua_script.h | 2 ++ 3 files changed, 75 insertions(+) diff --git a/src/lua_hook.h b/src/lua_hook.h index a12998bd..afe9b317 100644 --- a/src/lua_hook.h +++ b/src/lua_hook.h @@ -44,6 +44,9 @@ enum hook { hook_HurtMsg, hook_PlayerSpawn, hook_PlayerQuit, +#ifdef HAVE_LUA_MUSICPLUS + hook_MusicChange, +#endif hook_ShouldSpin, //SRB2KART hook_ShouldExplode, //SRB2KART hook_ShouldSquish, //SRB2KART @@ -90,6 +93,10 @@ boolean LUAh_PlayerMsg(int source, int target, int flags, char *msg, int mute); boolean LUAh_HurtMsg(player_t *player, mobj_t *inflictor, mobj_t *source); // Hook for hurt messages #define LUAh_PlayerSpawn(player) LUAh_PlayerHook(player, hook_PlayerSpawn) // Hook for G_SpawnPlayer void LUAh_PlayerQuit(player_t *plr, int reason); // Hook for player quitting +#ifdef HAVE_LUA_MUSICPLUS +boolean LUAh_MusicChange(const char *oldname, char *newname, UINT16 *mflags, boolean *looping, + UINT32 *position, UINT32 *prefadems, UINT32 *fadeinms); // Hook for music changes +#endif UINT8 LUAh_ShouldSpin(player_t *player, mobj_t *inflictor, mobj_t *source); // SRB2KART: Should player be spun out? UINT8 LUAh_ShouldExplode(player_t *player, mobj_t *inflictor, mobj_t *source); // SRB2KART: Should player be exploded? diff --git a/src/lua_hooklib.c b/src/lua_hooklib.c index 009a16dd..3f4ae987 100644 --- a/src/lua_hooklib.c +++ b/src/lua_hooklib.c @@ -55,6 +55,9 @@ const char *const hookNames[hook_MAX+1] = { "HurtMsg", "PlayerSpawn", "PlayerQuit", +#ifdef HAVE_LUA_MUSICPLUS + "MusicChange", +#endif "ShouldSpin", "ShouldExplode", "ShouldSquish", @@ -1213,6 +1216,69 @@ void LUAh_PlayerQuit(player_t *plr, int reason) lua_settop(gL, 0); } +#ifdef HAVE_LUA_MUSICPLUS + +// Hook for music changes +boolean LUAh_MusicChange(const char *oldname, char *newname, UINT16 *mflags, boolean *looping, + UINT32 *position, UINT32 *prefadems, UINT32 *fadeinms) +{ + hook_p hookp; + boolean hooked = false; + + if (!gL || !(hooksAvailable[hook_MusicChange/8] & (1<<(hook_MusicChange%8)))) + return false; + + lua_settop(gL, 0); + + for (hookp = roothook; hookp; hookp = hookp->next) + if (hookp->type == hook_MusicChange) + { + lua_pushfstring(gL, FMT_HOOKID, hookp->id); + lua_gettable(gL, LUA_REGISTRYINDEX); + lua_pushstring(gL, oldname); + lua_pushstring(gL, newname); + lua_pushinteger(gL, *mflags); + lua_pushboolean(gL, *looping); + lua_pushinteger(gL, *position); + lua_pushinteger(gL, *prefadems); + lua_pushinteger(gL, *fadeinms); + if (lua_pcall(gL, 7, 6, 0)) { + CONS_Alert(CONS_WARNING,"%s\n",lua_tostring(gL,-1)); + lua_pop(gL, 1); + continue; + } + + // output 1: true, false, or string musicname override + if (lua_isboolean(gL, -6) && lua_toboolean(gL, -6)) + hooked = true; + else if (lua_isstring(gL, -6)) + strncpy(newname, lua_tostring(gL, -6), 7); + // output 2: mflags override + if (lua_isnumber(gL, -5)) + *mflags = lua_tonumber(gL, -5); + // output 3: looping override + if (lua_isboolean(gL, -4)) + *looping = lua_toboolean(gL, -4); + // output 4: position override + if (lua_isboolean(gL, -3)) + *position = lua_tonumber(gL, -3); + // output 5: prefadems override + if (lua_isboolean(gL, -2)) + *prefadems = lua_tonumber(gL, -2); + // output 6: fadeinms override + if (lua_isboolean(gL, -1)) + *fadeinms = lua_tonumber(gL, -1); + + lua_pop(gL, 6); + } + + lua_settop(gL, 0); + newname[6] = 0; + return hooked; +} + +#endif + // Hook for K_SpinPlayer. Determines if yes or no we should get damaged reguardless of circumstances. UINT8 LUAh_ShouldSpin(player_t *player, mobj_t *inflictor, mobj_t *source) { diff --git a/src/lua_script.h b/src/lua_script.h index b3ca16bc..1d49413b 100644 --- a/src/lua_script.h +++ b/src/lua_script.h @@ -98,4 +98,6 @@ void COM_Lua_f(void); }\ } +#define HAVE_LUA_MUSICPLUS + #endif From 5edfa412cd6b3143f5813e770bff7108555fe342 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 5 Apr 2020 07:03:49 -0500 Subject: [PATCH 138/245] Record attack only linedef exec --- src/p_spec.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/p_spec.c b/src/p_spec.c index f221227b..4ddb3157 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -1944,6 +1944,7 @@ boolean P_RunTriggerLinedef(line_t *triggerline, mobj_t *actor, sector_t *caller || specialtype == 318 // Unlockable trigger - Once || specialtype == 320 // Unlockable - Once || specialtype == 321 || specialtype == 322 // Trigger on X calls - Continuous + Each Time + || specialtype == 323 // Record attack only - Once || specialtype == 328 // Encore Load || specialtype == 399) // Level Load triggerline->special = 0; // Clear it out @@ -6558,6 +6559,12 @@ void P_SpawnSpecials(INT32 fromnetsave) P_AddEachTimeThinker(§ors[sec], &lines[i]); } break; + // Record attack only linedef exec + case 323: + case 324: + if (!modeattacking) + lines[i].special = 0; + break; case 328: // Encore-only linedef execute on map load if (!encoremode) From cedc79fd4b24c97825dc06480f0f267bc4ae1866 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 5 Apr 2020 16:11:30 -0500 Subject: [PATCH 139/245] Fix packet type desync --- src/d_net.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/d_net.c b/src/d_net.c index b849612b..2eb6f094 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -1159,7 +1159,8 @@ boolean HGetPacket(void) || netbuffer->packettype == PT_PLAYERINFO || netbuffer->packettype == PT_REQUESTFILE || netbuffer->packettype == PT_ASKINFOVIAMS - || netbuffer->packettype == PT_CLIENTJOIN)) + || netbuffer->packettype == PT_CLIENTJOIN + || netbuffer->packettype == PT_TELLFILESNEEDED)) { DEBFILE(va("New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype])); CONS_Alert(CONS_NOTICE, "New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype]); From 78bc80fd4991882db7b4f00ffc00fc1c6d5b9c92 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 5 Apr 2020 17:01:40 -0500 Subject: [PATCH 140/245] PT_CLIENTCMD test --- src/d_net.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/d_net.c b/src/d_net.c index 2eb6f094..d794adb5 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -1160,7 +1160,8 @@ boolean HGetPacket(void) || netbuffer->packettype == PT_REQUESTFILE || netbuffer->packettype == PT_ASKINFOVIAMS || netbuffer->packettype == PT_CLIENTJOIN - || netbuffer->packettype == PT_TELLFILESNEEDED)) + || netbuffer->packettype == PT_TELLFILESNEEDED + || netbuffer->packettype == PT_CLIENTCMD)) { DEBFILE(va("New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype])); CONS_Alert(CONS_NOTICE, "New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype]); From 49a1037f6b0d8bc50922805cbb051c0dec3718a5 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 5 Apr 2020 17:18:22 -0500 Subject: [PATCH 141/245] Revert "PT_CLIENTCMD test" This reverts commit 78bc80fd4991882db7b4f00ffc00fc1c6d5b9c92. --- src/d_net.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/d_net.c b/src/d_net.c index d794adb5..2eb6f094 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -1160,8 +1160,7 @@ boolean HGetPacket(void) || netbuffer->packettype == PT_REQUESTFILE || netbuffer->packettype == PT_ASKINFOVIAMS || netbuffer->packettype == PT_CLIENTJOIN - || netbuffer->packettype == PT_TELLFILESNEEDED - || netbuffer->packettype == PT_CLIENTCMD)) + || netbuffer->packettype == PT_TELLFILESNEEDED)) { DEBFILE(va("New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype])); CONS_Alert(CONS_NOTICE, "New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype]); From 24063029110e780d0535a6285699e887a0d0afe8 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 5 Apr 2020 18:57:47 -0500 Subject: [PATCH 142/245] Potentially fix join passwords --- src/d_clisrv.c | 11 ++++++++++- src/d_net.c | 12 ++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index bb7a5355..44b08cca 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1147,6 +1147,7 @@ static UINT8 cl_challengequestion[MD5_LEN+1]; static char cl_challengepassword[65]; static UINT8 cl_challengeanswer[MD5_LEN+1]; static UINT8 cl_challengeattempted = 0; +static char cl_challengeaddress[64]; // Player name send/load @@ -2275,6 +2276,8 @@ boolean CL_Responder(event_t *ev) #ifndef NONET SL_ClearServerList(servernode); + if (I_NetMakeNodewPort) + servernode = I_NetMakeNode(cl_challengeaddress); #endif cl_mode = CL_SEARCHING; @@ -3794,7 +3797,7 @@ static void HandleConnect(SINT8 node) D_MakeJoinPasswordChallenge(&netbuffer->u.joinchallenge.challengenum, netbuffer->u.joinchallenge.question); netbuffer->packettype = PT_JOINCHALLENGE; - HSendPacket(node, true, 0, sizeof(joinchallenge_pak)); + HSendPacket(node, false, 0, sizeof(joinchallenge_pak)); Net_CloseConnection(node); return; @@ -4017,6 +4020,8 @@ static void HandlePacketFromAwayNode(SINT8 node) cl_challengenum = netbuffer->u.joinchallenge.challengenum; memcpy(cl_challengequestion, netbuffer->u.joinchallenge.question, 16); + if (I_GetNodeAddress) + strcpy(cl_challengeaddress, I_GetNodeAddress(node)); Net_CloseConnection(node); // Don't need to stay connected while challenging cl_mode = CL_CHALLENGE; @@ -4026,6 +4031,10 @@ static void HandlePacketFromAwayNode(SINT8 node) case 2: // We already sent a correct password, so throw it back up again. D_ComputeChallengeAnswer(cl_challengequestion, cl_challengepassword, cl_challengeanswer); +#ifndef NONET + if (I_NetMakeNodewPort) + servernode = I_NetMakeNode(cl_challengeaddress); +#endif cl_mode = CL_ASKJOIN; break; diff --git a/src/d_net.c b/src/d_net.c index 2eb6f094..02f4b23d 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -781,6 +781,8 @@ static const char *packettypename[NUMPACKETTYPE] = { "NOTHING", "SERVERCFG", + + "CLIENTCMD", "CLIENTMIS", "CLIENT2CMD", @@ -801,6 +803,9 @@ static const char *packettypename[NUMPACKETTYPE] = "RESYNCHEND", "RESYNCHGET", + + + "CLIENT3CMD", "CLIENT3MIS", "CLIENT4CMD", @@ -811,13 +816,20 @@ static const char *packettypename[NUMPACKETTYPE] = "DOWNLOADFILESOKAY", "FILEFRAGMENT", + "TEXTCMD", "TEXTCMD2", "TEXTCMD3", "TEXTCMD4", + "CLIENTJOIN", "NODETIMEOUT", "RESYNCHING", + + + "TELLFILESNEEDED", + "MOREFILESNEEDED", + "PING" }; From 59df0c1187f72e4aea77eaf12cf485741287f9d0 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Tue, 7 Apr 2020 02:56:45 -0500 Subject: [PATCH 143/245] Revert the removal of S_MusicExists --- src/lua_baselib.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/lua_baselib.c b/src/lua_baselib.c index 32cbbf4f..ece8fba3 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -1888,6 +1888,42 @@ static int lib_sSpeedMusic(lua_State *L) return 0; } +static int lib_sMusicExists(lua_State *L) +{ + boolean checkMIDI = lua_opttrueboolean(L, 2); + boolean checkDigi = lua_opttrueboolean(L, 3); +#ifdef MUSICSLOT_COMPATIBILITY + const char *music_name; + UINT32 music_num; + char music_compat_name[7]; + UINT16 music_flags = 0; + NOHUD + if (lua_isnumber(L, 1)) + { + music_num = (UINT32)luaL_checkinteger(L, 1); + music_flags = (UINT16)(music_num & 0x0000FFFF); + if (music_flags && music_flags <= 1035) + snprintf(music_compat_name, 7, "%sM", G_BuildMapName((INT32)music_flags)); + else if (music_flags && music_flags <= 1050) + strncpy(music_compat_name, compat_special_music_slots[music_flags - 1036], 7); + else + music_compat_name[0] = 0; // becomes empty string + music_compat_name[6] = 0; + music_name = (const char *)&music_compat_name; + } + else + { + music_num = 0; + music_name = luaL_checkstring(L, 1); + } +#else + const char *music_name = luaL_checkstring(L, 1); +#endif + NOHUD + lua_pushboolean(L, S_MusicExists(music_name, checkMIDI, checkDigi)); + return 1; +} + static int lib_sStopMusic(lua_State *L) { player_t *player = NULL; @@ -2837,6 +2873,7 @@ static luaL_Reg lib[] = { {"S_ShowMusicCredit",lib_sShowMusicCredit}, {"S_ChangeMusic",lib_sChangeMusic}, {"S_SpeedMusic",lib_sSpeedMusic}, + {"S_MusicExists",lib_sMusicExists}, {"S_StopMusic",lib_sStopMusic}, {"S_SetInternalMusicVolume", lib_sSetInternalMusicVolume}, {"S_StopFadingMusic",lib_sStopFadingMusic}, From d4c69f137a5e922df67c1496743d12a83c0e4ff3 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Tue, 7 Apr 2020 04:25:11 -0500 Subject: [PATCH 144/245] Fix unterminated #ifdef --- src/lua_baselib.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lua_baselib.c b/src/lua_baselib.c index 99e21a64..e49b0898 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -3133,6 +3133,7 @@ static luaL_Reg lib[] = { {"S_StopFadingMusic",lib_sStopFadingMusic}, {"S_FadeMusic",lib_sFadeMusic}, {"S_FadeOutStopMusic",lib_sFadeOutStopMusic}, +#endif {"S_OriginPlaying",lib_sOriginPlaying}, {"S_IdPlaying",lib_sIdPlaying}, {"S_SoundPlaying",lib_sSoundPlaying}, From 95e7e59179b6d5ea2b1d91641f993e150cc35fdd Mon Sep 17 00:00:00 2001 From: Wolfy Date: Tue, 7 Apr 2020 05:24:38 -0500 Subject: [PATCH 145/245] Remove stupid dumbfuck #ifdefs WHY THE FUCK DID THESE BREAK IT AAAAAAAAAAAAAAAAAAA --- src/lua_baselib.c | 4 ---- src/lua_hook.h | 4 ---- src/lua_hooklib.c | 6 ------ src/lua_script.h | 2 -- src/s_sound.c | 4 ++-- 5 files changed, 2 insertions(+), 18 deletions(-) diff --git a/src/lua_baselib.c b/src/lua_baselib.c index e49b0898..d7292cd6 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -1898,7 +1898,6 @@ static int lib_sSpeedMusic(lua_State *L) return 1; } -#ifdef HAVE_LUA_MUSICPLUS static int lib_sMusicType(lua_State *L) { player_t *player = NULL; @@ -2283,7 +2282,6 @@ static int lib_sFadeOutStopMusic(lua_State *L) return 1; } -#endif static int lib_sOriginPlaying(lua_State *L) { void *origin = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ)); @@ -3114,7 +3112,6 @@ static luaL_Reg lib[] = { {"S_ShowMusicCredit",lib_sShowMusicCredit}, {"S_ChangeMusic",lib_sChangeMusic}, {"S_SpeedMusic",lib_sSpeedMusic}, -#ifdef HAVE_LUA_MUSICPLUS {"S_MusicType",lib_sMusicType}, {"S_MusicPlaying",lib_sMusicPlaying}, {"S_MusicPaused",lib_sMusicPaused}, @@ -3133,7 +3130,6 @@ static luaL_Reg lib[] = { {"S_StopFadingMusic",lib_sStopFadingMusic}, {"S_FadeMusic",lib_sFadeMusic}, {"S_FadeOutStopMusic",lib_sFadeOutStopMusic}, -#endif {"S_OriginPlaying",lib_sOriginPlaying}, {"S_IdPlaying",lib_sIdPlaying}, {"S_SoundPlaying",lib_sSoundPlaying}, diff --git a/src/lua_hook.h b/src/lua_hook.h index afe9b317..6af3941f 100644 --- a/src/lua_hook.h +++ b/src/lua_hook.h @@ -44,9 +44,7 @@ enum hook { hook_HurtMsg, hook_PlayerSpawn, hook_PlayerQuit, -#ifdef HAVE_LUA_MUSICPLUS hook_MusicChange, -#endif hook_ShouldSpin, //SRB2KART hook_ShouldExplode, //SRB2KART hook_ShouldSquish, //SRB2KART @@ -93,10 +91,8 @@ boolean LUAh_PlayerMsg(int source, int target, int flags, char *msg, int mute); boolean LUAh_HurtMsg(player_t *player, mobj_t *inflictor, mobj_t *source); // Hook for hurt messages #define LUAh_PlayerSpawn(player) LUAh_PlayerHook(player, hook_PlayerSpawn) // Hook for G_SpawnPlayer void LUAh_PlayerQuit(player_t *plr, int reason); // Hook for player quitting -#ifdef HAVE_LUA_MUSICPLUS boolean LUAh_MusicChange(const char *oldname, char *newname, UINT16 *mflags, boolean *looping, UINT32 *position, UINT32 *prefadems, UINT32 *fadeinms); // Hook for music changes -#endif UINT8 LUAh_ShouldSpin(player_t *player, mobj_t *inflictor, mobj_t *source); // SRB2KART: Should player be spun out? UINT8 LUAh_ShouldExplode(player_t *player, mobj_t *inflictor, mobj_t *source); // SRB2KART: Should player be exploded? diff --git a/src/lua_hooklib.c b/src/lua_hooklib.c index 3f4ae987..41a436e0 100644 --- a/src/lua_hooklib.c +++ b/src/lua_hooklib.c @@ -55,9 +55,7 @@ const char *const hookNames[hook_MAX+1] = { "HurtMsg", "PlayerSpawn", "PlayerQuit", -#ifdef HAVE_LUA_MUSICPLUS "MusicChange", -#endif "ShouldSpin", "ShouldExplode", "ShouldSquish", @@ -1216,8 +1214,6 @@ void LUAh_PlayerQuit(player_t *plr, int reason) lua_settop(gL, 0); } -#ifdef HAVE_LUA_MUSICPLUS - // Hook for music changes boolean LUAh_MusicChange(const char *oldname, char *newname, UINT16 *mflags, boolean *looping, UINT32 *position, UINT32 *prefadems, UINT32 *fadeinms) @@ -1277,8 +1273,6 @@ boolean LUAh_MusicChange(const char *oldname, char *newname, UINT16 *mflags, boo return hooked; } -#endif - // Hook for K_SpinPlayer. Determines if yes or no we should get damaged reguardless of circumstances. UINT8 LUAh_ShouldSpin(player_t *player, mobj_t *inflictor, mobj_t *source) { diff --git a/src/lua_script.h b/src/lua_script.h index 1d49413b..b3ca16bc 100644 --- a/src/lua_script.h +++ b/src/lua_script.h @@ -98,6 +98,4 @@ void COM_Lua_f(void); }\ } -#define HAVE_LUA_MUSICPLUS - #endif diff --git a/src/s_sound.c b/src/s_sound.c index 184f2529..2c96d389 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -38,7 +38,7 @@ extern INT32 msg_id; #include "p_local.h" // camera info #include "m_misc.h" // for tunes command -#if defined(HAVE_BLUA) && defined(HAVE_LUA_MUSICPLUS) +#ifdef HAVE_BLUA #include "lua_hook.h" // MusicChange hook #endif @@ -1989,7 +1989,7 @@ void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32 return; strncpy(newmusic, mmusic, 7); -#if defined(HAVE_BLUA) && defined(HAVE_LUA_MUSICPLUS) +#ifdef HAVE_BLUA if(LUAh_MusicChange(music_name, newmusic, &mflags, &looping, &position, &prefadems, &fadeinms)) return; #endif From 8a1f40b90f36404f2de09008cfa393a7b959f61a Mon Sep 17 00:00:00 2001 From: Wolfy Date: Tue, 7 Apr 2020 07:09:51 -0500 Subject: [PATCH 146/245] Add PT_CLIENTCMD back to allowed packet types Fixes unexpected CLIENTCMD prints --- src/d_net.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/d_net.c b/src/d_net.c index 02f4b23d..09b6b043 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -1172,7 +1172,8 @@ boolean HGetPacket(void) || netbuffer->packettype == PT_REQUESTFILE || netbuffer->packettype == PT_ASKINFOVIAMS || netbuffer->packettype == PT_CLIENTJOIN - || netbuffer->packettype == PT_TELLFILESNEEDED)) + || netbuffer->packettype == PT_TELLFILESNEEDED + || netbuffer->packettype == PT_CLIENTCMD)) { DEBFILE(va("New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype])); CONS_Alert(CONS_NOTICE, "New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype]); From 6fcc06bf72cf3b95c30f04919e807c7aaacec68d Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Tue, 7 Apr 2020 01:48:43 -0400 Subject: [PATCH 147/245] Support for http downloads --- .travis.yml | 19 + debian-template/control | 1 + libs/curl/include/curl/curl.h | 1549 +++++++++++++++++------- libs/curl/include/curl/curlver.h | 34 +- libs/curl/include/curl/easy.h | 20 +- libs/curl/include/curl/mprintf.h | 43 +- libs/curl/include/curl/multi.h | 163 ++- libs/curl/include/curl/stdcheaders.h | 14 +- libs/curl/include/curl/system.h | 504 ++++++++ libs/curl/include/curl/typecheck-gcc.h | 823 +++++++------ libs/curl/include/curl/urlapi.h | 125 ++ libs/curl/lib32/libcurl.a | Bin 385996 -> 801608 bytes libs/curl/lib32/libcurl.dll | Bin 0 -> 725504 bytes libs/curl/lib32/libcurl.dll.a | Bin 0 -> 151856 bytes libs/curl/lib64/libcurl-x64.dll | Bin 0 -> 665600 bytes libs/curl/lib64/libcurl.a | Bin 380222 -> 839330 bytes libs/curl/lib64/libcurl.dll.a | Bin 0 -> 149258 bytes src/CMakeLists.txt | 22 + src/Makefile | 11 + src/d_clisrv.c | 132 +- src/d_clisrv.h | 10 + src/d_netcmd.c | 3 + src/d_netfil.c | 175 ++- src/d_netfil.h | 14 +- src/sdl/CMakeLists.txt | 3 + src/win32/Makefile.cfg | 9 + 26 files changed, 2798 insertions(+), 876 deletions(-) create mode 100644 libs/curl/include/curl/system.h create mode 100644 libs/curl/include/curl/urlapi.h create mode 100644 libs/curl/lib32/libcurl.dll create mode 100644 libs/curl/lib32/libcurl.dll.a create mode 100644 libs/curl/lib64/libcurl-x64.dll create mode 100644 libs/curl/lib64/libcurl.dll.a diff --git a/.travis.yml b/.travis.yml index 6d2e8cdd..4959e4d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,6 +23,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - gcc-4.4 compiler: gcc-4.4 @@ -37,6 +38,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - gcc-4.6 compiler: gcc-4.6 @@ -51,6 +53,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - gcc-4.7 compiler: gcc-4.7 @@ -72,6 +75,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - gcc-4.8 compiler: gcc-4.8 @@ -88,6 +92,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - gcc-7 compiler: gcc-7 @@ -104,6 +109,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - gcc-8 compiler: gcc-8 @@ -124,6 +130,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - clang-3.5 compiler: clang-3.5 @@ -140,6 +147,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - clang-3.6 compiler: clang-3.6 @@ -156,6 +164,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - clang-3.7 compiler: clang-3.7 @@ -172,6 +181,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - clang-3.8 compiler: clang-3.8 @@ -188,6 +198,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - clang-3.9 compiler: clang-3.9 @@ -294,6 +305,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - gcc-4.8 compiler: gcc-4.8 @@ -435,6 +447,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - gcc-4.8 compiler: gcc-4.8 @@ -458,6 +471,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - gcc-4.8 compiler: gcc-4.8 @@ -481,6 +495,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - gcc-4.8 compiler: gcc-4.8 @@ -504,6 +519,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - gcc-4.8 compiler: gcc-4.8 @@ -527,6 +543,7 @@ matrix: - libpng-dev - libgl1-mesa-dev - libgme-dev + - libcurl4-openssl-dev - p7zip-full - gcc-4.8 compiler: gcc-4.8 @@ -567,6 +584,7 @@ addons: - libgl1-mesa-dev - libgme-dev - zlib1g-dev + - libcurl4-openssl-dev - p7zip-full homebrew: taps: @@ -576,6 +594,7 @@ addons: - game-music-emu - p7zip - cmake + - curl update: true diff --git a/debian-template/control b/debian-template/control index e1348d70..6614d315 100644 --- a/debian-template/control +++ b/debian-template/control @@ -10,6 +10,7 @@ Build-Depends: debhelper (>= 7.0.50~), libpng-dev | libpng16-dev | libpng12-dev (>= 1.2.7), zlib1g-dev, libgme-dev, + libcurl4-openssl-dev, libglu1-dev | libglu-dev, libosmesa6-dev | libgl-dev, nasm [i386] diff --git a/libs/curl/include/curl/curl.h b/libs/curl/include/curl/curl.h index ee9754da..b7cb30a5 100644 --- a/libs/curl/include/curl/curl.h +++ b/libs/curl/include/curl/curl.h @@ -1,5 +1,5 @@ -#ifndef __CURL_CURL_H -#define __CURL_CURL_H +#ifndef CURLINC_CURL_H +#define CURLINC_CURL_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | @@ -7,11 +7,11 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2020, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms - * are also available at http://curl.haxx.se/docs/copyright.html. + * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is @@ -24,23 +24,26 @@ /* * If you have libcurl problems, all docs and details are found here: - * http://curl.haxx.se/libcurl/ + * https://curl.haxx.se/libcurl/ * * curl-library mailing list subscription and unsubscription web interface: - * http://cool.haxx.se/mailman/listinfo/curl-library/ + * https://cool.haxx.se/mailman/listinfo/curl-library/ */ +#ifdef CURL_NO_OLDIES +#define CURL_STRICTER +#endif + #include "curlver.h" /* libcurl version defines */ -#include "curlbuild.h" /* libcurl build definitions */ -#include "curlrules.h" /* libcurl rules enforcement */ +#include "system.h" /* determine things run-time */ /* - * Define WIN32 when build target is Win32 API + * Define CURL_WIN32 when build target is Win32 API */ -#if (defined(_WIN32) || defined(__WIN32__)) && \ - !defined(WIN32) && !defined(__SYMBIAN32__) -#define WIN32 +#if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && \ + !defined(__SYMBIAN32__) +#define CURL_WIN32 #endif #include @@ -55,74 +58,79 @@ #include #include -#if defined(WIN32) && !defined(_WIN32_WCE) && !defined(__GNUC__) && \ - !defined(__CYGWIN__) || defined(__MINGW32__) -#if !(defined(_WINSOCKAPI_) || defined(_WINSOCK_H)) +#if defined(CURL_WIN32) && !defined(_WIN32_WCE) && !defined(__CYGWIN__) +#if !(defined(_WINSOCKAPI_) || defined(_WINSOCK_H) || \ + defined(__LWIP_OPT_H__) || defined(LWIP_HDR_OPT_H)) /* The check above prevents the winsock2 inclusion if winsock.h already was included, since they can't co-exist without problems */ #include #include #endif -#else +#endif /* HP-UX systems version 9, 10 and 11 lack sys/select.h and so does oldish - libc5-based Linux systems. Only include it on system that are known to + libc5-based Linux systems. Only include it on systems that are known to require it! */ #if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \ defined(__minix) || defined(__SYMBIAN32__) || defined(__INTEGRITY) || \ - defined(ANDROID) || \ + defined(ANDROID) || defined(__ANDROID__) || defined(__OpenBSD__) || \ + defined(__CYGWIN__) || \ (defined(__FreeBSD_version) && (__FreeBSD_version < 800000)) #include #endif -#ifndef _WIN32_WCE +#if !defined(CURL_WIN32) && !defined(_WIN32_WCE) #include #endif -#if !defined(WIN32) && !defined(__WATCOMC__) && !defined(__VXWORKS__) + +#if !defined(CURL_WIN32) && !defined(__WATCOMC__) && !defined(__VXWORKS__) #include #endif -#include -#endif #ifdef __BEOS__ #include #endif +/* Compatibility for non-Clang compilers */ +#ifndef __has_declspec_attribute +# define __has_declspec_attribute(x) 0 +#endif + #ifdef __cplusplus extern "C" { #endif +#if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER) +typedef struct Curl_easy CURL; +typedef struct Curl_share CURLSH; +#else typedef void CURL; +typedef void CURLSH; +#endif /* - * Decorate exportable functions for Win32 and Symbian OS DLL linking. - * This avoids using a .def file for building libcurl.dll. + * libcurl external API function linkage decorations. */ -#if (defined(WIN32) || defined(_WIN32) || defined(__SYMBIAN32__)) && \ - !defined(CURL_STATICLIB) -#if defined(BUILDING_LIBCURL) -#define CURL_EXTERN __declspec(dllexport) -#else -#define CURL_EXTERN __declspec(dllimport) -#endif -#else -#ifdef CURL_HIDDEN_SYMBOLS -/* - * This definition is used to make external definitions visible in the - * shared library when symbols are hidden by default. It makes no - * difference when compiling applications whether this is set or not, - * only when compiling the library. - */ -#define CURL_EXTERN CURL_EXTERN_SYMBOL +#ifdef CURL_STATICLIB +# define CURL_EXTERN +#elif defined(CURL_WIN32) || defined(__SYMBIAN32__) || \ + (__has_declspec_attribute(dllexport) && \ + __has_declspec_attribute(dllimport)) +# if defined(BUILDING_LIBCURL) +# define CURL_EXTERN __declspec(dllexport) +# else +# define CURL_EXTERN __declspec(dllimport) +# endif +#elif defined(BUILDING_LIBCURL) && defined(CURL_HIDDEN_SYMBOLS) +# define CURL_EXTERN CURL_EXTERN_SYMBOL #else -#define CURL_EXTERN -#endif +# define CURL_EXTERN #endif #ifndef curl_socket_typedef /* socket typedef */ -#ifdef WIN32 +#if defined(CURL_WIN32) && !defined(__LWIP_OPT_H__) && !defined(LWIP_HDR_OPT_H) typedef SOCKET curl_socket_t; #define CURL_SOCKET_BAD INVALID_SOCKET #else @@ -132,46 +140,103 @@ typedef int curl_socket_t; #define curl_socket_typedef #endif /* curl_socket_typedef */ +/* enum for the different supported SSL backends */ +typedef enum { + CURLSSLBACKEND_NONE = 0, + CURLSSLBACKEND_OPENSSL = 1, + CURLSSLBACKEND_GNUTLS = 2, + CURLSSLBACKEND_NSS = 3, + CURLSSLBACKEND_OBSOLETE4 = 4, /* Was QSOSSL. */ + CURLSSLBACKEND_GSKIT = 5, + CURLSSLBACKEND_POLARSSL = 6, + CURLSSLBACKEND_WOLFSSL = 7, + CURLSSLBACKEND_SCHANNEL = 8, + CURLSSLBACKEND_SECURETRANSPORT = 9, + CURLSSLBACKEND_AXTLS = 10, /* never used since 7.63.0 */ + CURLSSLBACKEND_MBEDTLS = 11, + CURLSSLBACKEND_MESALINK = 12, + CURLSSLBACKEND_BEARSSL = 13 +} curl_sslbackend; + +/* aliases for library clones and renames */ +#define CURLSSLBACKEND_LIBRESSL CURLSSLBACKEND_OPENSSL +#define CURLSSLBACKEND_BORINGSSL CURLSSLBACKEND_OPENSSL + +/* deprecated names: */ +#define CURLSSLBACKEND_CYASSL CURLSSLBACKEND_WOLFSSL +#define CURLSSLBACKEND_DARWINSSL CURLSSLBACKEND_SECURETRANSPORT + struct curl_httppost { struct curl_httppost *next; /* next entry in the list */ char *name; /* pointer to allocated name */ long namelength; /* length of name length */ char *contents; /* pointer to allocated data contents */ - long contentslength; /* length of contents field */ + long contentslength; /* length of contents field, see also + CURL_HTTPPOST_LARGE */ char *buffer; /* pointer to allocated buffer contents */ long bufferlength; /* length of buffer field */ char *contenttype; /* Content-Type */ - struct curl_slist* contentheader; /* list of extra headers for this form */ + struct curl_slist *contentheader; /* list of extra headers for this form */ struct curl_httppost *more; /* if one field name has more than one file, this link should link to following files */ long flags; /* as defined below */ -#define HTTPPOST_FILENAME (1<<0) /* specified content is a file name */ -#define HTTPPOST_READFILE (1<<1) /* specified content is a file name */ -#define HTTPPOST_PTRNAME (1<<2) /* name is only stored pointer - do not free in formfree */ -#define HTTPPOST_PTRCONTENTS (1<<3) /* contents is only stored pointer - do not free in formfree */ -#define HTTPPOST_BUFFER (1<<4) /* upload file from buffer */ -#define HTTPPOST_PTRBUFFER (1<<5) /* upload file from pointer contents */ -#define HTTPPOST_CALLBACK (1<<6) /* upload file contents by using the - regular read callback to get the data - and pass the given pointer as custom - pointer */ + +/* specified content is a file name */ +#define CURL_HTTPPOST_FILENAME (1<<0) +/* specified content is a file name */ +#define CURL_HTTPPOST_READFILE (1<<1) +/* name is only stored pointer do not free in formfree */ +#define CURL_HTTPPOST_PTRNAME (1<<2) +/* contents is only stored pointer do not free in formfree */ +#define CURL_HTTPPOST_PTRCONTENTS (1<<3) +/* upload file from buffer */ +#define CURL_HTTPPOST_BUFFER (1<<4) +/* upload file from pointer contents */ +#define CURL_HTTPPOST_PTRBUFFER (1<<5) +/* upload file contents by using the regular read callback to get the data and + pass the given pointer as custom pointer */ +#define CURL_HTTPPOST_CALLBACK (1<<6) +/* use size in 'contentlen', added in 7.46.0 */ +#define CURL_HTTPPOST_LARGE (1<<7) char *showfilename; /* The file name to show. If not set, the actual file name will be used (if this is a file part) */ void *userp; /* custom pointer used for HTTPPOST_CALLBACK posts */ + curl_off_t contentlen; /* alternative length of contents + field. Used if CURL_HTTPPOST_LARGE is + set. Added in 7.46.0 */ }; + +/* This is a return code for the progress callback that, when returned, will + signal libcurl to continue executing the default progress function */ +#define CURL_PROGRESSFUNC_CONTINUE 0x10000001 + +/* This is the CURLOPT_PROGRESSFUNCTION callback prototype. It is now + considered deprecated but was the only choice up until 7.31.0 */ typedef int (*curl_progress_callback)(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow); +/* This is the CURLOPT_XFERINFOFUNCTION callback prototype. It was introduced + in 7.32.0, avoids the use of floating point numbers and provides more + detailed information. */ +typedef int (*curl_xferinfo_callback)(void *clientp, + curl_off_t dltotal, + curl_off_t dlnow, + curl_off_t ultotal, + curl_off_t ulnow); + +#ifndef CURL_MAX_READ_SIZE + /* The maximum receive buffer size configurable via CURLOPT_BUFFERSIZE. */ +#define CURL_MAX_READ_SIZE 524288 +#endif + #ifndef CURL_MAX_WRITE_SIZE /* Tests have proven that 20K is a very bad buffer size for uploads on Windows, while 16K for some odd reason performed a lot better. @@ -189,16 +254,18 @@ typedef int (*curl_progress_callback)(void *clientp, #define CURL_MAX_HTTP_HEADER (100*1024) #endif - /* This is a magic return code for the write callback that, when returned, will signal libcurl to pause receiving on the current transfer. */ #define CURL_WRITEFUNC_PAUSE 0x10000001 + typedef size_t (*curl_write_callback)(char *buffer, size_t size, size_t nitems, void *outstream); - +/* This callback will be called when a new resolver request is made */ +typedef int (*curl_resolver_start_callback)(void *resolver_state, + void *reserved, void *userdata); /* enumeration of file types */ typedef enum { @@ -223,14 +290,11 @@ typedef enum { #define CURLFINFOFLAG_KNOWN_SIZE (1<<6) #define CURLFINFOFLAG_KNOWN_HLINKCOUNT (1<<7) -/* Content of this structure depends on information which is known and is - achievable (e.g. by FTP LIST parsing). Please see the url_easy_setopt(3) man - page for callbacks returning this structure -- some fields are mandatory, - some others are optional. The FLAG field has special meaning. */ +/* Information about a single file, used when doing FTP wildcard matching */ struct curl_fileinfo { char *filename; curlfiletype filetype; - time_t time; + time_t time; /* always zero! */ unsigned int perm; int uid; int gid; @@ -249,7 +313,7 @@ struct curl_fileinfo { unsigned int flags; /* used internally */ - char * b_data; + char *b_data; size_t b_size; size_t b_used; }; @@ -305,14 +369,25 @@ typedef int (*curl_seek_callback)(void *instream, signal libcurl to pause sending data on the current transfer. */ #define CURL_READFUNC_PAUSE 0x10000001 +/* Return code for when the trailing headers' callback has terminated + without any errors*/ +#define CURL_TRAILERFUNC_OK 0 +/* Return code for when was an error in the trailing header's list and we + want to abort the request */ +#define CURL_TRAILERFUNC_ABORT 1 + typedef size_t (*curl_read_callback)(char *buffer, size_t size, size_t nitems, void *instream); -typedef enum { - CURLSOCKTYPE_IPCXN, /* socket created for a specific IP connection */ - CURLSOCKTYPE_LAST /* never use */ +typedef int (*curl_trailer_callback)(struct curl_slist **list, + void *userdata); + +typedef enum { + CURLSOCKTYPE_IPCXN, /* socket created for a specific IP connection */ + CURLSOCKTYPE_ACCEPT, /* socket created by accept() call */ + CURLSOCKTYPE_LAST /* never use */ } curlsocktype; /* The return code from the sockopt_callback can signal information back @@ -341,6 +416,9 @@ typedef curl_socket_t curlsocktype purpose, struct curl_sockaddr *address); +typedef int +(*curl_closesocket_callback)(void *clientp, curl_socket_t item); + typedef enum { CURLIOE_OK, /* I/O operation successful */ CURLIOE_UNKNOWNCMD, /* command was unknown to callback */ @@ -348,7 +426,7 @@ typedef enum { CURLIOE_LAST /* never use */ } curlioerr; -typedef enum { +typedef enum { CURLIOCMD_NOP, /* no operation */ CURLIOCMD_RESTARTREAD, /* restart the read stream from start */ CURLIOCMD_LAST /* never use */ @@ -358,6 +436,7 @@ typedef curlioerr (*curl_ioctl_callback)(CURL *handle, int cmd, void *clientp); +#ifndef CURL_DID_MEMORY_FUNC_TYPEDEFS /* * The following typedef's are signatures of malloc, free, realloc, strdup and * calloc respectively. Function pointers of these types can be passed to the @@ -370,6 +449,9 @@ typedef void *(*curl_realloc_callback)(void *ptr, size_t size); typedef char *(*curl_strdup_callback)(const char *str); typedef void *(*curl_calloc_callback)(size_t nmemb, size_t size); +#define CURL_DID_MEMORY_FUNC_TYPEDEFS +#endif + /* the kind of data that is passed to information_callback*/ typedef enum { CURLINFO_TEXT = 0, @@ -406,17 +488,22 @@ typedef enum { CURLE_COULDNT_RESOLVE_PROXY, /* 5 */ CURLE_COULDNT_RESOLVE_HOST, /* 6 */ CURLE_COULDNT_CONNECT, /* 7 */ - CURLE_FTP_WEIRD_SERVER_REPLY, /* 8 */ + CURLE_WEIRD_SERVER_REPLY, /* 8 */ CURLE_REMOTE_ACCESS_DENIED, /* 9 a service was denied by the server due to lack of access - when login fails this is not returned. */ - CURLE_OBSOLETE10, /* 10 - NOT USED */ + CURLE_FTP_ACCEPT_FAILED, /* 10 - [was obsoleted in April 2006 for + 7.15.4, reused in Dec 2011 for 7.24.0]*/ CURLE_FTP_WEIRD_PASS_REPLY, /* 11 */ - CURLE_OBSOLETE12, /* 12 - NOT USED */ + CURLE_FTP_ACCEPT_TIMEOUT, /* 12 - timeout occurred accepting server + [was obsoleted in August 2007 for 7.17.0, + reused in Dec 2011 for 7.24.0]*/ CURLE_FTP_WEIRD_PASV_REPLY, /* 13 */ CURLE_FTP_WEIRD_227_FORMAT, /* 14 */ CURLE_FTP_CANT_GET_HOST, /* 15 */ - CURLE_OBSOLETE16, /* 16 - NOT USED */ + CURLE_HTTP2, /* 16 - A problem in the http2 framing layer. + [was obsoleted in August 2007 for 7.17.0, + reused in July 2014 for 7.38.0] */ CURLE_FTP_COULDNT_SET_TYPE, /* 17 */ CURLE_PARTIAL_FILE, /* 18 */ CURLE_FTP_COULDNT_RETR_FILE, /* 19 */ @@ -445,18 +532,17 @@ typedef enum { CURLE_LDAP_CANNOT_BIND, /* 38 */ CURLE_LDAP_SEARCH_FAILED, /* 39 */ CURLE_OBSOLETE40, /* 40 - NOT USED */ - CURLE_FUNCTION_NOT_FOUND, /* 41 */ + CURLE_FUNCTION_NOT_FOUND, /* 41 - NOT USED starting with 7.53.0 */ CURLE_ABORTED_BY_CALLBACK, /* 42 */ CURLE_BAD_FUNCTION_ARGUMENT, /* 43 */ CURLE_OBSOLETE44, /* 44 - NOT USED */ CURLE_INTERFACE_FAILED, /* 45 - CURLOPT_INTERFACE failed */ CURLE_OBSOLETE46, /* 46 - NOT USED */ - CURLE_TOO_MANY_REDIRECTS , /* 47 - catch endless re-direct loops */ + CURLE_TOO_MANY_REDIRECTS, /* 47 - catch endless re-direct loops */ CURLE_UNKNOWN_OPTION, /* 48 - User specified an unknown option */ - CURLE_TELNET_OPTION_SYNTAX , /* 49 - Malformed telnet option */ + CURLE_TELNET_OPTION_SYNTAX, /* 49 - Malformed telnet option */ CURLE_OBSOLETE50, /* 50 - NOT USED */ - CURLE_PEER_FAILED_VERIFICATION, /* 51 - peer's certificate or fingerprint - wasn't verified fine */ + CURLE_OBSOLETE51, /* 51 - NOT USED */ CURLE_GOT_NOTHING, /* 52 - when this is a specific error */ CURLE_SSL_ENGINE_NOTFOUND, /* 53 - SSL crypto engine not found */ CURLE_SSL_ENGINE_SETFAILED, /* 54 - can not set SSL crypto engine as @@ -466,7 +552,8 @@ typedef enum { CURLE_OBSOLETE57, /* 57 - NOT IN USE */ CURLE_SSL_CERTPROBLEM, /* 58 - problem with the local certificate */ CURLE_SSL_CIPHER, /* 59 - couldn't use specified cipher */ - CURLE_SSL_CACERT, /* 60 - problem with the CA cert (path?) */ + CURLE_PEER_FAILED_VERIFICATION, /* 60 - peer's certificate or fingerprint + wasn't verified fine */ CURLE_BAD_CONTENT_ENCODING, /* 61 - Unrecognized/bad encoding */ CURLE_LDAP_INVALID_URL, /* 62 - Invalid LDAP URL */ CURLE_FILESIZE_EXCEEDED, /* 63 - Maximum file size exceeded */ @@ -507,18 +594,41 @@ typedef enum { 7.19.0) */ CURLE_FTP_PRET_FAILED, /* 84 - a PRET command failed */ CURLE_RTSP_CSEQ_ERROR, /* 85 - mismatch of RTSP CSeq numbers */ - CURLE_RTSP_SESSION_ERROR, /* 86 - mismatch of RTSP Session Identifiers */ + CURLE_RTSP_SESSION_ERROR, /* 86 - mismatch of RTSP Session Ids */ CURLE_FTP_BAD_FILE_LIST, /* 87 - unable to parse FTP file list */ CURLE_CHUNK_FAILED, /* 88 - chunk callback reported error */ - + CURLE_NO_CONNECTION_AVAILABLE, /* 89 - No connection available, the + session will be queued */ + CURLE_SSL_PINNEDPUBKEYNOTMATCH, /* 90 - specified pinned public key did not + match */ + CURLE_SSL_INVALIDCERTSTATUS, /* 91 - invalid certificate status */ + CURLE_HTTP2_STREAM, /* 92 - stream error in HTTP/2 framing layer + */ + CURLE_RECURSIVE_API_CALL, /* 93 - an api function was called from + inside a callback */ + CURLE_AUTH_ERROR, /* 94 - an authentication function returned an + error */ + CURLE_HTTP3, /* 95 - An HTTP/3 layer problem */ + CURLE_QUIC_CONNECT_ERROR, /* 96 - QUIC connection error */ CURL_LAST /* never use! */ } CURLcode; #ifndef CURL_NO_OLDIES /* define this to test if your app builds with all the obsolete stuff removed! */ +/* Previously obsolete error code re-used in 7.38.0 */ +#define CURLE_OBSOLETE16 CURLE_HTTP2 + +/* Previously obsolete error codes re-used in 7.24.0 */ +#define CURLE_OBSOLETE10 CURLE_FTP_ACCEPT_FAILED +#define CURLE_OBSOLETE12 CURLE_FTP_ACCEPT_TIMEOUT + /* compatibility with older names */ #define CURLOPT_ENCODING CURLOPT_ACCEPT_ENCODING +#define CURLE_FTP_WEIRD_SERVER_REPLY CURLE_WEIRD_SERVER_REPLY + +/* The following were added in 7.62.0 */ +#define CURLE_SSL_CACERT CURLE_PEER_FAILED_VERIFICATION /* The following were added in 7.21.5, April 2011 */ #define CURLE_UNKNOWN_TELNET_OPTION CURLE_UNKNOWN_OPTION @@ -567,14 +677,26 @@ typedef enum { make programs break */ #define CURLE_ALREADY_COMPLETE 99999 +/* Provide defines for really old option names */ +#define CURLOPT_FILE CURLOPT_WRITEDATA /* name changed in 7.9.7 */ +#define CURLOPT_INFILE CURLOPT_READDATA /* name changed in 7.9.7 */ +#define CURLOPT_WRITEHEADER CURLOPT_HEADERDATA + +/* Since long deprecated options with no code in the lib that does anything + with them. */ +#define CURLOPT_WRITEINFO CURLOPT_OBSOLETE40 +#define CURLOPT_CLOSEPOLICY CURLOPT_OBSOLETE72 + #endif /*!CURL_NO_OLDIES*/ /* This prototype applies to all conversion callbacks */ typedef CURLcode (*curl_conv_callback)(char *buffer, size_t length); typedef CURLcode (*curl_ssl_ctx_callback)(CURL *curl, /* easy handle */ - void *ssl_ctx, /* actually an - OpenSSL SSL_CTX */ + void *ssl_ctx, /* actually an OpenSSL + or WolfSSL SSL_CTX, + or an mbedTLS + mbedtls_ssl_config */ void *userptr); typedef enum { @@ -582,6 +704,7 @@ typedef enum { CONNECT HTTP/1.1 */ CURLPROXY_HTTP_1_0 = 1, /* added in 7.19.4, force to use CONNECT HTTP/1.0 */ + CURLPROXY_HTTPS = 2, /* added in 7.52.0 */ CURLPROXY_SOCKS4 = 4, /* support added in 7.15.2, enum existed already in 7.10 */ CURLPROXY_SOCKS5 = 5, /* added in 7.10 */ @@ -591,17 +714,39 @@ typedef enum { in 7.18.0 */ } curl_proxytype; /* this enum was added in 7.10 */ -#define CURLAUTH_NONE 0 /* nothing */ -#define CURLAUTH_BASIC (1<<0) /* Basic (default) */ -#define CURLAUTH_DIGEST (1<<1) /* Digest */ -#define CURLAUTH_GSSNEGOTIATE (1<<2) /* GSS-Negotiate */ -#define CURLAUTH_NTLM (1<<3) /* NTLM */ -#define CURLAUTH_DIGEST_IE (1<<4) /* Digest with IE flavour */ -#define CURLAUTH_ONLY (1<<31) /* used together with a single other - type to force no auth or just that - single type */ -#define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE) /* all fine types set */ -#define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE)) +/* + * Bitmasks for CURLOPT_HTTPAUTH and CURLOPT_PROXYAUTH options: + * + * CURLAUTH_NONE - No HTTP authentication + * CURLAUTH_BASIC - HTTP Basic authentication (default) + * CURLAUTH_DIGEST - HTTP Digest authentication + * CURLAUTH_NEGOTIATE - HTTP Negotiate (SPNEGO) authentication + * CURLAUTH_GSSNEGOTIATE - Alias for CURLAUTH_NEGOTIATE (deprecated) + * CURLAUTH_NTLM - HTTP NTLM authentication + * CURLAUTH_DIGEST_IE - HTTP Digest authentication with IE flavour + * CURLAUTH_NTLM_WB - HTTP NTLM authentication delegated to winbind helper + * CURLAUTH_BEARER - HTTP Bearer token authentication + * CURLAUTH_ONLY - Use together with a single other type to force no + * authentication or just that single type + * CURLAUTH_ANY - All fine types set + * CURLAUTH_ANYSAFE - All fine types except Basic + */ + +#define CURLAUTH_NONE ((unsigned long)0) +#define CURLAUTH_BASIC (((unsigned long)1)<<0) +#define CURLAUTH_DIGEST (((unsigned long)1)<<1) +#define CURLAUTH_NEGOTIATE (((unsigned long)1)<<2) +/* Deprecated since the advent of CURLAUTH_NEGOTIATE */ +#define CURLAUTH_GSSNEGOTIATE CURLAUTH_NEGOTIATE +/* Used for CURLOPT_SOCKS5_AUTH to stay terminologically correct */ +#define CURLAUTH_GSSAPI CURLAUTH_NEGOTIATE +#define CURLAUTH_NTLM (((unsigned long)1)<<3) +#define CURLAUTH_DIGEST_IE (((unsigned long)1)<<4) +#define CURLAUTH_NTLM_WB (((unsigned long)1)<<5) +#define CURLAUTH_BEARER (((unsigned long)1)<<6) +#define CURLAUTH_ONLY (((unsigned long)1)<<31) +#define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE) +#define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE)) #define CURLSSH_AUTH_ANY ~0 /* all types supported by the server */ #define CURLSSH_AUTH_NONE 0 /* none allowed, silly but complete */ @@ -609,20 +754,30 @@ typedef enum { #define CURLSSH_AUTH_PASSWORD (1<<1) /* password */ #define CURLSSH_AUTH_HOST (1<<2) /* host key files */ #define CURLSSH_AUTH_KEYBOARD (1<<3) /* keyboard interactive */ +#define CURLSSH_AUTH_AGENT (1<<4) /* agent (ssh-agent, pageant...) */ +#define CURLSSH_AUTH_GSSAPI (1<<5) /* gssapi (kerberos, ...) */ #define CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_ANY +#define CURLGSSAPI_DELEGATION_NONE 0 /* no delegation (default) */ +#define CURLGSSAPI_DELEGATION_POLICY_FLAG (1<<0) /* if permitted by policy */ +#define CURLGSSAPI_DELEGATION_FLAG (1<<1) /* delegate always */ + #define CURL_ERROR_SIZE 256 +enum curl_khtype { + CURLKHTYPE_UNKNOWN, + CURLKHTYPE_RSA1, + CURLKHTYPE_RSA, + CURLKHTYPE_DSS, + CURLKHTYPE_ECDSA, + CURLKHTYPE_ED25519 +}; + struct curl_khkey { const char *key; /* points to a zero-terminated string encoded with base64 if len is zero, otherwise to the "raw" data */ size_t len; - enum type { - CURLKHTYPE_UNKNOWN, - CURLKHTYPE_RSA1, - CURLKHTYPE_RSA, - CURLKHTYPE_DSS - } keytype; + enum curl_khtype keytype; }; /* this is the set of return values expected from the curl_sshkeycallback @@ -661,6 +816,31 @@ typedef enum { CURLUSESSL_LAST /* not an option, never use */ } curl_usessl; +/* Definition of bits for the CURLOPT_SSL_OPTIONS argument: */ + +/* - ALLOW_BEAST tells libcurl to allow the BEAST SSL vulnerability in the + name of improving interoperability with older servers. Some SSL libraries + have introduced work-arounds for this flaw but those work-arounds sometimes + make the SSL communication fail. To regain functionality with those broken + servers, a user can this way allow the vulnerability back. */ +#define CURLSSLOPT_ALLOW_BEAST (1<<0) + +/* - NO_REVOKE tells libcurl to disable certificate revocation checks for those + SSL backends where such behavior is present. */ +#define CURLSSLOPT_NO_REVOKE (1<<1) + +/* - NO_PARTIALCHAIN tells libcurl to *NOT* accept a partial certificate chain + if possible. The OpenSSL backend has this ability. */ +#define CURLSSLOPT_NO_PARTIALCHAIN (1<<2) + +/* The default connection attempt delay in milliseconds for happy eyeballs. + CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 and happy-eyeballs-timeout-ms.d document + this value, keep them in sync. */ +#define CURL_HET_DEFAULT 200L + +/* The default connection upkeep interval in milliseconds. */ +#define CURL_UPKEEP_INTERVAL_DEFAULT 60000L + #ifndef CURL_NO_OLDIES /* define this to test if your app builds with all the obsolete stuff removed! */ @@ -711,6 +891,18 @@ typedef enum { CURLFTPMETHOD_LAST /* not an option, never use */ } curl_ftpmethod; +/* bitmask defines for CURLOPT_HEADEROPT */ +#define CURLHEADER_UNIFIED 0 +#define CURLHEADER_SEPARATE (1<<0) + +/* CURLALTSVC_* are bits for the CURLOPT_ALTSVC_CTRL option */ +#define CURLALTSVC_IMMEDIATELY (1<<0) + +#define CURLALTSVC_READONLYFILE (1<<2) +#define CURLALTSVC_H1 (1<<3) +#define CURLALTSVC_H2 (1<<4) +#define CURLALTSVC_H3 (1<<5) + /* CURLPROTO_ defines are for the CURLOPT_*PROTOCOLS options */ #define CURLPROTO_HTTP (1<<0) #define CURLPROTO_HTTPS (1<<1) @@ -738,6 +930,8 @@ typedef enum { #define CURLPROTO_RTMPS (1<<23) #define CURLPROTO_RTMPTS (1<<24) #define CURLPROTO_GOPHER (1<<25) +#define CURLPROTO_SMB (1<<26) +#define CURLPROTO_SMBS (1<<27) #define CURLPROTO_ALL (~0) /* enable everything */ /* long may be 32 or 64 bits, but we should never depend on anything else @@ -747,71 +941,61 @@ typedef enum { #define CURLOPTTYPE_FUNCTIONPOINT 20000 #define CURLOPTTYPE_OFF_T 30000 -/* name is uppercase CURLOPT_, - type is one of the defined CURLOPTTYPE_ - number is unique identifier */ -#ifdef CINIT -#undef CINIT -#endif +/* *STRINGPOINT is an alias for OBJECTPOINT to allow tools to extract the + string options from the header file */ -#ifdef CURL_ISOCPP -#define CINIT(name,type,number) CURLOPT_ ## name = CURLOPTTYPE_ ## type + number -#else -/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */ -#define LONG CURLOPTTYPE_LONG -#define OBJECTPOINT CURLOPTTYPE_OBJECTPOINT -#define FUNCTIONPOINT CURLOPTTYPE_FUNCTIONPOINT -#define OFF_T CURLOPTTYPE_OFF_T -#define CINIT(name,type,number) CURLOPT_/**/name = type + number -#endif + +#define CURLOPT(na,t,nu) na = t + nu + +/* handy aliases that make no run-time difference */ +#define CURLOPTTYPE_STRINGPOINT CURLOPTTYPE_OBJECTPOINT +#define CURLOPTTYPE_SLISTPOINT CURLOPTTYPE_OBJECTPOINT /* - * This macro-mania below setups the CURLOPT_[what] enum, to be used with - * curl_easy_setopt(). The first argument in the CINIT() macro is the [what] - * word. + * All CURLOPT_* values. */ typedef enum { /* This is the FILE * or void * the regular output should be written to. */ - CINIT(FILE, OBJECTPOINT, 1), + CURLOPT(CURLOPT_WRITEDATA, CURLOPTTYPE_OBJECTPOINT, 1), /* The full URL to get/put */ - CINIT(URL, OBJECTPOINT, 2), + CURLOPT(CURLOPT_URL, CURLOPTTYPE_STRINGPOINT, 2), /* Port number to connect to, if other than default. */ - CINIT(PORT, LONG, 3), + CURLOPT(CURLOPT_PORT, CURLOPTTYPE_LONG, 3), /* Name of proxy to use. */ - CINIT(PROXY, OBJECTPOINT, 4), + CURLOPT(CURLOPT_PROXY, CURLOPTTYPE_STRINGPOINT, 4), - /* "name:password" to use when fetching. */ - CINIT(USERPWD, OBJECTPOINT, 5), + /* "user:password;options" to use when fetching. */ + CURLOPT(CURLOPT_USERPWD, CURLOPTTYPE_STRINGPOINT, 5), - /* "name:password" to use with proxy. */ - CINIT(PROXYUSERPWD, OBJECTPOINT, 6), + /* "user:password" to use with proxy. */ + CURLOPT(CURLOPT_PROXYUSERPWD, CURLOPTTYPE_STRINGPOINT, 6), /* Range to get, specified as an ASCII string. */ - CINIT(RANGE, OBJECTPOINT, 7), + CURLOPT(CURLOPT_RANGE, CURLOPTTYPE_STRINGPOINT, 7), /* not used */ /* Specified file stream to upload from (use as input): */ - CINIT(INFILE, OBJECTPOINT, 9), + CURLOPT(CURLOPT_READDATA, CURLOPTTYPE_OBJECTPOINT, 9), /* Buffer to receive error messages in, must be at least CURL_ERROR_SIZE - * bytes big. If this is not used, error messages go to stderr instead: */ - CINIT(ERRORBUFFER, OBJECTPOINT, 10), + * bytes big. */ + CURLOPT(CURLOPT_ERRORBUFFER, CURLOPTTYPE_OBJECTPOINT, 10), /* Function that will be called to store the output (instead of fwrite). The * parameters will use fwrite() syntax, make sure to follow them. */ - CINIT(WRITEFUNCTION, FUNCTIONPOINT, 11), + CURLOPT(CURLOPT_WRITEFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 11), /* Function that will be called to read the input (instead of fread). The * parameters will use fread() syntax, make sure to follow them. */ - CINIT(READFUNCTION, FUNCTIONPOINT, 12), + CURLOPT(CURLOPT_READFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 12), /* Time-out the read operation after this amount of seconds */ - CINIT(TIMEOUT, LONG, 13), + CURLOPT(CURLOPT_TIMEOUT, CURLOPTTYPE_LONG, 13), /* If the CURLOPT_INFILE is used, this can be used to inform libcurl about * how large the file being sent really is. That allows better error @@ -822,20 +1006,20 @@ typedef enum { * which takes an off_t type, allowing platforms with larger off_t * sizes to handle larger files. See below for INFILESIZE_LARGE. */ - CINIT(INFILESIZE, LONG, 14), + CURLOPT(CURLOPT_INFILESIZE, CURLOPTTYPE_LONG, 14), /* POST static input fields. */ - CINIT(POSTFIELDS, OBJECTPOINT, 15), + CURLOPT(CURLOPT_POSTFIELDS, CURLOPTTYPE_OBJECTPOINT, 15), /* Set the referrer page (needed by some CGIs) */ - CINIT(REFERER, OBJECTPOINT, 16), + CURLOPT(CURLOPT_REFERER, CURLOPTTYPE_STRINGPOINT, 16), /* Set the FTP PORT string (interface name, named or numerical IP address) Use i.e '-' to use default address. */ - CINIT(FTPPORT, OBJECTPOINT, 17), + CURLOPT(CURLOPT_FTPPORT, CURLOPTTYPE_STRINGPOINT, 17), /* Set the User-Agent string (examined by some CGIs) */ - CINIT(USERAGENT, OBJECTPOINT, 18), + CURLOPT(CURLOPT_USERAGENT, CURLOPTTYPE_STRINGPOINT, 18), /* If the download receives less than "low speed limit" bytes/second * during "low speed time" seconds, the operations is aborted. @@ -844,10 +1028,10 @@ typedef enum { */ /* Set the "low speed limit" */ - CINIT(LOW_SPEED_LIMIT, LONG, 19), + CURLOPT(CURLOPT_LOW_SPEED_LIMIT, CURLOPTTYPE_LONG, 19), /* Set the "low speed time" */ - CINIT(LOW_SPEED_TIME, LONG, 20), + CURLOPT(CURLOPT_LOW_SPEED_TIME, CURLOPTTYPE_LONG, 20), /* Set the continuation offset. * @@ -855,47 +1039,48 @@ typedef enum { * off_t types, allowing for large file offsets on platforms which * use larger-than-32-bit off_t's. Look below for RESUME_FROM_LARGE. */ - CINIT(RESUME_FROM, LONG, 21), + CURLOPT(CURLOPT_RESUME_FROM, CURLOPTTYPE_LONG, 21), /* Set cookie in request: */ - CINIT(COOKIE, OBJECTPOINT, 22), + CURLOPT(CURLOPT_COOKIE, CURLOPTTYPE_STRINGPOINT, 22), - /* This points to a linked list of headers, struct curl_slist kind */ - CINIT(HTTPHEADER, OBJECTPOINT, 23), + /* This points to a linked list of headers, struct curl_slist kind. This + list is also used for RTSP (in spite of its name) */ + CURLOPT(CURLOPT_HTTPHEADER, CURLOPTTYPE_SLISTPOINT, 23), /* This points to a linked list of post entries, struct curl_httppost */ - CINIT(HTTPPOST, OBJECTPOINT, 24), + CURLOPT(CURLOPT_HTTPPOST, CURLOPTTYPE_OBJECTPOINT, 24), /* name of the file keeping your private SSL-certificate */ - CINIT(SSLCERT, OBJECTPOINT, 25), + CURLOPT(CURLOPT_SSLCERT, CURLOPTTYPE_STRINGPOINT, 25), /* password for the SSL or SSH private key */ - CINIT(KEYPASSWD, OBJECTPOINT, 26), + CURLOPT(CURLOPT_KEYPASSWD, CURLOPTTYPE_STRINGPOINT, 26), /* send TYPE parameter? */ - CINIT(CRLF, LONG, 27), + CURLOPT(CURLOPT_CRLF, CURLOPTTYPE_LONG, 27), /* send linked-list of QUOTE commands */ - CINIT(QUOTE, OBJECTPOINT, 28), + CURLOPT(CURLOPT_QUOTE, CURLOPTTYPE_SLISTPOINT, 28), /* send FILE * or void * to store headers to, if you use a callback it is simply passed to the callback unmodified */ - CINIT(WRITEHEADER, OBJECTPOINT, 29), + CURLOPT(CURLOPT_HEADERDATA, CURLOPTTYPE_OBJECTPOINT, 29), /* point to a file to read the initial cookies from, also enables "cookie awareness" */ - CINIT(COOKIEFILE, OBJECTPOINT, 31), + CURLOPT(CURLOPT_COOKIEFILE, CURLOPTTYPE_STRINGPOINT, 31), /* What version to specifically try to use. See CURL_SSLVERSION defines below. */ - CINIT(SSLVERSION, LONG, 32), + CURLOPT(CURLOPT_SSLVERSION, CURLOPTTYPE_LONG, 32), /* What kind of HTTP time condition to use, see defines */ - CINIT(TIMECONDITION, LONG, 33), + CURLOPT(CURLOPT_TIMECONDITION, CURLOPTTYPE_LONG, 33), /* Time to use with the above condition. Specified in number of seconds since 1 Jan 1970 */ - CINIT(TIMEVALUE, LONG, 34), + CURLOPT(CURLOPT_TIMEVALUE, CURLOPTTYPE_LONG, 34), /* 35 = OBSOLETE */ @@ -903,304 +1088,326 @@ typedef enum { HTTP: DELETE, TRACE and others FTP: to use a different list command */ - CINIT(CUSTOMREQUEST, OBJECTPOINT, 36), + CURLOPT(CURLOPT_CUSTOMREQUEST, CURLOPTTYPE_STRINGPOINT, 36), - /* HTTP request, for odd commands like DELETE, TRACE and others */ - CINIT(STDERR, OBJECTPOINT, 37), + /* FILE handle to use instead of stderr */ + CURLOPT(CURLOPT_STDERR, CURLOPTTYPE_OBJECTPOINT, 37), /* 38 is not used */ /* send linked-list of post-transfer QUOTE commands */ - CINIT(POSTQUOTE, OBJECTPOINT, 39), + CURLOPT(CURLOPT_POSTQUOTE, CURLOPTTYPE_SLISTPOINT, 39), - /* Pass a pointer to string of the output using full variable-replacement - as described elsewhere. */ - CINIT(WRITEINFO, OBJECTPOINT, 40), + /* OBSOLETE, do not use! */ + CURLOPT(CURLOPT_OBSOLETE40, CURLOPTTYPE_OBJECTPOINT, 40), - CINIT(VERBOSE, LONG, 41), /* talk a lot */ - CINIT(HEADER, LONG, 42), /* throw the header out too */ - CINIT(NOPROGRESS, LONG, 43), /* shut off the progress meter */ - CINIT(NOBODY, LONG, 44), /* use HEAD to get http document */ - CINIT(FAILONERROR, LONG, 45), /* no output on http error codes >= 300 */ - CINIT(UPLOAD, LONG, 46), /* this is an upload */ - CINIT(POST, LONG, 47), /* HTTP POST method */ - CINIT(DIRLISTONLY, LONG, 48), /* return bare names when listing directories */ + /* talk a lot */ + CURLOPT(CURLOPT_VERBOSE, CURLOPTTYPE_LONG, 41), - CINIT(APPEND, LONG, 50), /* Append instead of overwrite on upload! */ + /* throw the header out too */ + CURLOPT(CURLOPT_HEADER, CURLOPTTYPE_LONG, 42), + + /* shut off the progress meter */ + CURLOPT(CURLOPT_NOPROGRESS, CURLOPTTYPE_LONG, 43), + + /* use HEAD to get http document */ + CURLOPT(CURLOPT_NOBODY, CURLOPTTYPE_LONG, 44), + + /* no output on http error codes >= 400 */ + CURLOPT(CURLOPT_FAILONERROR, CURLOPTTYPE_LONG, 45), + + /* this is an upload */ + CURLOPT(CURLOPT_UPLOAD, CURLOPTTYPE_LONG, 46), + + /* HTTP POST method */ + CURLOPT(CURLOPT_POST, CURLOPTTYPE_LONG, 47), + + /* bare names when listing directories */ + CURLOPT(CURLOPT_DIRLISTONLY, CURLOPTTYPE_LONG, 48), + + /* Append instead of overwrite on upload! */ + CURLOPT(CURLOPT_APPEND, CURLOPTTYPE_LONG, 50), /* Specify whether to read the user+password from the .netrc or the URL. * This must be one of the CURL_NETRC_* enums below. */ - CINIT(NETRC, LONG, 51), + CURLOPT(CURLOPT_NETRC, CURLOPTTYPE_LONG, 51), - CINIT(FOLLOWLOCATION, LONG, 52), /* use Location: Luke! */ + /* use Location: Luke! */ + CURLOPT(CURLOPT_FOLLOWLOCATION, CURLOPTTYPE_LONG, 52), - CINIT(TRANSFERTEXT, LONG, 53), /* transfer data in text/ASCII format */ - CINIT(PUT, LONG, 54), /* HTTP PUT */ + /* transfer data in text/ASCII format */ + CURLOPT(CURLOPT_TRANSFERTEXT, CURLOPTTYPE_LONG, 53), + + /* HTTP PUT */ + CURLOPT(CURLOPT_PUT, CURLOPTTYPE_LONG, 54), /* 55 = OBSOLETE */ - /* Function that will be called instead of the internal progress display + /* DEPRECATED + * Function that will be called instead of the internal progress display * function. This function should be defined as the curl_progress_callback * prototype defines. */ - CINIT(PROGRESSFUNCTION, FUNCTIONPOINT, 56), + CURLOPT(CURLOPT_PROGRESSFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 56), - /* Data passed to the progress callback */ - CINIT(PROGRESSDATA, OBJECTPOINT, 57), + /* Data passed to the CURLOPT_PROGRESSFUNCTION and CURLOPT_XFERINFOFUNCTION + callbacks */ + CURLOPT(CURLOPT_PROGRESSDATA, CURLOPTTYPE_OBJECTPOINT, 57), +#define CURLOPT_XFERINFODATA CURLOPT_PROGRESSDATA /* We want the referrer field set automatically when following locations */ - CINIT(AUTOREFERER, LONG, 58), + CURLOPT(CURLOPT_AUTOREFERER, CURLOPTTYPE_LONG, 58), /* Port of the proxy, can be set in the proxy string as well with: "[host]:[port]" */ - CINIT(PROXYPORT, LONG, 59), + CURLOPT(CURLOPT_PROXYPORT, CURLOPTTYPE_LONG, 59), /* size of the POST input data, if strlen() is not good to use */ - CINIT(POSTFIELDSIZE, LONG, 60), + CURLOPT(CURLOPT_POSTFIELDSIZE, CURLOPTTYPE_LONG, 60), /* tunnel non-http operations through a HTTP proxy */ - CINIT(HTTPPROXYTUNNEL, LONG, 61), + CURLOPT(CURLOPT_HTTPPROXYTUNNEL, CURLOPTTYPE_LONG, 61), /* Set the interface string to use as outgoing network interface */ - CINIT(INTERFACE, OBJECTPOINT, 62), + CURLOPT(CURLOPT_INTERFACE, CURLOPTTYPE_STRINGPOINT, 62), /* Set the krb4/5 security level, this also enables krb4/5 awareness. This * is a string, 'clear', 'safe', 'confidential' or 'private'. If the string * is set but doesn't match one of these, 'private' will be used. */ - CINIT(KRBLEVEL, OBJECTPOINT, 63), + CURLOPT(CURLOPT_KRBLEVEL, CURLOPTTYPE_STRINGPOINT, 63), /* Set if we should verify the peer in ssl handshake, set 1 to verify. */ - CINIT(SSL_VERIFYPEER, LONG, 64), + CURLOPT(CURLOPT_SSL_VERIFYPEER, CURLOPTTYPE_LONG, 64), /* The CApath or CAfile used to validate the peer certificate this option is used only if SSL_VERIFYPEER is true */ - CINIT(CAINFO, OBJECTPOINT, 65), + CURLOPT(CURLOPT_CAINFO, CURLOPTTYPE_STRINGPOINT, 65), /* 66 = OBSOLETE */ /* 67 = OBSOLETE */ /* Maximum number of http redirects to follow */ - CINIT(MAXREDIRS, LONG, 68), + CURLOPT(CURLOPT_MAXREDIRS, CURLOPTTYPE_LONG, 68), /* Pass a long set to 1 to get the date of the requested document (if possible)! Pass a zero to shut it off. */ - CINIT(FILETIME, LONG, 69), + CURLOPT(CURLOPT_FILETIME, CURLOPTTYPE_LONG, 69), /* This points to a linked list of telnet options */ - CINIT(TELNETOPTIONS, OBJECTPOINT, 70), + CURLOPT(CURLOPT_TELNETOPTIONS, CURLOPTTYPE_SLISTPOINT, 70), /* Max amount of cached alive connections */ - CINIT(MAXCONNECTS, LONG, 71), + CURLOPT(CURLOPT_MAXCONNECTS, CURLOPTTYPE_LONG, 71), - /* What policy to use when closing connections when the cache is filled - up */ - CINIT(CLOSEPOLICY, LONG, 72), + /* OBSOLETE, do not use! */ + CURLOPT(CURLOPT_OBSOLETE72, CURLOPTTYPE_LONG, 72), /* 73 = OBSOLETE */ /* Set to explicitly use a new connection for the upcoming transfer. Do not use this unless you're absolutely sure of this, as it makes the operation slower and is less friendly for the network. */ - CINIT(FRESH_CONNECT, LONG, 74), + CURLOPT(CURLOPT_FRESH_CONNECT, CURLOPTTYPE_LONG, 74), /* Set to explicitly forbid the upcoming transfer's connection to be re-used when done. Do not use this unless you're absolutely sure of this, as it makes the operation slower and is less friendly for the network. */ - CINIT(FORBID_REUSE, LONG, 75), + CURLOPT(CURLOPT_FORBID_REUSE, CURLOPTTYPE_LONG, 75), /* Set to a file name that contains random data for libcurl to use to seed the random engine when doing SSL connects. */ - CINIT(RANDOM_FILE, OBJECTPOINT, 76), + CURLOPT(CURLOPT_RANDOM_FILE, CURLOPTTYPE_STRINGPOINT, 76), /* Set to the Entropy Gathering Daemon socket pathname */ - CINIT(EGDSOCKET, OBJECTPOINT, 77), + CURLOPT(CURLOPT_EGDSOCKET, CURLOPTTYPE_STRINGPOINT, 77), - /* Time-out connect operations after this amount of seconds, if connects - are OK within this time, then fine... This only aborts the connect - phase. [Only works on unix-style/SIGALRM operating systems] */ - CINIT(CONNECTTIMEOUT, LONG, 78), + /* Time-out connect operations after this amount of seconds, if connects are + OK within this time, then fine... This only aborts the connect phase. */ + CURLOPT(CURLOPT_CONNECTTIMEOUT, CURLOPTTYPE_LONG, 78), /* Function that will be called to store headers (instead of fwrite). The * parameters will use fwrite() syntax, make sure to follow them. */ - CINIT(HEADERFUNCTION, FUNCTIONPOINT, 79), + CURLOPT(CURLOPT_HEADERFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 79), /* Set this to force the HTTP request to get back to GET. Only really usable if POST, PUT or a custom request have been used first. */ - CINIT(HTTPGET, LONG, 80), + CURLOPT(CURLOPT_HTTPGET, CURLOPTTYPE_LONG, 80), /* Set if we should verify the Common name from the peer certificate in ssl * handshake, set 1 to check existence, 2 to ensure that it matches the * provided hostname. */ - CINIT(SSL_VERIFYHOST, LONG, 81), + CURLOPT(CURLOPT_SSL_VERIFYHOST, CURLOPTTYPE_LONG, 81), /* Specify which file name to write all known cookies in after completed operation. Set file name to "-" (dash) to make it go to stdout. */ - CINIT(COOKIEJAR, OBJECTPOINT, 82), + CURLOPT(CURLOPT_COOKIEJAR, CURLOPTTYPE_STRINGPOINT, 82), /* Specify which SSL ciphers to use */ - CINIT(SSL_CIPHER_LIST, OBJECTPOINT, 83), + CURLOPT(CURLOPT_SSL_CIPHER_LIST, CURLOPTTYPE_STRINGPOINT, 83), /* Specify which HTTP version to use! This must be set to one of the CURL_HTTP_VERSION* enums set below. */ - CINIT(HTTP_VERSION, LONG, 84), + CURLOPT(CURLOPT_HTTP_VERSION, CURLOPTTYPE_LONG, 84), /* Specifically switch on or off the FTP engine's use of the EPSV command. By default, that one will always be attempted before the more traditional PASV command. */ - CINIT(FTP_USE_EPSV, LONG, 85), + CURLOPT(CURLOPT_FTP_USE_EPSV, CURLOPTTYPE_LONG, 85), /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") */ - CINIT(SSLCERTTYPE, OBJECTPOINT, 86), + CURLOPT(CURLOPT_SSLCERTTYPE, CURLOPTTYPE_STRINGPOINT, 86), /* name of the file keeping your private SSL-key */ - CINIT(SSLKEY, OBJECTPOINT, 87), + CURLOPT(CURLOPT_SSLKEY, CURLOPTTYPE_STRINGPOINT, 87), /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") */ - CINIT(SSLKEYTYPE, OBJECTPOINT, 88), + CURLOPT(CURLOPT_SSLKEYTYPE, CURLOPTTYPE_STRINGPOINT, 88), /* crypto engine for the SSL-sub system */ - CINIT(SSLENGINE, OBJECTPOINT, 89), + CURLOPT(CURLOPT_SSLENGINE, CURLOPTTYPE_STRINGPOINT, 89), /* set the crypto engine for the SSL-sub system as default the param has no meaning... */ - CINIT(SSLENGINE_DEFAULT, LONG, 90), + CURLOPT(CURLOPT_SSLENGINE_DEFAULT, CURLOPTTYPE_LONG, 90), /* Non-zero value means to use the global dns cache */ - CINIT(DNS_USE_GLOBAL_CACHE, LONG, 91), /* To become OBSOLETE soon */ + /* DEPRECATED, do not use! */ + CURLOPT(CURLOPT_DNS_USE_GLOBAL_CACHE, CURLOPTTYPE_LONG, 91), /* DNS cache timeout */ - CINIT(DNS_CACHE_TIMEOUT, LONG, 92), + CURLOPT(CURLOPT_DNS_CACHE_TIMEOUT, CURLOPTTYPE_LONG, 92), /* send linked-list of pre-transfer QUOTE commands */ - CINIT(PREQUOTE, OBJECTPOINT, 93), + CURLOPT(CURLOPT_PREQUOTE, CURLOPTTYPE_SLISTPOINT, 93), /* set the debug function */ - CINIT(DEBUGFUNCTION, FUNCTIONPOINT, 94), + CURLOPT(CURLOPT_DEBUGFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 94), /* set the data for the debug function */ - CINIT(DEBUGDATA, OBJECTPOINT, 95), + CURLOPT(CURLOPT_DEBUGDATA, CURLOPTTYPE_OBJECTPOINT, 95), /* mark this as start of a cookie session */ - CINIT(COOKIESESSION, LONG, 96), + CURLOPT(CURLOPT_COOKIESESSION, CURLOPTTYPE_LONG, 96), /* The CApath directory used to validate the peer certificate this option is used only if SSL_VERIFYPEER is true */ - CINIT(CAPATH, OBJECTPOINT, 97), + CURLOPT(CURLOPT_CAPATH, CURLOPTTYPE_STRINGPOINT, 97), /* Instruct libcurl to use a smaller receive buffer */ - CINIT(BUFFERSIZE, LONG, 98), + CURLOPT(CURLOPT_BUFFERSIZE, CURLOPTTYPE_LONG, 98), /* Instruct libcurl to not use any signal/alarm handlers, even when using timeouts. This option is useful for multi-threaded applications. See libcurl-the-guide for more background information. */ - CINIT(NOSIGNAL, LONG, 99), + CURLOPT(CURLOPT_NOSIGNAL, CURLOPTTYPE_LONG, 99), /* Provide a CURLShare for mutexing non-ts data */ - CINIT(SHARE, OBJECTPOINT, 100), + CURLOPT(CURLOPT_SHARE, CURLOPTTYPE_OBJECTPOINT, 100), /* indicates type of proxy. accepted values are CURLPROXY_HTTP (default), - CURLPROXY_SOCKS4, CURLPROXY_SOCKS4A and CURLPROXY_SOCKS5. */ - CINIT(PROXYTYPE, LONG, 101), + CURLPROXY_HTTPS, CURLPROXY_SOCKS4, CURLPROXY_SOCKS4A and + CURLPROXY_SOCKS5. */ + CURLOPT(CURLOPT_PROXYTYPE, CURLOPTTYPE_LONG, 101), /* Set the Accept-Encoding string. Use this to tell a server you would like the response to be compressed. Before 7.21.6, this was known as CURLOPT_ENCODING */ - CINIT(ACCEPT_ENCODING, OBJECTPOINT, 102), + CURLOPT(CURLOPT_ACCEPT_ENCODING, CURLOPTTYPE_STRINGPOINT, 102), /* Set pointer to private data */ - CINIT(PRIVATE, OBJECTPOINT, 103), + CURLOPT(CURLOPT_PRIVATE, CURLOPTTYPE_OBJECTPOINT, 103), /* Set aliases for HTTP 200 in the HTTP Response header */ - CINIT(HTTP200ALIASES, OBJECTPOINT, 104), + CURLOPT(CURLOPT_HTTP200ALIASES, CURLOPTTYPE_SLISTPOINT, 104), /* Continue to send authentication (user+password) when following locations, even when hostname changed. This can potentially send off the name and password to whatever host the server decides. */ - CINIT(UNRESTRICTED_AUTH, LONG, 105), + CURLOPT(CURLOPT_UNRESTRICTED_AUTH, CURLOPTTYPE_LONG, 105), - /* Specifically switch on or off the FTP engine's use of the EPRT command ( it - also disables the LPRT attempt). By default, those ones will always be + /* Specifically switch on or off the FTP engine's use of the EPRT command ( + it also disables the LPRT attempt). By default, those ones will always be attempted before the good old traditional PORT command. */ - CINIT(FTP_USE_EPRT, LONG, 106), + CURLOPT(CURLOPT_FTP_USE_EPRT, CURLOPTTYPE_LONG, 106), /* Set this to a bitmask value to enable the particular authentications methods you like. Use this in combination with CURLOPT_USERPWD. Note that setting multiple bits may cause extra network round-trips. */ - CINIT(HTTPAUTH, LONG, 107), + CURLOPT(CURLOPT_HTTPAUTH, CURLOPTTYPE_LONG, 107), - /* Set the ssl context callback function, currently only for OpenSSL ssl_ctx - in second argument. The function must be matching the - curl_ssl_ctx_callback proto. */ - CINIT(SSL_CTX_FUNCTION, FUNCTIONPOINT, 108), + /* Set the ssl context callback function, currently only for OpenSSL or + WolfSSL ssl_ctx, or mbedTLS mbedtls_ssl_config in the second argument. + The function must match the curl_ssl_ctx_callback prototype. */ + CURLOPT(CURLOPT_SSL_CTX_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 108), /* Set the userdata for the ssl context callback function's third argument */ - CINIT(SSL_CTX_DATA, OBJECTPOINT, 109), + CURLOPT(CURLOPT_SSL_CTX_DATA, CURLOPTTYPE_OBJECTPOINT, 109), /* FTP Option that causes missing dirs to be created on the remote server. In 7.19.4 we introduced the convenience enums for this option using the CURLFTP_CREATE_DIR prefix. */ - CINIT(FTP_CREATE_MISSING_DIRS, LONG, 110), + CURLOPT(CURLOPT_FTP_CREATE_MISSING_DIRS, CURLOPTTYPE_LONG, 110), /* Set this to a bitmask value to enable the particular authentications methods you like. Use this in combination with CURLOPT_PROXYUSERPWD. Note that setting multiple bits may cause extra network round-trips. */ - CINIT(PROXYAUTH, LONG, 111), + CURLOPT(CURLOPT_PROXYAUTH, CURLOPTTYPE_LONG, 111), /* FTP option that changes the timeout, in seconds, associated with getting a response. This is different from transfer timeout time and essentially places a demand on the FTP server to acknowledge commands in a timely manner. */ - CINIT(FTP_RESPONSE_TIMEOUT, LONG, 112), + CURLOPT(CURLOPT_FTP_RESPONSE_TIMEOUT, CURLOPTTYPE_LONG, 112), #define CURLOPT_SERVER_RESPONSE_TIMEOUT CURLOPT_FTP_RESPONSE_TIMEOUT /* Set this option to one of the CURL_IPRESOLVE_* defines (see below) to tell libcurl to resolve names to those IP versions only. This only has affect on systems with support for more than one, i.e IPv4 _and_ IPv6. */ - CINIT(IPRESOLVE, LONG, 113), + CURLOPT(CURLOPT_IPRESOLVE, CURLOPTTYPE_LONG, 113), /* Set this option to limit the size of a file that will be downloaded from an HTTP or FTP server. Note there is also _LARGE version which adds large file support for platforms which have larger off_t sizes. See MAXFILESIZE_LARGE below. */ - CINIT(MAXFILESIZE, LONG, 114), + CURLOPT(CURLOPT_MAXFILESIZE, CURLOPTTYPE_LONG, 114), /* See the comment for INFILESIZE above, but in short, specifies * the size of the file being uploaded. -1 means unknown. */ - CINIT(INFILESIZE_LARGE, OFF_T, 115), + CURLOPT(CURLOPT_INFILESIZE_LARGE, CURLOPTTYPE_OFF_T, 115), - /* Sets the continuation offset. There is also a LONG version of this; - * look above for RESUME_FROM. + /* Sets the continuation offset. There is also a CURLOPTTYPE_LONG version + * of this; look above for RESUME_FROM. */ - CINIT(RESUME_FROM_LARGE, OFF_T, 116), + CURLOPT(CURLOPT_RESUME_FROM_LARGE, CURLOPTTYPE_OFF_T, 116), /* Sets the maximum size of data that will be downloaded from * an HTTP or FTP server. See MAXFILESIZE above for the LONG version. */ - CINIT(MAXFILESIZE_LARGE, OFF_T, 117), + CURLOPT(CURLOPT_MAXFILESIZE_LARGE, CURLOPTTYPE_OFF_T, 117), /* Set this option to the file name of your .netrc file you want libcurl to parse (using the CURLOPT_NETRC option). If not set, libcurl will do a poor attempt to find the user's home directory and check for a .netrc file in there. */ - CINIT(NETRC_FILE, OBJECTPOINT, 118), + CURLOPT(CURLOPT_NETRC_FILE, CURLOPTTYPE_STRINGPOINT, 118), /* Enable SSL/TLS for FTP, pick one of: - CURLFTPSSL_TRY - try using SSL, proceed anyway otherwise - CURLFTPSSL_CONTROL - SSL for the control connection or fail - CURLFTPSSL_ALL - SSL for all communication or fail + CURLUSESSL_TRY - try using SSL, proceed anyway otherwise + CURLUSESSL_CONTROL - SSL for the control connection or fail + CURLUSESSL_ALL - SSL for all communication or fail */ - CINIT(USE_SSL, LONG, 119), + CURLOPT(CURLOPT_USE_SSL, CURLOPTTYPE_LONG, 119), /* The _LARGE version of the standard POSTFIELDSIZE option */ - CINIT(POSTFIELDSIZE_LARGE, OFF_T, 120), + CURLOPT(CURLOPT_POSTFIELDSIZE_LARGE, CURLOPTTYPE_OFF_T, 120), /* Enable/disable the TCP Nagle algorithm */ - CINIT(TCP_NODELAY, LONG, 121), + CURLOPT(CURLOPT_TCP_NODELAY, CURLOPTTYPE_LONG, 121), /* 122 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */ /* 123 OBSOLETE. Gone in 7.16.0 */ @@ -1220,144 +1427,143 @@ typedef enum { CURLFTPAUTH_SSL - try "AUTH SSL" first, then TLS CURLFTPAUTH_TLS - try "AUTH TLS" first, then SSL */ - CINIT(FTPSSLAUTH, LONG, 129), + CURLOPT(CURLOPT_FTPSSLAUTH, CURLOPTTYPE_LONG, 129), - CINIT(IOCTLFUNCTION, FUNCTIONPOINT, 130), - CINIT(IOCTLDATA, OBJECTPOINT, 131), + CURLOPT(CURLOPT_IOCTLFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 130), + CURLOPT(CURLOPT_IOCTLDATA, CURLOPTTYPE_OBJECTPOINT, 131), /* 132 OBSOLETE. Gone in 7.16.0 */ /* 133 OBSOLETE. Gone in 7.16.0 */ /* zero terminated string for pass on to the FTP server when asked for "account" info */ - CINIT(FTP_ACCOUNT, OBJECTPOINT, 134), + CURLOPT(CURLOPT_FTP_ACCOUNT, CURLOPTTYPE_STRINGPOINT, 134), - /* feed cookies into cookie engine */ - CINIT(COOKIELIST, OBJECTPOINT, 135), + /* feed cookie into cookie engine */ + CURLOPT(CURLOPT_COOKIELIST, CURLOPTTYPE_STRINGPOINT, 135), /* ignore Content-Length */ - CINIT(IGNORE_CONTENT_LENGTH, LONG, 136), + CURLOPT(CURLOPT_IGNORE_CONTENT_LENGTH, CURLOPTTYPE_LONG, 136), /* Set to non-zero to skip the IP address received in a 227 PASV FTP server response. Typically used for FTP-SSL purposes but is not restricted to that. libcurl will then instead use the same IP address it used for the control connection. */ - CINIT(FTP_SKIP_PASV_IP, LONG, 137), + CURLOPT(CURLOPT_FTP_SKIP_PASV_IP, CURLOPTTYPE_LONG, 137), /* Select "file method" to use when doing FTP, see the curl_ftpmethod above. */ - CINIT(FTP_FILEMETHOD, LONG, 138), + CURLOPT(CURLOPT_FTP_FILEMETHOD, CURLOPTTYPE_LONG, 138), /* Local port number to bind the socket to */ - CINIT(LOCALPORT, LONG, 139), + CURLOPT(CURLOPT_LOCALPORT, CURLOPTTYPE_LONG, 139), /* Number of ports to try, including the first one set with LOCALPORT. Thus, setting it to 1 will make no additional attempts but the first. */ - CINIT(LOCALPORTRANGE, LONG, 140), + CURLOPT(CURLOPT_LOCALPORTRANGE, CURLOPTTYPE_LONG, 140), /* no transfer, set up connection and let application use the socket by extracting it with CURLINFO_LASTSOCKET */ - CINIT(CONNECT_ONLY, LONG, 141), + CURLOPT(CURLOPT_CONNECT_ONLY, CURLOPTTYPE_LONG, 141), /* Function that will be called to convert from the network encoding (instead of using the iconv calls in libcurl) */ - CINIT(CONV_FROM_NETWORK_FUNCTION, FUNCTIONPOINT, 142), + CURLOPT(CURLOPT_CONV_FROM_NETWORK_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 142), /* Function that will be called to convert to the network encoding (instead of using the iconv calls in libcurl) */ - CINIT(CONV_TO_NETWORK_FUNCTION, FUNCTIONPOINT, 143), + CURLOPT(CURLOPT_CONV_TO_NETWORK_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 143), /* Function that will be called to convert from UTF8 (instead of using the iconv calls in libcurl) Note that this is used only for SSL certificate processing */ - CINIT(CONV_FROM_UTF8_FUNCTION, FUNCTIONPOINT, 144), + CURLOPT(CURLOPT_CONV_FROM_UTF8_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 144), /* if the connection proceeds too quickly then need to slow it down */ /* limit-rate: maximum number of bytes per second to send or receive */ - CINIT(MAX_SEND_SPEED_LARGE, OFF_T, 145), - CINIT(MAX_RECV_SPEED_LARGE, OFF_T, 146), + CURLOPT(CURLOPT_MAX_SEND_SPEED_LARGE, CURLOPTTYPE_OFF_T, 145), + CURLOPT(CURLOPT_MAX_RECV_SPEED_LARGE, CURLOPTTYPE_OFF_T, 146), /* Pointer to command string to send if USER/PASS fails. */ - CINIT(FTP_ALTERNATIVE_TO_USER, OBJECTPOINT, 147), + CURLOPT(CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPTTYPE_STRINGPOINT, 147), /* callback function for setting socket options */ - CINIT(SOCKOPTFUNCTION, FUNCTIONPOINT, 148), - CINIT(SOCKOPTDATA, OBJECTPOINT, 149), + CURLOPT(CURLOPT_SOCKOPTFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 148), + CURLOPT(CURLOPT_SOCKOPTDATA, CURLOPTTYPE_OBJECTPOINT, 149), /* set to 0 to disable session ID re-use for this transfer, default is enabled (== 1) */ - CINIT(SSL_SESSIONID_CACHE, LONG, 150), + CURLOPT(CURLOPT_SSL_SESSIONID_CACHE, CURLOPTTYPE_LONG, 150), /* allowed SSH authentication methods */ - CINIT(SSH_AUTH_TYPES, LONG, 151), + CURLOPT(CURLOPT_SSH_AUTH_TYPES, CURLOPTTYPE_LONG, 151), /* Used by scp/sftp to do public/private key authentication */ - CINIT(SSH_PUBLIC_KEYFILE, OBJECTPOINT, 152), - CINIT(SSH_PRIVATE_KEYFILE, OBJECTPOINT, 153), + CURLOPT(CURLOPT_SSH_PUBLIC_KEYFILE, CURLOPTTYPE_STRINGPOINT, 152), + CURLOPT(CURLOPT_SSH_PRIVATE_KEYFILE, CURLOPTTYPE_STRINGPOINT, 153), /* Send CCC (Clear Command Channel) after authentication */ - CINIT(FTP_SSL_CCC, LONG, 154), + CURLOPT(CURLOPT_FTP_SSL_CCC, CURLOPTTYPE_LONG, 154), /* Same as TIMEOUT and CONNECTTIMEOUT, but with ms resolution */ - CINIT(TIMEOUT_MS, LONG, 155), - CINIT(CONNECTTIMEOUT_MS, LONG, 156), + CURLOPT(CURLOPT_TIMEOUT_MS, CURLOPTTYPE_LONG, 155), + CURLOPT(CURLOPT_CONNECTTIMEOUT_MS, CURLOPTTYPE_LONG, 156), /* set to zero to disable the libcurl's decoding and thus pass the raw body data to the application even when it is encoded/compressed */ - CINIT(HTTP_TRANSFER_DECODING, LONG, 157), - CINIT(HTTP_CONTENT_DECODING, LONG, 158), + CURLOPT(CURLOPT_HTTP_TRANSFER_DECODING, CURLOPTTYPE_LONG, 157), + CURLOPT(CURLOPT_HTTP_CONTENT_DECODING, CURLOPTTYPE_LONG, 158), /* Permission used when creating new files and directories on the remote server for protocols that support it, SFTP/SCP/FILE */ - CINIT(NEW_FILE_PERMS, LONG, 159), - CINIT(NEW_DIRECTORY_PERMS, LONG, 160), + CURLOPT(CURLOPT_NEW_FILE_PERMS, CURLOPTTYPE_LONG, 159), + CURLOPT(CURLOPT_NEW_DIRECTORY_PERMS, CURLOPTTYPE_LONG, 160), /* Set the behaviour of POST when redirecting. Values must be set to one of CURL_REDIR* defines below. This used to be called CURLOPT_POST301 */ - CINIT(POSTREDIR, LONG, 161), + CURLOPT(CURLOPT_POSTREDIR, CURLOPTTYPE_LONG, 161), /* used by scp/sftp to verify the host's public key */ - CINIT(SSH_HOST_PUBLIC_KEY_MD5, OBJECTPOINT, 162), + CURLOPT(CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, CURLOPTTYPE_STRINGPOINT, 162), /* Callback function for opening socket (instead of socket(2)). Optionally, callback is able change the address or refuse to connect returning CURL_SOCKET_BAD. The callback should have type curl_opensocket_callback */ - CINIT(OPENSOCKETFUNCTION, FUNCTIONPOINT, 163), - CINIT(OPENSOCKETDATA, OBJECTPOINT, 164), + CURLOPT(CURLOPT_OPENSOCKETFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 163), + CURLOPT(CURLOPT_OPENSOCKETDATA, CURLOPTTYPE_OBJECTPOINT, 164), /* POST volatile input fields. */ - CINIT(COPYPOSTFIELDS, OBJECTPOINT, 165), + CURLOPT(CURLOPT_COPYPOSTFIELDS, CURLOPTTYPE_OBJECTPOINT, 165), /* set transfer mode (;type=) when doing FTP via an HTTP proxy */ - CINIT(PROXY_TRANSFER_MODE, LONG, 166), + CURLOPT(CURLOPT_PROXY_TRANSFER_MODE, CURLOPTTYPE_LONG, 166), /* Callback function for seeking in the input stream */ - CINIT(SEEKFUNCTION, FUNCTIONPOINT, 167), - CINIT(SEEKDATA, OBJECTPOINT, 168), + CURLOPT(CURLOPT_SEEKFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 167), + CURLOPT(CURLOPT_SEEKDATA, CURLOPTTYPE_OBJECTPOINT, 168), /* CRL file */ - CINIT(CRLFILE, OBJECTPOINT, 169), + CURLOPT(CURLOPT_CRLFILE, CURLOPTTYPE_STRINGPOINT, 169), /* Issuer certificate */ - CINIT(ISSUERCERT, OBJECTPOINT, 170), + CURLOPT(CURLOPT_ISSUERCERT, CURLOPTTYPE_STRINGPOINT, 170), /* (IPv6) Address scope */ - CINIT(ADDRESS_SCOPE, LONG, 171), + CURLOPT(CURLOPT_ADDRESS_SCOPE, CURLOPTTYPE_LONG, 171), /* Collect certificate chain info and allow it to get retrievable with - CURLINFO_CERTINFO after the transfer is complete. (Unfortunately) only - working with OpenSSL-powered builds. */ - CINIT(CERTINFO, LONG, 172), + CURLINFO_CERTINFO after the transfer is complete. */ + CURLOPT(CURLOPT_CERTINFO, CURLOPTTYPE_LONG, 172), /* "name" and "pwd" to use when fetching. */ - CINIT(USERNAME, OBJECTPOINT, 173), - CINIT(PASSWORD, OBJECTPOINT, 174), + CURLOPT(CURLOPT_USERNAME, CURLOPTTYPE_STRINGPOINT, 173), + CURLOPT(CURLOPT_PASSWORD, CURLOPTTYPE_STRINGPOINT, 174), /* "name" and "pwd" to use with Proxy when fetching. */ - CINIT(PROXYUSERNAME, OBJECTPOINT, 175), - CINIT(PROXYPASSWORD, OBJECTPOINT, 176), + CURLOPT(CURLOPT_PROXYUSERNAME, CURLOPTTYPE_STRINGPOINT, 175), + CURLOPT(CURLOPT_PROXYPASSWORD, CURLOPTTYPE_STRINGPOINT, 176), /* Comma separated list of hostnames defining no-proxy zones. These should match both hostnames directly, and hostnames within a domain. For @@ -1366,103 +1572,103 @@ typedef enum { implementations of this, .local.com will be considered to be the same as local.com. A single * is the only valid wildcard, and effectively disables the use of proxy. */ - CINIT(NOPROXY, OBJECTPOINT, 177), + CURLOPT(CURLOPT_NOPROXY, CURLOPTTYPE_STRINGPOINT, 177), /* block size for TFTP transfers */ - CINIT(TFTP_BLKSIZE, LONG, 178), + CURLOPT(CURLOPT_TFTP_BLKSIZE, CURLOPTTYPE_LONG, 178), /* Socks Service */ - CINIT(SOCKS5_GSSAPI_SERVICE, OBJECTPOINT, 179), + /* DEPRECATED, do not use! */ + CURLOPT(CURLOPT_SOCKS5_GSSAPI_SERVICE, CURLOPTTYPE_STRINGPOINT, 179), /* Socks Service */ - CINIT(SOCKS5_GSSAPI_NEC, LONG, 180), + CURLOPT(CURLOPT_SOCKS5_GSSAPI_NEC, CURLOPTTYPE_LONG, 180), /* set the bitmask for the protocols that are allowed to be used for the transfer, which thus helps the app which takes URLs from users or other external inputs and want to restrict what protocol(s) to deal with. Defaults to CURLPROTO_ALL. */ - CINIT(PROTOCOLS, LONG, 181), + CURLOPT(CURLOPT_PROTOCOLS, CURLOPTTYPE_LONG, 181), /* set the bitmask for the protocols that libcurl is allowed to follow to, as a subset of the CURLOPT_PROTOCOLS ones. That means the protocol needs - to be set in both bitmasks to be allowed to get redirected to. Defaults - to all protocols except FILE and SCP. */ - CINIT(REDIR_PROTOCOLS, LONG, 182), + to be set in both bitmasks to be allowed to get redirected to. */ + CURLOPT(CURLOPT_REDIR_PROTOCOLS, CURLOPTTYPE_LONG, 182), /* set the SSH knownhost file name to use */ - CINIT(SSH_KNOWNHOSTS, OBJECTPOINT, 183), + CURLOPT(CURLOPT_SSH_KNOWNHOSTS, CURLOPTTYPE_STRINGPOINT, 183), /* set the SSH host key callback, must point to a curl_sshkeycallback function */ - CINIT(SSH_KEYFUNCTION, FUNCTIONPOINT, 184), + CURLOPT(CURLOPT_SSH_KEYFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 184), /* set the SSH host key callback custom pointer */ - CINIT(SSH_KEYDATA, OBJECTPOINT, 185), + CURLOPT(CURLOPT_SSH_KEYDATA, CURLOPTTYPE_OBJECTPOINT, 185), /* set the SMTP mail originator */ - CINIT(MAIL_FROM, OBJECTPOINT, 186), + CURLOPT(CURLOPT_MAIL_FROM, CURLOPTTYPE_STRINGPOINT, 186), - /* set the SMTP mail receiver(s) */ - CINIT(MAIL_RCPT, OBJECTPOINT, 187), + /* set the list of SMTP mail receiver(s) */ + CURLOPT(CURLOPT_MAIL_RCPT, CURLOPTTYPE_SLISTPOINT, 187), /* FTP: send PRET before PASV */ - CINIT(FTP_USE_PRET, LONG, 188), + CURLOPT(CURLOPT_FTP_USE_PRET, CURLOPTTYPE_LONG, 188), /* RTSP request method (OPTIONS, SETUP, PLAY, etc...) */ - CINIT(RTSP_REQUEST, LONG, 189), + CURLOPT(CURLOPT_RTSP_REQUEST, CURLOPTTYPE_LONG, 189), /* The RTSP session identifier */ - CINIT(RTSP_SESSION_ID, OBJECTPOINT, 190), + CURLOPT(CURLOPT_RTSP_SESSION_ID, CURLOPTTYPE_STRINGPOINT, 190), /* The RTSP stream URI */ - CINIT(RTSP_STREAM_URI, OBJECTPOINT, 191), + CURLOPT(CURLOPT_RTSP_STREAM_URI, CURLOPTTYPE_STRINGPOINT, 191), /* The Transport: header to use in RTSP requests */ - CINIT(RTSP_TRANSPORT, OBJECTPOINT, 192), + CURLOPT(CURLOPT_RTSP_TRANSPORT, CURLOPTTYPE_STRINGPOINT, 192), /* Manually initialize the client RTSP CSeq for this handle */ - CINIT(RTSP_CLIENT_CSEQ, LONG, 193), + CURLOPT(CURLOPT_RTSP_CLIENT_CSEQ, CURLOPTTYPE_LONG, 193), /* Manually initialize the server RTSP CSeq for this handle */ - CINIT(RTSP_SERVER_CSEQ, LONG, 194), + CURLOPT(CURLOPT_RTSP_SERVER_CSEQ, CURLOPTTYPE_LONG, 194), /* The stream to pass to INTERLEAVEFUNCTION. */ - CINIT(INTERLEAVEDATA, OBJECTPOINT, 195), + CURLOPT(CURLOPT_INTERLEAVEDATA, CURLOPTTYPE_OBJECTPOINT, 195), /* Let the application define a custom write method for RTP data */ - CINIT(INTERLEAVEFUNCTION, FUNCTIONPOINT, 196), + CURLOPT(CURLOPT_INTERLEAVEFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 196), /* Turn on wildcard matching */ - CINIT(WILDCARDMATCH, LONG, 197), + CURLOPT(CURLOPT_WILDCARDMATCH, CURLOPTTYPE_LONG, 197), /* Directory matching callback called before downloading of an individual file (chunk) started */ - CINIT(CHUNK_BGN_FUNCTION, FUNCTIONPOINT, 198), + CURLOPT(CURLOPT_CHUNK_BGN_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 198), /* Directory matching callback called after the file (chunk) was downloaded, or skipped */ - CINIT(CHUNK_END_FUNCTION, FUNCTIONPOINT, 199), + CURLOPT(CURLOPT_CHUNK_END_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 199), /* Change match (fnmatch-like) callback for wildcard matching */ - CINIT(FNMATCH_FUNCTION, FUNCTIONPOINT, 200), + CURLOPT(CURLOPT_FNMATCH_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 200), /* Let the application define custom chunk data pointer */ - CINIT(CHUNK_DATA, OBJECTPOINT, 201), + CURLOPT(CURLOPT_CHUNK_DATA, CURLOPTTYPE_OBJECTPOINT, 201), /* FNMATCH_FUNCTION user pointer */ - CINIT(FNMATCH_DATA, OBJECTPOINT, 202), + CURLOPT(CURLOPT_FNMATCH_DATA, CURLOPTTYPE_OBJECTPOINT, 202), /* send linked-list of name:port:address sets */ - CINIT(RESOLVE, OBJECTPOINT, 203), + CURLOPT(CURLOPT_RESOLVE, CURLOPTTYPE_SLISTPOINT, 203), /* Set a username for authenticated TLS */ - CINIT(TLSAUTH_USERNAME, OBJECTPOINT, 204), + CURLOPT(CURLOPT_TLSAUTH_USERNAME, CURLOPTTYPE_STRINGPOINT, 204), /* Set a password for authenticated TLS */ - CINIT(TLSAUTH_PASSWORD, OBJECTPOINT, 205), + CURLOPT(CURLOPT_TLSAUTH_PASSWORD, CURLOPTTYPE_STRINGPOINT, 205), /* Set authentication type for authenticated TLS */ - CINIT(TLSAUTH_TYPE, OBJECTPOINT, 206), + CURLOPT(CURLOPT_TLSAUTH_TYPE, CURLOPTTYPE_STRINGPOINT, 206), /* Set to 1 to enable the "TE:" header in HTTP requests to ask for compressed transfer-encoded responses. Set to 0 to disable the use of TE: @@ -1474,7 +1680,274 @@ typedef enum { option is set to 1. */ - CINIT(TRANSFER_ENCODING, LONG, 207), + CURLOPT(CURLOPT_TRANSFER_ENCODING, CURLOPTTYPE_LONG, 207), + + /* Callback function for closing socket (instead of close(2)). The callback + should have type curl_closesocket_callback */ + CURLOPT(CURLOPT_CLOSESOCKETFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 208), + CURLOPT(CURLOPT_CLOSESOCKETDATA, CURLOPTTYPE_OBJECTPOINT, 209), + + /* allow GSSAPI credential delegation */ + CURLOPT(CURLOPT_GSSAPI_DELEGATION, CURLOPTTYPE_LONG, 210), + + /* Set the name servers to use for DNS resolution */ + CURLOPT(CURLOPT_DNS_SERVERS, CURLOPTTYPE_STRINGPOINT, 211), + + /* Time-out accept operations (currently for FTP only) after this amount + of milliseconds. */ + CURLOPT(CURLOPT_ACCEPTTIMEOUT_MS, CURLOPTTYPE_LONG, 212), + + /* Set TCP keepalive */ + CURLOPT(CURLOPT_TCP_KEEPALIVE, CURLOPTTYPE_LONG, 213), + + /* non-universal keepalive knobs (Linux, AIX, HP-UX, more) */ + CURLOPT(CURLOPT_TCP_KEEPIDLE, CURLOPTTYPE_LONG, 214), + CURLOPT(CURLOPT_TCP_KEEPINTVL, CURLOPTTYPE_LONG, 215), + + /* Enable/disable specific SSL features with a bitmask, see CURLSSLOPT_* */ + CURLOPT(CURLOPT_SSL_OPTIONS, CURLOPTTYPE_LONG, 216), + + /* Set the SMTP auth originator */ + CURLOPT(CURLOPT_MAIL_AUTH, CURLOPTTYPE_STRINGPOINT, 217), + + /* Enable/disable SASL initial response */ + CURLOPT(CURLOPT_SASL_IR, CURLOPTTYPE_LONG, 218), + + /* Function that will be called instead of the internal progress display + * function. This function should be defined as the curl_xferinfo_callback + * prototype defines. (Deprecates CURLOPT_PROGRESSFUNCTION) */ + CURLOPT(CURLOPT_XFERINFOFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 219), + + /* The XOAUTH2 bearer token */ + CURLOPT(CURLOPT_XOAUTH2_BEARER, CURLOPTTYPE_STRINGPOINT, 220), + + /* Set the interface string to use as outgoing network + * interface for DNS requests. + * Only supported by the c-ares DNS backend */ + CURLOPT(CURLOPT_DNS_INTERFACE, CURLOPTTYPE_STRINGPOINT, 221), + + /* Set the local IPv4 address to use for outgoing DNS requests. + * Only supported by the c-ares DNS backend */ + CURLOPT(CURLOPT_DNS_LOCAL_IP4, CURLOPTTYPE_STRINGPOINT, 222), + + /* Set the local IPv6 address to use for outgoing DNS requests. + * Only supported by the c-ares DNS backend */ + CURLOPT(CURLOPT_DNS_LOCAL_IP6, CURLOPTTYPE_STRINGPOINT, 223), + + /* Set authentication options directly */ + CURLOPT(CURLOPT_LOGIN_OPTIONS, CURLOPTTYPE_STRINGPOINT, 224), + + /* Enable/disable TLS NPN extension (http2 over ssl might fail without) */ + CURLOPT(CURLOPT_SSL_ENABLE_NPN, CURLOPTTYPE_LONG, 225), + + /* Enable/disable TLS ALPN extension (http2 over ssl might fail without) */ + CURLOPT(CURLOPT_SSL_ENABLE_ALPN, CURLOPTTYPE_LONG, 226), + + /* Time to wait for a response to a HTTP request containing an + * Expect: 100-continue header before sending the data anyway. */ + CURLOPT(CURLOPT_EXPECT_100_TIMEOUT_MS, CURLOPTTYPE_LONG, 227), + + /* This points to a linked list of headers used for proxy requests only, + struct curl_slist kind */ + CURLOPT(CURLOPT_PROXYHEADER, CURLOPTTYPE_SLISTPOINT, 228), + + /* Pass in a bitmask of "header options" */ + CURLOPT(CURLOPT_HEADEROPT, CURLOPTTYPE_LONG, 229), + + /* The public key in DER form used to validate the peer public key + this option is used only if SSL_VERIFYPEER is true */ + CURLOPT(CURLOPT_PINNEDPUBLICKEY, CURLOPTTYPE_STRINGPOINT, 230), + + /* Path to Unix domain socket */ + CURLOPT(CURLOPT_UNIX_SOCKET_PATH, CURLOPTTYPE_STRINGPOINT, 231), + + /* Set if we should verify the certificate status. */ + CURLOPT(CURLOPT_SSL_VERIFYSTATUS, CURLOPTTYPE_LONG, 232), + + /* Set if we should enable TLS false start. */ + CURLOPT(CURLOPT_SSL_FALSESTART, CURLOPTTYPE_LONG, 233), + + /* Do not squash dot-dot sequences */ + CURLOPT(CURLOPT_PATH_AS_IS, CURLOPTTYPE_LONG, 234), + + /* Proxy Service Name */ + CURLOPT(CURLOPT_PROXY_SERVICE_NAME, CURLOPTTYPE_STRINGPOINT, 235), + + /* Service Name */ + CURLOPT(CURLOPT_SERVICE_NAME, CURLOPTTYPE_STRINGPOINT, 236), + + /* Wait/don't wait for pipe/mutex to clarify */ + CURLOPT(CURLOPT_PIPEWAIT, CURLOPTTYPE_LONG, 237), + + /* Set the protocol used when curl is given a URL without a protocol */ + CURLOPT(CURLOPT_DEFAULT_PROTOCOL, CURLOPTTYPE_STRINGPOINT, 238), + + /* Set stream weight, 1 - 256 (default is 16) */ + CURLOPT(CURLOPT_STREAM_WEIGHT, CURLOPTTYPE_LONG, 239), + + /* Set stream dependency on another CURL handle */ + CURLOPT(CURLOPT_STREAM_DEPENDS, CURLOPTTYPE_OBJECTPOINT, 240), + + /* Set E-xclusive stream dependency on another CURL handle */ + CURLOPT(CURLOPT_STREAM_DEPENDS_E, CURLOPTTYPE_OBJECTPOINT, 241), + + /* Do not send any tftp option requests to the server */ + CURLOPT(CURLOPT_TFTP_NO_OPTIONS, CURLOPTTYPE_LONG, 242), + + /* Linked-list of host:port:connect-to-host:connect-to-port, + overrides the URL's host:port (only for the network layer) */ + CURLOPT(CURLOPT_CONNECT_TO, CURLOPTTYPE_SLISTPOINT, 243), + + /* Set TCP Fast Open */ + CURLOPT(CURLOPT_TCP_FASTOPEN, CURLOPTTYPE_LONG, 244), + + /* Continue to send data if the server responds early with an + * HTTP status code >= 300 */ + CURLOPT(CURLOPT_KEEP_SENDING_ON_ERROR, CURLOPTTYPE_LONG, 245), + + /* The CApath or CAfile used to validate the proxy certificate + this option is used only if PROXY_SSL_VERIFYPEER is true */ + CURLOPT(CURLOPT_PROXY_CAINFO, CURLOPTTYPE_STRINGPOINT, 246), + + /* The CApath directory used to validate the proxy certificate + this option is used only if PROXY_SSL_VERIFYPEER is true */ + CURLOPT(CURLOPT_PROXY_CAPATH, CURLOPTTYPE_STRINGPOINT, 247), + + /* Set if we should verify the proxy in ssl handshake, + set 1 to verify. */ + CURLOPT(CURLOPT_PROXY_SSL_VERIFYPEER, CURLOPTTYPE_LONG, 248), + + /* Set if we should verify the Common name from the proxy certificate in ssl + * handshake, set 1 to check existence, 2 to ensure that it matches + * the provided hostname. */ + CURLOPT(CURLOPT_PROXY_SSL_VERIFYHOST, CURLOPTTYPE_LONG, 249), + + /* What version to specifically try to use for proxy. + See CURL_SSLVERSION defines below. */ + CURLOPT(CURLOPT_PROXY_SSLVERSION, CURLOPTTYPE_LONG, 250), + + /* Set a username for authenticated TLS for proxy */ + CURLOPT(CURLOPT_PROXY_TLSAUTH_USERNAME, CURLOPTTYPE_STRINGPOINT, 251), + + /* Set a password for authenticated TLS for proxy */ + CURLOPT(CURLOPT_PROXY_TLSAUTH_PASSWORD, CURLOPTTYPE_STRINGPOINT, 252), + + /* Set authentication type for authenticated TLS for proxy */ + CURLOPT(CURLOPT_PROXY_TLSAUTH_TYPE, CURLOPTTYPE_STRINGPOINT, 253), + + /* name of the file keeping your private SSL-certificate for proxy */ + CURLOPT(CURLOPT_PROXY_SSLCERT, CURLOPTTYPE_STRINGPOINT, 254), + + /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") for + proxy */ + CURLOPT(CURLOPT_PROXY_SSLCERTTYPE, CURLOPTTYPE_STRINGPOINT, 255), + + /* name of the file keeping your private SSL-key for proxy */ + CURLOPT(CURLOPT_PROXY_SSLKEY, CURLOPTTYPE_STRINGPOINT, 256), + + /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") for + proxy */ + CURLOPT(CURLOPT_PROXY_SSLKEYTYPE, CURLOPTTYPE_STRINGPOINT, 257), + + /* password for the SSL private key for proxy */ + CURLOPT(CURLOPT_PROXY_KEYPASSWD, CURLOPTTYPE_STRINGPOINT, 258), + + /* Specify which SSL ciphers to use for proxy */ + CURLOPT(CURLOPT_PROXY_SSL_CIPHER_LIST, CURLOPTTYPE_STRINGPOINT, 259), + + /* CRL file for proxy */ + CURLOPT(CURLOPT_PROXY_CRLFILE, CURLOPTTYPE_STRINGPOINT, 260), + + /* Enable/disable specific SSL features with a bitmask for proxy, see + CURLSSLOPT_* */ + CURLOPT(CURLOPT_PROXY_SSL_OPTIONS, CURLOPTTYPE_LONG, 261), + + /* Name of pre proxy to use. */ + CURLOPT(CURLOPT_PRE_PROXY, CURLOPTTYPE_STRINGPOINT, 262), + + /* The public key in DER form used to validate the proxy public key + this option is used only if PROXY_SSL_VERIFYPEER is true */ + CURLOPT(CURLOPT_PROXY_PINNEDPUBLICKEY, CURLOPTTYPE_STRINGPOINT, 263), + + /* Path to an abstract Unix domain socket */ + CURLOPT(CURLOPT_ABSTRACT_UNIX_SOCKET, CURLOPTTYPE_STRINGPOINT, 264), + + /* Suppress proxy CONNECT response headers from user callbacks */ + CURLOPT(CURLOPT_SUPPRESS_CONNECT_HEADERS, CURLOPTTYPE_LONG, 265), + + /* The request target, instead of extracted from the URL */ + CURLOPT(CURLOPT_REQUEST_TARGET, CURLOPTTYPE_STRINGPOINT, 266), + + /* bitmask of allowed auth methods for connections to SOCKS5 proxies */ + CURLOPT(CURLOPT_SOCKS5_AUTH, CURLOPTTYPE_LONG, 267), + + /* Enable/disable SSH compression */ + CURLOPT(CURLOPT_SSH_COMPRESSION, CURLOPTTYPE_LONG, 268), + + /* Post MIME data. */ + CURLOPT(CURLOPT_MIMEPOST, CURLOPTTYPE_OBJECTPOINT, 269), + + /* Time to use with the CURLOPT_TIMECONDITION. Specified in number of + seconds since 1 Jan 1970. */ + CURLOPT(CURLOPT_TIMEVALUE_LARGE, CURLOPTTYPE_OFF_T, 270), + + /* Head start in milliseconds to give happy eyeballs. */ + CURLOPT(CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CURLOPTTYPE_LONG, 271), + + /* Function that will be called before a resolver request is made */ + CURLOPT(CURLOPT_RESOLVER_START_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 272), + + /* User data to pass to the resolver start callback. */ + CURLOPT(CURLOPT_RESOLVER_START_DATA, CURLOPTTYPE_OBJECTPOINT, 273), + + /* send HAProxy PROXY protocol header? */ + CURLOPT(CURLOPT_HAPROXYPROTOCOL, CURLOPTTYPE_LONG, 274), + + /* shuffle addresses before use when DNS returns multiple */ + CURLOPT(CURLOPT_DNS_SHUFFLE_ADDRESSES, CURLOPTTYPE_LONG, 275), + + /* Specify which TLS 1.3 ciphers suites to use */ + CURLOPT(CURLOPT_TLS13_CIPHERS, CURLOPTTYPE_STRINGPOINT, 276), + CURLOPT(CURLOPT_PROXY_TLS13_CIPHERS, CURLOPTTYPE_STRINGPOINT, 277), + + /* Disallow specifying username/login in URL. */ + CURLOPT(CURLOPT_DISALLOW_USERNAME_IN_URL, CURLOPTTYPE_LONG, 278), + + /* DNS-over-HTTPS URL */ + CURLOPT(CURLOPT_DOH_URL, CURLOPTTYPE_STRINGPOINT, 279), + + /* Preferred buffer size to use for uploads */ + CURLOPT(CURLOPT_UPLOAD_BUFFERSIZE, CURLOPTTYPE_LONG, 280), + + /* Time in ms between connection upkeep calls for long-lived connections. */ + CURLOPT(CURLOPT_UPKEEP_INTERVAL_MS, CURLOPTTYPE_LONG, 281), + + /* Specify URL using CURL URL API. */ + CURLOPT(CURLOPT_CURLU, CURLOPTTYPE_OBJECTPOINT, 282), + + /* add trailing data just after no more data is available */ + CURLOPT(CURLOPT_TRAILERFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 283), + + /* pointer to be passed to HTTP_TRAILER_FUNCTION */ + CURLOPT(CURLOPT_TRAILERDATA, CURLOPTTYPE_OBJECTPOINT, 284), + + /* set this to 1L to allow HTTP/0.9 responses or 0L to disallow */ + CURLOPT(CURLOPT_HTTP09_ALLOWED, CURLOPTTYPE_LONG, 285), + + /* alt-svc control bitmask */ + CURLOPT(CURLOPT_ALTSVC_CTRL, CURLOPTTYPE_LONG, 286), + + /* alt-svc cache file name to possibly read from/write to */ + CURLOPT(CURLOPT_ALTSVC, CURLOPTTYPE_STRINGPOINT, 287), + + /* maximum age of a connection to consider it for reuse (in seconds) */ + CURLOPT(CURLOPT_MAXAGE_CONN, CURLOPTTYPE_LONG, 288), + + /* SASL authorisation identity */ + CURLOPT(CURLOPT_SASL_AUTHZID, CURLOPTTYPE_STRINGPOINT, 289), + + /* allow RCPT TO command to fail for some recipients */ + CURLOPT(CURLOPT_MAIL_RCPT_ALLLOWFAILS, CURLOPTTYPE_LONG, 290), CURLOPT_LASTENTRY /* the last unused */ } CURLoption; @@ -1512,13 +1985,10 @@ typedef enum { option might be handy to force libcurl to use a specific IP version. */ #define CURL_IPRESOLVE_WHATEVER 0 /* default, resolves addresses to all IP versions that your system allows */ -#define CURL_IPRESOLVE_V4 1 /* resolve to ipv4 addresses */ -#define CURL_IPRESOLVE_V6 2 /* resolve to ipv6 addresses */ +#define CURL_IPRESOLVE_V4 1 /* resolve to IPv4 addresses */ +#define CURL_IPRESOLVE_V6 2 /* resolve to IPv6 addresses */ /* three convenient "aliases" that follow the name scheme better */ -#define CURLOPT_WRITEDATA CURLOPT_FILE -#define CURLOPT_READDATA CURLOPT_INFILE -#define CURLOPT_HEADERDATA CURLOPT_WRITEHEADER #define CURLOPT_RTSPHEADER CURLOPT_HTTPHEADER /* These enums are for use with the CURLOPT_HTTP_VERSION option. */ @@ -1528,10 +1998,20 @@ enum { for us! */ CURL_HTTP_VERSION_1_0, /* please use HTTP 1.0 in the request */ CURL_HTTP_VERSION_1_1, /* please use HTTP 1.1 in the request */ - + CURL_HTTP_VERSION_2_0, /* please use HTTP 2 in the request */ + CURL_HTTP_VERSION_2TLS, /* use version 2 for HTTPS, version 1.1 for HTTP */ + CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, /* please use HTTP 2 without HTTP/1.1 + Upgrade */ + CURL_HTTP_VERSION_3 = 30, /* Makes use of explicit HTTP/3 without fallback. + Use CURLOPT_ALTSVC to enable HTTP/3 upgrade */ CURL_HTTP_VERSION_LAST /* *ILLEGAL* http version */ }; +/* Convenience definition simple because the name of the version is HTTP/2 and + not 2.0. The 2_0 version of the enum name was set while the version was + still planned to be 2.0 and we stick to it for compatibility. */ +#define CURL_HTTP_VERSION_2 CURL_HTTP_VERSION_2_0 + /* * Public API enums for RTSP requests */ @@ -1565,13 +2045,29 @@ enum CURL_NETRC_OPTION { enum { CURL_SSLVERSION_DEFAULT, - CURL_SSLVERSION_TLSv1, + CURL_SSLVERSION_TLSv1, /* TLS 1.x */ CURL_SSLVERSION_SSLv2, CURL_SSLVERSION_SSLv3, + CURL_SSLVERSION_TLSv1_0, + CURL_SSLVERSION_TLSv1_1, + CURL_SSLVERSION_TLSv1_2, + CURL_SSLVERSION_TLSv1_3, CURL_SSLVERSION_LAST /* never use, keep last */ }; +enum { + CURL_SSLVERSION_MAX_NONE = 0, + CURL_SSLVERSION_MAX_DEFAULT = (CURL_SSLVERSION_TLSv1 << 16), + CURL_SSLVERSION_MAX_TLSv1_0 = (CURL_SSLVERSION_TLSv1_0 << 16), + CURL_SSLVERSION_MAX_TLSv1_1 = (CURL_SSLVERSION_TLSv1_1 << 16), + CURL_SSLVERSION_MAX_TLSv1_2 = (CURL_SSLVERSION_TLSv1_2 << 16), + CURL_SSLVERSION_MAX_TLSv1_3 = (CURL_SSLVERSION_TLSv1_3 << 16), + + /* never use, keep last */ + CURL_SSLVERSION_MAX_LAST = (CURL_SSLVERSION_LAST << 16) +}; + enum CURL_TLSAUTH { CURL_TLSAUTH_NONE, CURL_TLSAUTH_SRP, @@ -1579,13 +2075,16 @@ enum CURL_TLSAUTH { }; /* symbols to use with CURLOPT_POSTREDIR. - CURL_REDIR_POST_301 and CURL_REDIR_POST_302 can be bitwise ORed so that - CURL_REDIR_POST_301 | CURL_REDIR_POST_302 == CURL_REDIR_POST_ALL */ + CURL_REDIR_POST_301, CURL_REDIR_POST_302 and CURL_REDIR_POST_303 + can be bitwise ORed so that CURL_REDIR_POST_301 | CURL_REDIR_POST_302 + | CURL_REDIR_POST_303 == CURL_REDIR_POST_ALL */ #define CURL_REDIR_GET_ALL 0 #define CURL_REDIR_POST_301 1 #define CURL_REDIR_POST_302 2 -#define CURL_REDIR_POST_ALL (CURL_REDIR_POST_301|CURL_REDIR_POST_302) +#define CURL_REDIR_POST_303 4 +#define CURL_REDIR_POST_ALL \ + (CURL_REDIR_POST_301|CURL_REDIR_POST_302|CURL_REDIR_POST_303) typedef enum { CURL_TIMECOND_NONE, @@ -1597,56 +2096,168 @@ typedef enum { CURL_TIMECOND_LAST } curl_TimeCond; +/* Special size_t value signaling a zero-terminated string. */ +#define CURL_ZERO_TERMINATED ((size_t) -1) /* curl_strequal() and curl_strnequal() are subject for removal in a future - libcurl, see lib/README.curlx for details */ -CURL_EXTERN int (curl_strequal)(const char *s1, const char *s2); -CURL_EXTERN int (curl_strnequal)(const char *s1, const char *s2, size_t n); + release */ +CURL_EXTERN int curl_strequal(const char *s1, const char *s2); +CURL_EXTERN int curl_strnequal(const char *s1, const char *s2, size_t n); -/* name is uppercase CURLFORM_ */ -#ifdef CFINIT -#undef CFINIT -#endif +/* Mime/form handling support. */ +typedef struct curl_mime_s curl_mime; /* Mime context. */ +typedef struct curl_mimepart_s curl_mimepart; /* Mime part context. */ -#ifdef CURL_ISOCPP -#define CFINIT(name) CURLFORM_ ## name -#else -/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */ -#define CFINIT(name) CURLFORM_/**/name -#endif +/* + * NAME curl_mime_init() + * + * DESCRIPTION + * + * Create a mime context and return its handle. The easy parameter is the + * target handle. + */ +CURL_EXTERN curl_mime *curl_mime_init(CURL *easy); + +/* + * NAME curl_mime_free() + * + * DESCRIPTION + * + * release a mime handle and its substructures. + */ +CURL_EXTERN void curl_mime_free(curl_mime *mime); + +/* + * NAME curl_mime_addpart() + * + * DESCRIPTION + * + * Append a new empty part to the given mime context and return a handle to + * the created part. + */ +CURL_EXTERN curl_mimepart *curl_mime_addpart(curl_mime *mime); + +/* + * NAME curl_mime_name() + * + * DESCRIPTION + * + * Set mime/form part name. + */ +CURL_EXTERN CURLcode curl_mime_name(curl_mimepart *part, const char *name); + +/* + * NAME curl_mime_filename() + * + * DESCRIPTION + * + * Set mime part remote file name. + */ +CURL_EXTERN CURLcode curl_mime_filename(curl_mimepart *part, + const char *filename); + +/* + * NAME curl_mime_type() + * + * DESCRIPTION + * + * Set mime part type. + */ +CURL_EXTERN CURLcode curl_mime_type(curl_mimepart *part, const char *mimetype); + +/* + * NAME curl_mime_encoder() + * + * DESCRIPTION + * + * Set mime data transfer encoder. + */ +CURL_EXTERN CURLcode curl_mime_encoder(curl_mimepart *part, + const char *encoding); + +/* + * NAME curl_mime_data() + * + * DESCRIPTION + * + * Set mime part data source from memory data, + */ +CURL_EXTERN CURLcode curl_mime_data(curl_mimepart *part, + const char *data, size_t datasize); + +/* + * NAME curl_mime_filedata() + * + * DESCRIPTION + * + * Set mime part data source from named file. + */ +CURL_EXTERN CURLcode curl_mime_filedata(curl_mimepart *part, + const char *filename); + +/* + * NAME curl_mime_data_cb() + * + * DESCRIPTION + * + * Set mime part data source from callback function. + */ +CURL_EXTERN CURLcode curl_mime_data_cb(curl_mimepart *part, + curl_off_t datasize, + curl_read_callback readfunc, + curl_seek_callback seekfunc, + curl_free_callback freefunc, + void *arg); + +/* + * NAME curl_mime_subparts() + * + * DESCRIPTION + * + * Set mime part data source from subparts. + */ +CURL_EXTERN CURLcode curl_mime_subparts(curl_mimepart *part, + curl_mime *subparts); +/* + * NAME curl_mime_headers() + * + * DESCRIPTION + * + * Set mime part headers. + */ +CURL_EXTERN CURLcode curl_mime_headers(curl_mimepart *part, + struct curl_slist *headers, + int take_ownership); typedef enum { - CFINIT(NOTHING), /********* the first one is unused ************/ + CURLFORM_NOTHING, /********* the first one is unused ************/ + CURLFORM_COPYNAME, + CURLFORM_PTRNAME, + CURLFORM_NAMELENGTH, + CURLFORM_COPYCONTENTS, + CURLFORM_PTRCONTENTS, + CURLFORM_CONTENTSLENGTH, + CURLFORM_FILECONTENT, + CURLFORM_ARRAY, + CURLFORM_OBSOLETE, + CURLFORM_FILE, - /* */ - CFINIT(COPYNAME), - CFINIT(PTRNAME), - CFINIT(NAMELENGTH), - CFINIT(COPYCONTENTS), - CFINIT(PTRCONTENTS), - CFINIT(CONTENTSLENGTH), - CFINIT(FILECONTENT), - CFINIT(ARRAY), - CFINIT(OBSOLETE), - CFINIT(FILE), + CURLFORM_BUFFER, + CURLFORM_BUFFERPTR, + CURLFORM_BUFFERLENGTH, - CFINIT(BUFFER), - CFINIT(BUFFERPTR), - CFINIT(BUFFERLENGTH), + CURLFORM_CONTENTTYPE, + CURLFORM_CONTENTHEADER, + CURLFORM_FILENAME, + CURLFORM_END, + CURLFORM_OBSOLETE2, - CFINIT(CONTENTTYPE), - CFINIT(CONTENTHEADER), - CFINIT(FILENAME), - CFINIT(END), - CFINIT(OBSOLETE2), - - CFINIT(STREAM), + CURLFORM_STREAM, + CURLFORM_CONTENTLEN, /* added in 7.46.0, provide a curl_off_t length */ CURLFORM_LASTENTRY /* the last unused */ } CURLformoption; -#undef CFINIT /* done */ - /* structure to be used as parameter for CURLFORM_ARRAY */ struct curl_forms { CURLformoption option; @@ -1704,7 +2315,8 @@ CURL_EXTERN CURLFORMcode curl_formadd(struct curl_httppost **httppost, * Should return the buffer length passed to it as the argument "len" on * success. */ -typedef size_t (*curl_formget_callback)(void *arg, const char *buf, size_t len); +typedef size_t (*curl_formget_callback)(void *arg, const char *buf, + size_t len); /* * NAME curl_formget() @@ -1842,6 +2454,47 @@ struct curl_slist { struct curl_slist *next; }; +/* + * NAME curl_global_sslset() + * + * DESCRIPTION + * + * When built with multiple SSL backends, curl_global_sslset() allows to + * choose one. This function can only be called once, and it must be called + * *before* curl_global_init(). + * + * The backend can be identified by the id (e.g. CURLSSLBACKEND_OPENSSL). The + * backend can also be specified via the name parameter (passing -1 as id). + * If both id and name are specified, the name will be ignored. If neither id + * nor name are specified, the function will fail with + * CURLSSLSET_UNKNOWN_BACKEND and set the "avail" pointer to the + * NULL-terminated list of available backends. + * + * Upon success, the function returns CURLSSLSET_OK. + * + * If the specified SSL backend is not available, the function returns + * CURLSSLSET_UNKNOWN_BACKEND and sets the "avail" pointer to a NULL-terminated + * list of available SSL backends. + * + * The SSL backend can be set only once. If it has already been set, a + * subsequent attempt to change it will result in a CURLSSLSET_TOO_LATE. + */ + +typedef struct { + curl_sslbackend id; + const char *name; +} curl_ssl_backend; + +typedef enum { + CURLSSLSET_OK = 0, + CURLSSLSET_UNKNOWN_BACKEND, + CURLSSLSET_TOO_LATE, + CURLSSLSET_NO_BACKENDS /* libcurl was built without any SSL support */ +} CURLsslset; + +CURL_EXTERN CURLsslset curl_global_sslset(curl_sslbackend id, const char *name, + const curl_ssl_backend ***avail); + /* * NAME curl_slist_append() * @@ -1873,8 +2526,8 @@ CURL_EXTERN void curl_slist_free_all(struct curl_slist *); */ CURL_EXTERN time_t curl_getdate(const char *p, const time_t *unused); -/* info about the certificate chain, only for OpenSSL builds. Asked - for with CURLOPT_CERTINFO / CURLINFO_CERTINFO */ +/* info about the certificate chain, only for OpenSSL, GnuTLS, Schannel, NSS + and GSKit builds. Asked for with CURLOPT_CERTINFO / CURLINFO_CERTINFO */ struct curl_certinfo { int num_of_certs; /* number of certificates with information */ struct curl_slist **certinfo; /* for each index in this array, there's a @@ -1882,10 +2535,21 @@ struct curl_certinfo { format "name: value" */ }; +/* Information about the SSL library used and the respective internal SSL + handle, which can be used to obtain further information regarding the + connection. Asked for with CURLINFO_TLS_SSL_PTR or CURLINFO_TLS_SESSION. */ +struct curl_tlssessioninfo { + curl_sslbackend backend; + void *internals; +}; + #define CURLINFO_STRING 0x100000 #define CURLINFO_LONG 0x200000 #define CURLINFO_DOUBLE 0x300000 #define CURLINFO_SLIST 0x400000 +#define CURLINFO_PTR 0x400000 /* same as SLIST */ +#define CURLINFO_SOCKET 0x500000 +#define CURLINFO_OFF_T 0x600000 #define CURLINFO_MASK 0x0fffff #define CURLINFO_TYPEMASK 0xf00000 @@ -1898,15 +2562,22 @@ typedef enum { CURLINFO_CONNECT_TIME = CURLINFO_DOUBLE + 5, CURLINFO_PRETRANSFER_TIME = CURLINFO_DOUBLE + 6, CURLINFO_SIZE_UPLOAD = CURLINFO_DOUBLE + 7, + CURLINFO_SIZE_UPLOAD_T = CURLINFO_OFF_T + 7, CURLINFO_SIZE_DOWNLOAD = CURLINFO_DOUBLE + 8, + CURLINFO_SIZE_DOWNLOAD_T = CURLINFO_OFF_T + 8, CURLINFO_SPEED_DOWNLOAD = CURLINFO_DOUBLE + 9, + CURLINFO_SPEED_DOWNLOAD_T = CURLINFO_OFF_T + 9, CURLINFO_SPEED_UPLOAD = CURLINFO_DOUBLE + 10, + CURLINFO_SPEED_UPLOAD_T = CURLINFO_OFF_T + 10, CURLINFO_HEADER_SIZE = CURLINFO_LONG + 11, CURLINFO_REQUEST_SIZE = CURLINFO_LONG + 12, CURLINFO_SSL_VERIFYRESULT = CURLINFO_LONG + 13, CURLINFO_FILETIME = CURLINFO_LONG + 14, + CURLINFO_FILETIME_T = CURLINFO_OFF_T + 14, CURLINFO_CONTENT_LENGTH_DOWNLOAD = CURLINFO_DOUBLE + 15, + CURLINFO_CONTENT_LENGTH_DOWNLOAD_T = CURLINFO_OFF_T + 15, CURLINFO_CONTENT_LENGTH_UPLOAD = CURLINFO_DOUBLE + 16, + CURLINFO_CONTENT_LENGTH_UPLOAD_T = CURLINFO_OFF_T + 16, CURLINFO_STARTTRANSFER_TIME = CURLINFO_DOUBLE + 17, CURLINFO_CONTENT_TYPE = CURLINFO_STRING + 18, CURLINFO_REDIRECT_TIME = CURLINFO_DOUBLE + 19, @@ -1924,7 +2595,7 @@ typedef enum { CURLINFO_REDIRECT_URL = CURLINFO_STRING + 31, CURLINFO_PRIMARY_IP = CURLINFO_STRING + 32, CURLINFO_APPCONNECT_TIME = CURLINFO_DOUBLE + 33, - CURLINFO_CERTINFO = CURLINFO_SLIST + 34, + CURLINFO_CERTINFO = CURLINFO_PTR + 34, CURLINFO_CONDITION_UNMET = CURLINFO_LONG + 35, CURLINFO_RTSP_SESSION_ID = CURLINFO_STRING + 36, CURLINFO_RTSP_CLIENT_CSEQ = CURLINFO_LONG + 37, @@ -1933,9 +2604,27 @@ typedef enum { CURLINFO_PRIMARY_PORT = CURLINFO_LONG + 40, CURLINFO_LOCAL_IP = CURLINFO_STRING + 41, CURLINFO_LOCAL_PORT = CURLINFO_LONG + 42, + CURLINFO_TLS_SESSION = CURLINFO_PTR + 43, + CURLINFO_ACTIVESOCKET = CURLINFO_SOCKET + 44, + CURLINFO_TLS_SSL_PTR = CURLINFO_PTR + 45, + CURLINFO_HTTP_VERSION = CURLINFO_LONG + 46, + CURLINFO_PROXY_SSL_VERIFYRESULT = CURLINFO_LONG + 47, + CURLINFO_PROTOCOL = CURLINFO_LONG + 48, + CURLINFO_SCHEME = CURLINFO_STRING + 49, /* Fill in new entries below here! */ - CURLINFO_LASTONE = 42 + /* Preferably these would be defined conditionally based on the + sizeof curl_off_t being 64-bits */ + CURLINFO_TOTAL_TIME_T = CURLINFO_OFF_T + 50, + CURLINFO_NAMELOOKUP_TIME_T = CURLINFO_OFF_T + 51, + CURLINFO_CONNECT_TIME_T = CURLINFO_OFF_T + 52, + CURLINFO_PRETRANSFER_TIME_T = CURLINFO_OFF_T + 53, + CURLINFO_STARTTRANSFER_TIME_T = CURLINFO_OFF_T + 54, + CURLINFO_REDIRECT_TIME_T = CURLINFO_OFF_T + 55, + CURLINFO_APPCONNECT_TIME_T = CURLINFO_OFF_T + 56, + CURLINFO_RETRY_AFTER = CURLINFO_OFF_T + 57, + + CURLINFO_LASTONE = 57 } CURLINFO; /* CURLINFO_RESPONSE_CODE is the new name for the option previously known as @@ -1954,11 +2643,12 @@ typedef enum { CURLCLOSEPOLICY_LAST /* last, never use this */ } curl_closepolicy; -#define CURL_GLOBAL_SSL (1<<0) +#define CURL_GLOBAL_SSL (1<<0) /* no purpose since since 7.57.0 */ #define CURL_GLOBAL_WIN32 (1<<1) #define CURL_GLOBAL_ALL (CURL_GLOBAL_SSL|CURL_GLOBAL_WIN32) #define CURL_GLOBAL_NOTHING 0 #define CURL_GLOBAL_DEFAULT CURL_GLOBAL_ALL +#define CURL_GLOBAL_ACK_EINTR (1<<2) /***************************************************************************** @@ -1977,6 +2667,7 @@ typedef enum { CURL_LOCK_DATA_DNS, CURL_LOCK_DATA_SSL_SESSION, CURL_LOCK_DATA_CONNECT, + CURL_LOCK_DATA_PSL, CURL_LOCK_DATA_LAST } curl_lock_data; @@ -1996,15 +2687,15 @@ typedef void (*curl_unlock_function)(CURL *handle, curl_lock_data data, void *userptr); -typedef void CURLSH; typedef enum { CURLSHE_OK, /* all is fine */ CURLSHE_BAD_OPTION, /* 1 */ CURLSHE_IN_USE, /* 2 */ CURLSHE_INVALID, /* 3 */ - CURLSHE_NOMEM, /* out of memory */ - CURLSHE_LAST /* never use */ + CURLSHE_NOMEM, /* 4 out of memory */ + CURLSHE_NOT_BUILT_IN, /* 5 feature not present in lib */ + CURLSHE_LAST /* never use */ } CURLSHcode; typedef enum { @@ -2031,6 +2722,8 @@ typedef enum { CURLVERSION_SECOND, CURLVERSION_THIRD, CURLVERSION_FOURTH, + CURLVERSION_FIFTH, + CURLVERSION_SIXTH, CURLVERSION_LAST /* never actually use this */ } CURLversion; @@ -2039,7 +2732,7 @@ typedef enum { meant to be a built-in version number for what kind of struct the caller expects. If the struct ever changes, we redefine the NOW to another enum from above. */ -#define CURLVERSION_NOW CURLVERSION_FOURTH +#define CURLVERSION_NOW CURLVERSION_SIXTH typedef struct { CURLversion age; /* age of the returned struct */ @@ -2067,25 +2760,54 @@ typedef struct { const char *libssh_version; /* human readable string */ + /* These fields were added in CURLVERSION_FIFTH */ + unsigned int brotli_ver_num; /* Numeric Brotli version + (MAJOR << 24) | (MINOR << 12) | PATCH */ + const char *brotli_version; /* human readable string. */ + + /* These fields were added in CURLVERSION_SIXTH */ + unsigned int nghttp2_ver_num; /* Numeric nghttp2 version + (MAJOR << 16) | (MINOR << 8) | PATCH */ + const char *nghttp2_version; /* human readable string. */ + const char *quic_version; /* human readable quic (+ HTTP/3) library + + version or NULL */ } curl_version_info_data; -#define CURL_VERSION_IPV6 (1<<0) /* IPv6-enabled */ -#define CURL_VERSION_KERBEROS4 (1<<1) /* kerberos auth is supported */ -#define CURL_VERSION_SSL (1<<2) /* SSL options are present */ -#define CURL_VERSION_LIBZ (1<<3) /* libz features are present */ -#define CURL_VERSION_NTLM (1<<4) /* NTLM auth is supported */ -#define CURL_VERSION_GSSNEGOTIATE (1<<5) /* Negotiate auth support */ -#define CURL_VERSION_DEBUG (1<<6) /* built with debug capabilities */ -#define CURL_VERSION_ASYNCHDNS (1<<7) /* asynchronous dns resolves */ -#define CURL_VERSION_SPNEGO (1<<8) /* SPNEGO auth */ -#define CURL_VERSION_LARGEFILE (1<<9) /* supports files bigger than 2GB */ -#define CURL_VERSION_IDN (1<<10) /* International Domain Names support */ -#define CURL_VERSION_SSPI (1<<11) /* SSPI is supported */ -#define CURL_VERSION_CONV (1<<12) /* character conversions supported */ -#define CURL_VERSION_CURLDEBUG (1<<13) /* debug memory tracking supported */ -#define CURL_VERSION_TLSAUTH_SRP (1<<14) /* TLS-SRP auth is supported */ +#define CURL_VERSION_IPV6 (1<<0) /* IPv6-enabled */ +#define CURL_VERSION_KERBEROS4 (1<<1) /* Kerberos V4 auth is supported + (deprecated) */ +#define CURL_VERSION_SSL (1<<2) /* SSL options are present */ +#define CURL_VERSION_LIBZ (1<<3) /* libz features are present */ +#define CURL_VERSION_NTLM (1<<4) /* NTLM auth is supported */ +#define CURL_VERSION_GSSNEGOTIATE (1<<5) /* Negotiate auth is supported + (deprecated) */ +#define CURL_VERSION_DEBUG (1<<6) /* Built with debug capabilities */ +#define CURL_VERSION_ASYNCHDNS (1<<7) /* Asynchronous DNS resolves */ +#define CURL_VERSION_SPNEGO (1<<8) /* SPNEGO auth is supported */ +#define CURL_VERSION_LARGEFILE (1<<9) /* Supports files larger than 2GB */ +#define CURL_VERSION_IDN (1<<10) /* Internationized Domain Names are + supported */ +#define CURL_VERSION_SSPI (1<<11) /* Built against Windows SSPI */ +#define CURL_VERSION_CONV (1<<12) /* Character conversions supported */ +#define CURL_VERSION_CURLDEBUG (1<<13) /* Debug memory tracking supported */ +#define CURL_VERSION_TLSAUTH_SRP (1<<14) /* TLS-SRP auth is supported */ +#define CURL_VERSION_NTLM_WB (1<<15) /* NTLM delegation to winbind helper + is supported */ +#define CURL_VERSION_HTTP2 (1<<16) /* HTTP2 support built-in */ +#define CURL_VERSION_GSSAPI (1<<17) /* Built against a GSS-API library */ +#define CURL_VERSION_KERBEROS5 (1<<18) /* Kerberos V5 auth is supported */ +#define CURL_VERSION_UNIX_SOCKETS (1<<19) /* Unix domain sockets support */ +#define CURL_VERSION_PSL (1<<20) /* Mozilla's Public Suffix List, used + for cookie domain verification */ +#define CURL_VERSION_HTTPS_PROXY (1<<21) /* HTTPS-proxy support built-in */ +#define CURL_VERSION_MULTI_SSL (1<<22) /* Multiple SSL backends available */ +#define CURL_VERSION_BROTLI (1<<23) /* Brotli features are present. */ +#define CURL_VERSION_ALTSVC (1<<24) /* Alt-Svc handling built-in */ +#define CURL_VERSION_HTTP3 (1<<25) /* HTTP3 support built-in */ -/* +#define CURL_VERSION_ESNI (1<<26) /* ESNI support */ + + /* * NAME curl_version_info() * * DESCRIPTION @@ -2145,6 +2867,7 @@ CURL_EXTERN CURLcode curl_easy_pause(CURL *handle, int bitmask); stuff before they can be included! */ #include "easy.h" /* nothing in curl is fun without the easy stuff */ #include "multi.h" +#include "urlapi.h" /* the typechecker doesn't work in C++ (yet) */ #if defined(__GNUC__) && defined(__GNUC_MINOR__) && \ @@ -2163,4 +2886,4 @@ CURL_EXTERN CURLcode curl_easy_pause(CURL *handle, int bitmask); #endif /* __STDC__ >= 1 */ #endif /* gcc >= 4.3 && !__cplusplus */ -#endif /* __CURL_CURL_H */ +#endif /* CURLINC_CURL_H */ diff --git a/libs/curl/include/curl/curlver.h b/libs/curl/include/curl/curlver.h index 4db21857..5264f198 100644 --- a/libs/curl/include/curl/curlver.h +++ b/libs/curl/include/curl/curlver.h @@ -1,5 +1,5 @@ -#ifndef __CURL_CURLVER_H -#define __CURL_CURLVER_H +#ifndef CURLINC_CURLVER_H +#define CURLINC_CURLVER_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | @@ -7,11 +7,11 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2020, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms - * are also available at http://curl.haxx.se/docs/copyright.html. + * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is @@ -26,17 +26,17 @@ a script at release-time. This was made its own header file in 7.11.2 */ /* This is the global package copyright */ -#define LIBCURL_COPYRIGHT "1996 - 2011 Daniel Stenberg, ." +#define LIBCURL_COPYRIGHT "1996 - 2020 Daniel Stenberg, ." /* This is the version number of the libcurl package from which this header file origins: */ -#define LIBCURL_VERSION "7.21.6" +#define LIBCURL_VERSION "7.69.0" /* The numeric version number is also available "in parts" by using these defines: */ #define LIBCURL_VERSION_MAJOR 7 -#define LIBCURL_VERSION_MINOR 21 -#define LIBCURL_VERSION_PATCH 6 +#define LIBCURL_VERSION_MINOR 69 +#define LIBCURL_VERSION_PATCH 0 /* This is the numeric version of the libcurl version number, meant for easier parsing and comparions by programs. The LIBCURL_VERSION_NUM define will @@ -52,18 +52,26 @@ This 6-digit (24 bits) hexadecimal number does not show pre-release number, and it is always a greater number in a more recent release. It makes comparisons with greater than and less than work. + + Note: This define is the full hex number and _does not_ use the + CURL_VERSION_BITS() macro since curl's own configure script greps for it + and needs it to contain the full number. */ -#define LIBCURL_VERSION_NUM 0x071506 +#define LIBCURL_VERSION_NUM 0x074500 /* * This is the date and time when the full source package was created. The * timestamp is not stored in git, as the timestamp is properly set in the * tarballs by the maketgz script. * - * The format of the date should follow this template: + * The format of the date follows this template: * - * "Mon Feb 12 11:35:33 UTC 2007" + * "2007-11-23" */ -#define LIBCURL_TIMESTAMP "Fri Apr 22 17:18:50 UTC 2011" +#define LIBCURL_TIMESTAMP "2020-03-04" -#endif /* __CURL_CURLVER_H */ +#define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|(z)) +#define CURL_AT_LEAST_VERSION(x,y,z) \ + (LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z)) + +#endif /* CURLINC_CURLVER_H */ diff --git a/libs/curl/include/curl/easy.h b/libs/curl/include/curl/easy.h index c1e3e760..592f5d3c 100644 --- a/libs/curl/include/curl/easy.h +++ b/libs/curl/include/curl/easy.h @@ -1,5 +1,5 @@ -#ifndef __CURL_EASY_H -#define __CURL_EASY_H +#ifndef CURLINC_EASY_H +#define CURLINC_EASY_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | @@ -7,11 +7,11 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2008, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms - * are also available at http://curl.haxx.se/docs/copyright.html. + * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is @@ -58,7 +58,7 @@ CURL_EXTERN CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...); * curl_easy_duphandle() for each new thread to avoid a series of identical * curl_easy_setopt() invokes in every thread. */ -CURL_EXTERN CURL* curl_easy_duphandle(CURL *curl); +CURL_EXTERN CURL *curl_easy_duphandle(CURL *curl); /* * NAME curl_easy_reset() @@ -95,6 +95,16 @@ CURL_EXTERN CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen, CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer, size_t buflen, size_t *n); + +/* + * NAME curl_easy_upkeep() + * + * DESCRIPTION + * + * Performs connection upkeep for the given session handle. + */ +CURL_EXTERN CURLcode curl_easy_upkeep(CURL *curl); + #ifdef __cplusplus } #endif diff --git a/libs/curl/include/curl/mprintf.h b/libs/curl/include/curl/mprintf.h index de7dd2f3..f615ed7d 100644 --- a/libs/curl/include/curl/mprintf.h +++ b/libs/curl/include/curl/mprintf.h @@ -1,5 +1,5 @@ -#ifndef __CURL_MPRINTF_H -#define __CURL_MPRINTF_H +#ifndef CURLINC_MPRINTF_H +#define CURLINC_MPRINTF_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | @@ -7,11 +7,11 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2006, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms - * are also available at http://curl.haxx.se/docs/copyright.html. + * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is @@ -24,8 +24,7 @@ #include #include /* needed for FILE */ - -#include "curl.h" +#include "curl.h" /* for CURL_EXTERN */ #ifdef __cplusplus extern "C" { @@ -44,38 +43,8 @@ CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength, CURL_EXTERN char *curl_maprintf(const char *format, ...); CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args); -#ifdef _MPRINTF_REPLACE -# undef printf -# undef fprintf -# undef sprintf -# undef vsprintf -# undef snprintf -# undef vprintf -# undef vfprintf -# undef vsnprintf -# undef aprintf -# undef vaprintf -# define printf curl_mprintf -# define fprintf curl_mfprintf -#ifdef CURLDEBUG -/* When built with CURLDEBUG we define away the sprintf() functions since we - don't want internal code to be using them */ -# define sprintf sprintf_was_used -# define vsprintf vsprintf_was_used -#else -# define sprintf curl_msprintf -# define vsprintf curl_mvsprintf -#endif -# define snprintf curl_msnprintf -# define vprintf curl_mvprintf -# define vfprintf curl_mvfprintf -# define vsnprintf curl_mvsnprintf -# define aprintf curl_maprintf -# define vaprintf curl_mvaprintf -#endif - #ifdef __cplusplus } #endif -#endif /* __CURL_MPRINTF_H */ +#endif /* CURLINC_MPRINTF_H */ diff --git a/libs/curl/include/curl/multi.h b/libs/curl/include/curl/multi.h index f9656666..bda9bb7b 100644 --- a/libs/curl/include/curl/multi.h +++ b/libs/curl/include/curl/multi.h @@ -1,5 +1,5 @@ -#ifndef __CURL_MULTI_H -#define __CURL_MULTI_H +#ifndef CURLINC_MULTI_H +#define CURLINC_MULTI_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | @@ -7,11 +7,11 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2007, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2020, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms - * are also available at http://curl.haxx.se/docs/copyright.html. + * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is @@ -52,7 +52,11 @@ extern "C" { #endif +#if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER) +typedef struct Curl_multi CURLM; +#else typedef void CURLM; +#endif typedef enum { CURLM_CALL_MULTI_PERFORM = -1, /* please call curl_multi_perform() or @@ -64,6 +68,12 @@ typedef enum { CURLM_INTERNAL_ERROR, /* this is a libcurl bug */ CURLM_BAD_SOCKET, /* the passed in socket argument did not match */ CURLM_UNKNOWN_OPTION, /* curl_multi_setopt() with unsupported option */ + CURLM_ADDED_ALREADY, /* an easy handle already added to a multi handle was + attempted to get added - again */ + CURLM_RECURSIVE_API_CALL, /* an api function was called from inside a + callback */ + CURLM_WAKEUP_FAILURE, /* wakeup is unavailable or failed */ + CURLM_BAD_FUNCTION_ARGUMENT, /* function called with a bad parameter */ CURLM_LAST } CURLMcode; @@ -72,6 +82,11 @@ typedef enum { curl_multi_perform() and CURLM_CALL_MULTI_PERFORM */ #define CURLM_CALL_MULTI_SOCKET CURLM_CALL_MULTI_PERFORM +/* bitmask bits for CURLMOPT_PIPELINING */ +#define CURLPIPE_NOTHING 0L +#define CURLPIPE_HTTP1 1L +#define CURLPIPE_MULTIPLEX 2L + typedef enum { CURLMSG_NONE, /* first, not used */ CURLMSG_DONE, /* This easy handle has completed. 'result' contains @@ -89,6 +104,19 @@ struct CURLMsg { }; typedef struct CURLMsg CURLMsg; +/* Based on poll(2) structure and values. + * We don't use pollfd and POLL* constants explicitly + * to cover platforms without poll(). */ +#define CURL_WAIT_POLLIN 0x0001 +#define CURL_WAIT_POLLPRI 0x0002 +#define CURL_WAIT_POLLOUT 0x0004 + +struct curl_waitfd { + curl_socket_t fd; + short events; + short revents; /* not supported yet */ +}; + /* * Name: curl_multi_init() * @@ -133,6 +161,43 @@ CURL_EXTERN CURLMcode curl_multi_fdset(CURLM *multi_handle, fd_set *exc_fd_set, int *max_fd); +/* + * Name: curl_multi_wait() + * + * Desc: Poll on all fds within a CURLM set as well as any + * additional fds passed to the function. + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_wait(CURLM *multi_handle, + struct curl_waitfd extra_fds[], + unsigned int extra_nfds, + int timeout_ms, + int *ret); + +/* + * Name: curl_multi_poll() + * + * Desc: Poll on all fds within a CURLM set as well as any + * additional fds passed to the function. + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_poll(CURLM *multi_handle, + struct curl_waitfd extra_fds[], + unsigned int extra_nfds, + int timeout_ms, + int *ret); + +/* + * Name: curl_multi_wakeup() + * + * Desc: wakes up a sleeping curl_multi_poll call. + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_wakeup(CURLM *multi_handle); + /* * Name: curl_multi_perform() * @@ -146,8 +211,8 @@ CURL_EXTERN CURLMcode curl_multi_fdset(CURLM *multi_handle, * * Returns: CURLMcode type, general multi error code. *NOTE* that this only * returns errors etc regarding the whole multi stack. There might - * still have occurred problems on invidual transfers even when this - * returns OK. + * still have occurred problems on individual transfers even when + * this returns OK. */ CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles); @@ -180,7 +245,7 @@ CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle); * curl_multi_cleanup(). * * The 'CURLMsg' struct is meant to be very simple and only contain - * very basic informations. If more involved information is wanted, + * very basic information. If more involved information is wanted, * we will provide the particular "transfer handle" in that struct * and that should/could/would be used in subsequent * curl_easy_getinfo() calls (or similar). The point being that we @@ -279,37 +344,58 @@ CURL_EXTERN CURLMcode curl_multi_socket_all(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_timeout(CURLM *multi_handle, long *milliseconds); -#undef CINIT /* re-using the same name as in curl.h */ - -#ifdef CURL_ISOCPP -#define CINIT(name,type,num) CURLMOPT_ ## name = CURLOPTTYPE_ ## type + num -#else -/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */ -#define LONG CURLOPTTYPE_LONG -#define OBJECTPOINT CURLOPTTYPE_OBJECTPOINT -#define FUNCTIONPOINT CURLOPTTYPE_FUNCTIONPOINT -#define OFF_T CURLOPTTYPE_OFF_T -#define CINIT(name,type,number) CURLMOPT_/**/name = type + number -#endif - typedef enum { /* This is the socket callback function pointer */ - CINIT(SOCKETFUNCTION, FUNCTIONPOINT, 1), + CURLOPT(CURLMOPT_SOCKETFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 1), /* This is the argument passed to the socket callback */ - CINIT(SOCKETDATA, OBJECTPOINT, 2), + CURLOPT(CURLMOPT_SOCKETDATA, CURLOPTTYPE_OBJECTPOINT, 2), /* set to 1 to enable pipelining for this multi handle */ - CINIT(PIPELINING, LONG, 3), + CURLOPT(CURLMOPT_PIPELINING, CURLOPTTYPE_LONG, 3), /* This is the timer callback function pointer */ - CINIT(TIMERFUNCTION, FUNCTIONPOINT, 4), + CURLOPT(CURLMOPT_TIMERFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 4), /* This is the argument passed to the timer callback */ - CINIT(TIMERDATA, OBJECTPOINT, 5), + CURLOPT(CURLMOPT_TIMERDATA, CURLOPTTYPE_OBJECTPOINT, 5), /* maximum number of entries in the connection cache */ - CINIT(MAXCONNECTS, LONG, 6), + CURLOPT(CURLMOPT_MAXCONNECTS, CURLOPTTYPE_LONG, 6), + + /* maximum number of (pipelining) connections to one host */ + CURLOPT(CURLMOPT_MAX_HOST_CONNECTIONS, CURLOPTTYPE_LONG, 7), + + /* maximum number of requests in a pipeline */ + CURLOPT(CURLMOPT_MAX_PIPELINE_LENGTH, CURLOPTTYPE_LONG, 8), + + /* a connection with a content-length longer than this + will not be considered for pipelining */ + CURLOPT(CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLOPTTYPE_OFF_T, 9), + + /* a connection with a chunk length longer than this + will not be considered for pipelining */ + CURLOPT(CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLOPTTYPE_OFF_T, 10), + + /* a list of site names(+port) that are blacklisted from + pipelining */ + CURLOPT(CURLMOPT_PIPELINING_SITE_BL, CURLOPTTYPE_OBJECTPOINT, 11), + + /* a list of server types that are blacklisted from + pipelining */ + CURLOPT(CURLMOPT_PIPELINING_SERVER_BL, CURLOPTTYPE_OBJECTPOINT, 12), + + /* maximum number of open connections in total */ + CURLOPT(CURLMOPT_MAX_TOTAL_CONNECTIONS, CURLOPTTYPE_LONG, 13), + + /* This is the server push callback function pointer */ + CURLOPT(CURLMOPT_PUSHFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 14), + + /* This is the argument passed to the server push callback */ + CURLOPT(CURLMOPT_PUSHDATA, CURLOPTTYPE_OBJECTPOINT, 15), + + /* maximum number of concurrent streams to support on a connection */ + CURLOPT(CURLMOPT_MAX_CONCURRENT_STREAMS, CURLOPTTYPE_LONG, 16), CURLMOPT_LASTENTRY /* the last unused */ } CURLMoption; @@ -338,6 +424,31 @@ CURL_EXTERN CURLMcode curl_multi_setopt(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_assign(CURLM *multi_handle, curl_socket_t sockfd, void *sockp); + +/* + * Name: curl_push_callback + * + * Desc: This callback gets called when a new stream is being pushed by the + * server. It approves or denies the new stream. + * + * Returns: CURL_PUSH_OK or CURL_PUSH_DENY. + */ +#define CURL_PUSH_OK 0 +#define CURL_PUSH_DENY 1 + +struct curl_pushheaders; /* forward declaration only */ + +CURL_EXTERN char *curl_pushheader_bynum(struct curl_pushheaders *h, + size_t num); +CURL_EXTERN char *curl_pushheader_byname(struct curl_pushheaders *h, + const char *name); + +typedef int (*curl_push_callback)(CURL *parent, + CURL *easy, + size_t num_headers, + struct curl_pushheaders *headers, + void *userp); + #ifdef __cplusplus } /* end of extern "C" */ #endif diff --git a/libs/curl/include/curl/stdcheaders.h b/libs/curl/include/curl/stdcheaders.h index ad82ef63..a6bdc1a2 100644 --- a/libs/curl/include/curl/stdcheaders.h +++ b/libs/curl/include/curl/stdcheaders.h @@ -1,5 +1,5 @@ -#ifndef __STDC_HEADERS_H -#define __STDC_HEADERS_H +#ifndef CURLINC_STDCHEADERS_H +#define CURLINC_STDCHEADERS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | @@ -7,11 +7,11 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2010, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms - * are also available at http://curl.haxx.se/docs/copyright.html. + * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is @@ -24,10 +24,10 @@ #include -size_t fread (void *, size_t, size_t, FILE *); -size_t fwrite (const void *, size_t, size_t, FILE *); +size_t fread(void *, size_t, size_t, FILE *); +size_t fwrite(const void *, size_t, size_t, FILE *); int strcasecmp(const char *, const char *); int strncasecmp(const char *, const char *, size_t); -#endif /* __STDC_HEADERS_H */ +#endif /* CURLINC_STDCHEADERS_H */ diff --git a/libs/curl/include/curl/system.h b/libs/curl/include/curl/system.h new file mode 100644 index 00000000..867af614 --- /dev/null +++ b/libs/curl/include/curl/system.h @@ -0,0 +1,504 @@ +#ifndef CURLINC_SYSTEM_H +#define CURLINC_SYSTEM_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +/* + * Try to keep one section per platform, compiler and architecture, otherwise, + * if an existing section is reused for a different one and later on the + * original is adjusted, probably the piggybacking one can be adversely + * changed. + * + * In order to differentiate between platforms/compilers/architectures use + * only compiler built in predefined preprocessor symbols. + * + * curl_off_t + * ---------- + * + * For any given platform/compiler curl_off_t must be typedef'ed to a 64-bit + * wide signed integral data type. The width of this data type must remain + * constant and independent of any possible large file support settings. + * + * As an exception to the above, curl_off_t shall be typedef'ed to a 32-bit + * wide signed integral data type if there is no 64-bit type. + * + * As a general rule, curl_off_t shall not be mapped to off_t. This rule shall + * only be violated if off_t is the only 64-bit data type available and the + * size of off_t is independent of large file support settings. Keep your + * build on the safe side avoiding an off_t gating. If you have a 64-bit + * off_t then take for sure that another 64-bit data type exists, dig deeper + * and you will find it. + * + */ + +#if defined(__DJGPP__) || defined(__GO32__) +# if defined(__DJGPP__) && (__DJGPP__ > 1) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# else +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T int + +#elif defined(__SALFORDC__) +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# define CURL_TYPEOF_CURL_SOCKLEN_T int + +#elif defined(__BORLANDC__) +# if (__BORLANDC__ < 0x520) +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# else +# define CURL_TYPEOF_CURL_OFF_T __int64 +# define CURL_FORMAT_CURL_OFF_T "I64d" +# define CURL_FORMAT_CURL_OFF_TU "I64u" +# define CURL_SUFFIX_CURL_OFF_T i64 +# define CURL_SUFFIX_CURL_OFF_TU ui64 +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T int + +#elif defined(__TURBOC__) +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# define CURL_TYPEOF_CURL_SOCKLEN_T int + +#elif defined(__WATCOMC__) +# if defined(__386__) +# define CURL_TYPEOF_CURL_OFF_T __int64 +# define CURL_FORMAT_CURL_OFF_T "I64d" +# define CURL_FORMAT_CURL_OFF_TU "I64u" +# define CURL_SUFFIX_CURL_OFF_T i64 +# define CURL_SUFFIX_CURL_OFF_TU ui64 +# else +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T int + +#elif defined(__POCC__) +# if (__POCC__ < 280) +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# elif defined(_MSC_VER) +# define CURL_TYPEOF_CURL_OFF_T __int64 +# define CURL_FORMAT_CURL_OFF_T "I64d" +# define CURL_FORMAT_CURL_OFF_TU "I64u" +# define CURL_SUFFIX_CURL_OFF_T i64 +# define CURL_SUFFIX_CURL_OFF_TU ui64 +# else +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T int + +#elif defined(__LCC__) +# if defined(__e2k__) /* MCST eLbrus C Compiler */ +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 +# else /* Local (or Little) C Compiler */ +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# define CURL_TYPEOF_CURL_SOCKLEN_T int +# endif + +#elif defined(__SYMBIAN32__) +# if defined(__EABI__) /* Treat all ARM compilers equally */ +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# elif defined(__CW32__) +# pragma longlong on +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# elif defined(__VC32__) +# define CURL_TYPEOF_CURL_OFF_T __int64 +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int + +#elif defined(__MWERKS__) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# define CURL_TYPEOF_CURL_SOCKLEN_T int + +#elif defined(_WIN32_WCE) +# define CURL_TYPEOF_CURL_OFF_T __int64 +# define CURL_FORMAT_CURL_OFF_T "I64d" +# define CURL_FORMAT_CURL_OFF_TU "I64u" +# define CURL_SUFFIX_CURL_OFF_T i64 +# define CURL_SUFFIX_CURL_OFF_TU ui64 +# define CURL_TYPEOF_CURL_SOCKLEN_T int + +#elif defined(__MINGW32__) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "I64d" +# define CURL_FORMAT_CURL_OFF_TU "I64u" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_WS2TCPIP_H 1 + +#elif defined(__VMS) +# if defined(__VAX) +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# else +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int + +#elif defined(__OS400__) +# if defined(__ILEC400__) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 +# endif + +#elif defined(__MVS__) +# if defined(__IBMC__) || defined(__IBMCPP__) +# if defined(_ILP32) +# elif defined(_LP64) +# endif +# if defined(_LONG_LONG) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# elif defined(_LP64) +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# else +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 +# endif + +#elif defined(__370__) +# if defined(__IBMC__) || defined(__IBMCPP__) +# if defined(_ILP32) +# elif defined(_LP64) +# endif +# if defined(_LONG_LONG) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# elif defined(_LP64) +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# else +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 +# endif + +#elif defined(TPF) +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# define CURL_TYPEOF_CURL_SOCKLEN_T int + +#elif defined(__TINYC__) /* also known as tcc */ +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 + +#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) /* Oracle Solaris Studio */ +# if !defined(__LP64) && (defined(__ILP32) || \ + defined(__i386) || \ + defined(__sparcv8) || \ + defined(__sparcv8plus)) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# elif defined(__LP64) || \ + defined(__amd64) || defined(__sparcv9) +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 + +#elif defined(__xlc__) /* IBM xlc compiler */ +# if !defined(_LP64) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# else +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 + +/* ===================================== */ +/* KEEP MSVC THE PENULTIMATE ENTRY */ +/* ===================================== */ + +#elif defined(_MSC_VER) +# if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64) +# define CURL_TYPEOF_CURL_OFF_T __int64 +# define CURL_FORMAT_CURL_OFF_T "I64d" +# define CURL_FORMAT_CURL_OFF_TU "I64u" +# define CURL_SUFFIX_CURL_OFF_T i64 +# define CURL_SUFFIX_CURL_OFF_TU ui64 +# else +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T int + +/* ===================================== */ +/* KEEP GENERIC GCC THE LAST ENTRY */ +/* ===================================== */ + +#elif defined(__GNUC__) && !defined(_SCO_DS) +# if !defined(__LP64__) && \ + (defined(__ILP32__) || defined(__i386__) || defined(__hppa__) || \ + defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || \ + defined(__sparc__) || defined(__mips__) || defined(__sh__) || \ + defined(__XTENSA__) || \ + (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 4) || \ + (defined(__LONG_MAX__) && __LONG_MAX__ == 2147483647L)) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# elif defined(__LP64__) || \ + defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__) || \ + defined(__e2k__) || \ + (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 8) || \ + (defined(__LONG_MAX__) && __LONG_MAX__ == 9223372036854775807L) +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 + +#else +/* generic "safe guess" on old 32 bit style */ +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# define CURL_TYPEOF_CURL_SOCKLEN_T int +#endif + +#ifdef _AIX +/* AIX needs */ +#define CURL_PULL_SYS_POLL_H +#endif + + +/* CURL_PULL_WS2TCPIP_H is defined above when inclusion of header file */ +/* ws2tcpip.h is required here to properly make type definitions below. */ +#ifdef CURL_PULL_WS2TCPIP_H +# include +# include +# include +#endif + +/* CURL_PULL_SYS_TYPES_H is defined above when inclusion of header file */ +/* sys/types.h is required here to properly make type definitions below. */ +#ifdef CURL_PULL_SYS_TYPES_H +# include +#endif + +/* CURL_PULL_SYS_SOCKET_H is defined above when inclusion of header file */ +/* sys/socket.h is required here to properly make type definitions below. */ +#ifdef CURL_PULL_SYS_SOCKET_H +# include +#endif + +/* CURL_PULL_SYS_POLL_H is defined above when inclusion of header file */ +/* sys/poll.h is required here to properly make type definitions below. */ +#ifdef CURL_PULL_SYS_POLL_H +# include +#endif + +/* Data type definition of curl_socklen_t. */ +#ifdef CURL_TYPEOF_CURL_SOCKLEN_T + typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t; +#endif + +/* Data type definition of curl_off_t. */ + +#ifdef CURL_TYPEOF_CURL_OFF_T + typedef CURL_TYPEOF_CURL_OFF_T curl_off_t; +#endif + +/* + * CURL_ISOCPP and CURL_OFF_T_C definitions are done here in order to allow + * these to be visible and exported by the external libcurl interface API, + * while also making them visible to the library internals, simply including + * curl_setup.h, without actually needing to include curl.h internally. + * If some day this section would grow big enough, all this should be moved + * to its own header file. + */ + +/* + * Figure out if we can use the ## preprocessor operator, which is supported + * by ISO/ANSI C and C++. Some compilers support it without setting __STDC__ + * or __cplusplus so we need to carefully check for them too. + */ + +#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \ + defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \ + defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \ + defined(__ILEC400__) + /* This compiler is believed to have an ISO compatible preprocessor */ +#define CURL_ISOCPP +#else + /* This compiler is believed NOT to have an ISO compatible preprocessor */ +#undef CURL_ISOCPP +#endif + +/* + * Macros for minimum-width signed and unsigned curl_off_t integer constants. + */ + +#if defined(__BORLANDC__) && (__BORLANDC__ == 0x0551) +# define CURLINC_OFF_T_C_HLPR2(x) x +# define CURLINC_OFF_T_C_HLPR1(x) CURLINC_OFF_T_C_HLPR2(x) +# define CURL_OFF_T_C(Val) CURLINC_OFF_T_C_HLPR1(Val) ## \ + CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_T) +# define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val) ## \ + CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_TU) +#else +# ifdef CURL_ISOCPP +# define CURLINC_OFF_T_C_HLPR2(Val,Suffix) Val ## Suffix +# else +# define CURLINC_OFF_T_C_HLPR2(Val,Suffix) Val/**/Suffix +# endif +# define CURLINC_OFF_T_C_HLPR1(Val,Suffix) CURLINC_OFF_T_C_HLPR2(Val,Suffix) +# define CURL_OFF_T_C(Val) CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_T) +# define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_TU) +#endif + +#endif /* CURLINC_SYSTEM_H */ diff --git a/libs/curl/include/curl/typecheck-gcc.h b/libs/curl/include/curl/typecheck-gcc.h index 46f92d72..03c84fc8 100644 --- a/libs/curl/include/curl/typecheck-gcc.h +++ b/libs/curl/include/curl/typecheck-gcc.h @@ -1,5 +1,5 @@ -#ifndef __CURL_TYPECHECK_GCC_H -#define __CURL_TYPECHECK_GCC_H +#ifndef CURLINC_TYPECHECK_GCC_H +#define CURLINC_TYPECHECK_GCC_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | @@ -7,11 +7,11 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms - * are also available at http://curl.haxx.se/docs/copyright.html. + * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is @@ -25,10 +25,10 @@ /* wraps curl_easy_setopt() with typechecking */ /* To add a new kind of warning, add an - * if(_curl_is_sometype_option(_curl_opt)) - * if(!_curl_is_sometype(value)) + * if(curlcheck_sometype_option(_curl_opt)) + * if(!curlcheck_sometype(value)) * _curl_easy_setopt_err_sometype(); - * block and define _curl_is_sometype_option, _curl_is_sometype and + * block and define curlcheck_sometype_option, curlcheck_sometype and * _curl_easy_setopt_err_sometype below * * NOTE: We use two nested 'if' statements here instead of the && operator, in @@ -38,99 +38,115 @@ * To add an option that uses the same type as an existing option, you'll just * need to extend the appropriate _curl_*_option macro */ -#define curl_easy_setopt(handle, option, value) \ -__extension__ ({ \ - __typeof__ (option) _curl_opt = option; \ - if (__builtin_constant_p(_curl_opt)) { \ - if (_curl_is_long_option(_curl_opt)) \ - if (!_curl_is_long(value)) \ - _curl_easy_setopt_err_long(); \ - if (_curl_is_off_t_option(_curl_opt)) \ - if (!_curl_is_off_t(value)) \ - _curl_easy_setopt_err_curl_off_t(); \ - if (_curl_is_string_option(_curl_opt)) \ - if (!_curl_is_string(value)) \ - _curl_easy_setopt_err_string(); \ - if (_curl_is_write_cb_option(_curl_opt)) \ - if (!_curl_is_write_cb(value)) \ - _curl_easy_setopt_err_write_callback(); \ - if ((_curl_opt) == CURLOPT_READFUNCTION) \ - if (!_curl_is_read_cb(value)) \ - _curl_easy_setopt_err_read_cb(); \ - if ((_curl_opt) == CURLOPT_IOCTLFUNCTION) \ - if (!_curl_is_ioctl_cb(value)) \ - _curl_easy_setopt_err_ioctl_cb(); \ - if ((_curl_opt) == CURLOPT_SOCKOPTFUNCTION) \ - if (!_curl_is_sockopt_cb(value)) \ - _curl_easy_setopt_err_sockopt_cb(); \ - if ((_curl_opt) == CURLOPT_OPENSOCKETFUNCTION) \ - if (!_curl_is_opensocket_cb(value)) \ - _curl_easy_setopt_err_opensocket_cb(); \ - if ((_curl_opt) == CURLOPT_PROGRESSFUNCTION) \ - if (!_curl_is_progress_cb(value)) \ - _curl_easy_setopt_err_progress_cb(); \ - if ((_curl_opt) == CURLOPT_DEBUGFUNCTION) \ - if (!_curl_is_debug_cb(value)) \ - _curl_easy_setopt_err_debug_cb(); \ - if ((_curl_opt) == CURLOPT_SSL_CTX_FUNCTION) \ - if (!_curl_is_ssl_ctx_cb(value)) \ - _curl_easy_setopt_err_ssl_ctx_cb(); \ - if (_curl_is_conv_cb_option(_curl_opt)) \ - if (!_curl_is_conv_cb(value)) \ - _curl_easy_setopt_err_conv_cb(); \ - if ((_curl_opt) == CURLOPT_SEEKFUNCTION) \ - if (!_curl_is_seek_cb(value)) \ - _curl_easy_setopt_err_seek_cb(); \ - if (_curl_is_cb_data_option(_curl_opt)) \ - if (!_curl_is_cb_data(value)) \ - _curl_easy_setopt_err_cb_data(); \ - if ((_curl_opt) == CURLOPT_ERRORBUFFER) \ - if (!_curl_is_error_buffer(value)) \ - _curl_easy_setopt_err_error_buffer(); \ - if ((_curl_opt) == CURLOPT_STDERR) \ - if (!_curl_is_FILE(value)) \ - _curl_easy_setopt_err_FILE(); \ - if (_curl_is_postfields_option(_curl_opt)) \ - if (!_curl_is_postfields(value)) \ - _curl_easy_setopt_err_postfields(); \ - if ((_curl_opt) == CURLOPT_HTTPPOST) \ - if (!_curl_is_arr((value), struct curl_httppost)) \ - _curl_easy_setopt_err_curl_httpost(); \ - if (_curl_is_slist_option(_curl_opt)) \ - if (!_curl_is_arr((value), struct curl_slist)) \ - _curl_easy_setopt_err_curl_slist(); \ - if ((_curl_opt) == CURLOPT_SHARE) \ - if (!_curl_is_ptr((value), CURLSH)) \ - _curl_easy_setopt_err_CURLSH(); \ - } \ - curl_easy_setopt(handle, _curl_opt, value); \ -}) +#define curl_easy_setopt(handle, option, value) \ + __extension__({ \ + __typeof__(option) _curl_opt = option; \ + if(__builtin_constant_p(_curl_opt)) { \ + if(curlcheck_long_option(_curl_opt)) \ + if(!curlcheck_long(value)) \ + _curl_easy_setopt_err_long(); \ + if(curlcheck_off_t_option(_curl_opt)) \ + if(!curlcheck_off_t(value)) \ + _curl_easy_setopt_err_curl_off_t(); \ + if(curlcheck_string_option(_curl_opt)) \ + if(!curlcheck_string(value)) \ + _curl_easy_setopt_err_string(); \ + if(curlcheck_write_cb_option(_curl_opt)) \ + if(!curlcheck_write_cb(value)) \ + _curl_easy_setopt_err_write_callback(); \ + if((_curl_opt) == CURLOPT_RESOLVER_START_FUNCTION) \ + if(!curlcheck_resolver_start_callback(value)) \ + _curl_easy_setopt_err_resolver_start_callback(); \ + if((_curl_opt) == CURLOPT_READFUNCTION) \ + if(!curlcheck_read_cb(value)) \ + _curl_easy_setopt_err_read_cb(); \ + if((_curl_opt) == CURLOPT_IOCTLFUNCTION) \ + if(!curlcheck_ioctl_cb(value)) \ + _curl_easy_setopt_err_ioctl_cb(); \ + if((_curl_opt) == CURLOPT_SOCKOPTFUNCTION) \ + if(!curlcheck_sockopt_cb(value)) \ + _curl_easy_setopt_err_sockopt_cb(); \ + if((_curl_opt) == CURLOPT_OPENSOCKETFUNCTION) \ + if(!curlcheck_opensocket_cb(value)) \ + _curl_easy_setopt_err_opensocket_cb(); \ + if((_curl_opt) == CURLOPT_PROGRESSFUNCTION) \ + if(!curlcheck_progress_cb(value)) \ + _curl_easy_setopt_err_progress_cb(); \ + if((_curl_opt) == CURLOPT_DEBUGFUNCTION) \ + if(!curlcheck_debug_cb(value)) \ + _curl_easy_setopt_err_debug_cb(); \ + if((_curl_opt) == CURLOPT_SSL_CTX_FUNCTION) \ + if(!curlcheck_ssl_ctx_cb(value)) \ + _curl_easy_setopt_err_ssl_ctx_cb(); \ + if(curlcheck_conv_cb_option(_curl_opt)) \ + if(!curlcheck_conv_cb(value)) \ + _curl_easy_setopt_err_conv_cb(); \ + if((_curl_opt) == CURLOPT_SEEKFUNCTION) \ + if(!curlcheck_seek_cb(value)) \ + _curl_easy_setopt_err_seek_cb(); \ + if(curlcheck_cb_data_option(_curl_opt)) \ + if(!curlcheck_cb_data(value)) \ + _curl_easy_setopt_err_cb_data(); \ + if((_curl_opt) == CURLOPT_ERRORBUFFER) \ + if(!curlcheck_error_buffer(value)) \ + _curl_easy_setopt_err_error_buffer(); \ + if((_curl_opt) == CURLOPT_STDERR) \ + if(!curlcheck_FILE(value)) \ + _curl_easy_setopt_err_FILE(); \ + if(curlcheck_postfields_option(_curl_opt)) \ + if(!curlcheck_postfields(value)) \ + _curl_easy_setopt_err_postfields(); \ + if((_curl_opt) == CURLOPT_HTTPPOST) \ + if(!curlcheck_arr((value), struct curl_httppost)) \ + _curl_easy_setopt_err_curl_httpost(); \ + if((_curl_opt) == CURLOPT_MIMEPOST) \ + if(!curlcheck_ptr((value), curl_mime)) \ + _curl_easy_setopt_err_curl_mimepost(); \ + if(curlcheck_slist_option(_curl_opt)) \ + if(!curlcheck_arr((value), struct curl_slist)) \ + _curl_easy_setopt_err_curl_slist(); \ + if((_curl_opt) == CURLOPT_SHARE) \ + if(!curlcheck_ptr((value), CURLSH)) \ + _curl_easy_setopt_err_CURLSH(); \ + } \ + curl_easy_setopt(handle, _curl_opt, value); \ + }) /* wraps curl_easy_getinfo() with typechecking */ -/* FIXME: don't allow const pointers */ -#define curl_easy_getinfo(handle, info, arg) \ -__extension__ ({ \ - __typeof__ (info) _curl_info = info; \ - if (__builtin_constant_p(_curl_info)) { \ - if (_curl_is_string_info(_curl_info)) \ - if (!_curl_is_arr((arg), char *)) \ - _curl_easy_getinfo_err_string(); \ - if (_curl_is_long_info(_curl_info)) \ - if (!_curl_is_arr((arg), long)) \ - _curl_easy_getinfo_err_long(); \ - if (_curl_is_double_info(_curl_info)) \ - if (!_curl_is_arr((arg), double)) \ - _curl_easy_getinfo_err_double(); \ - if (_curl_is_slist_info(_curl_info)) \ - if (!_curl_is_arr((arg), struct curl_slist *)) \ - _curl_easy_getinfo_err_curl_slist(); \ - } \ - curl_easy_getinfo(handle, _curl_info, arg); \ -}) +#define curl_easy_getinfo(handle, info, arg) \ + __extension__({ \ + __typeof__(info) _curl_info = info; \ + if(__builtin_constant_p(_curl_info)) { \ + if(curlcheck_string_info(_curl_info)) \ + if(!curlcheck_arr((arg), char *)) \ + _curl_easy_getinfo_err_string(); \ + if(curlcheck_long_info(_curl_info)) \ + if(!curlcheck_arr((arg), long)) \ + _curl_easy_getinfo_err_long(); \ + if(curlcheck_double_info(_curl_info)) \ + if(!curlcheck_arr((arg), double)) \ + _curl_easy_getinfo_err_double(); \ + if(curlcheck_slist_info(_curl_info)) \ + if(!curlcheck_arr((arg), struct curl_slist *)) \ + _curl_easy_getinfo_err_curl_slist(); \ + if(curlcheck_tlssessioninfo_info(_curl_info)) \ + if(!curlcheck_arr((arg), struct curl_tlssessioninfo *)) \ + _curl_easy_getinfo_err_curl_tlssesssioninfo(); \ + if(curlcheck_certinfo_info(_curl_info)) \ + if(!curlcheck_arr((arg), struct curl_certinfo *)) \ + _curl_easy_getinfo_err_curl_certinfo(); \ + if(curlcheck_socket_info(_curl_info)) \ + if(!curlcheck_arr((arg), curl_socket_t)) \ + _curl_easy_getinfo_err_curl_socket(); \ + if(curlcheck_off_t_info(_curl_info)) \ + if(!curlcheck_arr((arg), curl_off_t)) \ + _curl_easy_getinfo_err_curl_off_t(); \ + } \ + curl_easy_getinfo(handle, _curl_info, arg); \ + }) -/* TODO: typechecking for curl_share_setopt() and curl_multi_setopt(), - * for now just make sure that the functions are called with three - * arguments +/* + * For now, just make sure that the functions are called with three arguments */ #define curl_share_setopt(share,opt,param) curl_share_setopt(share,opt,param) #define curl_multi_setopt(handle,opt,param) curl_multi_setopt(handle,opt,param) @@ -140,61 +156,84 @@ __extension__ ({ \ * functions */ /* To define a new warning, use _CURL_WARNING(identifier, "message") */ -#define _CURL_WARNING(id, message) \ - static void __attribute__((warning(message))) __attribute__((unused)) \ - __attribute__((noinline)) id(void) { __asm__(""); } +#define CURLWARNING(id, message) \ + static void __attribute__((__warning__(message))) \ + __attribute__((__unused__)) __attribute__((__noinline__)) \ + id(void) { __asm__(""); } -_CURL_WARNING(_curl_easy_setopt_err_long, +CURLWARNING(_curl_easy_setopt_err_long, "curl_easy_setopt expects a long argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_curl_off_t, +CURLWARNING(_curl_easy_setopt_err_curl_off_t, "curl_easy_setopt expects a curl_off_t argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_string, - "curl_easy_setopt expects a string (char* or char[]) argument for this option" +CURLWARNING(_curl_easy_setopt_err_string, + "curl_easy_setopt expects a " + "string ('char *' or char[]) argument for this option" ) -_CURL_WARNING(_curl_easy_setopt_err_write_callback, +CURLWARNING(_curl_easy_setopt_err_write_callback, "curl_easy_setopt expects a curl_write_callback argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_read_cb, - "curl_easy_setopt expects a curl_read_callback argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_ioctl_cb, - "curl_easy_setopt expects a curl_ioctl_callback argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_sockopt_cb, - "curl_easy_setopt expects a curl_sockopt_callback argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_opensocket_cb, - "curl_easy_setopt expects a curl_opensocket_callback argument for this option" +CURLWARNING(_curl_easy_setopt_err_resolver_start_callback, + "curl_easy_setopt expects a " + "curl_resolver_start_callback argument for this option" ) -_CURL_WARNING(_curl_easy_setopt_err_progress_cb, +CURLWARNING(_curl_easy_setopt_err_read_cb, + "curl_easy_setopt expects a curl_read_callback argument for this option") +CURLWARNING(_curl_easy_setopt_err_ioctl_cb, + "curl_easy_setopt expects a curl_ioctl_callback argument for this option") +CURLWARNING(_curl_easy_setopt_err_sockopt_cb, + "curl_easy_setopt expects a curl_sockopt_callback argument for this option") +CURLWARNING(_curl_easy_setopt_err_opensocket_cb, + "curl_easy_setopt expects a " + "curl_opensocket_callback argument for this option" + ) +CURLWARNING(_curl_easy_setopt_err_progress_cb, "curl_easy_setopt expects a curl_progress_callback argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_debug_cb, +CURLWARNING(_curl_easy_setopt_err_debug_cb, "curl_easy_setopt expects a curl_debug_callback argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_ssl_ctx_cb, +CURLWARNING(_curl_easy_setopt_err_ssl_ctx_cb, "curl_easy_setopt expects a curl_ssl_ctx_callback argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_conv_cb, +CURLWARNING(_curl_easy_setopt_err_conv_cb, "curl_easy_setopt expects a curl_conv_callback argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_seek_cb, +CURLWARNING(_curl_easy_setopt_err_seek_cb, "curl_easy_setopt expects a curl_seek_callback argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_cb_data, - "curl_easy_setopt expects a private data pointer as argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_error_buffer, - "curl_easy_setopt expects a char buffer of CURL_ERROR_SIZE as argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_FILE, - "curl_easy_setopt expects a FILE* argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_postfields, - "curl_easy_setopt expects a void* or char* argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_curl_httpost, - "curl_easy_setopt expects a struct curl_httppost* argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_curl_slist, - "curl_easy_setopt expects a struct curl_slist* argument for this option") -_CURL_WARNING(_curl_easy_setopt_err_CURLSH, +CURLWARNING(_curl_easy_setopt_err_cb_data, + "curl_easy_setopt expects a " + "private data pointer as argument for this option") +CURLWARNING(_curl_easy_setopt_err_error_buffer, + "curl_easy_setopt expects a " + "char buffer of CURL_ERROR_SIZE as argument for this option") +CURLWARNING(_curl_easy_setopt_err_FILE, + "curl_easy_setopt expects a 'FILE *' argument for this option") +CURLWARNING(_curl_easy_setopt_err_postfields, + "curl_easy_setopt expects a 'void *' or 'char *' argument for this option") +CURLWARNING(_curl_easy_setopt_err_curl_httpost, + "curl_easy_setopt expects a 'struct curl_httppost *' " + "argument for this option") +CURLWARNING(_curl_easy_setopt_err_curl_mimepost, + "curl_easy_setopt expects a 'curl_mime *' " + "argument for this option") +CURLWARNING(_curl_easy_setopt_err_curl_slist, + "curl_easy_setopt expects a 'struct curl_slist *' argument for this option") +CURLWARNING(_curl_easy_setopt_err_CURLSH, "curl_easy_setopt expects a CURLSH* argument for this option") -_CURL_WARNING(_curl_easy_getinfo_err_string, - "curl_easy_getinfo expects a pointer to char * for this info") -_CURL_WARNING(_curl_easy_getinfo_err_long, +CURLWARNING(_curl_easy_getinfo_err_string, + "curl_easy_getinfo expects a pointer to 'char *' for this info") +CURLWARNING(_curl_easy_getinfo_err_long, "curl_easy_getinfo expects a pointer to long for this info") -_CURL_WARNING(_curl_easy_getinfo_err_double, +CURLWARNING(_curl_easy_getinfo_err_double, "curl_easy_getinfo expects a pointer to double for this info") -_CURL_WARNING(_curl_easy_getinfo_err_curl_slist, - "curl_easy_getinfo expects a pointer to struct curl_slist * for this info") +CURLWARNING(_curl_easy_getinfo_err_curl_slist, + "curl_easy_getinfo expects a pointer to 'struct curl_slist *' for this info") +CURLWARNING(_curl_easy_getinfo_err_curl_tlssesssioninfo, + "curl_easy_getinfo expects a pointer to " + "'struct curl_tlssessioninfo *' for this info") +CURLWARNING(_curl_easy_getinfo_err_curl_certinfo, + "curl_easy_getinfo expects a pointer to " + "'struct curl_certinfo *' for this info") +CURLWARNING(_curl_easy_getinfo_err_curl_socket, + "curl_easy_getinfo expects a pointer to curl_socket_t for this info") +CURLWARNING(_curl_easy_getinfo_err_curl_off_t, + "curl_easy_getinfo expects a pointer to curl_off_t for this info") /* groups of curl_easy_setops options that take the same type of argument */ @@ -205,131 +244,188 @@ _CURL_WARNING(_curl_easy_getinfo_err_curl_slist, */ /* evaluates to true if option takes a long argument */ -#define _curl_is_long_option(option) \ +#define curlcheck_long_option(option) \ (0 < (option) && (option) < CURLOPTTYPE_OBJECTPOINT) -#define _curl_is_off_t_option(option) \ +#define curlcheck_off_t_option(option) \ ((option) > CURLOPTTYPE_OFF_T) /* evaluates to true if option takes a char* argument */ -#define _curl_is_string_option(option) \ - ((option) == CURLOPT_URL || \ - (option) == CURLOPT_PROXY || \ - (option) == CURLOPT_INTERFACE || \ - (option) == CURLOPT_NETRC_FILE || \ - (option) == CURLOPT_USERPWD || \ - (option) == CURLOPT_USERNAME || \ - (option) == CURLOPT_PASSWORD || \ - (option) == CURLOPT_PROXYUSERPWD || \ - (option) == CURLOPT_PROXYUSERNAME || \ - (option) == CURLOPT_PROXYPASSWORD || \ - (option) == CURLOPT_NOPROXY || \ +#define curlcheck_string_option(option) \ + ((option) == CURLOPT_ABSTRACT_UNIX_SOCKET || \ (option) == CURLOPT_ACCEPT_ENCODING || \ - (option) == CURLOPT_REFERER || \ - (option) == CURLOPT_USERAGENT || \ + (option) == CURLOPT_ALTSVC || \ + (option) == CURLOPT_CAINFO || \ + (option) == CURLOPT_CAPATH || \ (option) == CURLOPT_COOKIE || \ (option) == CURLOPT_COOKIEFILE || \ (option) == CURLOPT_COOKIEJAR || \ (option) == CURLOPT_COOKIELIST || \ - (option) == CURLOPT_FTPPORT || \ - (option) == CURLOPT_FTP_ALTERNATIVE_TO_USER || \ - (option) == CURLOPT_FTP_ACCOUNT || \ - (option) == CURLOPT_RANGE || \ - (option) == CURLOPT_CUSTOMREQUEST || \ - (option) == CURLOPT_SSLCERT || \ - (option) == CURLOPT_SSLCERTTYPE || \ - (option) == CURLOPT_SSLKEY || \ - (option) == CURLOPT_SSLKEYTYPE || \ - (option) == CURLOPT_KEYPASSWD || \ - (option) == CURLOPT_SSLENGINE || \ - (option) == CURLOPT_CAINFO || \ - (option) == CURLOPT_CAPATH || \ - (option) == CURLOPT_RANDOM_FILE || \ - (option) == CURLOPT_EGDSOCKET || \ - (option) == CURLOPT_SSL_CIPHER_LIST || \ - (option) == CURLOPT_KRBLEVEL || \ - (option) == CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 || \ - (option) == CURLOPT_SSH_PUBLIC_KEYFILE || \ - (option) == CURLOPT_SSH_PRIVATE_KEYFILE || \ (option) == CURLOPT_CRLFILE || \ + (option) == CURLOPT_CUSTOMREQUEST || \ + (option) == CURLOPT_DEFAULT_PROTOCOL || \ + (option) == CURLOPT_DNS_INTERFACE || \ + (option) == CURLOPT_DNS_LOCAL_IP4 || \ + (option) == CURLOPT_DNS_LOCAL_IP6 || \ + (option) == CURLOPT_DNS_SERVERS || \ + (option) == CURLOPT_DOH_URL || \ + (option) == CURLOPT_EGDSOCKET || \ + (option) == CURLOPT_FTPPORT || \ + (option) == CURLOPT_FTP_ACCOUNT || \ + (option) == CURLOPT_FTP_ALTERNATIVE_TO_USER || \ + (option) == CURLOPT_INTERFACE || \ (option) == CURLOPT_ISSUERCERT || \ - (option) == CURLOPT_SOCKS5_GSSAPI_SERVICE || \ - (option) == CURLOPT_SSH_KNOWNHOSTS || \ + (option) == CURLOPT_KEYPASSWD || \ + (option) == CURLOPT_KRBLEVEL || \ + (option) == CURLOPT_LOGIN_OPTIONS || \ + (option) == CURLOPT_MAIL_AUTH || \ (option) == CURLOPT_MAIL_FROM || \ + (option) == CURLOPT_NETRC_FILE || \ + (option) == CURLOPT_NOPROXY || \ + (option) == CURLOPT_PASSWORD || \ + (option) == CURLOPT_PINNEDPUBLICKEY || \ + (option) == CURLOPT_PRE_PROXY || \ + (option) == CURLOPT_PROXY || \ + (option) == CURLOPT_PROXYPASSWORD || \ + (option) == CURLOPT_PROXYUSERNAME || \ + (option) == CURLOPT_PROXYUSERPWD || \ + (option) == CURLOPT_PROXY_CAINFO || \ + (option) == CURLOPT_PROXY_CAPATH || \ + (option) == CURLOPT_PROXY_CRLFILE || \ + (option) == CURLOPT_PROXY_KEYPASSWD || \ + (option) == CURLOPT_PROXY_PINNEDPUBLICKEY || \ + (option) == CURLOPT_PROXY_SERVICE_NAME || \ + (option) == CURLOPT_PROXY_SSLCERT || \ + (option) == CURLOPT_PROXY_SSLCERTTYPE || \ + (option) == CURLOPT_PROXY_SSLKEY || \ + (option) == CURLOPT_PROXY_SSLKEYTYPE || \ + (option) == CURLOPT_PROXY_SSL_CIPHER_LIST || \ + (option) == CURLOPT_PROXY_TLS13_CIPHERS || \ + (option) == CURLOPT_PROXY_TLSAUTH_PASSWORD || \ + (option) == CURLOPT_PROXY_TLSAUTH_TYPE || \ + (option) == CURLOPT_PROXY_TLSAUTH_USERNAME || \ + (option) == CURLOPT_RANDOM_FILE || \ + (option) == CURLOPT_RANGE || \ + (option) == CURLOPT_REFERER || \ + (option) == CURLOPT_REQUEST_TARGET || \ (option) == CURLOPT_RTSP_SESSION_ID || \ (option) == CURLOPT_RTSP_STREAM_URI || \ (option) == CURLOPT_RTSP_TRANSPORT || \ + (option) == CURLOPT_SASL_AUTHZID || \ + (option) == CURLOPT_SERVICE_NAME || \ + (option) == CURLOPT_SOCKS5_GSSAPI_SERVICE || \ + (option) == CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 || \ + (option) == CURLOPT_SSH_KNOWNHOSTS || \ + (option) == CURLOPT_SSH_PRIVATE_KEYFILE || \ + (option) == CURLOPT_SSH_PUBLIC_KEYFILE || \ + (option) == CURLOPT_SSLCERT || \ + (option) == CURLOPT_SSLCERTTYPE || \ + (option) == CURLOPT_SSLENGINE || \ + (option) == CURLOPT_SSLKEY || \ + (option) == CURLOPT_SSLKEYTYPE || \ + (option) == CURLOPT_SSL_CIPHER_LIST || \ + (option) == CURLOPT_TLS13_CIPHERS || \ + (option) == CURLOPT_TLSAUTH_PASSWORD || \ + (option) == CURLOPT_TLSAUTH_TYPE || \ + (option) == CURLOPT_TLSAUTH_USERNAME || \ + (option) == CURLOPT_UNIX_SOCKET_PATH || \ + (option) == CURLOPT_URL || \ + (option) == CURLOPT_USERAGENT || \ + (option) == CURLOPT_USERNAME || \ + (option) == CURLOPT_USERPWD || \ + (option) == CURLOPT_XOAUTH2_BEARER || \ 0) /* evaluates to true if option takes a curl_write_callback argument */ -#define _curl_is_write_cb_option(option) \ - ((option) == CURLOPT_HEADERFUNCTION || \ +#define curlcheck_write_cb_option(option) \ + ((option) == CURLOPT_HEADERFUNCTION || \ (option) == CURLOPT_WRITEFUNCTION) /* evaluates to true if option takes a curl_conv_callback argument */ -#define _curl_is_conv_cb_option(option) \ - ((option) == CURLOPT_CONV_TO_NETWORK_FUNCTION || \ - (option) == CURLOPT_CONV_FROM_NETWORK_FUNCTION || \ +#define curlcheck_conv_cb_option(option) \ + ((option) == CURLOPT_CONV_TO_NETWORK_FUNCTION || \ + (option) == CURLOPT_CONV_FROM_NETWORK_FUNCTION || \ (option) == CURLOPT_CONV_FROM_UTF8_FUNCTION) /* evaluates to true if option takes a data argument to pass to a callback */ -#define _curl_is_cb_data_option(option) \ - ((option) == CURLOPT_WRITEDATA || \ - (option) == CURLOPT_READDATA || \ - (option) == CURLOPT_IOCTLDATA || \ - (option) == CURLOPT_SOCKOPTDATA || \ - (option) == CURLOPT_OPENSOCKETDATA || \ - (option) == CURLOPT_PROGRESSDATA || \ - (option) == CURLOPT_WRITEHEADER || \ +#define curlcheck_cb_data_option(option) \ + ((option) == CURLOPT_CHUNK_DATA || \ + (option) == CURLOPT_CLOSESOCKETDATA || \ (option) == CURLOPT_DEBUGDATA || \ - (option) == CURLOPT_SSL_CTX_DATA || \ - (option) == CURLOPT_SEEKDATA || \ - (option) == CURLOPT_PRIVATE || \ - (option) == CURLOPT_SSH_KEYDATA || \ - (option) == CURLOPT_INTERLEAVEDATA || \ - (option) == CURLOPT_CHUNK_DATA || \ (option) == CURLOPT_FNMATCH_DATA || \ + (option) == CURLOPT_HEADERDATA || \ + (option) == CURLOPT_INTERLEAVEDATA || \ + (option) == CURLOPT_IOCTLDATA || \ + (option) == CURLOPT_OPENSOCKETDATA || \ + (option) == CURLOPT_PRIVATE || \ + (option) == CURLOPT_PROGRESSDATA || \ + (option) == CURLOPT_READDATA || \ + (option) == CURLOPT_SEEKDATA || \ + (option) == CURLOPT_SOCKOPTDATA || \ + (option) == CURLOPT_SSH_KEYDATA || \ + (option) == CURLOPT_SSL_CTX_DATA || \ + (option) == CURLOPT_WRITEDATA || \ + (option) == CURLOPT_RESOLVER_START_DATA || \ + (option) == CURLOPT_TRAILERDATA || \ 0) /* evaluates to true if option takes a POST data argument (void* or char*) */ -#define _curl_is_postfields_option(option) \ +#define curlcheck_postfields_option(option) \ ((option) == CURLOPT_POSTFIELDS || \ (option) == CURLOPT_COPYPOSTFIELDS || \ 0) /* evaluates to true if option takes a struct curl_slist * argument */ -#define _curl_is_slist_option(option) \ - ((option) == CURLOPT_HTTPHEADER || \ - (option) == CURLOPT_HTTP200ALIASES || \ - (option) == CURLOPT_QUOTE || \ +#define curlcheck_slist_option(option) \ + ((option) == CURLOPT_HTTP200ALIASES || \ + (option) == CURLOPT_HTTPHEADER || \ + (option) == CURLOPT_MAIL_RCPT || \ (option) == CURLOPT_POSTQUOTE || \ (option) == CURLOPT_PREQUOTE || \ + (option) == CURLOPT_PROXYHEADER || \ + (option) == CURLOPT_QUOTE || \ + (option) == CURLOPT_RESOLVE || \ (option) == CURLOPT_TELNETOPTIONS || \ - (option) == CURLOPT_MAIL_RCPT || \ + (option) == CURLOPT_CONNECT_TO || \ 0) /* groups of curl_easy_getinfo infos that take the same type of argument */ /* evaluates to true if info expects a pointer to char * argument */ -#define _curl_is_string_info(info) \ +#define curlcheck_string_info(info) \ (CURLINFO_STRING < (info) && (info) < CURLINFO_LONG) /* evaluates to true if info expects a pointer to long argument */ -#define _curl_is_long_info(info) \ +#define curlcheck_long_info(info) \ (CURLINFO_LONG < (info) && (info) < CURLINFO_DOUBLE) /* evaluates to true if info expects a pointer to double argument */ -#define _curl_is_double_info(info) \ +#define curlcheck_double_info(info) \ (CURLINFO_DOUBLE < (info) && (info) < CURLINFO_SLIST) /* true if info expects a pointer to struct curl_slist * argument */ -#define _curl_is_slist_info(info) \ - (CURLINFO_SLIST < (info)) +#define curlcheck_slist_info(info) \ + (((info) == CURLINFO_SSL_ENGINES) || ((info) == CURLINFO_COOKIELIST)) + +/* true if info expects a pointer to struct curl_tlssessioninfo * argument */ +#define curlcheck_tlssessioninfo_info(info) \ + (((info) == CURLINFO_TLS_SSL_PTR) || ((info) == CURLINFO_TLS_SESSION)) + +/* true if info expects a pointer to struct curl_certinfo * argument */ +#define curlcheck_certinfo_info(info) ((info) == CURLINFO_CERTINFO) + +/* true if info expects a pointer to struct curl_socket_t argument */ +#define curlcheck_socket_info(info) \ + (CURLINFO_SOCKET < (info) && (info) < CURLINFO_OFF_T) + +/* true if info expects a pointer to curl_off_t argument */ +#define curlcheck_off_t_info(info) \ + (CURLINFO_OFF_T < (info)) /* typecheck helpers -- check whether given expression has requested type*/ -/* For pointers, you can use the _curl_is_ptr/_curl_is_arr macros, +/* For pointers, you can use the curlcheck_ptr/curlcheck_arr macros, * otherwise define a new macro. Search for __builtin_types_compatible_p * in the GCC manual. * NOTE: these macros MUST NOT EVALUATE their arguments! The argument is @@ -338,36 +434,36 @@ _CURL_WARNING(_curl_easy_getinfo_err_curl_slist, * == or whatsoever. */ -/* XXX: should evaluate to true iff expr is a pointer */ -#define _curl_is_any_ptr(expr) \ - (sizeof(expr) == sizeof(void*)) +/* XXX: should evaluate to true if expr is a pointer */ +#define curlcheck_any_ptr(expr) \ + (sizeof(expr) == sizeof(void *)) /* evaluates to true if expr is NULL */ /* XXX: must not evaluate expr, so this check is not accurate */ -#define _curl_is_NULL(expr) \ +#define curlcheck_NULL(expr) \ (__builtin_types_compatible_p(__typeof__(expr), __typeof__(NULL))) /* evaluates to true if expr is type*, const type* or NULL */ -#define _curl_is_ptr(expr, type) \ - (_curl_is_NULL(expr) || \ - __builtin_types_compatible_p(__typeof__(expr), type *) || \ +#define curlcheck_ptr(expr, type) \ + (curlcheck_NULL(expr) || \ + __builtin_types_compatible_p(__typeof__(expr), type *) || \ __builtin_types_compatible_p(__typeof__(expr), const type *)) /* evaluates to true if expr is one of type[], type*, NULL or const type* */ -#define _curl_is_arr(expr, type) \ - (_curl_is_ptr((expr), type) || \ +#define curlcheck_arr(expr, type) \ + (curlcheck_ptr((expr), type) || \ __builtin_types_compatible_p(__typeof__(expr), type [])) /* evaluates to true if expr is a string */ -#define _curl_is_string(expr) \ - (_curl_is_arr((expr), char) || \ - _curl_is_arr((expr), signed char) || \ - _curl_is_arr((expr), unsigned char)) +#define curlcheck_string(expr) \ + (curlcheck_arr((expr), char) || \ + curlcheck_arr((expr), signed char) || \ + curlcheck_arr((expr), unsigned char)) /* evaluates to true if expr is a long (no matter the signedness) * XXX: for now, int is also accepted (and therefore short and char, which * are promoted to int when passed to a variadic function) */ -#define _curl_is_long(expr) \ +#define curlcheck_long(expr) \ (__builtin_types_compatible_p(__typeof__(expr), long) || \ __builtin_types_compatible_p(__typeof__(expr), signed long) || \ __builtin_types_compatible_p(__typeof__(expr), unsigned long) || \ @@ -382,175 +478,194 @@ _CURL_WARNING(_curl_easy_getinfo_err_curl_slist, __builtin_types_compatible_p(__typeof__(expr), unsigned char)) /* evaluates to true if expr is of type curl_off_t */ -#define _curl_is_off_t(expr) \ +#define curlcheck_off_t(expr) \ (__builtin_types_compatible_p(__typeof__(expr), curl_off_t)) /* evaluates to true if expr is abuffer suitable for CURLOPT_ERRORBUFFER */ /* XXX: also check size of an char[] array? */ -#define _curl_is_error_buffer(expr) \ - (__builtin_types_compatible_p(__typeof__(expr), char *) || \ +#define curlcheck_error_buffer(expr) \ + (curlcheck_NULL(expr) || \ + __builtin_types_compatible_p(__typeof__(expr), char *) || \ __builtin_types_compatible_p(__typeof__(expr), char[])) /* evaluates to true if expr is of type (const) void* or (const) FILE* */ #if 0 -#define _curl_is_cb_data(expr) \ - (_curl_is_ptr((expr), void) || \ - _curl_is_ptr((expr), FILE)) +#define curlcheck_cb_data(expr) \ + (curlcheck_ptr((expr), void) || \ + curlcheck_ptr((expr), FILE)) #else /* be less strict */ -#define _curl_is_cb_data(expr) \ - _curl_is_any_ptr(expr) +#define curlcheck_cb_data(expr) \ + curlcheck_any_ptr(expr) #endif /* evaluates to true if expr is of type FILE* */ -#define _curl_is_FILE(expr) \ - (__builtin_types_compatible_p(__typeof__(expr), FILE *)) +#define curlcheck_FILE(expr) \ + (curlcheck_NULL(expr) || \ + (__builtin_types_compatible_p(__typeof__(expr), FILE *))) /* evaluates to true if expr can be passed as POST data (void* or char*) */ -#define _curl_is_postfields(expr) \ - (_curl_is_ptr((expr), void) || \ - _curl_is_arr((expr), char)) +#define curlcheck_postfields(expr) \ + (curlcheck_ptr((expr), void) || \ + curlcheck_arr((expr), char) || \ + curlcheck_arr((expr), unsigned char)) -/* FIXME: the whole callback checking is messy... - * The idea is to tolerate char vs. void and const vs. not const - * pointers in arguments at least - */ /* helper: __builtin_types_compatible_p distinguishes between functions and * function pointers, hide it */ -#define _curl_callback_compatible(func, type) \ - (__builtin_types_compatible_p(__typeof__(func), type) || \ - __builtin_types_compatible_p(__typeof__(func), type*)) +#define curlcheck_cb_compatible(func, type) \ + (__builtin_types_compatible_p(__typeof__(func), type) || \ + __builtin_types_compatible_p(__typeof__(func) *, type)) + +/* evaluates to true if expr is of type curl_resolver_start_callback */ +#define curlcheck_resolver_start_callback(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_resolver_start_callback)) /* evaluates to true if expr is of type curl_read_callback or "similar" */ -#define _curl_is_read_cb(expr) \ - (_curl_is_NULL(expr) || \ - __builtin_types_compatible_p(__typeof__(expr), __typeof__(fread)) || \ - __builtin_types_compatible_p(__typeof__(expr), curl_read_callback) || \ - _curl_callback_compatible((expr), _curl_read_callback1) || \ - _curl_callback_compatible((expr), _curl_read_callback2) || \ - _curl_callback_compatible((expr), _curl_read_callback3) || \ - _curl_callback_compatible((expr), _curl_read_callback4) || \ - _curl_callback_compatible((expr), _curl_read_callback5) || \ - _curl_callback_compatible((expr), _curl_read_callback6)) -typedef size_t (_curl_read_callback1)(char *, size_t, size_t, void*); -typedef size_t (_curl_read_callback2)(char *, size_t, size_t, const void*); -typedef size_t (_curl_read_callback3)(char *, size_t, size_t, FILE*); -typedef size_t (_curl_read_callback4)(void *, size_t, size_t, void*); -typedef size_t (_curl_read_callback5)(void *, size_t, size_t, const void*); -typedef size_t (_curl_read_callback6)(void *, size_t, size_t, FILE*); +#define curlcheck_read_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), __typeof__(fread) *) || \ + curlcheck_cb_compatible((expr), curl_read_callback) || \ + curlcheck_cb_compatible((expr), _curl_read_callback1) || \ + curlcheck_cb_compatible((expr), _curl_read_callback2) || \ + curlcheck_cb_compatible((expr), _curl_read_callback3) || \ + curlcheck_cb_compatible((expr), _curl_read_callback4) || \ + curlcheck_cb_compatible((expr), _curl_read_callback5) || \ + curlcheck_cb_compatible((expr), _curl_read_callback6)) +typedef size_t (*_curl_read_callback1)(char *, size_t, size_t, void *); +typedef size_t (*_curl_read_callback2)(char *, size_t, size_t, const void *); +typedef size_t (*_curl_read_callback3)(char *, size_t, size_t, FILE *); +typedef size_t (*_curl_read_callback4)(void *, size_t, size_t, void *); +typedef size_t (*_curl_read_callback5)(void *, size_t, size_t, const void *); +typedef size_t (*_curl_read_callback6)(void *, size_t, size_t, FILE *); /* evaluates to true if expr is of type curl_write_callback or "similar" */ -#define _curl_is_write_cb(expr) \ - (_curl_is_read_cb(expr) || \ - __builtin_types_compatible_p(__typeof__(expr), __typeof__(fwrite)) || \ - __builtin_types_compatible_p(__typeof__(expr), curl_write_callback) || \ - _curl_callback_compatible((expr), _curl_write_callback1) || \ - _curl_callback_compatible((expr), _curl_write_callback2) || \ - _curl_callback_compatible((expr), _curl_write_callback3) || \ - _curl_callback_compatible((expr), _curl_write_callback4) || \ - _curl_callback_compatible((expr), _curl_write_callback5) || \ - _curl_callback_compatible((expr), _curl_write_callback6)) -typedef size_t (_curl_write_callback1)(const char *, size_t, size_t, void*); -typedef size_t (_curl_write_callback2)(const char *, size_t, size_t, - const void*); -typedef size_t (_curl_write_callback3)(const char *, size_t, size_t, FILE*); -typedef size_t (_curl_write_callback4)(const void *, size_t, size_t, void*); -typedef size_t (_curl_write_callback5)(const void *, size_t, size_t, - const void*); -typedef size_t (_curl_write_callback6)(const void *, size_t, size_t, FILE*); +#define curlcheck_write_cb(expr) \ + (curlcheck_read_cb(expr) || \ + curlcheck_cb_compatible((expr), __typeof__(fwrite) *) || \ + curlcheck_cb_compatible((expr), curl_write_callback) || \ + curlcheck_cb_compatible((expr), _curl_write_callback1) || \ + curlcheck_cb_compatible((expr), _curl_write_callback2) || \ + curlcheck_cb_compatible((expr), _curl_write_callback3) || \ + curlcheck_cb_compatible((expr), _curl_write_callback4) || \ + curlcheck_cb_compatible((expr), _curl_write_callback5) || \ + curlcheck_cb_compatible((expr), _curl_write_callback6)) +typedef size_t (*_curl_write_callback1)(const char *, size_t, size_t, void *); +typedef size_t (*_curl_write_callback2)(const char *, size_t, size_t, + const void *); +typedef size_t (*_curl_write_callback3)(const char *, size_t, size_t, FILE *); +typedef size_t (*_curl_write_callback4)(const void *, size_t, size_t, void *); +typedef size_t (*_curl_write_callback5)(const void *, size_t, size_t, + const void *); +typedef size_t (*_curl_write_callback6)(const void *, size_t, size_t, FILE *); /* evaluates to true if expr is of type curl_ioctl_callback or "similar" */ -#define _curl_is_ioctl_cb(expr) \ - (_curl_is_NULL(expr) || \ - __builtin_types_compatible_p(__typeof__(expr), curl_ioctl_callback) || \ - _curl_callback_compatible((expr), _curl_ioctl_callback1) || \ - _curl_callback_compatible((expr), _curl_ioctl_callback2) || \ - _curl_callback_compatible((expr), _curl_ioctl_callback3) || \ - _curl_callback_compatible((expr), _curl_ioctl_callback4)) -typedef curlioerr (_curl_ioctl_callback1)(CURL *, int, void*); -typedef curlioerr (_curl_ioctl_callback2)(CURL *, int, const void*); -typedef curlioerr (_curl_ioctl_callback3)(CURL *, curliocmd, void*); -typedef curlioerr (_curl_ioctl_callback4)(CURL *, curliocmd, const void*); +#define curlcheck_ioctl_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_ioctl_callback) || \ + curlcheck_cb_compatible((expr), _curl_ioctl_callback1) || \ + curlcheck_cb_compatible((expr), _curl_ioctl_callback2) || \ + curlcheck_cb_compatible((expr), _curl_ioctl_callback3) || \ + curlcheck_cb_compatible((expr), _curl_ioctl_callback4)) +typedef curlioerr (*_curl_ioctl_callback1)(CURL *, int, void *); +typedef curlioerr (*_curl_ioctl_callback2)(CURL *, int, const void *); +typedef curlioerr (*_curl_ioctl_callback3)(CURL *, curliocmd, void *); +typedef curlioerr (*_curl_ioctl_callback4)(CURL *, curliocmd, const void *); /* evaluates to true if expr is of type curl_sockopt_callback or "similar" */ -#define _curl_is_sockopt_cb(expr) \ - (_curl_is_NULL(expr) || \ - __builtin_types_compatible_p(__typeof__(expr), curl_sockopt_callback) || \ - _curl_callback_compatible((expr), _curl_sockopt_callback1) || \ - _curl_callback_compatible((expr), _curl_sockopt_callback2)) -typedef int (_curl_sockopt_callback1)(void *, curl_socket_t, curlsocktype); -typedef int (_curl_sockopt_callback2)(const void *, curl_socket_t, +#define curlcheck_sockopt_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_sockopt_callback) || \ + curlcheck_cb_compatible((expr), _curl_sockopt_callback1) || \ + curlcheck_cb_compatible((expr), _curl_sockopt_callback2)) +typedef int (*_curl_sockopt_callback1)(void *, curl_socket_t, curlsocktype); +typedef int (*_curl_sockopt_callback2)(const void *, curl_socket_t, curlsocktype); -/* evaluates to true if expr is of type curl_opensocket_callback or "similar" */ -#define _curl_is_opensocket_cb(expr) \ - (_curl_is_NULL(expr) || \ - __builtin_types_compatible_p(__typeof__(expr), curl_opensocket_callback) ||\ - _curl_callback_compatible((expr), _curl_opensocket_callback1) || \ - _curl_callback_compatible((expr), _curl_opensocket_callback2) || \ - _curl_callback_compatible((expr), _curl_opensocket_callback3) || \ - _curl_callback_compatible((expr), _curl_opensocket_callback4)) -typedef curl_socket_t (_curl_opensocket_callback1) +/* evaluates to true if expr is of type curl_opensocket_callback or + "similar" */ +#define curlcheck_opensocket_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_opensocket_callback) || \ + curlcheck_cb_compatible((expr), _curl_opensocket_callback1) || \ + curlcheck_cb_compatible((expr), _curl_opensocket_callback2) || \ + curlcheck_cb_compatible((expr), _curl_opensocket_callback3) || \ + curlcheck_cb_compatible((expr), _curl_opensocket_callback4)) +typedef curl_socket_t (*_curl_opensocket_callback1) (void *, curlsocktype, struct curl_sockaddr *); -typedef curl_socket_t (_curl_opensocket_callback2) +typedef curl_socket_t (*_curl_opensocket_callback2) (void *, curlsocktype, const struct curl_sockaddr *); -typedef curl_socket_t (_curl_opensocket_callback3) +typedef curl_socket_t (*_curl_opensocket_callback3) (const void *, curlsocktype, struct curl_sockaddr *); -typedef curl_socket_t (_curl_opensocket_callback4) +typedef curl_socket_t (*_curl_opensocket_callback4) (const void *, curlsocktype, const struct curl_sockaddr *); /* evaluates to true if expr is of type curl_progress_callback or "similar" */ -#define _curl_is_progress_cb(expr) \ - (_curl_is_NULL(expr) || \ - __builtin_types_compatible_p(__typeof__(expr), curl_progress_callback) || \ - _curl_callback_compatible((expr), _curl_progress_callback1) || \ - _curl_callback_compatible((expr), _curl_progress_callback2)) -typedef int (_curl_progress_callback1)(void *, +#define curlcheck_progress_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_progress_callback) || \ + curlcheck_cb_compatible((expr), _curl_progress_callback1) || \ + curlcheck_cb_compatible((expr), _curl_progress_callback2)) +typedef int (*_curl_progress_callback1)(void *, double, double, double, double); -typedef int (_curl_progress_callback2)(const void *, +typedef int (*_curl_progress_callback2)(const void *, double, double, double, double); /* evaluates to true if expr is of type curl_debug_callback or "similar" */ -#define _curl_is_debug_cb(expr) \ - (_curl_is_NULL(expr) || \ - __builtin_types_compatible_p(__typeof__(expr), curl_debug_callback) || \ - _curl_callback_compatible((expr), _curl_debug_callback1) || \ - _curl_callback_compatible((expr), _curl_debug_callback2) || \ - _curl_callback_compatible((expr), _curl_debug_callback3) || \ - _curl_callback_compatible((expr), _curl_debug_callback4)) -typedef int (_curl_debug_callback1) (CURL *, +#define curlcheck_debug_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_debug_callback) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback1) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback2) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback3) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback4) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback5) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback6) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback7) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback8)) +typedef int (*_curl_debug_callback1) (CURL *, curl_infotype, char *, size_t, void *); -typedef int (_curl_debug_callback2) (CURL *, +typedef int (*_curl_debug_callback2) (CURL *, curl_infotype, char *, size_t, const void *); -typedef int (_curl_debug_callback3) (CURL *, +typedef int (*_curl_debug_callback3) (CURL *, curl_infotype, const char *, size_t, void *); -typedef int (_curl_debug_callback4) (CURL *, +typedef int (*_curl_debug_callback4) (CURL *, curl_infotype, const char *, size_t, const void *); +typedef int (*_curl_debug_callback5) (CURL *, + curl_infotype, unsigned char *, size_t, void *); +typedef int (*_curl_debug_callback6) (CURL *, + curl_infotype, unsigned char *, size_t, const void *); +typedef int (*_curl_debug_callback7) (CURL *, + curl_infotype, const unsigned char *, size_t, void *); +typedef int (*_curl_debug_callback8) (CURL *, + curl_infotype, const unsigned char *, size_t, const void *); /* evaluates to true if expr is of type curl_ssl_ctx_callback or "similar" */ /* this is getting even messier... */ -#define _curl_is_ssl_ctx_cb(expr) \ - (_curl_is_NULL(expr) || \ - __builtin_types_compatible_p(__typeof__(expr), curl_ssl_ctx_callback) || \ - _curl_callback_compatible((expr), _curl_ssl_ctx_callback1) || \ - _curl_callback_compatible((expr), _curl_ssl_ctx_callback2) || \ - _curl_callback_compatible((expr), _curl_ssl_ctx_callback3) || \ - _curl_callback_compatible((expr), _curl_ssl_ctx_callback4) || \ - _curl_callback_compatible((expr), _curl_ssl_ctx_callback5) || \ - _curl_callback_compatible((expr), _curl_ssl_ctx_callback6) || \ - _curl_callback_compatible((expr), _curl_ssl_ctx_callback7) || \ - _curl_callback_compatible((expr), _curl_ssl_ctx_callback8)) -typedef CURLcode (_curl_ssl_ctx_callback1)(CURL *, void *, void *); -typedef CURLcode (_curl_ssl_ctx_callback2)(CURL *, void *, const void *); -typedef CURLcode (_curl_ssl_ctx_callback3)(CURL *, const void *, void *); -typedef CURLcode (_curl_ssl_ctx_callback4)(CURL *, const void *, const void *); +#define curlcheck_ssl_ctx_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_ssl_ctx_callback) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback1) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback2) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback3) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback4) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback5) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback6) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback7) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback8)) +typedef CURLcode (*_curl_ssl_ctx_callback1)(CURL *, void *, void *); +typedef CURLcode (*_curl_ssl_ctx_callback2)(CURL *, void *, const void *); +typedef CURLcode (*_curl_ssl_ctx_callback3)(CURL *, const void *, void *); +typedef CURLcode (*_curl_ssl_ctx_callback4)(CURL *, const void *, + const void *); #ifdef HEADER_SSL_H /* hack: if we included OpenSSL's ssl.h, we know about SSL_CTX * this will of course break if we're included before OpenSSL headers... */ -typedef CURLcode (_curl_ssl_ctx_callback5)(CURL *, SSL_CTX, void *); -typedef CURLcode (_curl_ssl_ctx_callback6)(CURL *, SSL_CTX, const void *); -typedef CURLcode (_curl_ssl_ctx_callback7)(CURL *, const SSL_CTX, void *); -typedef CURLcode (_curl_ssl_ctx_callback8)(CURL *, const SSL_CTX, const void *); +typedef CURLcode (*_curl_ssl_ctx_callback5)(CURL *, SSL_CTX, void *); +typedef CURLcode (*_curl_ssl_ctx_callback6)(CURL *, SSL_CTX, const void *); +typedef CURLcode (*_curl_ssl_ctx_callback7)(CURL *, const SSL_CTX, void *); +typedef CURLcode (*_curl_ssl_ctx_callback8)(CURL *, const SSL_CTX, + const void *); #else typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback5; typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback6; @@ -559,26 +674,26 @@ typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback8; #endif /* evaluates to true if expr is of type curl_conv_callback or "similar" */ -#define _curl_is_conv_cb(expr) \ - (_curl_is_NULL(expr) || \ - __builtin_types_compatible_p(__typeof__(expr), curl_conv_callback) || \ - _curl_callback_compatible((expr), _curl_conv_callback1) || \ - _curl_callback_compatible((expr), _curl_conv_callback2) || \ - _curl_callback_compatible((expr), _curl_conv_callback3) || \ - _curl_callback_compatible((expr), _curl_conv_callback4)) +#define curlcheck_conv_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_conv_callback) || \ + curlcheck_cb_compatible((expr), _curl_conv_callback1) || \ + curlcheck_cb_compatible((expr), _curl_conv_callback2) || \ + curlcheck_cb_compatible((expr), _curl_conv_callback3) || \ + curlcheck_cb_compatible((expr), _curl_conv_callback4)) typedef CURLcode (*_curl_conv_callback1)(char *, size_t length); typedef CURLcode (*_curl_conv_callback2)(const char *, size_t length); typedef CURLcode (*_curl_conv_callback3)(void *, size_t length); typedef CURLcode (*_curl_conv_callback4)(const void *, size_t length); /* evaluates to true if expr is of type curl_seek_callback or "similar" */ -#define _curl_is_seek_cb(expr) \ - (_curl_is_NULL(expr) || \ - __builtin_types_compatible_p(__typeof__(expr), curl_seek_callback) || \ - _curl_callback_compatible((expr), _curl_seek_callback1) || \ - _curl_callback_compatible((expr), _curl_seek_callback2)) +#define curlcheck_seek_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_seek_callback) || \ + curlcheck_cb_compatible((expr), _curl_seek_callback1) || \ + curlcheck_cb_compatible((expr), _curl_seek_callback2)) typedef CURLcode (*_curl_seek_callback1)(void *, curl_off_t, int); typedef CURLcode (*_curl_seek_callback2)(const void *, curl_off_t, int); -#endif /* __CURL_TYPECHECK_GCC_H */ +#endif /* CURLINC_TYPECHECK_GCC_H */ diff --git a/libs/curl/include/curl/urlapi.h b/libs/curl/include/curl/urlapi.h new file mode 100644 index 00000000..f2d06770 --- /dev/null +++ b/libs/curl/include/curl/urlapi.h @@ -0,0 +1,125 @@ +#ifndef CURLINC_URLAPI_H +#define CURLINC_URLAPI_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 2018 - 2019, Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +#include "curl.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* the error codes for the URL API */ +typedef enum { + CURLUE_OK, + CURLUE_BAD_HANDLE, /* 1 */ + CURLUE_BAD_PARTPOINTER, /* 2 */ + CURLUE_MALFORMED_INPUT, /* 3 */ + CURLUE_BAD_PORT_NUMBER, /* 4 */ + CURLUE_UNSUPPORTED_SCHEME, /* 5 */ + CURLUE_URLDECODE, /* 6 */ + CURLUE_OUT_OF_MEMORY, /* 7 */ + CURLUE_USER_NOT_ALLOWED, /* 8 */ + CURLUE_UNKNOWN_PART, /* 9 */ + CURLUE_NO_SCHEME, /* 10 */ + CURLUE_NO_USER, /* 11 */ + CURLUE_NO_PASSWORD, /* 12 */ + CURLUE_NO_OPTIONS, /* 13 */ + CURLUE_NO_HOST, /* 14 */ + CURLUE_NO_PORT, /* 15 */ + CURLUE_NO_QUERY, /* 16 */ + CURLUE_NO_FRAGMENT /* 17 */ +} CURLUcode; + +typedef enum { + CURLUPART_URL, + CURLUPART_SCHEME, + CURLUPART_USER, + CURLUPART_PASSWORD, + CURLUPART_OPTIONS, + CURLUPART_HOST, + CURLUPART_PORT, + CURLUPART_PATH, + CURLUPART_QUERY, + CURLUPART_FRAGMENT, + CURLUPART_ZONEID /* added in 7.65.0 */ +} CURLUPart; + +#define CURLU_DEFAULT_PORT (1<<0) /* return default port number */ +#define CURLU_NO_DEFAULT_PORT (1<<1) /* act as if no port number was set, + if the port number matches the + default for the scheme */ +#define CURLU_DEFAULT_SCHEME (1<<2) /* return default scheme if + missing */ +#define CURLU_NON_SUPPORT_SCHEME (1<<3) /* allow non-supported scheme */ +#define CURLU_PATH_AS_IS (1<<4) /* leave dot sequences */ +#define CURLU_DISALLOW_USER (1<<5) /* no user+password allowed */ +#define CURLU_URLDECODE (1<<6) /* URL decode on get */ +#define CURLU_URLENCODE (1<<7) /* URL encode on set */ +#define CURLU_APPENDQUERY (1<<8) /* append a form style part */ +#define CURLU_GUESS_SCHEME (1<<9) /* legacy curl-style guessing */ +#define CURLU_NO_AUTHORITY (1<<10) /* Allow empty authority when the + scheme is unknown. */ + +typedef struct Curl_URL CURLU; + +/* + * curl_url() creates a new CURLU handle and returns a pointer to it. + * Must be freed with curl_url_cleanup(). + */ +CURL_EXTERN CURLU *curl_url(void); + +/* + * curl_url_cleanup() frees the CURLU handle and related resources used for + * the URL parsing. It will not free strings previously returned with the URL + * API. + */ +CURL_EXTERN void curl_url_cleanup(CURLU *handle); + +/* + * curl_url_dup() duplicates a CURLU handle and returns a new copy. The new + * handle must also be freed with curl_url_cleanup(). + */ +CURL_EXTERN CURLU *curl_url_dup(CURLU *in); + +/* + * curl_url_get() extracts a specific part of the URL from a CURLU + * handle. Returns error code. The returned pointer MUST be freed with + * curl_free() afterwards. + */ +CURL_EXTERN CURLUcode curl_url_get(CURLU *handle, CURLUPart what, + char **part, unsigned int flags); + +/* + * curl_url_set() sets a specific part of the URL in a CURLU handle. Returns + * error code. The passed in string will be copied. Passing a NULL instead of + * a part string, clears that part. + */ +CURL_EXTERN CURLUcode curl_url_set(CURLU *handle, CURLUPart what, + const char *part, unsigned int flags); + + +#ifdef __cplusplus +} /* end of extern "C" */ +#endif + +#endif /* CURLINC_URLAPI_H */ diff --git a/libs/curl/lib32/libcurl.a b/libs/curl/lib32/libcurl.a index 2f5a29f62a792824da80e7fc18e6de2e00088c81..4e4907c5bf0637e86738c31f2d65488d4cf87548 100644 GIT binary patch literal 801608 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

gQw|Ag`1@x5p%Rf`vh;+ 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%0AQG#QpmN|JVjL)1gJu7Kk( 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�g`C@){ix5Bif~x< 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 WXr{5UtD_Z_(G=r{b@7APqW&MX0}RRl literal 385996 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
tLVMeX)ul!A?S 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%0DgVC<&&C$?9 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 diff --git a/libs/curl/lib32/libcurl.dll b/libs/curl/lib32/libcurl.dll new file mode 100644 index 0000000000000000000000000000000000000000..61925326fda809e108b050fd47012ecd0d0c7216 GIT binary patch literal 725504 zcmdqKdwf*Y)&D;e1{frIqC^dnYHUXvO4OucO*CjU7qOzo3Q8+lY?Vg~R;m-E7VXe8 z1Dqa4)1p;dTebE=tL>wYhzN=aU;=#Ba!_gk$XmwTf+Y-(jrYW z&3lohJ4%Y^H~(%2o{v#&BMo1XNQEt@0xHix^VqmoBw3-ak&#{2l)-i0$M84Ubuh)nM|@(K%B`Y3?y+cRjL$zLab`UnX>5~=4o z=wCymy5Y$0TzRFEs`us3J$ntx9e7Qt-ivL$MwZAl@keSWbp6k9Dt?6Hl?nFG3)^mV`2U&nW>EC~L?97?&TQRS1hjZ^S zm7QnI^wxsmP`!W!dE6k-D``dOaEWdY@IDJE-#us*@UDs@WRW8FkY8P>1=-bU5jI zDK?PxIA58qPTE&$?GdL_Hd*dZPE>X`C1O%SZ*n5ecZFA)=-=qRRqPIxETT|sD7R#{ z@A)~SJulo3E*&1}9xCQR6um37G{xJ0W9l@TzwOdHj2?6(Ck9(1!z13jL|lY{IpU2^1pnF(O?s|?`} zX$t7y8bUqlel*0%90>Z{YXf3#H>CBG(DOjPTBB^xbw|Er?v;T8h^u>O$pco6P{&et zS2TH$KPgd$jg|zb1L>|S9x$Nbw2y{G1lP0G=nt(3U`42w9*q{$GGthkwi+d7fbZ-AG36BSlcdlR_aenRQN}Wiehk5Myk-ie+netf=WL8A?^x2 zqoX_Ab*1jhW6rx^t)++Jl5~Y1@oyGHW^1z2Z;Y8*7E|7DjCVI0L+Hj0qI!M(ZKJvy z<1j|Ul+|>cx7M@+1%lcOhevw;xhF&aFY!M&{j>O|nAWX_g;u{Z+mxvC?-v^=LJ41T zb_#~{UCg`bUHwe!KBQD7jJEXL7L9n_SXM@!5=mC3jz7vtFV@H8L{&`(?qN*NQF;HJ z-t458lIM0r>!@wc0nYN$A*o$QwY||58!|0Sz3R=>@zb32?ZBx~A}OjXPXvA6#?wu3s&D=(ZT;Zf&2QaJvMkaSh-~bh__xh~n;3!i+ibkBY+@`a;b_BYoA15v_f9W$`law20QU<#($taPG&TSdhQSD zQ~S+-s~Cp;bfQ9!GG3&>{;CMtY-J(oUGe1tOs{JNmpK5=(A<>K@!9cgI+0S9RE;C- z-@ijwcdBSSONK?LFqc7aiG@81LNBF=EZ4$%%qJDK8fq(zGYhO7O_E;gO@sKbrgz=zfmCGMp^->UN6lt032#tj+H_W8 zlJ{b29%Ayd9XJ3dvjSma=+%BQG2UB$OWot6w>XPO4kb}CnM5Z)4+TPUXWlm?;&tL1 zuDf4F09Uat>hs^wDg_4u1R;+J&e2qpizG zEc8Q=8V@f2619ZIss3f`M_v9zs(JV;YK4KkbtZ3xQk~|&s>XR2cmY9%@yCAI!$3s* z`(zrTK{oCW6IVa@*6`4{;Ir0SC1X=Hw_>HKxpFf<=goh}nxiXa8EF;gKth$#9sbWF zjIR#squ9_9^WhBA)kGHisPm8xN(shA+axu&+~{1HbguKzP40)dfEkqaR|#{b-&qu( z?~qsxg?f(HGneI0c1~nms8BWAJwt_YR5FJ?doMrcll1=q%b6 ze6-4VRB613Gen{yPwXk;YZA6ahC*pDn?I;g9z5u9=^C(A8*63Li4^F`jr*O3NVShpY=LNbUW!fykK3x*Q`W?yG?vIfj#16_adX) zfa@DRYR5j=ZCXL!+41q*?t$>BeZ{dPdXE}`(6;w~bNHTq0={D+S?19o-t$uTehQY{ zWi*7<7u#g%Ng{afBqtJc^f9?lLGUHi`>}rtNItL}m1`JmC6W!-y^$yfxl)#Fw_e=-h!W2^8^aSpW!~erbbfRQ1^Pxmz4Mhz-&d~p zwAX1cN8hIpEghFklzTfmcOSCz&CXrJ#=hrmyd}DR-xoy6jP`RM5zPjl83B5agYK5G z>qozE>0`>-`LF0>)KzNIqw9Gs-}eRcAsFGXa?Ssp;yrV&*L{xnHwGe;AaHs&?SMKp zB`&gWnGJ1wc?4!hpH08jH6N$gf1equVgUB<->zX5 z0k^E?_rPU(o%Elj(@lv)d(GzT8PV*?(Yns$q0aIt5%Zzl?wRt64RmFJC*^b z$h5-?kCFbr&ce!)iHp2p?z%|~5jFJ@YK^xgR}PMXJwa1}5D3T<0|D{wPZ9FUjnPQ% z3KdQst_GCWm*lDL_!RIm0XGlS1R*QNK%}9C!c}UmT+IMLNYTJ}axxsW7PMumeG_*h z;12pKCV);lph-Bd+x^!NjIqMW?8m3G`~VFUU*|QoYl3}2GoYJ!r!`S$dGP_M4<{sJ z=?!gf*YxwsJRPug8=cJ4VC@WwytUa_!`MEkta3Y|v_nDfDplvTKx=jnE+cMN46yQS z{cj*3k+;rsKCbDn+3GC+iWk&Ra54(tJO4S%?T%7^-Ft0s5O}5kMWWjubr$SUZcho? zBiA|gk3%#ZC|?v^f%Qhl_BrXBct$%_6Y0k%6N$FpAjEQ1pb{0}b+T8>->D>2nYRjt znS7uK5G35gRNz8B^(2%FIGaH22{^VC8Mfo?Vox zKVZTmNI2qTE>zZ8MUQA`mYd9nYLY_b9B5J_n{jQ;hLwWvQ9xFyR>?gxfHTzFQV576 zUnzSWI9Xt9MFU*t&KT&Z!*(S9^Wk4c;d2M8i{IlP@S4?)`3*5Pv`o`~AJCgrKkHVmfryA+n?pD(Vua;M7@tRIZk zY(~;0VLZ}Mj)5}{p({~)YkpMW@yRi|g5*hV-+^s%-qKBpHDTm&av3gMArj*n5@Nv{ z8;THgIr>o3p=VwL=E&4Pr>v~P?T}bv!JosjmL9s@N}oYcLgqVES;6^5c zaeft??z&3mE0-NkHQ{>Dp!rk(7b@oMfT)91%^pPI_vil^)I(@;MPZ5HC&a5-14_o+ zhIrIppu%d0LY)*@O%ZopsiLQFzSYimNy8W?w({uB{1!!sJDLBXyvl0!XwNC!F17pP zDsn?&njY!IR36!RsQQP&_lQ-!dgjNzPPfz&CnMsm1!OXB-mq+oR4)`_i+sWa?2quU zn4Z&2bokB28m>Hx(HiVH=^s*1EQN-k7_rcOw|BRg*^Hi*p%fuW6=@)FA}SfyThkk6 zxBCs{-p=eCY2*j)ZlV&+{wX@`e4|L*ZbJ8^_BX76TFu#+=t^@gCVt8D5%t!X)uo=j zLd2M||BZ65bbej;kKZ@LyL@39s0@>49j!y6u)%UnbwswBeoeV}=C-NWW?A;CsLZI{ zZ@TZ}n$7;adq3XUn~nXmtt<#Dh%)!O|t0#ydA*? zMp^mNZEKj|7yZ&|Tx9ON7a9_ zN6X*0|9Aej{{gMV(2hZS^E4*Me3rvwkVBqs*`j3@|A>B6SRuUES`?YV`k>~c7i0VW zt%=)tK)IQi^4(?FY3fe7?T_qKz;6&>?l81pe)hwd;~pzZ*pMWS8osD0admHJk&{^( z1C^%yH;!wL;F`OdVpq$zjrX=lC}1-aNnU9pnB6j*{*w;$s(mRjzV5x`h}3b%Iq7!L z0$T}a#J{Gn-q*Usj9`OrGE70{3W9=P?}Lh87SrU@Vhf$=PrjWx@rdNtzz{o5wc#ti zPfgeWp=9!2uXF5&^FK7*_H|#wIP*32+$4d~pFwPOHkr6u2m+ZaZEDO4L`Q%~9m{OL zStQ0jP<}WD?py|4hL%iHc#QzX!~AuU@1ElVe>g7uYHv5lulAdqkG-biIaEAv>>95- zx@qi|&Ro&^zt7z#^ReS@CZV$rC9Xy^-VVIrMLVq*oYf3xT?JM6+}>ry?@+uhJBNaM z2*ZKzoQ?{uN zbD2Mi3SSlY)dFud4X3wo(jSNcw1M@V^Sn+c{Se<{KlC1V(ogW_e#lt#LtYTYad^4H z%=C*Cmz{Mrl^#Nx#=XGm?c&~qonQw z0tMIAh;-jxE7H-b%a>rhF0}h|MSAg_pC{7)o}`#1d35LzV)LxV!f&yu1N{$vMZagX zi8=SMC7wHtmVh~{NCi-m6neyh70jMUb{e&~m&Bvp4cHhQww2=H4M>$m1sm;s{pl}!Y zhlHbPqf7rulg8WuE0dVH9qzps9Q*-t0|iQSj+BI571STO!8*R__dq(iCjQDdzSOf| zwI>LfEq@qDXM0iR0rD$o){mH2@nLKNm19B`gXO_W6(V#%V>9Q-lv$yLml)w{oH!5Div-L6Lia>EFxUNA zs@#;gMB%J446G#&x4M`S+ZyS9Ihd?bLSzL*?isF9H&Jo$x7(5n*K7VsKCks5 z;|?ZM%Pdr}l0bX!Ue{=nlX+1wR?^}jm^?C+bmkY}%uN8)@axe}*A5>N$z7|IIdaSi z$b{Nh@G=GpznR$Q zL%q(r_eOto%~4P}o`G};Ma(qiB%A<6V%q8{a@NilIg{*QWlrSM7gK-T-M>DX?j>Y028laWPqSM)g~FO#p|_dO6*@FlAn52wMeQ-h=w`t$MKkt2>c?g)BO z{vOfQ5FaeZbG>I*-nJkbVb5Gm$JyTFUZ?w31ugQSlcnQe&gaBiBX#e2Yew(7Cb^QS z^I_!mIax);E1-3D-HsLVa7z0DX>Na+bKO!B=J&6q<(%sj?|6OQuFk$g=F{Ag~FG{s?*x?<7lL3oD9Lad-q|#eA04ypqc@W|tH5f48Pwx=ej2SbAQPaVP!P1E&7)9;uKNyknW!!ym#VhEnsz-UC zyDTIle)XU#MEgP1lA8r0>rV{+TW(?5{qEhR;CBi-+S#w!jROAt^7vuTnyaZsk4J&rR{V(w>fE*8V8P!q2(ySkU$DmcTX!Y=2O|jK_x=O^ zu`2VU5I>3-b8r8EF7&qU)OsHJ*PVKz@TNW2Htp}>Tiyj3dEs8Pf0x0b&oDN4_%*hn z?cVFEllv3*|Bm|Gv-g#ZRL?k3e}6TJzsS&-lcHx<7=mBE-rrxdp{{fErg_87oB|sL zhV6S!%r#qe^OgDcX>+x|s%a1gO(n3H7EA?$=hiA`Nj-n_C1p>ZtIgKllF6S+Pu=+% zDW7<*2=kVRuzWGwU)@(mQm!$t7uowN^nLWeccs3+l>c^?`$A}jm?x9yZYav$r+wp# zOnPotC~wc5N}{)98h`T@+NQJp1pXR>MxJI94y{u?PRoi~$?NuZ&=YBcPyLAXh_KvA zUq{P$eIqtH=`?RZmp#&Z_CJ3Q7;_(r@q4Q$g1=FJ7vl3qWZTOf@UXx)uq0{8VTy{r>Eh$0!tBl6nWi*DhZQnKRJ1;Snf|vNVNs1HL z;egWp>SZ~vJ`wpW7P#bN-sHWtxX#mtV4=a@_5#*|#wuSHRmeAc^5%IrBvKF_%moai zn9B60+`JatDAcB58EsEdJ_n4D(5$F*eG~NwD)@-ZTCUrjXYSp8}0O>Ag!p zUAIN6CZjtaBp8S|r*Cpj?^652S8)&*Su8e^FpcJ&iv3RWXCe(hH`LF}1 zE--|Q-smizj%k|h3YWfT{6kQ);d3eYxA!+uu*p!+wc1j!#W}sRK*56N4F%IlxCjcS zQ_)2=y{K8zbK_L(Eh*-2o!^0Qo%HEo@b8oTJi=aruXrZe+p+T)n`ECE0uQH?vHC4SF-dz8_rHY;boE zz4m}Y9p0v~o!Qu_)Y0X=>!%-ALH~xwP02|{TjYJU!%EKDRDoRuhrGl9N%_x?SmSlI z4L72wVHdC=#1Jtq{kT5H-0-+adhl59B)r*!v{_{ICMWw>HW57kP{MQ@VS{a(1-@ir zs`EhFq#K+l*)(N5cg&6(Pn(%~qId?nv=}5Wefa#{=4IQe09o)MToBmWo02V;IGL*n zztFx`|E9lFn-(HiN|37BVLL;}+8;9(U1%KOO~yb7k72dKUntw89DmU#6HfUHjY-`U znp81xCH_Kr3jZeKDMCl&FO19KGw3(fsyb@bFjtxxJbJAeHcy>E)0a4D%@k|&ybAGQTnnPTY;+q$Byg0vCi{SAcTcUE<=!X^HY}cZqi1O1Ir5 zig_#Ec9-bnE#|v<>XryqfjZ+zrv_i%gF3UbThoBmqAv78_!;>K|9|xlKi-1j-=}tf zY4zQccXp*(P%e=JMT3paC6vDtR!yvFZCn(QBaq9%So-g;8oL3LvrEsZ@h| z{@;YtGw(aQDtPCB$P$?us_4qlybtT19o^|HzMM92-)LZy9-M$|ILoW!bc*O)XXVFUbpOsyvG+%7@c2+p) z2c>|nQKcoJD$#_dD?%dHhzss&P#^EU(x4D1S?u3u^lO#$YY3Z8M$Jo19)cE)(&k5= zX3O=ol_g(>MvaCUdtFAIFcTM7JgwKZVL*`kyKzpkXt_wmQ`3+rud(1sn`hd}U-A|e z`mPKsyEyTNSljzOSToLxlz)(-`q3tY9K0*Gjb9~iv&~DgFHd>Tm^>L5c{vAq28j42YPu8MUFx42u^U>7+UM&^Vg~O&d)m_?0GdCj8nsuQsgk>v1xQSy@zx9 z7OK!tT>VBIRJ>k7QY`q|(*ylU?yi9)HM1XM9z9ElN*f7w)@>Qx{fO<9x}4LW4RNZe zg)?|_^FZ&Idy%PfGj39?>ZJ^21?4hr?-@PF{gJJm?0;0xc25oFOfdfZ17!mz;NE_WUpY-3MHM6Fr=(`OPm^hC-wAwX}@ngnBfFT z;ViUn%j1%ulsbK0WHB`z#un<{WZK~|C;L3I_>3)>VzJ=GP1Y7bS-eMl9ooagHvbax zXCb1gRFU*{)pd=2?3x%=Jyp|Dw?lImPcsd!fyX$Mj{(u-!p3LcH->+gG5jz<@d&xp zQj-$XgK1O%(&@C))D^Pey7f$VOim;TiL%?QK=!m^TR8aA9+aET%Y*|oF~wuS5Swp8 z5PV*;>~kc)_zy(Oh{pK5&<`5Fmn+GSBdv`VoRo14qLn(P4c?Aar+JE2wbbZ7-X`nK z$v%i!W=={>yJ&?P6{Cu?(^Tu~XiIJpneBB?0X<#Nqu=4pw7ru(jp}EvlDn`aciw5- zr81mj1KFc<~g;8V@7-Lg4alk zw*3=gV%y~<7MR`*4DY6ylzMz%D%8A%`%g7~WV-t-?{TKP9%NcEa3I3J{VEzMxb~TqR|5Oj>cJea1r6_Shcb;`<>dzoJZUb0s?wE(E2s zd{W|Qe@d0N9&J3>KRuztZnq09J_Rub578>N!8`mp2@bc$)3AIktoxTmGTZIva7lti za;=Bwe#W1?k=gxWOG}cM_|0WZ2OEJkt%2sa-&~q+rWK|RCw)2jUU#l_00I47bFDw6 zo&pt6l*nlr-sl-DoaLl1r9|#5{tUFAq}Y(0iZrMDr&l8xBP9u5Qi3x{Or358jZ((D znMV+-n@)>Ga@v_-^ej|>D)cM2Zh#_F(2!r8C;!71K!yW!5Dov?X$PZ4zyZS@w~$v>SX{C((9iV!y}FM zM|o^*-?+z7UkiG637Rs-Kf5>tFrlW&>TWdR^=Br~3m_^&hze@5^>jBH1@?bb%Ptfk z#)lB&2SL>8-9N8Mt9nuhpNYesl0y5Mn!FeMZ#9{+nXPTx2T6u~H)mAF{gz_+txJhq z+E;6}!FC^Ze(;P+4yGZ{H&FTQZ9_Q;y_Q{Y?0Ep%8l~!utj`Z%@y{90+2HF?s|rtB?9w_H&|+NZ-=LzqrBTwYa;X(o}y=lh@kh zwKQ>jy}_;_b`EIkjQ06wRHmR(YILXuwCg!N*;3}6Q=a=JVAx|zJtA%Zapn#rGKhTD z^*5^UTI#));@nJOWk1zm`7~(R_IoPU(vbVQ!M8`gOw#bbg#lv7KhTDMVa`jnz(0xq zXZ}^Pwc_*mH)fXW)Eert!{M6!UVclpczYD$29f5qROfyPnDVRO-@x3lCye1A99~OR z?h~H2pMs0M@Z%vUtpR6-OQdzXpz}Q0=0b8dol1(jTWkYW3=r5(!(`@SyZ-T*(09M>3$x4M9L5HkAD4bp&1$!w>2Dn$Z=t@4`w+>20a%KL4_nqqj4Z+}Yp z$SGxhb7eBVlzS{TljN;&UmfA@8sVhZ3E=c9bxWQUnT);MU3)p{yU19&Z*rtR#c0gm z$yCr$&(m)L}qZ+!G`W8uTg{kig3aNm)%&)cfz}}(rc{et-)(7(dQkUUob3fC@*1WOG)qCe*Ib-CdjPy$RRm+$6xtE(SxmkpvsB)sKzxfK{%+E`TP*SFA*)ma zf=1UXSA4*@3J=iSnNv7x{fGMP-2Z5z!S`yDM2f!$!kZtIVNN>S%#JcGU`IkKrHl zQ(Jpp^49jekoWI)KTwixw>No#_rCu%9}7p(SV!;o8!MN_+MGSFf2s6MC$MyC+dh6{ zv8vu|Q~btq`_)*br-6b4`;zHx`z?d!L0he@I+^t@yOyenJx$kD(^b@q_4&slsNUok z7}8d2DEqGWf*rTzPGLGQWPprtCx(?#s(!m?ae(T4fS;=*E_fAtW~xt(y#M3;eG}66Y>oSzZ#lo z-ebWXJW@8C9*(6i8^GQ!9Uyrr$uw`GuAA$6UM_Njs2lE0z}{MlYY33qo(<*UH{#4sKtI`eO-%qpi0;{?*cJWIP*KB zU7LFP@v#d-lKhrZL(h#pw^@0##LV|y-0*@q=i!}99p!R!`D5)j#N%WRC8@^?xncjk z_b6MAq@~iT;MWHtA=Xs7f+f7wbdAZ>Rw7dN$-i;q~;yie3`W3sjN8Ceo5t1o0k;l&VWFjLwPF{<&2% zq7JjvFT)p{!2)J7QPQ(d=#Lm|l3MFM=a2Cxmievabsu_LM!$W{8zVL)U!{HxqrQsD zmvF%jKF9rQ9Hh~p9w*J9X1xpEn2>X;P#%uwpghJI?PMk2ESL|p&c!WS z9h*O)ir%x*sO+ZWpq6ES!P%v$vDT5}( zt}(>-D@q0b`o6Y!O|xqb%MOR2$jUQZyCId&xQY6oK>X*Bas=Nm(#UCwH5y+f0(?q;vs>W-Qnb=%rr$$OcChtURB+4Ty=kGXHkUswji$CMS* zDs2C~nY%y6t_w|;ZSpD7?KwBmsd*K6Xd+)-Yj_!&ZtzHN(~w|sVlMCm8JSo4d_;}$ zpk{-;m%7u5RugVUBJcmfxv8T(lJ02RtGn5Z=H0b>rH=m+mtHUltZKMJ%5>Xb7^UMJ z$swqxk_{##G;AO_YtbT6b7sWE{R?hF0g1**vwavdIJ<{A3s>;M z-nPF3Y2+g8$A^_J-4EwTahS@?g9`zmLX0Y^#OI+Cf%F`PU>=$*X!zCz4?IQ!$8!h%eB7CgI*r6LO z%tUcrV!Pl(z z&o(l;D-McxN1o1z<95AvaU58Uc2tB9D!;459w0iNVqK64{|!xXDcgV&J^uTnZE6@!*KFUzbj^LkCSp`GGle}kex#Y{a`%D0 zUg+XZga&3(KBxW0vROj(wIUret3zKUZ!TIt$+u~9HE#nAf-FOFgP*=-Ws~HpS0_D| zI&^;^osN^yJ)3Uda3^yDFG|q)*|5LMl)%_h?uBmP$*dm~WQuvUR~3gb4e{^aSkQkQwcdI_oX3YyRxyP=kMO_$O9fk3(fDh?>LJ{w)EKfyL5BAv#=i>aF)jx zO-h_8rY@C6_qXkry9h1nYMP)gCq0u?uMe-lbwm@m<)$L}T58vbIQTa4 z@nFRrthGPZ^=3h^=pCBz8^GE5t<1AvB>rG#*n4^e_YOR!s*;JO2hoQ9Rs8>BZzmhh z$G$uIqq!<;^DCofh% zqOC+R4}&CUdDGGTbQeKa)A-g%&y#Wj#`K!y1NO@c?0`^UA2UmaA1KPb&x_Eq-dZ6^ zmO_9>=XqH>vx957a?5)`7i=Dh@CgVdyY6PYwD6{m3=*YwHyDe_jYp?7Zqvqg5In?% z-)c4&PwXoe%6uT+3i_Uxce{}{%R`#r_Qr+DZpw^`_wWH$E|SIVV9I?(6M0%^3QpR= zXN$1I$bV|GCz!KG5*mZ$J!YIHd~`cyb+*+bV5%L?UEwQ*2)tE^n(a1J$^AgmnwL0} zyM4~+v(@N67^&h{@{)am`+g)qt-8_X4b0CVhA`GCcxgMo(9zL{?F-7wwHrT?wD%fI`Ucpwg4YtrC6zU1f?B@krFD4nKO^}Y-7H-F>E<%Th z!OOh!%X1IC4|_eiG1T|zRuC~SlbwrdQr8w|zF=PBtZzG+U5Nfc^=7Npk8#sUtNQ-V z)bkO^;uL%X%v)%v;$)@^{cq)e*;`J&y0H^M3S2OAsEwbs zn`7KSwh6D{IV>T_(f^W7sJA#AeBiel9vg&wO?53cb(yg{J8am)792%g zjCH!2uq2+rO>ZL=^hRmv&hRWUYQ3mDjIX%;f-=z7;Y}>?R&GK+nf;!Ed=x zLlD|yOx==$hP51LXEHc=0!25I4_*E#0}*{eKfF^UsPtBvK(7A33dU_l&AD^=4kQYgh;u^<>jii*3KhIqLK{p!)m3C( zl`A?jH(Ls&pgySC9^9HUfEr}r;>^7lV&m`7D&2VT2k8H)a!Iz`zMq%UvgKAv!^8ka z>9-7wj|QaQQYj|im6}eqeiWiiUF-)_Jq^M~J#Ey(x9P=loxq2J0u}Ze3vMiu60~*x zpQN%tRc#+oxAq6sTdY<`@o6Kw3aHS?igMrM!%oS>U>2Q(?Ok|G6rd2~o7f5~Cr?3W zJZL3GH?dOgDLGdwp*eX8{rrAOh|3|2bUw9)VE0mJ8pB%1ajGAykL1z=sIJYUI>n%3 zqD#A%4Y~@1_8BK!k^2aJ_$|ZjaY&7R$Dz!>vYM`6 z!O|fShGJyf6@YR6X<8iBW^c~bJL%WtgV7A(M;1Y1nbpT9RAOd{sL(lEy1SrGzj)ED z381vOmsz_%3yzfCiT3tCX=C1Z9z}_8wkvhQQU2aqc42S-_(cCE+J9h%S0~An=i7X8 zHN_b`PIQS{vA6+wRnEe3B2)`o+U*E6cZT_DdPkiq*CNzC>!jC0c&h${qrk(Kdp`O% znSOr^BFnsicY#xF=jL`NC%u6DYzNk9E{Un+klRbx-cYyx{LeY5yzU*t#`s@B5^8 ztI~*MVOE#ib%k5}?YgCeL^+95R)oAXnGnuT8WK4RPoq{KI_ur6E%5E6FECm7w>`3q z3)lWbyRrwD|ip zPEG%LUf-Y#&N%Z5Wbk_+dY+;_YtO~f4R*OTvmN!}2#QgNS2RbMJTUJAppW&R;J<`_ zYuo$X45XOH?TXdyZrjqGF&d?Wb;Wk-K6!WqXA#F)XzgfU(P_$mIV|t4iw`W$4E8U& zc#~}!$?s+tiW*}-pI}eL?MN(c)~D*2=6k7UOkJ1L^gfG;r+9}18#x#1{>4PtRJWg5 zs%kAC*;3j%P=$?iVn>ossz;f#nzY!X33$Dj~lMyVJl|=`Ao5%HTM_f@``kyp)c$ zFnd2!&31GALd_+4SIU+J=b6qp9>j0aiocWA79sL{k!fp5ly9t zggT*O5C3v733te;$aDUUOknzb5)YCVyzu%&xJUZ&no$%o6i7D_rcU05-`Rwl$p zin7$Ai#h9+lE1T8XNLOnLd}NUArKVug^a>}c}I|<+35<{?3KJra`fn@Zs2a}o?j2> z3s+XP6`R^k%k=z2jO|dzPY`(~zup95v^KhP8>4V*0!GUT2zI!xb$CS|>5;1B( zXJ*{Ko}#{HD%XLQ=H=o(1h_wkWs~G-&T{uwzB+=T?#o&S<>-oXd5iNS3t`Cj9(5D) zb=e!pV>cU-2qc*JUm>Qp<=ht~G9=meo@c_*d{O@%gp@%Di?QZ>gY|b>=GI>7J!uBX zHRqahjn)3mA_y;XDJSuyGlU#}0gUYL;xslue2onwf9F=%`JY5+%;dhR-`3G{kFhiFqmZPS5g(*{2U2hhdv17X_v#Zt z98P;ShWf{P+tyIy$l6Yo>`Y)Dd~45Ng?Mnh=2kG`l=d^=i&()yuDK=aFcj-E@}Lbb z(;c$+8ClTMH$%H`u)t!ewhjchZey^1B93S+dAeZ4$;jRdW*Iu7_#!C z^o6{};*T#W#c%VwAP+D@YnEoV6VTK>Mt=o0vk8UFom-~sG9em5Z0#Lp6gvSW__bEA z$NP6r*xt|+r=?0*GZ8D#iU%6&8G@QZOjOrHd@51JZVM*qI67eudQ2%FY$~=oEcP1} zs}DU!uh?-iujgE;mgQ)Du%f7xE3<}WdA){z`q*E*H1 zurv{Tl~}&p*cl>|feH(CMS{M`(zNh8>v@SUlVNAtHRpvA+`Mpz+Kz4ePUc6rIw&et zmrN7gYuhjuj6V}jpj2&iE-*sAD&%s}zlSN$1Y}3r@+GQ6Iw3gIhSH5#LOKyt0$V?zVTF@h|Or=$hU&F?RHwWI8!BqU}B@E*{JV zgx)m`$uVR$kg#Xwvcm<`yQYYfVr$~b!vRt;1Jv^nU(%U9iy-ITH5JKGWLD%edwyp9 z+D2SFW3SPh=i?vy8H+@{vtqd)@NV+YW^>sucTlMJC%?htmLyM@|Izg*#I;|W|IyEQ zCQmTo!~BnQ$5z{y!o;!mJ6Yo_|LH|^%jb3EhPtmrz4dErHhAj?V#+xYQ@S_xZ`?z) zZBx&ygT9N}I(s&wO)c>q=( zJoG+OfV@~36VKN4f>b?jy&v~)v4geZk&W@>6pXXh`ETyvahA`&7=GPVw}U9^ZQ(ec z`||FZ?ISiWG8tMN&((E}Ij#7bBel;_`-a4bwsj-$|7Pz+^vaU4SH?%rggSnGqcHyP z&n^-91~S~%Fdt~&)r6z(->kn^vJ;5I`_sI}Vt-Y;QlQm4E$;oO#P=8Jn`=)JsF~7z ze{q;nNs70_bq&qku2AV;w?VBpC@Ij<-Dqsj+tJ;~_K|@+ey_8etxHd{L(l)lr08R; zQ9;2~bG^U$i#{f>_8TYGZMy1&Z0R?m8#cXJx5;VT#GN8H^^rx492>h4*Dk^L@4rX^ zUq|x$-a=&#AmT+SvoQ+)VJG#F#tXHh8?iIZ&hV$zvJ)HX!2yRvtkEuA8+R1TW4@c>P~@vqH}v`1T)p72wB4^=fjH_+DpEbYRb))&+uJsyg9J-N_MydHd zy*I$-^>Gk=y>n|v&vp0#ch}J56Yk5OEHZS8E*ls34}; z5=%?4xlKa+3K&YZ?^dI;|uNkMpM&>_Y?agb*VdV(1#rJDa}OHuA0$Xcq@Ooi^RO&&R>QW zll{N`PPVc=d5CY%lbEQ37PXyz_X1_>AFWx7B;BqGSd9hOZz52mgE(+ROj+Y`)_cjv z5&)U~kOS_hy?3GPqMY+rpI(=C|!DQ6b4K_QVcV9P&F;DqZ=>n( z8Q;u2iKjeofqtTqkI2k=VtfSXmm4ud?TIqr+!CC>*412;xZ)&OURo*E<_&+ zKa=eo2@PIqBii6a`ENo>>a^l$7?&@2E+p#fBI*(fd&hiCPd}c;2X7fsBg1Dwo zE~;j??O^zgeRoJ?UW%xd-Ju=c)!4Dn@TS`9DeNYhld;oJCdesMz>4&3+m-E3gg0I z1a$}sQ&_2*s4=+XB=ppPslq=|;mXU&GwfUgTC*&=HGo-4_UBagyp{o@OJnQxJe<3x2vdZj&YSG@rhVTW`ZJN3+%^%(j zsvu~vGU}xi90FJsB;O!rVW}jmD{O5*S4lgR@LjL6ylZ1ZFz+Vnwl_^@I#et9=8Tla zWslkf=}x6T!sDkWHfH)C6o)HL;E(-%#d^s2jX2V@qvZHa$N^2lGuz7sM6M0(`(|{f zbfs6CNH$yNEb*>vp?q$O7LY$j3{p%GBL>riMhyQTEvGvqED{q%<*oz)fC;eMWS@`R z`AQ{a;|lE`$eqDwz6U~o^Zn1XM77=Pxo^)XHFRO0CEII`YkRjo>Tbmrv>CL7Ia&QK zRem3+5#vyP6B|p=%+wC(KC;Q)%`EN6-(5&Z3B zQ|!&LFJ)Vbvfm%He?UjR_9tS^AMgr3dTkh+t&Y`3|ML9x6(CfF=&`AADIjL<9}~i8i*tRon2C zZ*aP+6ieY`f2ewlmnljfW~rH=(W{e&TZ`$(d*`udzC@Zl>90WTyNZk%EhqPL`-X9O zxFLZ(cDgr%ADZRwfcm*hW$z}DqBg@UrI{p|e6`?r1h+t`%<^YI$-CQA5zDN9S#bcV zy{;X5zmm_S|NB=_a$gQOpB(zdkPnIB$9MI*iff{6zYV!a-ZDV>b)wuOx`8@F?4C3! zqDc9scy7AUFGoSa(Xpbamw>5XIkVFr71JR*ilkzdH65 zNSwOj*X;AiE1>k>+FO;MOf=vln&@uLeXq^~3ly9C2hTXHp(uNoG-k$xh9WhoR1U3L zOFh0(B`m|S$`ffD=DE@$-*9U)6tNFA#T(jMQ@*0fsMY79WQA>sinarNw}cFe za`n7^MVzV>#?y~CcyBWN~5~x*k(E{$tt@i(l^j(LlyaFAGimT&faFoWYlZ>snj(xI1dKk z*v@7$T*kF4h6!f;!o*is_cq33PCAf0_KCTt#bb2GBT9n)$h*(m_$^dD`=@_9bIQTeY$_6>KRD3vKjW0-4J*X%6L;2Ks<8mM7C0g$N5KCsNFq|AP(#;TB8p3}klPl-YC zSn&K3+w4Cj-`%Hy8XIg>_(KwU7F&;GE;YeU8C9uv5brq+NiS*)rm#N8Xsg0Mn$cvb z`Q36GKoG6kmu`$uPGIl}X5;Uyy-mZ9CHw=4fv^k)oJ?!$LD*syWYU zF5uu%#T4km{H&tA=gEBpWsJ~yX@51Fqb9MGqCJ=;;Howu8!Dm39(^ixXz@97h}EG< zSbEhsE*h-U%}TY-DI1yQB8u$I$e}ejnLk>%TKv%5TcQff#_xMpOj>xE&8e^1JS1~F zq>j4rcl`CtyJz2-)dHE>i*wr_j4w0wF}0Sy9$5bXp~E{>^FzGZ1nmf|wSH^dTV$pJ zvu4__U9)}OA~O{@vBXzi7{T=12>WImm^mp(dtB!?8d-=a5U-QkvZ>FWh0p;U)lJ1#E{oKxGV(8koQeY>M zUz;_bnDa-(S$((I-#z5AojHx!Io?_lMNI z>HOq6FyL{%=bskKPCh2W4~^G7c2yNLG)05KGo%-A19S9B4ej%1u`PD)lj)s1FSC8_ z-01df@z-#_lmYsA&Was9($FBIU z>h5{k_{BnNT8ktA3JsJ%(Dc&A{0q~_?WQu#{8BKu{-$3PYNug=@@cb=5cT~{Z{Bl;feP~_DY6V>un)>Izr3ojFBzEvnyYnz1 z+w`sGS5yk$_cSxzh2v=W!3LloAuAHOYX*fn!U!L20%3%$AZ6LR%z%``7t6mHPmP} ziJAiGK8ofvft|M@;xj7(+o-W%yM78{ZElAQ-t-S4%U?4r+v`hAy19fgw_b2ok-~?y zNA2etPwb}O7pRrb|NRz}$4;Td%>@U+*}m-sWjfIwJ2c(9=fF>mOD`L*?t9O1>3nd} z(C0(**yp@QgHwgOyYA5|j*q_BvtLLD>-AnR_PM&gD-O#~wMp79{?w@SD|DYL5E`R1+60}S-WeLSXnA~gH$qby;M{T@prR$n(evP0+ODhl41pZP@$SMz_ z6xc?b2T~ev%>ZR7L%GxpGgtaFut1anU~ZQCE6;$!AaoV0@H@c3&@ zFVimj_sq8AuEP1(L+Kwqn#`*)I{v!(X~kkCzR&KVAz(ICw@<`xX$15N7^%xfuQ&t3 z>ceg&p7cCxNu8puH#q{kurAri+{t_sgJ%z9nc}80UB}_1zar-O@@J(hb6**72%Jx( zb&dy-+O5pq;*5SKmxZi&+hCjI0GZBq(ihnhT$68S zX^cMxxYbWhmV7$wkH)e7nctdts$_E+F`OdJ*Qh|y?h2XSsB0@E$o&R@rwF(q1P*^I zGmZu2k!eacsId9zPe>P?y(tYeinzgx)kOa%g>m>#!g08!f3UZyimW8p*;L{oqD5@} z#~}}HD(&(-9U5J>8}4!Ak#vF1hmk?<2=diFae9+(L&2)zn}u3uyeuTbMkQG z1UEf|dlop+pO-UBaJmbzFmC&FxyrEIZNh&QkV39_MO_kFc!`h?34#7eer^~|$uFqF zYXt((9OP0Yab@Q5#z)+8s{@>>3)Fh=+ro)K7XCE zOw<(iC+Le}Vt(IZ^{`)lWBT{#6;TJCjWKGCtEVa?;Edu&)q(D(26a zpwemX2BOu(Et>w0WflP?M~dIojx7Croop%AO2NPx#R|j=<_JNSv$z}p-gM~t`~l!j z(bt*F9{}#mex2jIn>-!oO(*^?j$Y7O827F)Vha*nU;P>BSiO$5!G{QBh!~WgV7RHz z-Ah}LFMmJ(t-Hm>t%(jEUFpPaJR%&*x=By|@v7NZ{qx89nO2M#T$lKn$@c9cE_;{e zaXq)6F?$!}X9mZL?kclmCt2gJGXBK5{sTOZ@3tdb{e19fw-4vlhaqu4>k9SxL!I;{ zKHCdJ?CHH3<2~AHSqRb)EFUh1l^0CMJU z>ZyX>MT#2cf?wNC_|9)hF}NAm9gn{()Yff2jVM?-)Wq~b#FI6>xNjes;CjFVPVK0f z3O?#J-)5uWJDl^8;_2wiB-`g`ed$DsILk9>VBMF8)H5Z}Yg06Z$#SMmd)1_w?G<5= zBG2x-O?#53PyO>BzMBH91PSiTj}Xt9 zSKn1+0DL&WGoN`9zx*59>~~MaB$>>SO5Bc)hFZs5QC`Pm1^o-2y4FhbDk(FCM9Z%< zA~5c|&NLX4pHAig4QdKu#=OMr)rv&StrmqlhMdesG^x8lmGgkvzA_M1MQI~(Jv$^d z3aKkaKmKJp7fQVcN~d{^cakoeL$*cQCDu2TiP*SqZJ*7B+j5CF#w7iWewoGFGNQ{# zBV5Hxi|TlW>^d2(Ci|Qpw7S^o~(q zw2S9nhU4MN6h2Uz5BU)01Dc3D2o4W&@!?yDrlh85R_8dFe8qSYo&Wo@_BnSR^xOCM z=k;RlIcM*^_S$Q$z4qE`@4a^T0EIOY>^=b2e8d8?H>d{`r-gJ`LHl&{lm9dtK&S$F zgvFr%F>$CrO#p}Z4k}f5gZxS58xD9~yj#V23=WQF$vkRp`kDvzYHf~@-NPLZTu}5K z@CXWRC>-r8;(E(@R)hoaoYcRiHb-&vqJ9o}p8I8Fo@p@^K0jZ>bC>n6` z@gxH4pT6(RYhsaNhokX?)rLcn1=fH#x55MG_-0`DP3MuDB-~&+BZYWtIkwexJUN`Y zJ2U-UZ7bi@&KKP1G^OykeG;`Zw;{^$T=vWHQcx%feRQxi0@VKpD3SAGA^9;eyH>bx zB_AS@zf}~*KXC9yn>nPQySXHnay*ykiC~bQ4U=iy#VE_q=~pPUbV1>19d;(K8{f%c zrOu?($Ev=Osu^tNftI>*ke3Pr-W0t7zdBeT^=51ApogrJ7UYM!j&W(6>kz`}kTsA7 za#O3$&o0)CX;;EWa5YH4bWsHnD1wudfZ(5$*#H%)(aC z={NIFBFiERndK#&ffSB3yMvBUa3eLJhV$uCvS_zJ9VOHnvEvr8Lu>l3L-1Hb&WrgS z!mkXP>hLo$ONl+>*}8k8Cj(E&7wsePx++j5=pQz%e&P`g`}_M0x~zPWtR1_}2fJav zIy1mqrNLceJ-RN)$D8m6WLK$|l%?kmlJGIs!0aCh^EFP8!aT=lMJNee6~K*_Flwe+ ztBf}H)gFh2+Hgvj%zwo)CB3wNU2|{cd0#`ZC?89@_Dx~3s9QNxDHZ;R1MNwjw{#|} zHnrAes|=skLU)W>v$AOjYovLO_UH$*|MiOw3|G!KQycx9O1GS4V;_4i4?_>JNt04L zZG>k%<$kHA8*CG1-Zo*fQ(wEo(Ie^HV$>$O8Ui;q+o1i0+uiuJjS~~n3jw8t>G=5j z3-R~YH1PA?d?U`MaoJm8GjuX=d3~r*o%Jv+ENy zVuTvO++lBT;Q}8wqB2umPG3btn1HL4+xN z70GUDI-h|Q;;>{E@ z>x@BD_|U(Qmtzp9#!kMt?HQ7vWSGzQb8x14GpouNYn53;6pNq2N^IY?g(vNilAP!& zUMD{Y!)kUcseae0zH5l8O-&FM0KpBn^VeU~_qlX_9Hfc~+>8^z7|*R2eX(w0+Xexg zz5ad*I1inh9Wj2oHK7{Y4yf?mlR#loH_JEQ8#xE5DGy^mxa{1j_dl3a!b%BCN$|p6 zvL#yntnaCOy{1qkMNjdragMx~njb1v`yE+rG%{?&MI`aCeHI&{zmwJCu+6=Xq0{x4 z+z>uSr$Cy-Kg9Hjy(tP#x~F&ghP6kojrxFJ$sZErN5T=G0r)*aV>?4@lc;6p*(k3P z<&be(v_(BQAbLwSG>$!J*V&}=H}cMRMmHxr@o$Q8!ScJqi0t2R4Jew8&>ni)gQIeis;&^vwV8;;k}=E8+Cf z&H?cFdxJDJmjI@7pVh-&OqWmdz=%ks{_^y72Uzk!>G=7nFyNu|jKct)7 zb)y66F3t2!39WW&v)+iYP{?13<>r@zc}d@1JkfS-ObZV1zBGX|cj?^k zG&YbsJ99uyVa9;qfaZR*n^Sk$Q))81lU4_Ld0zbLTB~;TTNP!2yRI%pj{Z_CrJPzZ zBECdL=?n4Ez(BOK)ub>>X_S%kV{E3$9oJ zPi+^Y&tdrIq~t|hnBE5L@K>J_N(QzxL$gZBSTjPL>ZYw;rT%fC_tXBV^tkQO zf5NENSX0268D&r}ox6bE?S`iPnPAa#)47evn-o$`$KXj;(NADa13vECQG!yh43$PaaM4jUU(T$oA1Z2TCPIR$JX}Dr>cV#C$Z=;r$mgTk`6jX$IqqoXS%(X4;EIa#Xq z$I4Ez@M{LD38Y1qhp`ui2#mi{Y--!|UCzvdI* zKROxhhfHk$=~2n$)jZN7dV?s>KKte@iiyX_(zl@=^{mY zmB2==w99(9zbWdibxWX36qJ#*+$kVb3gh*Y3g_@ul=*rr=V$RQgno+Vi)QjiiGlhP zY#H?jHx7IS@bPTDzxwo-^-jKhu^>JCS?ksl4-qaGV8q29=D-XQt_ZcsjsJ&HYYusl z8#Zwh9A{3H!;H@OUo77t&-s=wJ?~+12>#<@AA)*L3}4Gq(Fd^|%CWIY`=#^WLI)%k zPR^sNCi-MTP=I`s04%ahj(4VL+H&N}?fOiRYD^Lv1D-4o2<(u~U5W;?i>Na1vgrLd z1Sn1H?~n5@bXf#mV^aHVh`J(L+uo1XnBx~7?Ih|@@QeCF8;CxGk;*z6U23wBhW?>C!e)Z#+%6mT3h01rLI>BBB#gqi( z1VBdXT&a>!CXSVxk!H#AmD)JnZTj3z?$vfE`@oB_?AxgTk?&DW-x2OBzycYV7##@) zNmtI_CNa^_J*j`tSZR)cNk_^NFxhDfrz^ZY9huK1J^tuY;X6^~sv_}~v^BbMI*^JN z(6V60P__~r9DSF55&J6@kp&;QjCY+?af{NiclBLsYvz^6-&xWy)knD3<#&`Jz*Sq*+2zK${@X!5F^_*11iP)@8?5b=f}oYdOe+v6aC&cA$(Z z)GNbtuChM8c=TMH!AM?jOtHI)v{c*}J;ZPk(ZyZ4XQf~~M zvi#Txbv!hXsqdtz_4Wzh3wrss;1aXzn%hAnhFTT3pmX$!d+|RugOsg#ow5f)pT^Ai zlaR^&$swaDL)<%c3M1a2!fICRspx0AFP*!P2?u>)azA`RNq=bG&)WzApt%XT1oAsS z?V=!#QyCgmIIRlpaGIRuuF+%Jtx8Xdj>fXZNSKJye+v&`)CWg!*O}A>ac}%Iu|}hZ z(ZoH(?Rtoih}*R^R0anwl?HM~-{p^}e|;8=cyWl~}Wb@Td^4fa!@Y9~`X!SACK9O<;JNJ?Jc+me^LEml_M7zn|XMwiT_nRQ$}GOSNviG>N}{uVzF^y30S3J0!oJULIxmEI;k1%ZXKu>67dEMNTK zE&d9yx@LOm0olC+=IT=J>({cHc+&p^e$&mwrh`|HA{S{z$VF>nPoM7H$*y#Z zMgB%!1dX2r+IIzQQ4H;NdFBoA1cCewaS`xHid?B8%~r%^W}Tc|!Aje9)FE=o#A8>+ z6h3=x1J%ZHClM3ctAqii)D<+!_ioWpygeSQBYmXyF&_brC44#BW9s?izvojV9{{o@2p7Y#fN)YV=hbQ z4us@|(uu*Be`DrwHG8C*pmtSZ4$eX~yFXth@LTEkuMNNZyWY0{BL62EfCM$wr1MYn zSezrqi?)dRghDD?-d1h^g8R1X;{v&i{rg(gV9V-z3wg#roEo+1Dh}!?9k)E+`gz)I zkQwBy)b612=KixkG}+A!gt^J#Nb^Ql2#TxI!Z9d>%r zdOI1)yp2^wZ=Rm`SM*xl15Z--`sctoc16EuK9Q)9v9Lz$&i-6*Gz_hz}czmIbAx7?`nQNbLY z1dXEV#oD$1GC_U@D^_tBz8&WrLOGU9X;G}~Ec zlVHA=g?pf+Xo?W{F= zleGAZ^drb^EDozB8sPg5!+dd$UXTqFj{INw-nK- z(t&N(<|UJ-mc@Iz_NN327;*6B-S=1O(WyA(Gp5dnr-&AD!y5mOLGXfbDE5L-`N!zV ziIV_=S>TBOV)8EeXgG5_W(|7&|&mm^C~WO^fmX?>6xl>~K!uC~F<@ zPA9G9u=GRix0+4|b;{gEKlO*`627rsah=Gm?Mj7CO9@ZGFfv^t>kx45+XfC$H0Bt5AOCGb3%;K&Gs7)zQB!c(?m&A_|Y72 zw|bHT%jat#ySc|m`ucynzP(rljZsk$7j(?kN&IxaOlBzkDF2SE!a=+x%E|3(PQcy+ zcyW4e40fyN+iiI7*PQryV!YU{M1{gF8RZior^i4pVELyz5Y*raBFI)e0Ilx4c{M>V zAb%_@7+SNOW9UIXM!(@tj4=GMz8P5Gj4td<;T${NsJv*F3?xVJ5^Whh)tL>xm3wd0 zr1OvRO=@%{zsZ^R{9-v@;*NeAySQ)T-Hl1TiL1#A4NW!P0hQ1iz2cn`=o?dPz3wS5 zYroK2eHVBzdY?&Oa>`k&q4}@HrDw&Z*Rx`uoV~9nEp8y~+XuXlwMJ_A9C}OKs?Pga z7^zP$*nlhCE_5S0Be}-rcqG?(y{vhhhD60^wq1+ptWpa?X5_92Y1V*K6yq4)X0`Sa(FkXDpdTyXePCbeBsGD>6v>3!W`0LEqcRbF@PQvi_!4 z8fCXWTaI-jxrGfwm>IiHE4z-!>+~CE`oNgGRSQ^eiKSEkybW6X!5eN+X} zGkoQINHBrC<)_LSh+=ix%)JL z6#jqr{V=otsFw~|lb*K>NWL3iP5=1|r2Bj`jJgi83%*NN=F*GUZyO% zEN#h^_SD28vZff&yT6H~P}2{I+a2f7z= zgP)Bc6oF8kMea+A{FEXN8_{~7Mq!Io0?&>BJBej+c``Kq#WBhz(=n5eD?bP4FoO$ZB=7MpC zceMY%N*SiNI;+59E%;A5CX2&^N*Esp#&#YS0*D#UtfDPUy`PMC>%D{hSL&wG@v2;U zAQ`rWEfhC-uA!f~@jXVhrV~}=OEl#cjQcppUt+Oj99ZP^CJSDP{eqgxe}N3qx=sZt zvHVZ^C@7mrwTXV**{s#SW}V7(pX6J4f4Bn`V>XAYkvTFA4sZCqhD6lhdmt6t*CXDE zHVK{5dWsf~VkX*orWs##<8&E4#?@JxH|hp*NnIBaZ4lqbSP_?*O=@zBEU*m`%vBGH z%TNo7i>~O;{?Ra19Tp(k5_FkuPe}-^6 zLvZ$9lkI?bzhoNPw7ZD$CH`|S_5|QIxVI~-KUF5WVcot$2O(jFg zp7@yF6d}YB5$4n)@whwfh}k%Zovt~)j>c+QIcE?0po__n>ko}h?Lo)vy9^V?$<>U6 z(G?`MO6c;pO0Rm-tNlFb)pY)HzI5#(kN(=J#HlfhZeTR9g;r-7R7M{_O);h`-?DL` zZE>M#GQFIyp;@R~XrJg&q^f9>hmAC|v$sS|0y%RaX9x${`O2dNzv0--p*oYu2+Ns7 z8y&v5+cvf=?UQ*^s^nz%nwRgOXcKvn&(&MB>Al{g9SA6L2NTWB6%e~2JoR@F%jSaT z8)=^d(hiCG;b zX2!y$p!eyV2kV@eiR%m%cf$g8bii16B#e^xr4-Nnax%E7*c%L0LBOUq3qSk32CnMb z@TP}t-j-VoDBbOwN6$E%6&*b$`C8ML0^d!rQA>jvAz}~Tjkc~I#OwOWnto0df?PGD zv`!Tgz5Ok!0v02*2Ah5YtA>!s-Y8r3H#bEpTzO3w(oor9s>}(&a4=e>O{dW!o*

eh8cuQg_}BwK=ITt1ghc?<8}QpA>8Z6nmQUTS#{T&?|a2=1eXY zqFaFLoPE)!u>!=GfEWl|I#BBK{&2oF_|}Ia365-o?lMX{PDjH=+l7fm(2D*dH3-_L zBJ8W|;wmzITA7}SQMgJeXlEM=Qc8I^PLXk;W}b0_<{6lv1zEvm(M|MM-xKkj<=&Xi ztw&h>?$Ri^kP^l@_h|y?xDnzO@^qlPuVS4cGm1Q{qacomC>l1T<%&?0Ft+!Xqn zORw58=OQ#i2!KDiwy~ncGG^j+G-~v(@2wdCVX-acCKY$XXO*|UE{^s9D;kpyzP(A) zh~{cimq~28Z9T94S)qD?e~o}xncoR{{~CezJT-4ml7<-$8xg&WVHCNl6xf|NwR0=neIi~Eq5t|9Mpw*a0F3hcCxv&W;)`3k~ zz|{kz=JuzQR%?-}iE^>0Y75t@YuF%8@C3e3Aic7qdM?h)ihSEo20(;5s;>3+okSj$S{0n{&P{w`o0LKGcWpR7L=Eff{OXOYVyst+ zWP>;%x!QVOkijFYsXQC-TxY{IpWkV3BP~);z@VeeIW@q*4*gx|n zpba4xkSZ?$c|jBzgx)KdO@IqM3Q2B78JejqB2=g-j3vaTw*u*~7}B&D5`;2HKL=9# zlEhSS5@qokXK$1FON$%%Nm{#q;LV^UygUn-6G%bQK5f-XYQ(u5razB%mZma%GqUIK z<@vPk5i3gs2WC`^5S5uT61W3ruUBnOkgg=;Y3kGa^XCX@I4Sy`?Yo)LyK9jN<=&nY zmm)ruA(+g$WpfYSxrWG`>BlAy_-ML6dEiHJ`xt*zZ~NT%oxtIRt5e=T_W1_~lLzc0 z=RW^E|DVJ5mOnS_#Whi{9e1}sEBn};k2iWOF?zr#wK90Tc9MR~om@!W7%WuCx1D1f zD>#6#Y%tH+u<3i584zWnh+@~tbgBeLL5W?*piAlSMGPzyHio7aNTL4hfZj6H0bs&r7mTIwkv1Myi zr_5x_&d!G+9nL2Gj`}ER79JwJQYKn&f6+uLDfY3TX>S8d=AV>Sd7GbC)94Q_epk^d z5ea>3c`>gcL;o0`(nZUxx5&aI8d;)IG>ZA^wuS=AHemeF*g^ZNP<=WQDHS+DDsaSR zH;TB?gDJ8G2DrdN3It;{G#4qOpV!dHmc`J5oRQ-zouF^Vd}Q4kGgNh{Rrw zvw$Z;4Dgp@$}OwG@d+W?d_GIF$r%Ub*1w{sM!P4Kb5Es~c3gcF(xyIJw4~YVg+>xP zIPTx%Xi$!Xf3CCgwO)Bm9^>JOnCxAlc^w_i55!Wq&ZMwexAnT}B#7GGsK9T{!6ee95PS3Sh$z(_U(7Hr#5lyPr_ytiWGk<(N7q%-DC%AZtFfL zJ3s9vJ15H|@9i&??357HXc)Bv&h7U|;v4BIvRYU;nO~in*P*|f{8P<`2*o1k8h`2eT^2nQ4$4z%@)l9W&%-au#_T2OIgfQPTG)NRk`71 zNO-o2FdZ0U$mO(BHtNZAUIuIVyTjU>ua&g{B8m)NEwl17(7FVfItN;vS?VOGom8Z# zQ|=IkQk6bk?xn8vt_%PCQhC{IEpyA5(K@}VeI}jT0J)X(4Y3E{ci`w*_9+sh2Rr#1 z%vrA%5=&1riRVcOZdCp3T+ThIw>hGz(j&!6b@Wf}=c#JGl#SKe-!+)1NrVDYK)tU= zi|`!8Vk1AMOWzK1H8C5bIm%)4YiO(GaJfc>Ya6(RyK!rh({N43B_+;_8?uFT*O0%V z2VywXqjhu^u+>gn;nUI*L*yw4Lj#( z`Mfc+hV1>v^e#C3wMjV#hC3+lV$d>KojN-SD&5OR2^2*6iZ=M&$^` zHv8*Kh^5P?t_e&vV=4$A&UcES_h`oY|iMMo{gi-oVXg-29Whlk%$<^@A2#zf%) z>Zlw>9jfbd{EDg-20WdAg`BQ}qj=K#TFFGUzD3q8Yur4FSS|wC*8Fm!^zf&7iW~)P z4-XC+ea&{(3%G|VVNlT$0jrH5m#epU!^vGr54MW=P`$YYNpVs|$gjd3p zEm|E)aW%L9!pSj#)Z-G-cO=|SAh>S}I_}1Wpr(&h(`lc(qvQ9uLpw_;-P()ZUN)Ef z)>hRM9nuvZ!ZbMGW)RUysVb-6POkl~O}+TIgkc$V%%~mrJ-nPeZSObkd;ZP) zNVQwYI?r)ae*D)hh}$T%a(L`o-JK`=)ZU)$P>%2kS`b(ZHX}?-N)Ps2)OouP%6e2o zFc{TU8+b#3;@0RGJZpmc z!ZrRm)oMcd?gQTT4Kd#;4bG_wzL=n${~~hdP_5=kLsb<}jAQY8|M)kh-|&FXvvA{@ z)<)C9H}DXOAjL-W;EiZ=7z;*%G5T*#HLXx<5AWVuTDsNxJxjwtcV%n3l#TlxCC?Qh zk+NyfaG6|Lk&I!No^Xq?pfVoIsvx*Y=k;;9p(12@^+Mae=RSheocjCg~96mNU*uS-2)G(0IM#k$VUIA=dOr;KxCumulho_s7BZ%E~L>^`Y`_wd4AR$q$CC8aDT4E zC6G}wLMVS6*ow|U_d|MrcSzdN8;(8hqBb{?u~#o2Ii*%|y%ESm-D1EOH8 z#Wf3%{I8CCx@pTJMYN=+yWs_V7`FW}HnJuC==`J~mB#Uf4$fMqb#>gZeQ82p@phg{ zz}w;Oti}IRZ&&`B5oS&g?d;&4gVt9>F6boq%`yBo;4eFZ>Z6fLP1c!H7slzgm(qoT zOF!3t5{aI@O@S0yEFuCB4$p@gSh$jc2l@oEN;jPcT-Elq`1c#}@3-RL>GAJ(wt{j`=}Ngnh+$-}mz50xjp3|Ne*NfqJsdM^^QYzCXA z`PzN?0-@`t4E$d7f}M3t9j_W2@GedV-ihI4lBZKeEhg7!n)XQ`HqLS&Y5<{9wbMs! zxN;y@U$;$14c8hV3r^bt>>#h3(1KO(^S7|1_H4a04i*MKzsE>ZU5@?)3a2xble()= z85YzxXtW+$`CH3aFAZsgVBFxLSEe^w^cep&aFl*4i{|ks7W@%Up>1B7E*nD4Ig$Co zMDk6{l0}3|Xl?b%GXX{&gBox}dE5HKkbDOMnSRW1B*vTa{SDbnZ6$$zKgAS}Y75ub zJ}aQ+H%^83?J)&9luru7JxPW13}xH|UeDq%9qf3**EX=X-2ut@rm4S_LTaB>3S{}Z4zqNvJ1<_6!!f!CPj90l(u_Ch$EMbv7#%M~ zgc@t5ez^*03!_K52hPPlVrZv&t5OR*L4xW5vee*J2m7wqP6d$3Do)r)q41>>h%2#s%gK; zwS%UYn(wkqFvj#C#f1_FFcUcFT?UwrL6eMOl`dNR1un-(g!nviRi2<+VlfroQ%Ae< z?~?0K*S$cyK{AZH>6nuUPHMNgte4`(cb37=hM>P*u z773K_dC}X(jfU=KKkow+;CuikFk+z4pIfM#b$R6b32Wty zGj1336bPg}Q2pxL5suI`_k=;|r6Gh&(Wj98-Xg4lL=vf76{>U4KF(M+RRU z!e}s3-iu9we|`5Z7F&b!{^3|KzDJwhBHkHzSXI$j;k@J+5ngfg7~}d&zJIOeY5Bqq zm`M3v%|WtaemjY3wP@m4HiS3d#ir`61r+~^kVtB=Vo`)oHrsH{cvOMYEn27zhh|qn z7YnI-JsC9aHr3X;pA)0m%H*(P{p*vPdH3Hxu2bvOWTbGy!@s1!h0$vVnzzQKieKy^ZzuO8TrV z;ct#GjwOTPV1|jo{_Fm0kSevN;|Qr_E%ux_1xgTWA~R^z7XP_J_FOft11ErWO+EA*#y)pg7fH-C#G zPA`(!;1&fITDAu24arI}G#pFQ>Ux%vNs<}K{ML9rbQ&l-f9+Oy7Ebu9mIUvoH7Y}VveD1z7R9Bqa$;-xSIMMvVigX;TvpSxl<8#-t|`sTO~@C zu^Pg*$-UT^bUi{}8O+%#r*&IqY$*e!pJ)S7S9zs%fH`l;nT=|{QQ4IhP-=@`41Yo9 zd`C0up=wFI)XsSU)v8W)uoy?T4~Kzh(LRg7Z1poBYz%cIIF{0m1md5YEo;fbE&`}( z{)V@50vI2e&Rs*sz?;NNuwXKOL8sf)NbDA?yS8XRt?J&2q^Ui)JW4Yn&!*_|Z>EOE z#B1AX66oj!;x$C4MN!0o`)qh%w6 ze<;=R=KRyy#1UG|4uxv^N7vF80^M0tPd>wv_mVBjnR;gc(Xyf8PguMqwMJIVU zTj```2gqMwhx^Q*HH&MbmiFO1Q|>*!`+G+`HNCar1VTYEI_Yk`HR+|j7?`)A(sR=t ziYdv0ucbqqj(PpTP)7B?P}2x{o&TZ#di!M>Z*~l8FPvV^rBXLlDbMESuWI&DW}`LO z$@&B&Mymh`#P0<{cV4N#(DR#WYr}v35PP{r0D_xT72`}T7Zmun>67388m>5n9w{@O z7!G!kT_b+;Y!t=20r=3q=(nO^qOY+*L_$}DJ~k^Z!ucG~8MgZgA*BpzXpCce-0q(3 zWq+DzT&t6_JsX4Ss%7EUXyZ2jv4ACGyq>;VS-4u$Ss0ZHtEju^sVS;7y>z^`$bOfe zpX@!9OCk=qn7M>zeG`8l<~5N?c$q9Lr>HB?^1EL%lRz6xO2c-ItvDbEUY84{DbGqu zI-gVXJXN57NmR!>ie63p$y+6Kf2i8T1qHOL zHk|MSxWj-xwi3U&##8~ty#GqE!7|}NRnPA#@vtT$4L>!w{v;R>Et4P&CU&>`q zIl&wh2S$Y*3a z5KPv!?kxt`eh+Cej@g?Q}7!ieijTv#a7f zR|R9QtAhO>>j$%x866E!tB*6G(6J)(<6v&RpgyJh=(Qx+n5l(&2!@&C?*TX5^fLaw z(-T-up5p3RDev0Co%dP`Ut)dnS_9_rkODBW#KcA~yFiB4c?IAJ>Omd!T)Di*!E13~ z-~xvS)B^N+%6ws)gx~N4zvu!bn%!*UVX~TYT8cPu-tKgIP96}!HEKGHI5W7$JVNC` zubo+m2lwd)*HlrB?2xPcu_?3qmz9^Xj`fRbec#)W8SPj9vT$aV+=gn@^KV|zchkDo z*=ysqofk8 z0>pkxj+_jw_;GKyhcal=eA@(lHrpLh3jc7Q8l~35@4Ii$$KQJC+kd)mPv~2AW<^c& zqe6mao6=IH%Jm8-yYzc=8;xeikl)K;ac#mohhHqOxRBh%SVw2)PG`j=b0IKOwfE8W zY1D6DLIGA}@03^IgY4~+h+R%_RPz_frQAvPSpHiRo&!A3rjL&2<_ok%YFDoc^p3&T zZ_)mR!OPSsS;cl4;-AF+R@dRe((I+MT-q*JU51+uC?n$r$76xjS@>b9=qacEAt1-j z#?ARRo-@-p<=)Qwj!8@Qzmgq0MAbGi{*J6&#agye_+LVs zc86KW(jAOD7d4cO8bp_U+l9=WLchVTKb^bn8=Z?bb(Uc05Oy6Y#a5l>(Aa_p)<2<1eL^Ih={{&+WKWmU)RKtQP1u^U9p3mpt zzKLoMZcc~~3uvl56yC*rHB$@9$Yi~qRKYZ1{>Ap8ZRa%oQn>&7? zbRp26-)x|X5`i>IUYUQC_Qzy@ruZc1!G4V7M(oHsn%o2iL;ZE_pXwqnPnNr@sgHA6 zlT9u|WLuM6)7XjpDyWGBpeJnyr=7*(u)uJH(&px3SyH z=3SZlInaPE(S$NQ=>=Q`-^NknMEA;LVtWTHrhpeI#|IP)1ntUjb`KLI4eQkX31NsNRv_FF-;o zqiPr7Cy7Oa?`Bi(J5;hNMJPZmWJq*TI{y>iqVK5; zwUOlbmU8UCkW4?e8JVbDwVyZ@&#$Xh70teCGfj9{rP!e_5|P1{Ca^Ih*b;8Tx9apt zq!=HqiG37gWpZ*2Gy9Q7m(2bVoudks8Ic#NCK`Ov9bFAHf^xV)m~q4GAv&_rtvh^g zW@UMELkawe;#R4Ol&#DHy0RN+t>JZ!?=k#wiMIvsxs#Wb2Z(;;yUxI>801o z?ntj*IFe6oQHA$Ld3I0vAy0X4RC;U1j(R3@LU64bTpVlG!g8GkPcQw23SH3lb_G!& zqBk)*r?*CF}^?mi3#s zUACSQ54iUI-1GfEx;+$i+OZ&;B2O%r$?K+8g;hb{+ zMkni;{~+nQ3Nnt^+&-{VUt-`4@tw=tea|)gbCO;;M8^v3-H)_Yzf+FWyc1v{Y=&Qtf|CPC_|-i8dHw^Zm@xo!fsnqjghU#NdqB zEQegw_!m&Od0KFz=54+USk&AY+$hQ4nYXZPrQJ}Knak7;+c!k7`u(p(u5|un2++A( zC=xxOZ%QQ4_}6b3l^FQox{Kom``cCh9e-B!Vv^$wEYg+(%0(B7%+!_i;PG)?e=zck zZkpgmPw<+MBBo!w9jA)esja4gF0Ukl>QB;3Th$kLu5E1o`p&GzN95)qRT!wLZU>(H zR`PZ3%xZV4Z7**Aw$S*4Bn0Qr6I{E4x%q8pQ5;TIrlaxcpSXT~*kbgJ9)1md=xdi-c9~_h!<$X|{xybuqQ05f6=LZL;bN$HSt#1T1o0qGL37g%*rhjeN^bEuA z2M0A5*%_+%GjY~de|sl=!V4KI6BtQ<__Vh&b}X%-_T}13JEDVKN}g*sci~cTGAcp? zISP+|fRX7dv=^rN>zoBC@5d2jjm0^((vnX3w_maLXO==;Jke<4%pKB=^v2SC1l31} z@@nId+V+>YZBx{?^^MC8AV<>v<+6L6F4!Kn(BSBGgcbjf+dx?_$JOm*VM5RVEa%FN zUA4TMQw17!x@=?gQsL7#o8rmO2cCRG!o(b!2$Oo{H5WgiZDcn zyyE?}(pxvS-iFQ0==AD!!geI=k+jCFK$lGarFE?SPAAU2b)+c@^^s({=wIiwWz`A^ zp*nz!HrtiBs6@lgf4AW{P=j^Rrz!>NUX&-&lZ5>0JGF zKUAG|o!*!bE70yRPJcPXwCIDgpt}5O+a77t1T+*&2jQj=qD zQ-fCM!eckO0$R&(1v1XhlA5EO7@dQQ__2nN+_|3a)_C}Yj_H2LQ!_SL5S=JVyb@!f z{dsjz)u!4T1e02q08?lRtgF?v+pSmn&r61e2g@WiLDm-5m^{HpA-z33h7~LUgaZXupkTQ^@Ezpagku(M9Bq@nRK zE3IEY!C+<?XG3UR?^hu~(0V)ye zm0jj-kE@)Tta2w&Z*)uscGRfup`qlRbdd2J9oZD`e+iBJ6**5M{Aq( zF-o+giw9z00MW?Kbz9zg$y+HO6(-Noq;E~ zNRpmzyXIxaZP^dTKcaSF8rDMM$u4+jbbse)7CaKdG7Sg+%|}jkcaqx1#s9r&zq*d5 z*?Evs(>7bv1nf%y3p}g3EpxB-g=17)*I8|=SikWh6OG)ZRxTYcQ@-QY!7bTqB}c7SVycIz5m5Qb);0v2YyUFQqUeah=B6sXUXo@HO~g zjRt@;WFIPNbZOgOcf-h)K;-MOomI#7gwqbgvFDdr_u1S$H8@{hg>nDSEJxn{hFWun ze?%IwbGWnHV;^Drn{fv>)fT&qhNIG~{~Q>cT?z442Nms!d;JskK^)0!_LKHOlem~arMAprQ8*ooO}u|s4^3TWJ|c=9bwmgJ>~l$P+HrQ zW}T&9(Pqq_K!h@s6$jag{R^hK%apuAfAn#1I=4ea5-Dff8JR8q&r^ttsg&@MXH`Y? zIdYr*)-U+E`umt04f3DS3*PRl(z#7~kdUPFXHvzOwd6_X8+k0A<^mUWdi%8l*xGuA zZd=fGI%46FM@NCjY*d~3GV+jcEweikZXn@!C0H1? zZ{aKrDuRdPm(tk$OQe!1sc6^6Ww&|@jFR-Ot9awOV$!IO@A7yAO|$nwz|?^c!CX6B zR2hDgKJRqsFzRxw)|4_jG^si`$SS`G*>^tY!i;j&_dGS|d{1ts+VUPqfBp}K^j4|U zxi*Vuh5A$62unu`p{S{(?*$Or70 za--h+lownZQKPLcA z0cnls2wsJNbpnR&4-uzM(T~bVcH_jDx2YnXI|_b`Im>+rTXKFGZ0Qpn%)L5*BKsYIh*wx0kA<(_fz;c_7a%y0=n9LHvrz)(LC zEd+#xQ0ps!FG5RbTMn1K$}aS!cE1WCN!PrQQegazbM1rb4Hkvu&c9=E2P%I`RjSfl zG@yN2smA?FHIkjH*04Rs?11M#J4*TaWWEwe6`pczDyA9x%ky{A&QBspI5%m_LxAce zNpy!G{~dVgTnkl=c~y`3+3GApH><{}|1C!hlieqW5&H}r^jX2XcX}D#h{1S+B-zAK z2)gobQC{awTIx|XohqVe>q(Z)p46&|B7AjiA(fvQpI;0|l+fOT)$P#Mq&0e*SBCrf z(w~ygSUW#Q;+SLjLm+Yf3hE0|KXj{m9-~By`tpc(Bws55L%(?U@751~1-zIHuPFik zuSNh3!esDrYf)c8-A6wptJJs68#SL_tqHf!@O3&>6kFuP(Z6Us8L8o&KUod+yt$r< zgv{9vsiLF#Fesz3Nln>Tl@cv9^P$8EqcX}x>IkoRlHg~86-rp`yYm4 z7-$#M9NXC)k0RFrTImZ(4=Ps6S*UDdldhiJsC<@|sBBhnaOA&tt+f!% z#yi%a(y-yw*TVl;DT+yQez1$S0#cx3;%WDq6eRJxjl6$$+O>(C44wXIgnIy111#uR ztv^xxCAA}#&fSkD(y1CW8m<3XV&-eCMgNl(EcMoSmCET5zR z;>M1>=%P#F#?Htbe>snfsO_6S__n^@&*K#**L;h|hj{!+=8`LTT*Bi3v~aj%sVbp^ z=Y9x9qhn%xo)tcf{weTr%-IzkDr-@F82+x7o)hA4$z@2po)O~Vdl1O>8Y{_GEMp^k zUp5)**OSMwvjz~+qr6ILZHNwxlodAmay>Xi>N4;OWIP;)4;Z*;reN{;O|V_9t#Cql ztT6coDd3s{SLs2`p~Kz%z)m`HB06$Q_{+zQyd#zKe-V$~55)}EMQ1Bykx=eOZtUF0 zCsAXy4w?&zg2V+DuAxw;yhbmmsHB5&8pJMyw;-k9$g`rU4olPNKXLO-KsJO|146=G zlg|4tf5Ymts3tZeW&<*sK?0q!oQ_*x_%d74n~#jPAdb%7o!iIX$h~3&d3GV4)49h< zYdEU;?_5xH6dnTJHuO1)k-dG3|B>C)tTtpzX2l1KsY4MVN*o^^w{u9`t^ceXJGUDL zD*whu0Z6RI{y$6jZC7Sm02+AUR}Vu|CVB`crFzs;1nO)lR@n9<)pK2(W3`-U zN`1eC={ZXO0qL?V?upe*L)@R59yD^-$7lDm^W8NGYaqN4Pnz$t+J@*PH0^5J6J86X z;Niq-I8a=n@5>7wp3>W<(bxt*E==n1UmCW{|H$ho&zu&U4`Riz4gT}(7B{T#ugx;Z zy-7#++PUJbe0!!(dTB+&(B`dpR_gtiP4hU*gKZlO?xkf%wUCBNo>hA|fSq5KyNh#W zw9{GsONTvfu90+M7b0OUmr+kThs)pfp{t7}F5;Xek&=-`4dj(ssI6MHzz-{G_&!5Z zAjWncHKq^dS7UlLzZ%o4_?^aY|M2W58uYs!68Y0vP9mGX^ZyH%iXON)sYP>^MSJniFt1ESJ7s9Xro=3SxzSg^ zPWY6X96dw!()jAuE9!!&jL8{{1=$$*3On7k*(bCexGX*Q+lUWZ=X-L85W6>>|AWif zB8x>TrEs5?y^1ZeX!I@u@u*%RC9TEy@GreT`TKtRx$ki~bKNWd;e9^&`=h`KDmp#7 zZp%hhW`NswMlaK-=2~O^rR5s7K!4xMG5WdR>qCf69vl`Q0U8h59J8tG>LC8E#glA~ zkU2@s5m2FZrB64g2wLYs8oEYDt1>0+b+73xBQ$MJ8JVw9^pt>Jg+ihCY4FthhCXDi>YET;B392cd$~c zPRcls()9E=5Z3a0U2Dmf*BO(bH?GE06+*bwdiIsvG#6B`HV+C~azdUSv$=%X)(>sN zvMzdJ`_~56YgCxkI1w+J5S9e2HE7W+)DEw?T?$&e2Ir9{GwqQW;YM7H-=DW`Hc>`}tTZ@CN*s^%@mEhHe@ zhC%C(OCgK)_|R$NfgWTnOyW2Ze4!r2ggThuM5BHYqv{i4b&5rLaezkJX}9POFfl$m zst1!&{!OYPI4GD<>0fKG8eOkybaG�=C*Zg;>?ma&^v}sBYpV2miftK3Gnb4JuZg zrJt-&@Dg5X(!Gm6ZrpYv8{Fi$Czb@`L=h%VA_0V-AfcjNVe|`;gvY_$Hz=|w^OsWC zGVxX#y^HO={L@lE5i!2(3da)p+229~y3<5;HR9LN5M>fq!hUn;CpW2|Ks*en;3n&I z<`heHSP|tVD?}0!^vCeUJcW3+U><8ovRVIJi|2)i-7i48{!(&K=@=(;$Vv;9~vd{!=-BZ9r>wgO>HHPg2>NPR4ukghUa% zw}WFRGB#BbUEO$U_xB=}jcOymP5KQ+$Lo8n=?9OgV`=5!OjwPHojEJr@}x3h2BGh3 zA4OSQRy$KZa51Sg3g1t$0ssM;9P5>DqY=q38EqW+W8a&)=B>@9t@20HRPPB>d3T6+ z#PFcU5baka&@GC=eVPfXwg6ocXT?vbTsDsanI=SIfA}0O9ND{U*prxvO<>!&AvIK3 zV?qg9r29a-gjp=jFx5%H-R9h9e4#vP5pXlXF=kynWy}<;>>s}hLGZ!Bmr zr3SQ{x>^!4HTscUG>L^a5Jyt0r|4Ov8~fx3mHBtT%!nq%&pF4kL~=fhY?bzGU>j49 zj4^`I{2lS!h$o5QnA5(coh`SZlN-}{(Iq&GRdDVB=8-O6 zwMtvgp=ou{vQViv-NIkBtaXWv49;Ic6Y75hy7E42zp9ywC~=j2j@1@Up!*v?LziHF zQKwyI0unKvz;B|AG$bPR2xmR-~H|EVTi zK+v4#7Oe20T=#ODMq-Ue>RBZzE6KW({cs?rTrBa#Ii^T(-(c5|bNf)=BicqAy$)*; zy>#}sEM54k2BFf%oc9@kN=*XCSAWRtM21xUTVPh|M2}L`bs|`l&TRxn^Z^ir#h-5WNO}!TUUk5xmtSqMlW6Chf!{}Gm(dtI6 zYrcE-dNnQCL`Z$^gEc4KUDy4Bp!ob%cBp93mKi~t;}Ou)C;h{BP+;)S@Z2G(OA~JP`~A6nf#R(^3ba+ zfmp?N*pbeChkDX2Kj5#|mc939dW$RVW7`^A@$Y$ik4U$isVuu|(k-X)fPpyeG2)qu zF6->r_qyY$uI%29CprNPGyvdPS(a=MrTxp){x0tcKkH=?B)r7^%`2-2{MElM35}MZ z+@r*L8}*djBVix?s^}@XM}mAuT=7S8kA(h~pyVD2k`p#` zemtSc5|rGdM6D$#xktiWtg@n~n>-CLrc^=jFZP<>tXX`&M1ez9OO1Prp1WH>zMLYDVk z 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 ${vn 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�fot6)>cT>LU9EU;B_-%1t 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≪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 literal 0 HcmV?d00001 diff --git a/libs/curl/lib64/libcurl.a b/libs/curl/lib64/libcurl.a index 2112cd8f0dffcc3918d8b479dc764fd6eb3195eb..d30b71aca2ae49bce3291375e00e741e2e4d5b77 100644 GIT binary patch literal 839330 zcmd?S4R}=5wLg4@3=jfzq9Wqe>S#kv6d?gYf><+<;2E7@6jZ9{Bupk`Bp=hv3?J5N zaAuU#F`C}$t!-^DZPnUddtd+m+e?uuO#lffwTN0#+lpS>W{g&}Eh4t&{jIh4J|8m^ zp!e#1-sgEwa^|eF_S$Rjz4qGQYwvT`{HCr@>laF9c%4_(?74GhR$n-4)=aOrlAY|o zUT;`ocE~i%e4QkyXd46&AiWss?j~QPu%C7s}<$m^$%-B z_WQccT9LXNAJmGDb+>QRivGLzgEwkL_B;E4R;2C^p3sVHxBJAn_KDor6>ILJ-A%vK z+@IEM+^o6p|99v8UBu^D_tr|yt?q&4nmhM?akA##|Kor79(`h)mUmCts*V0f?{og7 zjsE}A{XJb9eYAUEo;G@<`^8(d(Yg0)yR^~2KjY~4!KgOce*f)T+8FmXZA@`r;rqI$ zwJ~%ztrqvnbG0#@hx6|{0@@gLe|>^BM%}w#(8k#BeQs?`?!AA5HpX_39kW$C<~?PU zHa7RZ@O^FUvF?T2w6P=I^)t1x4a>B#ORgLF{`Q}=v4!s4i1ShI;*y88f9UppUn|bN z{Y$lCb=Ut*EB>VJYwy*H3*8}vv9j5^V{5hIk?wEZr4@ft_v8Pf73bc&eySB0x?g-k zD?Zl!!DOwN?%~DeJ#Oq*wg1swc9S;FexJWt8<%_E^kZ$@Cwc#Bo;I$~eW+I(XTOi! zu8sTqv&XzkCVpP~)bF5MD`{PReD~A8(Mpcz-uDNsnX4Ry8-R)0j(ZQ%7@KxGUHaX$uQXN9P&=#3SwD=15D6^DUT&IhjRb*F<9RrYpKG z?Fu)=!(C2S#OF(b!HT9>c+LgE=5VO9Sq3Fh;f`DsrB7m=$!i}m&77K!M0>EQxw$JG zi-lt%*l1UzBi^*4Evy^_y0tSF4>g5a!@+1*qC>`~B^(d6GMyk21jJChgKuZs>R_S+ za$hA-?W=;#9Wf@%WgKb?H+2YPTW3=D z@9YSLgTiCD*(v!@zA6+}nL;vcZHl!9WAU8K1R}U9ye=5(Y>zf|NufnocEzp=$HMWY zT}>UamT=dS$jzqk;kFcM5D6g4K%_kqzqTn7ccPbsFg!wV{wY zaHO7HC{7L}C8RJV3Y64b$&=L^apGi4T%<$gltfUjP}Sn}YK73!mVlxO;+%S=kZf|q zAc8Jf4@zk>MQc1B4K`C&3J+A|8oD~yu4{!9!>T}rI-~1?0ux-_)RvIc?71lsN4*e| z0%R15Wi$~Fl8a!=*hq&H36%-1NVK3-1TERvke1@ukg;$_v*2kVbKhmH%z=hFJ37KD zaDgIZ7t9%WI<9srRItDl(tr_LI7e*SksMT&C^teWWWz^El8IJrp_R(6aA*3uRZq zj6J?QL}Y?!d1AIYN@W_w)0wlt2m~b%?UTxdNF05ba94AoERL4hY^FkOh@D6TOD5RXxf1M}!*S@Cln4@^h@zJ5 zkZGi<2o<96rBZgx3@((HkrtLgyff0#9A4{Gl31+GM6?KXRbe18w)RVCY(f1gq_8T- zxtJ=B%!7-oC@K!Tt&BPF1vOFVHuF;xWn3R#GT#k}-DQ-tZ+M1hkwVY5QE>ON0YHHEYgs9UZF`}PhIk$8=!>5d5dUO-Q z9jl#=p~5u@r-I`ai6uJF0}XerMqy$$;ilNSU>KcZNJ$_B%;bod90FLh=z!a(oo@xi zRY)mBt})B@SO<6dTSVaPt8?C)oUYE-n8VTW(&Bhq?WA1obX2s?tS>Ceg2^dV*qpU) z3wj#I9{m+oaaq7uPLZD)>jcARjT}kqFfLPE1QDdOC76P1Nhq|KJK-co5aH>BT9g zf?AO;yHJjzfI{_fx|-IY8A(K=YA^-T5C-9n(Oayk1;Qxg5bx^9rv@^YB@jp?!r;OO zR!Cx#tWfaQVS8QK*14jo%~nC#5W)6vyI>)aYJ9iZu8Wj`Bsh*-Nq--ZNoKM|%@yGlVZ1f>BWn+JZ50N@|Lw2&Z6kY{lQv z6XQ;?gSWk(CR|7IiW~}eb#=<|zJqN}Lo{-XoH5T8pGZ%k^5l@wnn+u7sHv;jHc&HB z&2dD~8H$x2>W73{6CJB;J}sP89+?LHKPn=eVkg6+Mw`^%J7^AqZneb&+bP1l{a1zBjs2Vl<$H))aBeeJsqNy#iT6TK4%SlzEYA)RZcK>h?+<20I|*U7f1l2SR8Gy5Ux}+(z>RHleC_^fltaj__K^PN2KO?VT!u z0@IA1a#yFE=M<#Ud;|a<0FKuDd zbcYlPmo&kcu#QGX#Q^iVsy-IHY_m%eL0K=GMB%FdBbhi`JOqYjnsVf;9GpTFIAb7|WoH(Aom(KbcsJEqJlPK7C^1 zR71#2Xk6ZmseZ+PQjdf>3s%ASIa+q+mD>#vNJxR2^$?Y!SS#k!MO9~ew`;bba70m{ zthEU7E>|axH=-ODF>To#S&1rBR7rAr(~hDxjpsX6KPxC*ok0~yzDy|x)!ux8nj>y+ zo~^+8+S#^>p58>U6_KHLOxB=R=?to%CRhz~t^d-xB};?wE!gPwzJ=DCNOMPcWoJBM zR<1JHIoSM^TLjJ+S%G72DISc*Wi`2$bUxnM*@E_(Gno6CR1UZ&z$j5voH&uCCXOZO ze8YgJDH`D-Wp$%su{;#@1-OcJmRU6S%0&o?W;oV#cCC^H2Cr!OWgEb0LVsT>E&N)` zCGrJT0tOtCeq}q=#DcGF%~8ztaayRE2%;ts3F9tB(6%JTtwsR}J5jO}G7ob!YtH_~ zFd-y60Srbkwb>=LoDqom3RCYHBkI)^>qs&pY8afDU2qyQ9ksLOj9p<;OHo!(0j743 zI?y7tC08uGe2H`X$*2o#&Qhm|k23>pIU2;2oRCU*W>Z9fk?2e-Sx_bM=8Q5&&WS2m z)4@AQ#Yt)JY;de+2Uo^oq@yDhnjAKmZC?@&E$S%D*BO{4Mpk*-cv7U+j&;oD{Ik3s?HK2y^e2N(&YMIy$YUz=oHJ zU_ZkpG-8bDIh~smz3Sw0>fmG8pb$ z;f(T8LUu+*3fv)r7&zxd#}a|lyS;3wD3W(6mnd~opw*84Z&YI2(S0}RtlmDHSJQ-s zT#h1Y#~am5m>;o%K>b3!QIi!f;qsISrwR;mmr#Ie@9YW}SQ8&vbC_3GJSNwB;UrGs9YCE zJ7qdrQa4eB3DHi7szKU78-@^rY1EQBUb4!Ew7pl#)>s&>VU9K3?^P^rh=2k?v|PgwoM&ONF6Ee zyI7PwwPo{3BlbuK%x;`1I!5HN0;7}>5bRK7k2j=N;tMUo%G4JKNaPXCPqJ;Gl^UuY z1kTYaSZKRZpoNW@R%aFt^&=St@dR8>cqlGhy9lvZUgSg%A#$Ct1QIq|cFPCm2fHwh zG(tGawG(TxYQ%5(#ZpzG3zItqLgU#t8mOpBkf(_X2-1lvq?U4iGpC1%tjV7WZ4Nhg z#_=C%S(l?7g&3>3AZHY8)jAoFESp_fEkvngK^ntT-cEl7LpX*~Qq?e%=QBiyOax@Z zlKly4GCLlxu+cEBWd*T7S{Wg*s5`l74n|=-CoR@itb^@qA*^YkBK%rraN=EAlq6s- z31c{WjPln>ZIQAQ#xTQ;VkXO>B;qMP80*kV8f&@0vxc`~YR!&R>Ya<1l@g3uXpn@N zxQH?&Y@Hb-e!(jI6ChRJ9;`)lG+u7A!8rAsCW5%)Tg> zVu=+LJ*f$dMqe!_#s!GDE56W_gTuyw!nfKO=1ChFhTQ7Ak3W^D<^%SP>yThq)=Z+f2`- zT^jq3U^2+;enw)L+*av`#G2ZudX;2r9Zsk>qq2h*5jH`JuBi<@arI)e!-&L$!GvTN z!b+&>gg14plx4lSQ!)h*wD-K7!pcqFQ6y17u1BlZWbA@XD==_LU{(PdC>j_$VAe7r zQc$|hi7a}-z`*oFRaH*&T_8$@vbu22%E)s(5e{lFW#KJW%V@KOkUkcj%w~|gtzvN} z7L~mz#!;J0y&Bj}Vu;e**=}0%va_5pWa~n7iZP?9a?0*3j4wxYMqeY`g>?**fip7; zHc=zXh*Qp?%f5Q3tEoMRRTY!HMIob~N8yNoxj^E;+J-D5FkU92tVN@vM9eNwQ?Vq3 zx-J^+?6MY*$$nl&K~m&J6RY=KU6^tebF$pJlXA;aXBV>Mz$E#imadN0&n~1wzEyfh znBM&d^F?uE>8q(hD=Q!+IU#-&DM<=e%KS7+Q7Sg!P=Xr&LfI~cbuvJ+^o@|tkyXu^ zq=NFW7e}QHJYp@BN~y5yPL0ycqr{zvL^-xAf$6oXkXL99YAlmxmPw-$a{LlFzQoEL z>EtM`z}i15lM(Z6Z9y^>HK8_~7Y?OCb%n*sqZKVlQ6OBY27}K_Ovr zA#Ao4oGiw~S`!%9t&#PxAfoL#!O&Vejz;;NQVAp{SiM^dW{l%rm&1TakkU*5&5I{! z`pRa0$*$Bf3wOX`UN*ZqNDMt%nlQI3M8=MSI)>&(jhq>c`Yfip2#jcHY7;gSYOztW zhG_Byi-t)STT*|?o>JvZKoDEaZV*5w|pHSEJ;|#P_1YKOEaC;92pQiBV{Q# z`OH^c!g3y)(-K^0R4~DOG))GWXbcf$`5_+;Crb|YQWb^e4mL1!fp!J9cv?huy(V5f zu~w)!ag1|yo{;gjSk1?Td>S{dT5qA(7I59%kX)S68eBW%lbs*Ym3 z(=uM53Uws^;SC}MJIFaL!U(lw4%LY9EZl=H7_dwdvm(i2&rlP#CCR~q9OAQPw20YO zC8U2iiZgPL-r`fWM*gXqHAgx&mdLTDX?iuib4CgG)y(yO!i41TK&|zdIBv9QTHM62 zVa$qkamKW-2scBcf?_?6Y9FFglAzLtc@9FA&}bik8EJKT*vx9@>0wosm2>7G`g3Mg zUMPqgOPcQ(uhBK_1Wo$_LvC$)9Nl+@#ZPpcrtNWQ+TMxc{bD@4T0`S>o765Cs zhQ8@5u%q@ES2xkEbu!f9XTFG@>AOa&teH;6y-g-cn-4Grx|yW{=fQ*Nx}0`_(QO3X zXL9N0T&PI+Npz2aZb~j)^{hO)KG2<=LwC&*J^6OIo*7NlTc+Sg&s6EgGmlfmhD&wh zjst-7Op%`4Opxo;zT|<^^yH56>u=odIa4F=UOnT|GxsxL`qlV(lAE5nym+`Yb9t#g zP(-`?UmGevINApH!zZoYro{C(H>uJ$dxmc^jg zRrLijRsPIYPD)R0*<9WDb)Y9uR_Ql>>CgO2@ySSqQCsE>81D_#mX(_k_8B|UeV%k0 z2tBjBtg`!}8J^VF_-$#~TqH8RFEM3kI^>nw=Se+A4#_^3UX2h|Pw{M;RMdTBM&iw# z?xN);e$8O_Maw;@2SB?;>!xsDX4&Y*nR;evS*39)GUwW2-=RC6|BR-2J*gK#+0r{O zhBB_!H~_io*WVcQE%)8vyU~(w_m^FoCl!Y1J)0Jenm;dIJpUF?`f9xITsUf;o}n}+ zx4ZP7hGE@6+_RSu>6u6tYlxnKFnmu?eh!xo-QUs+F0L)h@mjsjlU@Q^j$dtA<-nz! z!Mbs&702|AAgIsW!E)?@Ff|R5^gS^Z04EL^u!UX%Ms{%2$HT+fS@4iNJnTuA0T|lR z((Aicq*F1%k~qi(j%Y4G$q$fAz5Ep5M4B(f>*D3{(so z&*|wyx@YkR$@g4)#M4YfbO-r2iR|@Ee~@rNB6X9DpA!P<_~w{s2x}#?qUS z4fNbn7Ofg)$L?FoTDAI6x)BwmC;c@<++TgrbI$<)y77wS;5Yj9blxkp!&!Gkge}Der&Kd|`nI0y@UWR)Ydv)bvwNT`s4{Aig3Pos z)<@q~QY0t_m*vcO=IGBnNqXWpp4^YH5iOKbcY93>V%Jpo>iSrAZmwF0u2o#AD zR&Q_yWG|8a^~_yd5~0lS8LmX&I9I_v2-o}(DXR4O-8-3YQMvDCRWzvJ_`jMaC z9DyF$wbGN`4U}l1vZo?7sLzycru(eYyqV)J_}MgD)^XWu;nUPVz2{`As1c5DYZ(BJ zeD(>1Ll{yCksNejdQQGTPzsv+L4)>$>y&IA2Z?l1B5#F@(r3XnyNXe84=|&DQbC#l zWc{E(5Sx?>k%)k1z@=ARt}#X0m<6LMU5%(^Mvu})&vaFq&xvETiMNldEN&bd9njKQRi4~n7fc>_ z#Yt*UuDTgcl&v3PcV0K@)x>pbsN|C|e&!O9m3g`@HFF^tB(iFsZcp~QfuE6@~+ zpI?uiCoPe1GknCRd8by+YzE++dI27Q=b1m=OY4_TETMo3#(>8$%oVi|9p2LHjdyxs zFqCKybJFHvv}W!iUgQtdY1$D z{mjI@XW|w>GM{7Dp8%qA=hn`H6op@EQ)ndN*1ig8Dnq{ogrlW_8;5r5EQS^X5_H!9 zI)`x)K;;bGY`WfQ;;7?U!LFx6j@10SwQ4};F?1s!97_#c8j#>}KcMp&w-L~EhBled zTYzRT?t;-O9bX4Tl67l822{n+{{wqp~*Czl8NxlO}qyfT|fv0TLO&nNh7^P@MkdcDGglnlHuD671sp(4f7u`k7U${~|CLpirT4v(PO^75R{8By& zACx}=B1s5Wsvjx#E{$4Fa&>8?CN#x_%1x-zgg~s#V;=-vWJ2>zh-zn$<66hR^ybxy z1WID8$2}56pA9r58;cM{hp&IbZw+qd!1yZdR5V-8~L6puy^0Chap#msOW19ye z9V>F__;p_PIUp2S&`@sC%#U?Vx6S{cXo6+~qE3+W^2+Q%!2=D|METcwl7{kB3rvf|kW>X`9bs@&ECePaX@CGm%-|DDmsiq!%cLO;pW!43Y&1V|(2(;_ z^DsN}FfZm|{+Ne(KM(V_JWPp5j4eJV=V7WG7|ij~wi|h=l=>Vr(@RTr}+{u^n zwbDUDPHXZonLNz*^DxxI5|`pUkcW985A%+R(PVxd&chUuvdc?2e#U`04R1nU%Wl5; zW(BHgZBDh=SSX1cF6vA%n(i!fxTy7l0xlt8F2q#^79!-iS#rmFp-@70AGWP81!;NN zPgX}*a%2ee<-GD%$iv7eKHW-YwM}xr@TKk!Efmooy9KKjV7O%Er?fCRf zby6qK^;^d>akk|jW5@kyEr{ix@T!Okf%q(?O{BzQEf#Rq={6j|2&aaU+tuPIPvOnB zg+=-+aA2tI#4e5@GAHklA%}14>`?ng*PMtkk%)!dp~K8aJe{cUK3SU$j?%Xh+U14K zx#kkbvDP=LE}Shsj)JeFG~YpWuckeV@e<=bGQu>XHd~5&t}Kz%=6L@X);Fk! z^ix|+L2)UxzCrz>9iVHJ@uT*I=nAb{4Ce7GylycCytYVwRGEu)3+iK87sam}G&^$W zd`q!VP${QhGBihHpxcj=74+wweVVjbDA3J1h1Z z6UqWSyBZp~{8CdM{BvhVr&6{ULrTc0 z+dI4n&ZVC>Dv-IXScmtFzgXXl2`;*B3si5rtxDfq^62T;HDC1FuwK3Gme18z>_!;G zPY?C?e|V-I=@S7S{(QwQ%=@_ZZr3+Ud30Ox^FRLA>-K(``rj%%U$HL3w1xNdZD;G7 z$3HY9^}q+1PC$5*5Eu!-AL`RXyTM(r*kupEnpYU5jk#)6ALR?(bfv{Z>&5c}+^p4b zT!woB-aqMaCg~XUtlc~gqN#Yz9o|^Ve`T?Q9*lQB;7#@jM(X*XGw~%w zS{xS<2f+;%wKgN22G8B7ygo>Q0Bk)J<}CUYS0=(;>l(yqZnQ~Jod7OeFU85?ICzPX zvYRpTjskI_yxAmrkJTp5nmK!xmoI7)g+|Q9!^=6C-zM&b65oQHd6P057nRyirA@Sr z(I}h)xC1#uv>L6kCf7EAM*h=e+yL@bsO_wTOEc&mB{jxHHPT3J=e>FS3b&m*KvyOU z6+|@Rn*R%+o1R1GSo2K2y-d$MTGj_1{sH2Iw)9!Q@nXQ(t`F4FJ0`<_RZr^zDZsk% z+#uof$N%le;=(cxHw-#F7<=^(URP@(&%LGhT;?7w^&11c4zv&4{l*SG{c0l4Yc-P4 zw{xt96-?ut;ZikwuN!q5FXb=GS+DG-urE^~T5&jPz+aRBW4$auYe;&}<*vVMyr>(`*LpSu$`<2yY1tL@Q@@~R zLJz!Qb#BGXX~WNw2lN1lRkqb6u{+MM#F_=?@tc6 zAw^G`R1E77 zs&ORLnoc$buA5H-I(wyv1ZfBu+Sk;RZ_m}m05)Jen2gin+f4H}tRJT$ zOCBlmq))&TS#b)PHariw`^d$f)GGk0_905Oq(po5|afJ_TV2&VRj)!9rue!)x;XKb{{I?7ibMK>rOw13>eKIdQWUm7 z`FEG+j-7z|he|!0o)L-O0R1``s2KF5sOV5Ae%H?W>OUqPq|U0>w{wh!Rdd}KEBdY| z4YknIr$`A-%_O(1{vPrQX#=1gXL{Sd(kM*reDbhSNSmy_ zwM<#ImY4WyD5YLvdI2q9;+h(o8oKymjUE8xb7}}A;_@w6SX;N~Qr&;q<$?OeS2SFC z)sm%GUvurUFJ9NQA_SY`m93GRR<*TvbVk3_6^kcUuUWh9=E|y>vo4rD=fb(w=LZ#^ zk)HoE{^!jYiLb)DO2=uX-_KvMWBiH&czA^J@^vkVA6Fxu54lBe_Axx4z)kH^AD(+~ zUjX=%?!VW7C)Ez3uTH&ZH}_^~4D8mvYr4J)NVt9n(LRA)p8!NXa?6LL|7MT3y=~*7`NPhO&O-B%7BqC5`$t<=7YbHX4oi{47 z!nX~EMEYo!5QpK}Pp_A!4248+_E|ug?h>+}jzo`t#8X{eU1g1UgsvPwC3OvFTK6`eu4>#&XDefb--tBq zr3%n?)sXcvH8Zx0N>Eg$RiT-#fR*z`(EU4A@VLNUj(D65AwKOf&~Z=0PB)iAvM!?Q z1KqYunT(XW;w9EB;LuiEHwis4 zvOQ)?R@h+wVi+;hjc0wvi}l71!Tn;!c@`Z;S2qqTZL(z0s$Mnuqep$l@Qc0;?$g<5 zxB9ijJAT*S>c~oyszqhA`8r|-du?G!nk5Hm?Imn!*^;&fc~ocY4D>XYRU#JXBi0)S zYK`{?m!ZFh3D-<9I?L{!uML0v@y8!Lch=ME-{{5_A2gop&z63$t-BjcYoF75^ieRn z>(?`P_aPYLdF}at@rItckS&s<$h-G9m>;ycmo-$d6?~b2r<|n3~%gHc2 zy*u$2vi8mR-1SC34Lc_$51$hER`mgk_y;mqLJRkDU)`VF<_;M9I9nB-=2?L+R(R8z zjb`C%l8>{@p~mqwdh+o;5Nq*vKnEDYV1n8>p6M5Iv~s}*GeeOLca`;lNbkX@7s|FB zCV;TBL_-B}%nlI>uLe^mVUg#fhK_Dycq$VYSCI6n$}bvZmCf7{n*a(4-ABFBg1VvgC?3O!R!bu9e)e04fM2?Ro0T#oP>hu?zx>y&AzktPUS+AHMaSU`DH%rAs~Abt^cjkABh5l34tY4fL<~BwSGV3 zj#Bq(kyzXaR1Eo(x0DrYiE)1TB%2jP>h3-~0>)eQ#_NHeg)Sj>E?k~eJxE9{qHO7S zQV?sEza<_iy0<7tZ;9-!SH6q+Fh2{9L{Nzed5fm8Woqig`wdlst1)x!;(yqxz}a z4q|hI@JE$`Cv_kEq14iPj5MZ4bZ*o`zw~8ld$igfpQ~!0?}LN&8TTH4kNX8ZgNZ13 zn6yVvW?d*d`>XoIh}xf-w8NhX?4Y^}X0Vr)Bd{UXQGce^eOMo;DW|ymGxK5dOG67X zBpp5pYC3#Uc06hWSx=%y$^HzlR&_sIntj+g>ZNp1eNOvnSc6}rvRyZFvGOI`(K^hx z%E+0jj8Jt=$||es8ZCJfD9=@Bt34s}+SU)rY+aVK#1lg=ixIve&gyVi06ddP&dx=pYJZ_xGp<{|My()gfuiF9X<)(F;(=R8D#mfb4WAywHPy@qwN^ zT-;ScD~kQuqCe{oRqcDk9UqsOY@D*i4dO>e#V2@vHeqs$G2s+UR*ibZ6(8%_k1Zl=UKM*l$wH72e^1@zLOPtXYm&;T5Xm25Phcs^0d_E9RB+)koSs?~cIxvE};khodWv3;chjzYh> zzo2H~SJa}DCH0AtmXjykxe{5T2+`RhqK$`9Us7%UE_@|hOI@gK zivgm35LuVgN>jBw*W!_ds-DbZLT`^{+6|q9_j5hzXV9|Z?Q6u%lYSC!${#$#(pTg7+r40es;q0G9 zXCteF&~F?@NE90t5*6F*sT>L_Br}Ps+aqemURC17%<8v6?i>%mHsDbAODKV^!~}ak zUBb@#F!{C~$ecxsL60FKYVpUceNiRSB8aiG7L)j>C(B7%acA)o+tU1*dhB~ZBmBzX z(4R>P)RH6Xo2U)$IXTJ#eZ8*g5N887pQ5*=I(Mh2dfp-+|1))-2tSCbowg!c``AqR znvwNwh4K$4enyC1s(}z;FGu)do@rKstJ>$!py!Dhzk1rP14`fUz3iiEA835W07sz? zTbt4zE=ISMl_6o=Q^xixc7;;jeLI+=F7X-fA(8CLPGapVzS4|XL4gThyhY~q!ObX> zCOOM4equp+cvAm~Kq1ELn@}Oqk4J5U(bg-EQ-|G(-fb(DT0x4JQ-$so`2#d|=y`mH zQe~_qp7b~1QN^4#bfp(Sj}OY907`iZDlsVyw0I9`rIfslU4At7n->hs*YGfSH{6}xORxJZBKzm}_Y%e5!) z4k@t$kv$8XdN;${@OG9&mP<~5z~t&iGDud19(O;;ao#Bc>W%@4)`FRRhW>aen<_T`*9QR z19)Nsly(c?Qam@{P66)4vkOyky@0#%{0{C%0B^+eI;_4v3b+x^J8=DnFe(ov!Z<}*G%O8XRk!4dz%_N) ziiA&ZHMMzhz+l%p?>SRr=bS~|M@_p*oO!J{vlF&l;pkg0Y%9Yno7x1Sxm&9+|9rkO z;Hfdh&>M+)&-daaTNO+=<|Q*+e9A4{4F0}mJhAZ#r1P--3R|a4k%(9#p1J(ghu@|l zO-(CUKnmpz(fLF%_G-!*d`Y@8X*Qv&5Lg_a_-dBmdi=jMw>As6o7dK+F_ghC%~-m% z@8OpQz;4#1a)!uKpQaVv+BX2rWat-wgzM9QE@a$q08#01Ye!7iD^WUx-xEV3@Js7p7Ylxv0~B#72PEP$1JHDKy$=wb z-r?3h1|-t^Ig~*GMF5Fd{Rz+|Om_rO4MT2}NgqSifCQZn&;rI?Sd3D^P#BPi!A*cf z47vabIe!aKEz|u9P&q>{0IFl?O%wMvAmR7xsO3dy4+9c1?FS?zGzJPK_|*Yg#9Xcc zbSXoB1tk2A$2_8t{h5G7xaR;8VN?SWoYw*pobNH|zG>3!FmZcK+@uLgU#0^RoaX=% zoUaEY_%#C(GI$@5h}Fp$j|(4OK*EO)knr&xK$mekc9_r`fG%g;-vI>}`W(7Mg5Q;Z zgx~dm1YHlHdZzmspv4Rg0}_5uM{Ox$wHVM9?D`u(S28pj_2^X${T{!w8F~U*Olt~m zjdnN)s25ry!fk>^2q=UDXacKYWTgDJPNLNHf zLX%9_DJJf86Y`p_#6j>Q84GBd=~`*xsI&`L(g6`Jr9t3oOo;SMxKe6_YrupkHNthN ziCbnu%T3ot6W44)t)^?6iHn+0+;m-Q;%+gaZqqeo;x?GjU8ZZViM!W??l)Z@FmW4A z=t0x<5fk^Q2|Z@I{?x>6HlZg>*FF=s!-RI3u6s<}UK4u3blq>_eq%xhOjiJ0H=%;X zMfH_{mYC2|6S~@jz7L2lS_vO%W&TOHdle0yn)V$3ieAx3>+nOMX~4~#nf@?-qYezM z1|M`_&IN}0Q`X8nt^ZQ5%EHjDg98psgnXe*uxQo+L;WlZV*o=JD!~zL2Og3%sLn>D z=?4w<+APj507HE@3-fzms0U|ZsNJJ}oQ0W)6i{!@!kh^V_311O?I@<6orSps80z0y zm?gkaFVDhIzm%?G+#}^qQqrL5C`glU??AoC>xiv+ePZ?wwzXY1xEHxd)18;ymH~}5 zXx_vx)wk9q*7Lz5z?>~HgcX>|Jj@qNj2AS8Z7UiaG{h~Khv~?}tjoiEH4pR6Jj{>s zFuU?FujFB9i-@==6?DCyhZ##5&X=M&IS*6jz(5-KL{Xc~SN@*J82a}eEs{hd&iGzg zD7wy$A(-r`#HB)CkcU~Ghxt+-=8infeR-Jg=VAUI2ZrrR=vZ&QRDAjzH01Q_Jj@^R zFo#TxCM91)g+^W?FG?Ml)9`i-D;wJvIr42|kOz(ra}>0#38}Nz^Zi?PF9qD#?uIN` zc%;hTFT+R`+YQB+AvAKwhl6+^I30t;_(;Y*%*aly$%A<<=8@*<*l`()Y&VH_io^Nk zc30Z=qV}Rv6etV%D={Ibu@>hJhhu#uoap3d_1MM!L2>I-s_ZlOQ@%{k*;nxM;f^o; zT0tXnGV{!@BIPF1B8H0~=CJr2R?E?*IiRzBF;wPsm*bNJ>@W8_1&pNQmGiy{&1vUP z<1&roi=>Y4%|g*kc{8aQxgEu(Mw^G$Dj@i`sTexm;1EqEviRBVIA&MCx|jxF0lowGrT z30dXPvVV$RumU-{91nIThb$q+#lYAgE)na?dfZrV+lELW z=7&dllie8~gat*Z$bzGRH&?)L~wyKrgjrP2PPyFX7k zK&WA;u0U}8|A!@TqzN8} zqhnKZEz7_1C^Wsg@ibVS0an+5On>})_(ku007>3+&vjnH5F*;dG2&jplz)u`MvoV=lv^IbxQH13*Zz9ZpTS(OZgDj8fC#~ z!17S6Z_*)%l>sbc&rN<*vgS%GX?BzEko#NMPd$7<*`V}%cNw_-+0%K){dm$6mlqrY z(9KF(sG94kP%F{AB#EUaoTRx;cj0K<9W`XMC~Wh<;O-40Fu+0{iyz18b`y!^u?9+V z$0NW6jJs((YdV?w-u>`hs44#rGKwC^Haf^)EBRd-EN3rbvDP2~-)*ILkq!JFrT5dM zyJyoK#PE?(o-}z$?ivLjYeBJr@!3B^{9^6zj?KU#z&Cdc_!2UGTI_#Z?XeG3@4oE{J1Q8&KkMTAXyif@Cb zB3@Pl6Q<47E+N8LqJHMKllA1!A0xzVOFZT5zM}!*fV2`M>km+}NgFt_mKNw2{|s%$ ztvE9vNdYM)o)i9qeHh7uz~1^3yH~+6vkMNM3R4*bpA`6%lfw!B!R{OrBe|bhQ-o|~ z!DeeVcVPVnWFuW-9;`_Hlcq(i=7P7&yl<`l-W zWKgyd-jz7@%o#8`#hWeo=Z;8vD6rJaS^7VjtR4eao*t5QkJyZEPJ_(SKwt4CVqA z&-ttSJomhb(Qdss;ld{?rriP070(6GML?;5F;Ac6H((@n1n9@{viD@*(H|M0(xUvK zLVH^OrvAZ)h*$&Ya5Sx6{qtf#o)pbZ>Y)rNn{F@;Es!4BjeW)E`i$p%#`D;<=%W)c z`m=^O^V|8*ER-*XrQy6a`#Scfw> zBBjRHDUjq5Sf8GQI9Bx~kBq+c4D6PLNFsd{9)~jMt=QG$u5tBMY(q(AWDQ8_R55kD`!(D0$tK-L^B zo_AqW`tEKYE%0gY>z;G_=x6u)o*O6b1q#o8Af|y|vJ%N56AjYuQcs$WaUuheVya@| zYgyK+Y4XF0g``vus}|B$vT7l5`7`&Hk@l0dOBDXNheW0>#KdPj#nvvYRKE3OrB)iB zQAZYp-$Dll?c1ZQwxadR-T@r7!-#@LQNWH}#E48}QmsU8DP-mhJ(FRDM2*`2q3kf8 zs8>9l$xvd@lRDJjo$x{7>9}GLH=;*D75+&Gv=6*R-7WAy9aJdczk7GL!Hf>|d*h{0 z5Yn;w^lr~RorqEL^%|V%OEH4+&sz8dkSgmY02giG-A6@o8(wsj(mi;>_Hb~=U&v@5 zy&Y_Nc(m--zz+T&MzIyz!vHf$iu@y9nED}@K;{P|X{nxi=IbPHl&42(;@G~MVX3?J z_+8KW*Z-~b9Ej`g74W5R8UNA`q8FFE^aJYsPzU?~b-*v{nQ%5FHAb)K4^S(FqC@2^ zlOY|TvwG=l-hd%a7N!Hk4^aG?U@`<6NTQ9j)2scs~ za(fFn7%UB*D9|DuQ2c>GjWD423n-v!uxlH92ZE3p7RWrn{Af#cBOT8TrK7L|MqAl3 zuZtvZcSsn}Bf(T2%bZ)oF(|E2>=!7^eCh8Cc7E zJgBD4H3vg~7kVIz#^C^0L;epw%*H>WPDnT6K<=V`3mAR%sNYoOmOX=Ma8h=kD4enc zX4eUuKU5i1#Ys0=xl#6Hmy!LQd2%)6#Nl&YqP(HHZ zx0Fxz%w>Z^ZQ?+IjSXZzjTD17t-D&ELG&QgKA5g#rG zqM3l&(il>N`8~>Wo5ItGQ}#{*u5CP&M3@*y(s)%I)CAo?`K3b5sic(M^Lcd6a*A-a z1vp`Ig>p!WjC~8)HHcF$Hqevx>)pS=%jG?8BhcgS_V*vafRWp=ztKt4Kj6rxNFA(N zf~9yHg_YqBln#%4!?P8;>h(^Y>Rs9i8!VbU0(@0C6ppMW^Q5WXWi8>Z zX0O+WFWBJIlHMiw8WUc?b+WO~ZGxA(>PYpfjaw&U0vL{q0cR}FAUGB=FM%W0_ z>EK_Syl>2`nrkx3{odtKMP2>(t$Pt z_nL`&*TntJ#GQmbh@kTV5`O2IxQL0n)5JY&;(lS`_L#WWOx)WhZrH?4fV@Q*bPD!o zIUQ|)L=1iih^$L+%CrfUK>B2@>DGQ?LVq=(#gMz;@*PN8K)(YdxI{5^CH&IFnh4`P zKwjoIi^?HG0YJiaDWJ0$*Kgu>0y>*OkBAMO#>ucD^1)5CPXDkxXw3mH6}!5OStMLE?`0prt4A@ zx6Fi=o34!}uGxfIP1iOP7d4@{>AKd$-C{!BrfbT?Z7?CqEfHsxTSc16ts?Dy)0GyK zX42XVE*E52$R?+~Y3*!UC8hd{X^2>(_ScINLKqY+T<77gabU<^f@(C2hNMOHnuVd1 zQ|)G9z6=c2aTcZr7^lU{4}qcj&Z6lfUnq4J<|SaL?z1p|1cqurfw8ZPAZbWD)r^&Z ztm_lAIkByUKp+TfKZ3+;mhG~ygFqmlAq{X|cDocLA2bi(_Z%k?-u@~vNIq!J&2wi2 zC7LhFL0*B%JF}U#bXYV5dGj!|>rY%t6Bg!S7CSJo^2X;O?Y@@7-DVHKk)fk&(V@YC zdpL_XhW-d0UMp9N$&LCTBHHv8h_pxI*EU6PJf9uCWQ0R`yYNNcHu7R|SfUOHHbaN! z0w?npI#M^^i*+0?(aZCHO|n{iP1T;@P=WPZDw}l1VK5;Rtq>y05KR7Jra1FhaBE=` zfffy46=|pPd%Ww3b7x*y<>iak6RCDZTQ)^l7*p$DFE`}25haRF8FEjeH(`P5{WR7S zZFXA}P89c>SWmQHHCX?%ml1NKT6^h>1<_^@V&SnfMY4G)ZscAcMaAF z3$7>TtxsYd6B`yn@zr7Wj2{Yjc^+M5U!gA)J_x!uWVlpR#7V!i6f1tBa?*YZy0>%b zF09I<+X1>mxpdVt^XOgx9UtI|hZ$~Fl_OvZ_f621KnLiu=w>+#;)w1qpqrFKXFGGi zIyn)iNnA_wSXap%-u@mP2hGV1w>R)6N6aww4^n`>o$k{ySAyv!@$oH89AHLHdK@mL zNsc6r+mNRXV9y^Wi{7)Lvc$xickn%V8s2k!+2*+&^VGC|+qkQ&8$JRC7Dw)t6E}D9 zJPk)roUGwVy$u>2(}x@AX>4OR?9MUIpNd@dScXJ0}HMHO9-j@jHFs zDGb8ZUNHHkDY@mYM$cSR!-wceDbsh%;xp^8b6X~YgQ&%{F4lPq%pduFL2?{=4t(a) z=^&*l3YdyW(}A)&B``5X&xnMO^FiLeh7a7qXJ%o89$Mmkq&w~gNh?_Bp4u02z+q|& zT)}lp_q_8xX&O#+-;A~7^htoKcFVIF#BO@5V}cg)!vuOQCc_4{QF>{<$4hvb2cGnu zcsaDN0ZVT@zn59EtQPZ$h&1+|Ba-niTXBZ~@tHn7vs$NJ;l(K=W*bjfoQ6CU?+fq_ zIq{6{ZvbbX#*evf_(*AdJ~9qRb1cD@y$|tCvw)}eDH)Y`5(<(1mYp8)x-x!G_GUz! z_r_sfbiSTh*r+B0F@Z(tQ)%LaGPj|}#GXc(ui2BB1Lm17pMrTJ_z4(K3&J}|-vY+F z*+Iykrn1HE!fYFSIKS|ie0!}dSiUD9ZcKYVP_~zzCQK|fKarf1JJuG^A9=bC=1OU*nRe9&dS;&v4r+avCd{uzBcoJ ztSU~w6Q7JNh{Jp37gE&+Q!`^SU-n|dCv^7mDZ_j50adQcz+qsamzdUOuAf^6H6VgY zCa5Gd6U-F^OP19^uZW<52^vg-WdgcBN|ix60ofxXhQ`1%woB@nFGfL+vtQrM?jrRt z=Sh=`=OfLxPC;GqBXqBEW{6B5Dh@4s2H1%CJPJ3h~oZkQK*Guw?An06^fR&pE9+>*C8pfJ)$3(YE6 zHx@N;C^w(&?0X^43DTcAcHprerUZ_>Dz1*+~dO=?_v>;z=)JFQf^c)J>?gIfXwW`V3d$ zbjs|aDV(4G1}p*_HLytJ+@HmI19?r;M46tsNJk;CH&%ZSfI&kOz&6I3S!pDMv76)y;c&5mxyg4%**^ip1HbRql&jYb#hHZ(<4x#*co z5xE7puhltz8LG|ubWhzNRqCm|5GxLF4rD$@B2QOwQN|$wvuyeo$ROW+PmtD2)zLF! z&`#Cj^WAkY;~Al4s?99)qAxLW+myL{E__qNQ?O-1pXa#SrEJJ{hLKbgPx=6guuzrs zi&UCLIw+(0v(c)2ktS9qk5qcnt)R+IMD;G)Wf;G3qEWQ^JgFB5Hjph6ZIotz1TpnO z->@9z#c9xD9g>c+#*u*WVD~&N@xBa|%ixnBZ|QxcRDR(bEw0FLtguo5LmZe{yFi-= zTZi}zEaW;6*_3@9)qp6+W;zc8CDZv1R}$!4i=}Ex>SXGI~dx+ z7xf+so=)}2jLFv0$5JHP=ofYH@Z{`2lfPcy)td*;LjQ{oS`-;lv4e~Ry*kc|FkWI) z3Y>M$PAbvVw>||uT^{+pQMG$;_4_pBc?xG;v|^AV&aA+S9n~bt58R@>#E*PH`mwO- z+pKw&ag7`->KL`5)GW|@y5SW^qa1dvev!^uA&Zp{hhNmI_s5^|J^4>IzGBs!(x7^+ zY#)VQ>dgGGcZ?I69XFw>zJWQ=G0M$epv!_ZI-y^OrTQEFukkGK;P2vs~h zncwxyG%pRyv(1>%7)pYWJH8&<+C!mbaeQ?kVvow1R7HU^zzQRvic!oN}A zdQlp^E>mOZD^PV4G8^!AFyt8?}j+oL0fU^tWvB97a8ru=h zHiQ4v0F(o{l5{bk^KiR)Px~~6Xpd$YL%+fA`3xP#?{tRFajEaU(m+nQ-ULXvQcrdU z)BONYB|~HqLi1T}?HxcgW98Q9?1l=4mI0#4DYq5`bOA&3^;;SdxwRhwn!^y5VC9bf zs{sjDI@y87Xjs2AUH=7;@bMpjrn2j4$oJ1PbUq-lo)-foQn>`$BB0*_5_Gg$A)reE z2`)9z8iBhOkieY{trNIs00}PtWkP$#sU7|M0nOtW)MAZK_`L-XO}DwVGsY{w?Gx0g z6|}Qga2^08{1%}Mi7=)C5`H@Xi4=VuknpkHqjZjKwn_!CnntxAQ6L`P-cbS+d(5V2Y@^S-fcn<2A@nXRsb=XsEMyq35X_` zPi5Q`{0baR7zoG$7Z{hYBZVrp-|B7E~HwYs*sjrQpxQxi>3>iF%*@!grKtrvN#raZTs4cQE zR|7*Wl7*oYYUn}{9g#B~QAyVX+=ZlJUtb~8A{VuIq$$?*iLFc8)>PbJU*w8ffk?={ zo-&$gNH1v>#k%tM!l&SPvPB@FUYT}Oi3p2o80TeQLm@pWaxHQa$hU7xKBQ41-yf40 z(jS4L;WAyM2?DcUVkqAQhT0gqD8B^eBZ;Bh5twn}L1YqhrUO%WulF>Q#w&eYl!v)2 z4|78vrZW$-J`Z!B1JgpEEalkJ4~33yMHAHm;!^Q>(BX^RHsxV<=V9oyF>w(e^tcLq zhhfM;L)0JSVJ4!~ic7`En}?Z~hw+;jO-hw)c+@2V3FTp|a|y^7O>@}RnhS0nN4lC5 zQAIYwMqkI)aUtUzW+E$ckh}~BaE^kwcRc7$!?$RN6l=Ay6MpKf+BX;*GR)}f>9 zmY3o%nIHiE1a44uTE&vIE!^BNjxC=2P1a^&ZQG=k-0Ubb=60l+g953-mv3A|Y6|>76TrEs2hh77PYMt*c`3RrvUYNMt(};)C4Ku>km$cPLx0vBU}zwA}*)O(+|S zR+Pf9+V9R>cw=)8ReW7kd|x=oB$Uy?&0Sg2@M7?^M{KjPMxk3&+>>?|7NID@z3L zF~5jdbz#*^VT?ew2vkdBT!`+|)ePm^A{;$cY!No1DtoK~Uqz&@A}(q#N3um|kZEN?MOWbaAl;z*vE+y7 zj%Z`h3%Z}?(iN~V*a*6nf&fPSrCrX|a!{Y~~G8Wc18p%noCVG?vye@%DY71Rh5jm+RF7r}iZej7kpD?q|%% z1Ti&KD?DNA7LLMyUcO(BwW;0l+Z0PoE1N9uw6RS51fgSvZg;#{krtbz@wF=C#2uN1 z&DD!+X;Hz8xkTP2P3zfrIPpkKxro=@L;pf^gqg*~;{BnapWt2j^Q6zm6je5=<_sTUrOMRyW!I`W6#_#KU9xc;~;oTVE^xS}X&sXDL zs5&$>p2K^VUT5%v>S_3-Or>6Z_$yhO0eq8|^WkuYFZpQM1aNQ-uBHiX%&y@q{HKcj z)$b%8LoCeiwut!Opbb4sd!1?XZJ?*NY#MC?H}+U37~=z(oF2^0C;o{jDlzZI=L^g9 z!tMk52hQ{X4mqctGiNwFSz5l#GHqVE=a-$0xl4Q|1nH^NdoCZwmlq~@HkEcCIXk`< zpAsyak??jOnGwf%@CStOm_7BoG5JdF@!!jp6PiZEJo^|mJuK%E@!=d*9(KZz<7bec zAKPy6$(TMaR6{OKfwWBMCcdB(K|e$)oA&qAp8hf7#2>n}&5HJl^3?$I3{+$=BH%B@ z1bXPeP2}85$e7aFjDHzEpMv#@FGBzO^vstk{hr!BtboWbCHOscA7N>y9$&dhuB*X< zkG~wtJjN^7mlR*)>#m*-eq_>B@2T59G)a^LxB*L}0(g5S<8Q><6b^GKO+Vvg`Sfl` zfg^>bry5vhU>9T@d#QRRevavIJ~S;s!E!?!ObpRBP%#($5jA2y^pGvFG^eiW6EXKY zZg3AY3p!_&2X*eT@iNPF%XALxW!k$&+sEh)^!T>Uew&ktFBPBD*rr#!Li5=bFX^t= z^y=4E&)qy4V=UJDot~{U&F|9t|1es2$x?|=s_In-L7DiSP(fK^X`5*vmu*DZ7U}X` zySdeiyuC&hJP|bJ?Xl%{FI>p}<1v1|i0{Ny?XJc9F1!nC9BYA(Wo$0ksc(k9sNv)2 zuzC1Bo{!UbEMWXe@41+B23rmrshPm_=Z8Jt=sR6Y^(7|w1{O6^ErE}QmiW5AqJ7Sj znv3Rt3k~ng#Yaf22pYLXaFi>O5=n+D#23U+KQc$EIz)>LJ?FOq=Hvx3=q*s|v%TK< zBgF4XeFyrP{CJG#&UOI)Q0;$WliMIZFV&m5uecaV*yl-yndhuznyZiiPH|tqgG8s6 z3iv}WSi_RBxp)JnXgqh)?A?}&Y;lJX7Cz5fM`|TcxtT=a$h}+2Y1S z)IV6U>Ar}nbqL+1J}Mh9UM9OBI^v%4!w-uKuz~*9-~@9l`A{N}8NAr~4lCzT;}+}$AMzaO1U-{x^Fk%{->q2iWukxTdDR{EHjOtlq3j+idE4o|kn1k6kG zB*Wx;AzjX9`k?k!aCamVtO{8rdxeq6MAeD^J7jX_U}x*23F zk-8f(MCZzr9t{AkJNQ2g9<>_+WkD7aJ|ql~NUwzau>L#fg|rd%ccFoqG}j$)d>wC8 znvrPvot*kiM+1KfIR;InLh}{vY%6c6{Ot3)(1jAU3Dz$0ttRLIu_kLNe?}|^r|B!} z{((i6#5qe7L?dfj>M-h}twdf`bgIi zV`q)F6RN8xUn|lpUdv3@lRJ;;^&0Z}zOhZi*UEo~Pv86jy_VTHl<4D+F|F#kGlE>! z*AI)A<@C}s=|Y?ZMQf6tJ1++Uxr-hOlD8G3b*{AWChPH`*gIx2@YTz$UZvvOwP|PZ^+P#d_ly+kKled;@ z36G8g5%zl_C{KDnR0!B95_>>ke=o4bnkRJ&Iwn@B|n+=soeLFqS$4eREIh3KZSUPr1ks%~5)d zq1b7INGghI{6t@7QBC#2n)pQ!nvgG9W>R(WAQ@5^+x?kqifJ6Ed>p__Ign@{cPIV> zRZrqsV7$P1fe|L;G}_x-3#%TOo5FSyCD%CU8^36oCw&iK3{m{Xi+YdWwPglk!HlW1 zNrAou_xg$hY$q>FPAH?khjy(lvv@f=;E9PaHUa=_23Q(otFF=*j6+E#6kBRQ@GO~uJL+KSmGt<#!Al#*H;qM zQsX%xR6|flgXe@*4FoM}^qjD;ky)Zq!nZ)tAvv7sp{mwz{J+e-34EMY_5VLGzRrxFConIqdVGR); zf6r^6wIWsHvcU~6GGLHg#$#>xnEWfG3?1XPu&DD|M;fN@2ZFD2kKSWO+e36&G;8-! zRz3C2Vw#0~2hUO)O+2ZJoS&hp*z?wGE_tKnb#l8#a3dUi&eWd@+yPtCb5e{x-}IziCSsFPD-{p8J9PG9*^Y zkQB^VTSMKhLT6{NGVD6hi2GZd$C1B^H*4oN9Qo1k2@XC+l&S)u2Eg~4~5QRX0*D~>L2BQWDBFz?KC5kx3kQv zqZ`ePfMI^7kz6-!Ct;g)_*+5kbELv!ISPs(*{G4I`ciWpm3qgxoS$2*bjcihyQA+t zi}S>~Y!gkP$NEF712-E*cvYGl=Tmd34psu4e=RD3tKpl!jX17+)u{RMy$a!64`qrC zQR$o%bxq7{z6^bllYf9$bzL6&i{EVVILJ0kJ?WQ8SRQ*GcVbbCs!1@CKb;pR z&Aq(ttIM^RDgwC;7xM?{KCNQag?h_BPIaLEZw-XvVcn=YjDQ;&-6?!&Yo8QfB{#4i zf+si_NH1hWMfeAz4gBR#8r?_Jvi~3_=yHPQSgcG!lXs;)ofPuJ%o)IiElj(dh|UA) z20O%BEWZ4UI8nl7M7s{V`DM*kglOSPs_b!q1DOY*J z_Q!cZZcZif?IFvsbDIAlF@i+8pD!fvURnII5;%$kLVxoh{ZWm)xCdb+v>$<4D z0dVaNKyiCB0$crmg3kgfx6MZn+S7)^`=O4n(WSr7Xamn3WP9MGKL__AK7bZ#dry5L zk6io&#M2{tAvNwVVD*(tSzA9N{e2f) zRTd0}*tfZ0rY@f5YP%xAG?|gS62|zIK|%5~$t46O%7Vc3CC{wQoyq2zer8Z=rp0q- zR>!k7)jSvRT*UK2o)_|5%yTi%=K5?43!4ALYja-xLqGqKAL#p?RnsK5`Ms<{9=OjT zy8o)3TPv`br5muYV8c`3?{$vimVpyqwT3HmpSpBNA*;Lr?y8LWYe9zg7k+z5aHl1C z{kSga?tM@bB0;~^#y&}gu_1ppuzhe~Jd)^x%4>;!&8%TsPgNymzT3UM-=<3)%6(xe zJ*!e@g~qfzoWx|m?)%Na&t3`n>61nAS;Ix&hXNUw;?wGSziBdVsLg$dss0y}iA44{ z?1SC)(QsTg^T$jEypfpsR~J9 zZR&}t`k8;~z6)b7d?E7wjbwIxx9FRI|9TaZrzKMtgu5McSxLwoMlBc43S?FP(hY7b zS*FjQakQ}0XP`*FoYcq}yAMA4%Em{W!V905TzM2G^6k*r>@&7PTsM>2gq9Y`#ru0S zSh6ya-_`QA`s|bXyu+^BuZx1tuSV0K2cG`)^gp|~e!OZt`-n!-^>o(KhY=W5k_R={ zty;=%XX??t3hAAFEe~sI)$it-tajeD$9&1omRxN4*|UB7A^y z?K-8!_4Gl3>{?H6BTZ_k_Yoy(v=mtW<9G#-#eye~FA_RGObw0mb$o2a)9p@9B*CgM zK{h|+wR5J3MsgjD^Vs!@pb>(8zfw>5J%SnMCdaobijv>YC`r>&9(|g%0Xeh>SmXP`occES`F~V&EW>r4+iKs$)h) zPA;%37r(o&mfnCQurxL+QAl)@u8{h<$`ij(r6}hX_%rz%cfxd!0$hD^iw24^zy=Is zT%Y@fWK-+AI*y=nC^F#h5tXUx>ASP9;gP5oFD6fN<*SW-$)mB>foCaNS7nmt(}ITz zSF3TpdN4WdJMaE6lj3XMji9aMK|yM}{-ZEoP@nyKkU7_`yH?q<5WgsXG4>VM%`Za# z9oiRdhDQzu)Drp?9a|C@hFQp(fKu1SPC}#d^G(CiUnmlO%5A)mqIDhQdlUp z%#vB*%5U6AR%%g|*wEM0atk_869$ItWYB#Y9!T>EJy*;B=mc0-KdC%)<#@%4*72A6 z*e5<5rI-yqc{bf@%EzJES*t-`Zp&|n4yxh$6sb+hydwN(8ho~S9 zO{7*+Uc+m%bKfDO{T0E46V-St4crg9e@+K$-LLl1!LrWVUyw18GvP6YzC`b2eeE%S zwQG{ugMA0qu@z=c>h8qY8@_i8SE;kaf;9}$l;mf9%#)FUe?vv?5Qpx5qEP2Q3A^H$ z%((1UmZF&@gp{yNr~|rpjH;8VzIW_uBMBw~Sv#Rp*@<#hbzE`LZ%@ozcQ?4?fdfZs zZiot`ApOEhW$ACAIxQ;rwRrg5T(`iV={_#00ta`>Q{bnn3({_mg^%ub&G)EUpBr_l z&BxY@qIaw=9}7G2svD|fac2O|Aj~!bt8fZwS{qcxOdrAq?n|Z?%U=m1uy^KC4^QN> zGGMjV2U^@>H?a?M&i@3T8TKm*t~0MYm5bA{`6gGQlna36c@v2j3WjsawM~`5ptArx zTAf(|2xjc`eZ~2W-h-bcVwjIoo6gLZGYl-=a;RIOUA&x9C^j$0_)TIs`OF^##*zQ^ zAVz^fB7XjH3qpM%?b9IYax2D7+x3gW&CSJk9aBD$3NGH-e+G9SFRtjQ7_nbu#0=XH z)-iNG=PvH+PG_CbsC%1>_mPRmjRB8heus^S99A)^^1x|h7Dqcq&mYxy!1m!ghrCwt zUiUFq4bvUZ(}pe{(or!V*;u18YzF5%?n{orvW~8bjP4vUZTRA*z!>*)gwe#ib3A@m>0Fc;SDYo$6lM#5Df+X*0R` z`IJ#3W?vMWU3j~Qg!r{{Hfa|}f;Gq7s?u09cW8CAG*60Yb?j8#0X_b*?%1*Rcgdy6 z7OqKdXjstF)ZN)K87RR8RFflJ_8wV=Ozp@N>1a$Yi!`^dY;0|daIID23f)s>>2)n{ z75gx?RjtWou_cYov1DWGij|Gr+ZA)sW^oYdh=>W--WK8XyvdxP8ey+rE4TV^Gv7Ha z9V;4}TAGb1e>k=@$iVon*+-4vweQ z?3N@~d3ChJ5(^j3k2xl>Gl(?e=$I7NHEZfrw7Fu+vc}b`r*ySUZEkPsnyQe=E=OHc zmL*rNfO_FF?#0%!!W4u0f!yxNS3Pt99^zOFRqw~e{WOr1N_RDW#6s@|I?kX!dfe+C+T)=ZUdF{p zc<5pet?cL5!5X*}d{{{nJSMe$iDSm;MRv;^ox!+i}1?}8?u0do1(+6sBc z%E*39Jvgc2KqndQlOF2up;vfl4baI(w+_f@NIQO=Ebjn0F4`IFbTtp?BNn3>Xr@7% zfgIfrfLz?yfgC?|DqRe%g>s=ZnfE>RM zdEC)JF5R<$PBEF!^Px+9=vO^XcYdF0bdPx46Q1s6kK65W?;jCLa3qjRZIQ<{dT5J> zo&j=_&R`_qq*?*w@{t5`pl_yy!0w>W z0J*q1AeYPk1UklIbkP7iewTUZKY(UiXrISD3FP9w4&*qWcwiWJHjtBLuE$*n!(j9tmnA-6`F2=`zT#V&F)yD5KA9{@sy}{#t1myVr z639t^AcG>u?+_rT-BUcS8px$F56H#65Xi;7-qYO#(WE82~!n;+}k1 zXd7vuIfi=z$no0+)Zw8 zWUf4d@4Y6=5kNHttpjqh{5z1-!Db*A<7j%Nj`OKNXIP92fL!P@pfe43o2R?i(>?5Q z!((BL(Lf1{aUsxbgF1m~4SEL1g&uKaByyJFE(H3xK}jG-mjZH9-Q;nv1G%^-9~J80 z<3LW*bAjrN%W@!>-`@kdl6e!z@zb#kF2)Cd>Mh1Rk6Y+*p8;~(xXy>(4CHe3Qy?ev zka3)}VO$Oea-5F>I^J+6dE9A0PLqp0t_8@+d^wPl@2fyg2Yo;;zt8*7S3ERgd???C zfaY0hbAVjVF9LG>E(Mxzp*MNlT^_nA7UlyI8#TGJ#W6RANmcwsaX=$|C@wpo!yyHs zREhwncrI?thaz%-o8Tcy={QgGIBCqqJ=uqz>T%T`n(ITQ9T!7dbdd7uI4|_LMIO4) zhc5QGW)Cg%p({MD!$V0Qy4vHe@KBErO?%ur4_)U&H+bC59=gqk-tKXCc<4?adbh{j zHL%dZ+R(PnxLrD*< z_Rtj`>hTZ^BA?(N2!7{yXn}_odgw|Z{d9)FP#3`=ivCLX`W?W(eVrJfu&?oNG5?GY z&q(Au{OjRg0rLoNnq4Sh`oU;!!C_jvT4f?O!%(1kL8zf2jb3)?55E!odoOwRC!L)o zu|5b!^AZKly7N=B6T%<_zZ1deM~Ct~IiC~IRQ(q;ZO~}0qrmwZFq-iwVDwo_^Bx7v zJz%O!Fk8XwEWx}0Ml&IWSbq==tw#a#4w(C6#hB4#Pje%Vru>8l&6&JTehR<;_fB|- zAzkUO{Dg)5`3u&G!p;5@rGR&V# zFl>x&TGlB_{X#zPmeMf4(zeu5I2vN@<3xp#)Fk%{`FyAhGrbIRY6+(NoC?w^5>cEb zGxID(X@O}gphWYTE)J~w9UW4=2G{0*hC;B2Szls1(S?+mPBKi zlCFVwM-~LU{x6+d5vb4|N8n^4$rY{4=oaI23_~XxEkQ~P`=;#Ta`qBZJH{bAVj+-M z)2Ssyy7@{oprug@DcGGDf#$lxf+;@~!wTm;3cUFI3vVIC$Uq;#!56wu;>6=i54_m- znHZ)l`G!WO%iCA#PzaZ|R!Xm-Bgs6s=5QNUHU@W2SOgr7xfgrsY+TilZ0}|Uz0*a7 zU9x?7L#M@D-C(cnOP2;pS9xjR0}MPQvjI-wCiG0PN z^3yRkT)y6z{MSV;&G4_CdeLF0l!T~=`q%d~@YyKiP>N!7 zgKp~B$;@7?k@K>Hjxp1F&@JBQO&yUSuVEt9y3u1Fr(;Zm?izHbA7TWjW1L{`;h!OND5E>!xB@r#)vyP;2g>M9 zD(TFL-v;O&9ZWZ4+R20Y-2vUUL3Hu#_S`3`jy`bikz03ftxO);AFovFW=pvHx+>b^C7C@7H~!f3W4^0+qHyA_Y_WBum4$!T3~BCBbFFZx>8oMCapHRQB5 z$2O|o#DoFhNIdn(zlL)kPi^+gJ0&O!6CWP8PTlZit(IYlCOCw{&UZEWwW6a3;db}* z5L}TwO?Qt^qKh)Dj9LU*B4vzr-Ro8hZDQQy7D~A@V_Ave$Xt51Xnt3&uo{W{7A4os z5#3IYdBtLNXZ&1NB~D}04ZB-|6;v#E7|z;}X}ZLGgRSBqH>_cpWP-40Vp0$)y9!Uw zV3iWb-qz=a*XF(;ZE)gwRU~>af7NIg`AZdrEw)9B4xQ#;=szCFIq0yqhs zEq4pX)X&^`)rZ+dZ|T%kG>xg7*u<*0o#DDLBoCL?q#{;KO>L*!fU|=4M2@9&jfdtA4O`Z(?ok78R{> z%p#q+@myvP_D^L`o}AjVU-G!<#_Xps?b_UzsacWTTPl*%6WJZQ*JjJWY4M&r$0_t3 z){VBZj4qn_3`ABxrrCW#LH*|La8=$|@`==*%2g9mdxk`>l^^J46@BIo%C0uGheh~m zpK53B;6R~W-;f=q_6$q@I`#59wf%j#n!WLL*I8=F_`rdZu_}2~Ja@~T2FJJsXiMtt zD*nc+p6=!h|5!BhPjX*7aR;UN6RL3Z`kVAlg}y@-I+{uISNEDPLN?ZN%_R+#dK*|O zhpxN#K0)bK+Km{=(YOdDSsBgT6|h?;lj@#X#Of`rQF0r9La(vwa=-eqAkx)+R^PNC zPkPk0?nj9#88`8cPVVD1wT-Q3V^=x3;_Do(m3w{z!K_Btf@P=izz6g|jD{+cH>KXL zOkQ8Ih^)3hW09fApQ-r181rA{mDTOJ)2pmRZtkm_`FQm9t;4tH4&AB$g^jm`RliSD^7g}$i1oS$eC$Bmif%DaqiMrgqW2m~i z7=bGXtd*|K)w6X&n-BS$=+7uzzbv~fg4L+K^{%9{uVr?3@5kL0V*?*;wZT?sO3%Af zvcl@_->Rg3N<$Uv{<(zEYMR=i>2Z7DT6=7I+!)@eu2*kH>)HwxrnBjI2zK37bV4}U zV;eADgH>(a2k!c0xcbwru04|j@WZ%nH!z1dC8B3M74A30B|M)~L={@rRXV2#3XOLzj5Lg>`t^>0_#e(^lNIn8l-?f1;F;R-0}qT5W1=V{P`iI&Dtc z8sB~TRh8Ww=9FE{gi$@WzH4!A{{7av_mD7E=B*%Ql4Qv`hyR?h#gf(GOp?v^9!cl_ ztmKFpV^Fl4py>1-ZHoH2Mb)~?+|b=ARlZnq`0gI9LLSqN-@k1e*05`8aeH@wcJT$P z8p&#u)yT9!mD5rKvret}?8sm_bN37QC0(zr4A{|Os^MrZciVQcd?{E>SYp5PbEjA4 z9v*i;bXc-BVq~9J#hHbFiKeHMTe+)r!T`2H{R6_(p6X~?XVLaFjeN&UO=lRfTfj_h zLm((?R%b&))BEex<(1XR#oA~j?~=%^)zmE}7ER;GIeBK-**t93Bqp~_sKB(N8|RGV z!iSyj{NuUQZ!0RE8@_$roRMWIhN~>u(bNZjxsUDi;Um%Xca&W3*u1f4R~4t{?M#2HhL1Va)4fhp^oorgG0Wn?Thl(7pdD zc*jkr_jirOXN{FxRBGjU2nflq5|3tHV)3SzJeoP3NcnBx!gR(ifqdX4b_OYO=DQ@I zMbp)27i&B*(fjQ_2?;78R3dk)45u!)R+lG}Ic-L;T!kAerc12gUcb6t?nW@b^SahQ z_rljq%pxecFIXz(WD_a2Y2%Ui<9-`UsGeOI8QL(*xmvyiYClG~?H%BnjoXO$?mo=^NYJxwKzCStcSd~{kRydWmOs(;75uI3 zWrrw@|G@F=49-5Tp+~&uI>$JUYf|qC*Q$yM4<#@pIU$sDw)%z9bR&O_<<+BoI+;3< z+Mcg3nxYSTst2j38q(pbZ-*{$2FkPisozYjMdw23r@$SwI@(j^uvUfZ3C73<#v{I} z$-R&U{RuZd+r)Yk)0G?SzGCf-1-W`1=LE~-`=-B`pGvW4JQkFJ%g~+DvU*Du-Cqdv zmRw()pKHiZG<~U60vl7jhoE;#3^Z%Z^0l%7v%{JoJ!*Sz%$7)~}at#NQX7IIapX=|@2wJ^@ z{Na$3f9GEx;>F1)<*sJ4IjN-=g3aHdpi=vFeTHe#@2^n@frCVsj;|h4*ZVCQR;`9- zFVtoGm(H#pk{lJx3~;3vY35R*pmL4L?ta;npj=9MwUC?CpXbyULIi~!_v-GN zo}9X^6}wZa21Alj19(i5u|r4eZa^ zX>(_8>;Csd?@dZRWbm?L%M1tFiH%UbyB^xg&@I9{F=2VEk9Q+lcd7G&K^>{;WRR zudRwVQh15pHP=Z0;9?_9@mO+}jx z*F&;q~usU^MSx;;(q&`o1WDD*Hb5P8U~uI ztPq z;$*Ux8eNr}BT>1?u_`${wFlSu30T%=_srEjxXvf5+Wd}qJ>QVo{3fjTVG*Q1OpM|j zXGVi4$Y0LvE|~f5Ot14%iEKuW%UslH0%#E@1S$4MKt%H2cl9m435%tIzD--L9#$Yn z@-ygv2)n&|$1YO|2h&-0G>#WF35(R|Azmc1KEwx}McmT7zM?QHFGxr=ZL0 ze!y_NB1zN{2qifuHM#=M>Lp>e5h%lXnSFD&4KuxKG|?ttAiH` zll~fksnOLWSM54w+L66$y>m*h05gARUUu`LXw4=Fwf&4^DZ~00_9qzaY4_5RG^^T* z$maDEh(R+la$I4rGeULHz!tuy;x!bq);a(HDYc#7@ zmwR+4;@9S`qy(8Eg042Vatx!A`s|N`8OCU)7LwHFmq=|$Z8jfGs~@f&UV<%N9IdK- z*4m+DN{DBlkb%A`!K@>P;ZFP;rw-I+U*HVDy6Bm&)lYn5_gXoTYHl7Ct6)TwXxg5r zc)uM(Aw#17DMMp#Q(XmV*o!6M_|6vgTz9-FHv7eN;s`|IZ9f24C^*mJ*F^Nakc8@H@J*G=)UJ26O7+xwHJ_)(lL zX6M|kzJU|qN?Kfz7bG0s%|1<;U>9=eufo&ha-(&A8I7AAW7c0IJw%GHXAdJ5$!g=I zpns59^QRrepl^VunEsrJXSWL)gdBA3&sPuW0{m7*_u1;)n@i$+VY;9Ru;k>VLMz#Q zY%LbIyXOTwO|1K5&An+yNUr({dd%>PW?q+s{hD;M8|2qKApujB z1;KQs<}92u|9Fn&Ju{Nq5TSQo*SmsyPZ|HtVGd&hjsX>-;gfS4jwcj|6TdfXS2HrK z5`<}ga}T@ zL23hkV{@;gP46XI{!k+5G!ffaU&HAk1m=f=G(Q$(>_p3$4T^*IYu^OTf6_u{pH^9>?i)t4NWdi$WO z#=tn7P*t0*38-&kQ-K<6C_f3DcIjho_baHCvdL}@WMJmbK8>w2iFW;G0>hk7geOI* zQ#GxH?*5WHzM^8+jV0NuE;=?G9}=tU9sd#$nVR{vJ!TKsWAe*9;%*vM=dSNW7lpa$ z*sdi7m076-b5_AY5OeEt$8DZPS%h6-mH5v&?K9T>EEj)ru1G@N-Tc5b#3iV|P>O-; znX9<2JB-memsLuXPh$PW{v|jChp%4~!>$fz!sy7xJL%X2Lq95kJ3AovWz7pS4D4BI z^REv>qdBDsGNHQMWP4=UD6Qrv{ViS#{;)J}wZRE04~S-Cf?2B76_hcR;gDUevZum$ zf{8xVY9);wzUq$m{yS#O2{ZHoyN4!n$0bsay@oep81xE%U6)tapZ1PA3=xC4(ezUU zs@u4~e7NqKb*guxwnU1IaO?qpXOiLQ^_9wCpk`jX!X zGg6;@myCQUuR&bsFQXgJuBhd#11k8@;Yki;=MS9B6^UlL;LSnnwH!n1>T%ENy{AOe zTAQngX|C!1r<|3$OP6vEzYz|NrnPaB+45+5KEUp4-GoqP7gPu7Yn#Fw?Csk&jQhAJ!nx|1Hd&lVD44nl4d1}x(3$j~R=F!Xn(#CB5 zg!L5S7Ubf?#dN=C6cQ?x?}`r?YwG=b(SHy6{Pj=;2d0|R zE-dCapp=JEuznPIK;h&dbjr zFP>6JpP+z$CyCt|`)ZRsxTu!uQ%k;ynb{(oYHofWIIOQOyC?re7zA;n>65@Gav8-_ z6zmoq(bDFRAb^9&bqsc0?oKPdN7eFCYSHu}u)d?u0E~`4J-mDzwEDaBUG^xOxry;y zW&l^8$lg5eP_u;}V)_Tu=B#-_6k*pDyROakz9ve#XC0x1Wi-_0E3;Un-ez)f9`C8Q zF@1GXHXW-pdMD@5ed_Is?r*uNA&abr>kIU7(vT#Yt{c~5q<4`?E4?AD_5z-xQw51|R+u$QF}d3hN(A-dTy@ueqH9J`-&u72n;i)~8^uj8!sYq>7mtj~mJ&AY8 z?Z0-@A2k=$9S_RWCTtn<6{ekY*GmdF)9joS9kDk^ES_8YcS7QbyOS8TxwR6ZHh25D zJ$#PcU46y=(ezokNE)T|IQg`@W6|_1As$n=)Ec|Xu_W3p^!yb9ikomg>ssfvmH{ek zNxy%s0R424dXJv!6W)Ofo4&i}WNM64Ycx|sOzX*VdeAQiE^)_G(m@Sa?j2K;`7=%e zDw9pKl&PIVPo<9N5?{kkJzYXTB%YNgjy_iacgJ=*h8L8B2ERIX*!*I2f7}}Z6D?uQET01K9bOlf6995RQ zZP~dWALdo!n*C1gd`#=A+)MCDPUd|F%nRkKJ_z>KJ9asYND-N>TLO{GUy!QqH`bud zHJY6Beyc1qv{>=IJB(6?FVc$)d0gCq<_{e;Z3Il06>%{#q%a(D55Z6tek%%ckXRGeTO) z^$t5084}T&t(33HmvwJ1=y3h01t0kJbO;o8z zH&C-8$+Low9Ikt-8TNIWnaW+Sbt|kni0{2sgf=z~*1G5;x%RP3ipbp!yEPC8^yZn}XM&>7U0>;w=>u^`ursr&{`2eH9ut}RAO4`n$xEO;~JEG>rU zg);ITGO6BCy1OXAN7LJJ13?tmQS(ub4A7)h#3`Eo3Nf7gA%8aom4C*X`?)e-Yx8L9 z@SszXB;I@GI~s(qJ%_lVb;kGxZMA6>6rshi;^o~c(S+vomfkQY8|FvThsq!4)~e{@ z9*@6fAEZNdHv)=@h;Zp>%N~g?VhUm+D z8O+~BPg&orRlW6-9MXs;G%6We$t2QWmzu2BegUXD%^~jt0Qj#yD_6eOp#c0d83~+m zVR}pRTIq3{;BD5}U>&vx4B@Ut=%dQ2=uTiVUlr;{@KXOo+XSrpv4XVJu=c=1zjBxT zTPUozP%8<-NhN)!(A?C(1$jJ&*?VTA1_P8|j~FFCqTYx=Jj(Nd7~iI5LyZ26V}=Oj z3I1Lpxy37Ci>Bu~SouB$-BvC0Nsg`0eOn!lfS$F7bn{YU;J3IaPl@!9NPX^ljehHLHL-xLD%2kM)#?=Kr%7QOGs`^i0na55 z>X{Wuj;_z$s=gVQ@`2wTBwQ%$v81@OAg4TKbnXsXp&cM;##K(-$0uoZe0DX}N*#bY z=0p}Vo36R$`TG9M&3&Y)p+uq%kJ*p7;GU=S6Z)P3{5apFf+mWu85ELDkWvOxlRkQ^ z7Qr1vv>}Et9l}VxdReBIp5SHCz`q7GEox#GcOL^wBt(+a}itfWg=gjwdOh=U*NAh!Os><39QY573VXHJW^&@2*gjh!~*-XAhQC2eX zbC9&o6=-0OA0avQSwst=CfP(d5yF6?5{j~BFYD%VP2yMZ5^4fe#Z<*FVqHlPcN;-6 zaRs^hzmvNUg1~PnUVjbEIcfSfaX_zB_R8qBcT$_)%p`o2ubdO4`p(jCxuK%n$k2LnGi)P)~mpKTSB5+L)J%Qd~ z^M0aP1wNFL&H5~UOWDnxTjlgLxI6MXy;kLQ3u)6RrImTcUQgyfX71X(V_xepx_It- zjm-Eu!F@<0*Sz%*6)T!<$NSw~L4)zu{AhX!FZ2i2>T3jR-Bk6cWid?XqlDCDe?aq@ zrTI+ltVGm_;J8h58;)YTN__)qo0zp(tEuw8nUP$MkpCsp6y|Fw& z7EAs^K1x$Hv_{S>paN!6&UKuMk<*_Gj)c{u*(@?1&%T-8!!;b5AMf@jZK@mVzUJy1 zhxSVBAOT~f-0E7MM7BGU*W&xIJY*wduq?E_hCJ@Y6^?od-Qf)6arKj=A_>)Jo>&Yo zB0~O4l&;!Ws=StHMWWe@L8F>CtyG-N<9FnuZ5=X26bz1q(oYwXrQ0A^ZU5HKCFNGr z;A!y2{}YW;e!~@sxm>w&?lgdvQJvTBW1?=bC)rkUWr2RB~KKV#f_ zERSXcC+sE@sY?&7#4KOSzeV!C|HK#knZ%E#`^j`rRY&O4o?I;JttfSM)6%LLw2Lf{ zp%W$L6Y(@6=GOzW-$)-8PQ8E?HBwjLa>9WiN-e%DA{;wXI(sN_AfEMwKEPUMl^e@4^_EiY&5`lj;89REE&Qc=x`L8?g6o1e^o(6X6UF%9-GSebd3z=Pmr3ht#YTJyBr z3pAI7$p_vg|7E-?Vo6=$gkXLq!!zou6?6V&^6L7zH`}ZWOui4X%YN1-Wt5f7&D`6Q zKgn)<>5+W3y`LBcZO5PljdnJMnm@qZ4nyJ-Rg^`IPG+9;?UVVAFR{dM5sIS~R_UA#~Z}~B=Dxaas zd+)FWWv6Pt4q9H#A@F*)qW%NHiCRsOVGHp`4g+Z^tUx#)FmU-V!^wcJBOx8<{A(*;Yl zpiC2q?4CsSpSm2ruX}F(N{Yy*AKajKiIo>q5oqF&KoeVntX?Hot8>wHT75L_*8g#b z9?o+Y+an$!O4x_JK8SJ_QFPBkc-BqAsX+Q1bCdJ`hTm{}>9v*zX{>CN56H z>f2b_gXp6_FkElqv7Wc8RvqL%<3GRio5SH5&76#(%1or0y54(iKtT)H{ZXwVTSp4v zGSHqY_TM`-IfmKyey~$TyA1%F{}$40t`f{HFHL(sOGQcTtU9%#=CG$xZB;zArO{-_ z|A6kcoUH3j|ILuD!<-(i+SrYA3TreOny=#PonKOQ^VO<2@aQ2$W8g;vTsnql(B$2# zm^6~9Q1btjc?a~Qy!~v)c~-`BkQtp?WmG?ZdZAu@q(Hih>Ic8FUjOsL>(-Or z+4?Y=$gQ5wq59p2=6Apw6P+vE)$GYdCr^T^%kcr5RUNMnjDJx%O1_+b7)?-3!_fs7 z8Ol#&b(e8iqu+A5Pv1^R{yOMghq5-cZLiJ7Nh6x{vrL9FFO@8z?_xYuGK!hx)7keZ z<_+aXb>wl(G8|h4D{P*3Rl_bN&F`o3Tf+xrW(KeQ6FH0b+-XCUck}0|ynDxfBB+F? z21WN%(C=MzhrAFLopM6-ONcJ#8W!D)S`67cR+~?yzE^)?29f@%daReiI`m^<`zR|` ze<0Jh=@^V*ZnS1VyJN5W418QAj$s^JQf^8!HG0j(Q+JM2HGM~0(Y41+KW9NREc!l& zbGC7!bRo+f6!L#DoGUZ)4H&S@{BCu)_u-p^rY|)3aO5Tn6s*x(VTczhdtmcV0|%Zy zP1V0hw{N;kUCpEr7Mkf&cVj(&O3m-G9ZuJ}&cwz|gA8M{nQ}CJF^ymT&+5?)9yo5I zbd|5|3iOtqW|+!d7P2?nO%*KupiK@6c@5FH&|;XP-a^zOmE=!jq)b*cax*gtvhsjK zpEwBpWuZfJeUfAg=DLbORB3)c=Sm^{297R&xJ0(v_*@{>@}Q8GV5sVB^~p&>p+WxT zLk52MGndyn1eYn|J{Ooikih(r8gR1Px& zH}MUXQw!nde@eawr~b68mgU*GZ)(L!BKsH3Kvmb;b-Y^H>bjDAQL5|xj!Z+rEQ)@> zZUtxCXt1^{7y@E(i^WC`_Xwu_6BAhvp@C{5)mM?2I8@D=2yKp?h3CMN zk2y7Eg0DN(3e4SZoBCzTim1VomM_)gpqKGfLiY+E-FQ&X+oQBwJ-e;vZDyoTqHMJ2 zVm(fn#PvN`5kp%W(`|cEv}>7LS3d`_TOFds-o2wrR+9{)G~>C9=DgK$QL;AYogq?c z&jIY$s#1=Iovo?t-m$YuaNxnfB8J0X7NJN!X>M^=zjc#_`fbfj`3bn}F1^}~RIq!YnB7;Y|K;p5N-|gj)H~|8VT6!SO1(`KC|m0^ z=wX?%)QRA0^pyl9dOtqeWVUW=khvgy2l*0ugQll~yyv;Zg1PoIITrGk9(1ayj092Z zb^YMW0~`5DmD1MWYRX^bZaRx@9C|9nx|K6rPNh^EVUy+)lC~AZxt~Wx%0jHLbeUwx zd_c7~mr)9uY8o2N=&Y7+>X1yX|6=Y<(>tq)SJyjt+@davPN_0$oIM@ae7WspyMWWE5X3DwKe}km$Qf4JTCe zpp3wXB(FIU4!s*XR@A{%U zBznu%x`|Jvwz5maxx6@Ayr{PKXfTF7Oa4UDQ?(U*(USQOr5g{b_Y=1(!vaYx^>(xS zz#g5$&JA}y!ocUBRI6gl8pLdkvmtE*y=rRw9~tGXA~H16eX#UoTQvuUC<|+UL`bml zk#FPIN=MO+H`@%>?yYTSBCPf!S|i7G^SY5|f@ zrD_A=H4p?<%RVkD{}l-K|;bb}b??G*cmiZq-gYB;0ts={=xV71mH{8HTMWNR6M(JDe zXDWmXRPA=k>h?;gWGSM`|AzPAyJP762X^7A+>KVz^p7!^pp~?pd|Kq9bsHkygbD23 zUatdcWDJ2X+~9RpGo7K8bAopdiAQhgkEi;FptsC_P^WEZnV%bM?l;ruPSmp1DIsNs z2F6oXrQ!-rR*kCars(uj5mp1+;?y`}e3G5Z=sESovXU?BzJAtdp~-pFSaDrOOts$P zA~=7ptIBhgXs^8N?)X)e$q%YtPE!@>W?t5nAoD`EpuG*L-^QY8?Gg(;23;A0Wmtmq z8cY}F6XUl2)3wAU>p#2Dt9L1N{F#A{&D)0lqri29n#y1Cg+z7!8`eY)>K7c)J##}S4};!+&?WOd z1B?A{LF_Ye?}6J6?aJKuOzGp>#4FN=+b?`@G_wKSd+W(@=^Quhg0j0%3-l^BsWyKm zVK#5?s#k>uFKRLM3u_hiDgP};r*BIy$D*0rd6f^nlc(RSoY}}o!B_sPXb`^vB5bHw z;BqUk>gn~4-9X(LP#VD$kej{R)fVa#o*J~#)E^_)<-D^N3}nuS2Mo5uAaq0;f@x`0 zEPn!l<}YffGaJZ8I65oIR}D(Z9HTZdXb|#0pgb*JJy)2TgYKO>ZUGH{9h;9P(B`Wh zS7%^h*zkX!vat-ds$D~w?k^h?MvPapMD&XXE zlENcEI3$0e<%EE@SPB>RkX}X1z@FFaHIq!I&;!k{98%N}BJU7P(WtEwUrY|$<+I^P*b|T=X?grAwD%+d#82tttNb}(74s?43 zil>I+LS7>?x*5fC%L*Wu+v;_vHwus((Um3Ghi2Ye9fANVNJ zhBaaY($dhJEM2Uu0{pAH+#$&M&@?!V9~rd;`p!1Wo>x(ErKeuBO(7`C@aq)P@Qy`Cw!sBNb&E zQ(<9ZieaZxVXFz!7+CXw8a+Na>MZbhPtcb}QTbnzq~DKWTSYU8>k$N$rKXGHikl>E<*50`tM9ja4+eBe6mnSTncsl;PiSrXZdpqa*)Y=whTdg zOD^80nNaLQUVhEn&WYYG$Km>dYu+|f&kSH1`LDy>>0PxBZH2Wi=%qSQygBtV0q6BW zKS#BrKg^!=+^-5pwrq$V=9gnG$X?M=8T|)eBgZm0SiU>mJLf0=?8^I z2%o; zzYqfRd!bi!bDo1|IKzfiJ%u$WcthxECQl;EcG%5!vjrP-@2;kAkUk6z4=T+qG>rK) z_zg0+OuJkr>XOThL^EgbN(AdMm~@ETS5zqZYYOdZ*zQ;5E6G9O{LL`lB3Oon85TtT zS~HFBsjaswPt^j*Ot#71+*n>UCVv`b6FPi0?~GzH@rEU5 zJvPltNUq{uDJpTgbjmnaBDymmimmXUX1I7CHzX-)m8U;PyBzd6xI=bP{)Lgr$~$VU77AP_ zZxB>4tRs@2BSay565^_|79}G#iakV!0VQ(lbb5(zm|U_Nn{7jzCW(EEEs;(9U74qC z3>+FsB6Uh6n!cKdp_u@(c4BY-S18zBe~gz~9Jbw|{mO}trl3`Q`xGUb*-LYzKESj8 zsi)hH@cH$H#Z*Gj5!nReh+Wj^oO0lEo% zD2}G9;L2pQ?Rr;Fn2&$X5bLowIpG9L$EH!7j9w3L3oap#)n(nr`!LZUIX6X{Z&YzS zrcH7AUjR;juD<^X zm;VH~t)@JXqijzN^=rz{J2NqgvnbR%(TeL7e|0m3jbhLh%jK?24 z4Mxr=4sa5@9EMc+kk_fsCA0Xh@1MN>G4qG-QUzsSDrgy!rXQ=>YQp^)j0hW#Q7}gxEq(@6!HItS4M`<7&fi4Z^(AT=_ciKfU7DaRWt0?#A|p<>8=K)uTEl`HllL#W)miaw92BoO&0@I@*e`OxIr~rB zZ}G4WlXJ}Q$e1PNwFQx!vdn$RlNGQacJ4V+5WjO;KHbu!aNQkkw?@a7 zwKO)jbjBudm2-@1jK?=mJd*qB+~vt!E^Jq^#JKFDz4KDzx}^1zAkLAnTh-du9OJTw zmd2H_#-&LZb#a-5T!H=0URYOem`O3aA&2XU5wEd1*1puxx~O@)uElo36ynvKId5TY zd|}Q1Dss)rj^w2%p<@N2cDAo1awj)cJMBcyS-4>S)X4nK_SKh8=5ENwuGXfA4$h48i-j0DtLU?!kSSd z7S_y)U2<7#2b{~45(#t?WG6C5D!Md=QFD)x++bUKGSvU1U3(K*%D+>RSl{g6F}^9t7ovBsXm;tfv@8#Nsh7(F+uLwxxL9nY z;47VnquSzAJGzrDhOV#2WsCOGnC>!K(UNQ-vddUYbL5=Hwo6*v-&xM*&JJ|%YKRM$ zKCQyoYd{#AHrbM&YJbTYzkSkC021?mK<7!Q0@Bf}sZ-61R%0WwlfmW~fzB*WGOL{T z^&di6g^fWyzKiU6DT4~{v`7YmR!%LJoCeh^be3gNri~i0j|kMm_lV&c$mJCDWDY3C zjZ5Y{@i$mLz6gTefXXQ_>>`UG z(@9$4rPLR*srGKY78{rf_?(ue7OH-;)B3b2Gh?f0C(K&aF<8|?Q}1b}Pn#Y#;BD>B z>r8^wwfqKkaedm9SiGyNdu2<|A;3#?wO-QJxFS~EZzxo4BkS&LAz|5eThLakysV|1 zV7j1Uo;H!h&!pNOKmDYDcvT}8wn2z?V~uK7Lh&LNsim`%fF&&iwn1am*ow)!HY*%7wT+W)p+TVBO-w@Pj8+wetPrxrt!x$d(;Ip zj=LymoGFL8OO+4ToslMSPV`QMlVnq8gc+-E>|7pO(%sf9H&EimL~HE@orxgfn5Adk zB9bqNAeJ&3e*c61gPLWhPYPiYsTLKk>k%$#Z>ABbZ(QBFvU_Drx5QE8m!b02O)V{0 zJMrhyOIUW4g*&4y!X6fKjUoRxKW&Xt)HVN2y!xO5{ZHk4FB$%~@~NIlw4V23 z7~s#GGiO$8!Z|IUoiQnPdUxxJq`D;a3(jAlu2;LpbQ5DUr_7*x^8b&Y&WisSqEtp! z0o5AxC7_QR^gE!l3>r$|$flTW0Ma0}GBOY7Y=c$;%`@m{K+;uZ9k_?6UOCfk9*eR4#7ShzmEVpIvuy^r1~k444nBG z<{qjIngq1apc6D7VbFCzj?2wJPAZ+Zwb(*`5A;ccj$x+4(M<(%xG#I$T^{!`kc;~P z<}=Q-xQ_!ZGDu&79G5pdwAVxXW9cp*I^Dt1H2|G&adRH`IMAmYKaYC_hzSSs`$vyE ziV1SZ9sep;{^q=6rC&{QDDZw}C6 z#~DalvnnI)K-C8I0=XDp@X#F|`X-R$@*|I{VqVC_T@Q4zak&Gi!JsESPKU(D4fh6+ zv%kZbM{;x%ffifnnM^KM8?*@Mbc05X38AxqoO}y_>MZoD9`{WkS6Ul^oYkGdoK&OH zeFMnFy~jg80&}r0 z6&B-L9`_c|O2ZBRKv>e_fLx3@9=Z+4mD|^V+APNNK7c|DM`wXb@*XFc6;W)@xOAwZ7H*MVGWcLSYooWJjJk9ugpLq{GF z#+cxtsUAAfLze)#a_a$d={^kP(mnCRpcMgz~Dg)$n|GcOBlc)R0#E{Dr zAQxk{$9)N?({#}1p#{f8B3*`C0p!Z#Mi2eFhraEhCp$2){Gf-P@X(Jvw8KMx26AQo{^P^AM|kKo51k1V*fY@Orj0KGU189Fc-%Iia}D z^s63sug5(E#K&0d-sGq|-t!#{;<->pZUC zL(c)ZG=A-I{{(6^E<>wX(PGdR?K-U@Plg|i4 zX9M*bZc!o{=Pt~@RWy3r)~4v^!#3CQKB56H#H`_R{X=pG;1 zMDjNomktkAofq;u0?6^31mvuw%i}Hwa%tQLbeVDa8_))W_FEKk83p9Hj0JKrCVJdy zK#ucS9=E{LEe3LVTMl%yasIBS+wAFn2808m^#ADT{srXXo`zd>63hj18ov+7wT%aU zDiXQH;vNB%G3aa{myayaEW_OZJ$U`w7I?m%JcxaLjRZ1?k z<2`h;52ZN|LaRN5Qx2q(&v0>-R|n1ap%`|6qhJC^ZNAIVVvlR~&@vyo!s9wTl=Pvi zJ?;t*_4v@V$F1|wbv|^1$KC9q+kEKl9(RX_?)0H|d)z%9y5EOB;BlKg^so=@^SCEG zw9SY9(Brmy=%+q(hsV9-p`AYTcOEz3p+EW1*F5g;9@^tW|K)M|@G*@y><`G5QI*Gy z^pMuixzK|>?obbDMV$+cdE7V;P4Jv0JW)%no* z9=Fg#i+re7@Hu{qJ=E+&mwDU@4|Vv^aGts%a`#Bbr6O{_hjbu>I9Eird1$+bc6w;Q zLt61T%VOwIQ5Sc=ubfU zRYYQup)SxNivG%S?hk1UuVb%Nh8D{(hw)Zjg3-k|`bGISREIbPX$yxdv|kN0Ftwt@x(u#QfM)U8z(z+d*#g)ae?gOK*pW@>rdNkmJ%HNaE4#nEP zn9pCqXtirW9$lHFHLnHEM}X1F*8Me>zHVd&<2eA(LFJj#+ zngfet{RbGWtS#_)3{1z^V$4s$Y$(Cx!E7(VybDGvZVP-yQ!-k2TfpdS7JXGNV5Wo7 z8r%YAt}ur?3?RR=d1yUufu677}WxY(IK?@$-*5b6<}1#4s&aOQJFf-Hv^2y z%VGM!$e$};4)Z)1)xiSh_dzU30-85GCKh1!lk)5rVm?@g(Oo8`G^dtf>dP>nF2S(k zyQ$;S!F(<+p;74CGR&=In0v}F50_!KmtlTWhWUFLhV2f)FVx0|$}p45Fx6$4v&%4z zB^Xw?H!bTdP74gH^@=fq+e%^yb4?lM#xl(PWtb<+Ft3zh-Yml$s0v{}uZ=Q{4mK;L zsV~DUD#NsvVK_r~5T9HbMlF^5h4S22hIyzAqm>b*v3^yC`Fk0rN>$B%VOockVLnoZ zIj#&dw+y2lkENVHU4}`QVQwkIX#GYhpYN4muqgg7rlAh5Y-dedX{@a!u@v@P8Rpe8 z%$_pLaJeh{g&G@IhM8H0sV%|COO)0NG5k~sO;=Y_W7|@fQX~?l)mB2I(4I2P7s@c- zEWI}ab=jPWtdaTFtufvg=Lr}C75>JTw6Hq zvdb?!?u}HXS-+@gotfRGQd3#%n)*#wa`G&4#TJzqpl)W7e!Lr$|_NL_x z&FujJJ6Jjzw9xXuWUO`fT@68Gi`iw7w9}*Ql8AK2o~9P-akvd64Xn#%8SuWjhItX& z23AWhYwYOiwCzt3D-gpslaqZ%HzhSKYiU|8!VZeEb@i0iuFgi5>=~M6d@Ld^!5d!- zw6&d1$gT)0wOQ}qAdNMII7iyvacO{QuywQh79}Xlg4D*TkzF}~&6OBhXch(XqV$Wh zZkrHHD2HrpZf;o8y_9_(4Xtgh$uguV#F!RQY9;<)%E9kT9m4b-thRL+EpBh@Y;h`y zwAe-?)_j+cuk2v;aYL{>h>ZcNN=m<}n^WGK8RYI?~ zeaH6I*wb09Ue(!}Z1Lih_<|xQ&=l06(gF)DwGswGz#?s`Jo_2Sk>&?1 zL3xb8IJ&x4_?mBFLIlRrz_!RGc%|j?0v4zM{v|uxS2#p#+tT)cliWmcHScb7TQnM) zR;VxZX$>R(h6t&;pEh9!@Icbuaq1ZOIXEp|D=(VY_3+pngb@76#6>f3}xH-3h zAgr-2rAw|@S%PqT@gkPq%0@P2wIzdmEFq~Ak8g0oyEv^~T^)^0K^lltCXK7oZ9Wn6 z6RlkhT^$mz!LI-h*l8D1!ywVaC{D0_M+t;B#f9`rbTGBm371yKC7oR?jz8D7Yq5cf z%}Sjv1b^S)HoFAg$Dx~BmUIWD-PNeQXRh&aiu!Dcrf|foFAa^w#SSf}z3q~AS&fU< z)mE(FOIFHPIC{(#r`Mp`xumgaxzVp~=)%EwU*;%EGO&Qn5I!Pyj(f5_hz_Uv6Vw2g zu#8C!wMk)?)sif{?87d**hGpAH9I1+&60M*Ff={#p5EtJaiC4@OtLo85Jp;D9}J=0 z90du86y#=^7^$3-E9S`&c;;@D2k>yC{m|@U^5eidr2oXp@gG+ zTY;r?d#+|10wP+1R^%wuP6SXW8msOe|UQr_^7I@ZTy5p2#8LsU}?2F+E78cB!Cbq+8Idn zj7}s1Dk?PzxscS5#AF7rr8;pEV0sM3ik7#vmR8$hU)$1~MidRAgj%cAOVw%>FKsi% z3tozNDfymft#kIwF!BBV|L^zvzJZhToVE8}`?mJl_r2TETBvSo_o^kKHnv0Ny*iQM zf`XGRXc@6W{iEM*qNA-RuG8ujRm?)osHbbv>-d^fRa@f;zB+NMk1_PUep<_Pzxyjb zqh$7sxpQXDnCtf!2~Gc^Hl00tw%0?o} z$Fb>U7$~|QW0L%xibw3FjYpB*hvy&%l+u0(Uts#IGy)(;)_V&wX=1PVj0_^J4B*dv zq#b`qA}dfpe#P?b{h_^s_`_A%{26<*=PJSdOMCf9NC?3zI-&P?hA!QbcOuugRd)BdXYIswWNRmWK`#^E zXDs6D8MU0j@7JeJ#Dh;YPue?QJ;Kg;)Q)erIII*o5s1f5i-ynNs5 z!)>Lz(%ds41NPh-_h59+c5wS1?l#4t)3D{c`$_wV+rT8;y`*qne`(=7U>vTp1otb9 z+le#Fa83)Na&!jq3%-8ktA^W4z{KT$)=bEH?}Z@X&R)-=rSWrc z-wER8#Z%8!vTI^h7z&lxJ{g|7$HbFN!@hI&*fqGf9MQFpV5vf+5#2RM+c~)iiyJ|n zfIUw?H2=I4=IL*d9ly7LqdTF*W5L8TI8?qo@pz;>bzEMl2t_$=_ThO>7z2}|^Kn!U z@9CvWJ(kS92v|?9ExMfd%m=TK3t^eQINI?)BUZn9es_4K94uZ1K61p5-F?Iscy8zH z)YE}P_;^AeZQ%GM+@6_cFt|le;#-2U)$wK^pH^_R58ep9op_4ZX|2H*?thGoKG4Av zl>^aZa8E6*UVcSz8L}JsYIjF)^bn5@5|?|obH)m13i8g#NdpLuh3np@SNdpTm$fSte?GVP$ANJ3X19h>0)mWfrlu zxkF(z0A^=UB9aCb=4?&a!;M0&io71v;0@ZPmiXu#hTm!6j5a9dB~> zlnE5W8wteJ*#PJz%+bjDRwOe{nd-n_yL*|Yidx^hoq7-HpGp;6zVX>qOV}wr@*u7a%|B>Q#{bEN%^bd{XgcS-PKQwMasIf?0rL+5+=u6fUPZj2#4?8Ki?BS5!9?EV~f zwsOMa!2GqjkpdhM^#-lZ?b!!fq#BBxr)N>4Csn2Nv%p&6ntjwdCx;XJkQVgCQ|40g zQu3gV61zqF;NW1m?H@%YR95`@;LiGQJV2dXe)xr3 zM>S|TsB7bKaD!r(BPPjwenF@EgS`|(_XcO%ITDG(u|%E(%FCK;CpWRpM!nNNin=oIlz%e+(ryGG;jAETQ4TnYlanp+aMOdiVdH4^0=qvh`3plpFN$`*WC5K3dg)Q#_4+lZ2K&oMhEf?;;=B_WJ!yT9 zM<}D1BLtp95!vX2u0-wU4{FoA<&*-h;XpmBRFI9B? z+I$No4!YkTu`;E;8G1%ED5cV^;}D8T_F3>4mk!(u=JwovUl&VTC}$`%`A~GT?W`>< zk*lz#B26+pkPlRuP|ozAhaNoZdeE<#)iI>3-xk&{`#J|$HoM2O$;)Qu#W*vy_w)Ej z{sjgs2dpZ1=Q6_xfBSGL0Q}`ShUAZG>OZhZOOiUYlpF-5N7B=FVvOd2SPWJRqL-t^ zf|GZ(^@7GvMqVT@!)ctUEJnSCnjBUKpHlft^x@`c1hoOI7}Wp93BelFuZVv*&et`$ z(U|b;M(-v9;V11I)-YM}5pZH0azY)Scyt zckJ#a)KicO`mRlbP-6Gsk>ztAkDOmV`SJ3cCv04Q?boQ=ytnN6fd_f;XyReC=O=|( z&mCAN)otWaq>eN(kc$Iv@IY9af>rbnuAX3ZQ&5Vcepu@53f|9-!Qkt9USLm8&e&1b z*!lTIqpC)>9#O$F?6l7$C;PSK6qytLc+wxgj~ZzmwP)_SiBxhhOGWUa#bv2uWz4AJ$>PjA`Gx~C7+dl4ED`@C zo?dtISvc(G= zedIw^;yge>Zz2D_B4`Y9>{LO21ezk~LxZLv4^I->JfNw9E;5K`2Tv2)6y)!8LGyvs zMHq;3kZ08x+Db!v8c5xK9r8fg$+NgdLBp~is90!IAt4&li-2YbtrAH6;Ou{)(0%~v znJDOJ$d0<;%<`#1TLPqMa0`%f*#e|oJ_ORxUxQ&KO@p5p^s+%YXicfT ziWpvX%e+w9EQ46Fs_8sK3m8;tOl?C88&qLTml)bogO(Z7DnqL^sKJ;v8Ct7B5o5Z> z(AF9hGp3z}w!xt5jcJdeZ8B)HF$J)g4k!rtona7H^(t*S4e-mc{KKw4quEOS!4Dz= zJNfvlZb?HSlHYgmmwJ?Zl=gE_s7+Ip--5C)gYpn4)T}8xkAXt{nxZ^Q3LX>|NDhAk zc&Y$XcHRdimX}UBM2m2evU4`+^$T%8FDb#{uv+h_S>I($}Y)WHt5 zd&(8hYN3u-O8O`++2!U?_n$_#=9fN#%M=}Ub>RQe3c@|c4-ce|+M)u3U$^2fwMy!z zGo|`1d6DynlwlgW&P^XABlu*-$+On&+Mz@-ZkBbsOJVLPg{@`&n9fT1lS?60DSyqP zyqQJ$&`|tvHT>E;pRxmA+Tri`3`)IDUWiG`4kcHAbcLylVOFgLGVIVc&*0IY=T~(W zr6r4UjiFd>2oqV9TQVqj;45Qxn^R4N!_Hg}V`3(-hcWYJI$Eo7;F+e(aMSmhGa_wh zx>Pn)w^z2}kVhP1RaaX{*6zFuTQCYaD_q&yRNdH|`c|Y9jqRBJt8d|XkJDzKF=zG} zYL+&woIY2L_LIwN*Z`(aPCxt};`v zHJtxkX+G5rCLA#VE3@V<7x*DTQ0tlVz3J0q>1k~e0OwMs&5il}|GU|-Su2UkS>d9jm$+WBMou4b58O3W5Fq4`#>c&mC+gr2PWJ%#Q7YZrXDh>Wa8p zWJ^Ho9X31W$DqYlG&W)z)ZUF^uWH!Yu{~aOtyaMgvtGl@jva)((~x%jQAO(P*f6tR zNV{2w+nd9-MCw-nI05#~KHMJ8txVZM4Tz6PuxDr4n~~u$?UlgZqAYu7aOltcXwQbd zWm)!0G6G0@OJT46Fnc<2=eM1+$kI+cZabkhoKXln>tdjE^<6Wq_=VKyf$fZae(3YI zbIuyOKkqql6W@iooD0^>y^Z#-eF>)h=P(yO7!t+J(L zJIBU;!olwch4ZfZo*-vaFrfu!;qD*P8SgcD8+M%=xpETY=u0r;z)BcHB1hxpO%ig1 zhNDu-{S+V>&6G+yW3&iCIL4760KM#vl3=`!2ZY*=oF4M%kMoV<`AGan(2+~$=LG*xZ>C|UAtpo&-ceYheFoWpoQcYz^6y&fn_f8Pj=$3 zZq^h(DV80F8B_cuuEpE*P~te`31(!|$A=N#j-AYuBsog@y7|>Vf)sGXttuw#geipM zdnjW4@dEJfdpZY};(kET-$4ZMHHlxy5wzLt#1AImOUKP}B1e;(&Ke`Hrg>Ri{3IfP z4~-mU?lXe#rgBPLJ^8|b=gAzqT}@IfTo1!%niwfiLGw;LUIhmF^p z{{l1Eiorm_)>}v`qs2;q?w8`*bI%ASx5{89dzl!0cID0K;5D8TEnK02e3R+X=%`rY zG7$58cgOj*yCv*>xcYW~PGUFjg6SUDMJDlo=GZyBK5iS5;TRIXsoP4?C@f)_Bn(xkLSVbuqx`}RNtUIw=Md?7~oAE;!qQ4P5cpDBK6u&ii zu8t;y(1*%~-R--MmkN7a?77KnP7KxjzEI|~CMWH= z?_T>W6)=qa-rl@0u@%PS?W2J6~L)Z{v3nsZ@dFtb@kBd;Hg!EZs+(ir|wkeq^#H?u5X29JKC1CN2b9kI5sNn_mEv!FzSqwR`*q z`s=PZ!K9It9(;R6%bjTy7X9Z+@j*F~dIW5&WHTff`muZb$}~Q`9GyxoPRT#anfsnU zYCbb%o-w=A@#Y4|aT#*gDaJJ4B=o>J;9dpmxM%0F#IyWrrSAl56m%BG2=KFcpO`|y zJuU`$vkU7>p-I@2-rZSv8);N>>m;apkC7e6Rc!0HZx1MVZxD90&hgF1e1VNN zhBN{=r>P<|1i{2jTyp}kLznwHXX0!7SK-LJ7YS>GVDi<7Ek&ag#^G+gi#DA2_+C!M zNK(_+&ac1}lRGddpUhcXF+t5B4BZc`IC>$nNbg?a)n4c4h=E&SZs(vWTqJhaW2$Dp z8vPqyM^0nlJ!k1o5|7l+-M#8a6td#CkWO$FjD4HMl4D>p@dFjgi{&SwDPwovTG)zj z+p+z^q#QSxCH5yC@+>-b9+GwvFB7*D%L>&JD5X>>5=nNlajAV|6e@!g!ihl`azDB? z*oIjf%vTq`g>Ya|$b1+qi%A$zmcfs=050Q{&3+Kg9CjD)qV?T#y->a2)yF^jysz^H zW+Lo=0Q!S1~!N zQRn=cRb0I%Ht|+!$tqh2BiNCz&+=6iTT@r94d#RV=l#UHnigDbwamtRQWe&w)k77%m!3?W zi@-)Lo)tV5Dc1F0FhJfWy8ynf{VX!f5>X*aPwb}2yHc32^eouR5qoG02%si8nqqFHpKoc6Kbn;% z>-zlo5Uz;6ma%tO(joY&OQ3)@iH&gLt-)Y@Pd!Q)^a-K@^!ex%77&q#XDGBMgB~A( z!Z`z+vRK6Xa}GR|AI<9;ihKZD(ccNPuF+yw+1TB`FWds}-DJcy_EYc`OkiywG<9cR z`(MAvol_JGZkhiYwgv%CM4fcaF6kl_*yGpK=byW>5{UJHgAeKOTT3D6vh2Tpk+4mDSRU zM4us&?-fNZ5U65WFM;5u$Lj<-g?^&btNGu|5t3UdIMUzV*?rn5cCTk3U}9HHA3QXB(hzj zbs6g}EZPcSNx}QR7OYe7O~%!U$`tkfczf=1-$tYR;R<&xW()zf>U}NY!T{{w(ksOZ zYj(iWHyNuDe3S8^&L{7(6VF9=*}C{_aC=&N)?IDK6_4A%FYNq=*%@}`vI?9M=AsES z-HCseSnqx|KE;t%?f*j8kgYf-}# za&DLeGQ1DUNK0_&d$h(5$w!G@!lLVi=;-3U_3C!6h6XDna)hovH&J)cpm~^Wyh)B8(?TzJUbr`oV56UqMG;0}Lf7 z{qcR!nJjbZO?SvZ3DQ$mUn6k>k~msz3X`-Uh^JkjqPH+2?9+HrupNgn5N{6aJX)yXbi5rU2}8JsCYu zRx{}>#P>2X!a;A6eF`DOVj_e@;$b^C31cYrnmC=8b_a4w69VnTSm=%VobB4s&>Yu$ z-lOZicy-N%2dVOn!90$O@E6p@OMYJ$d#wHOr5-*00MiT23{Kh|h_lUt?)a0iWaFM; zyLc$vJ&_C`GBU=3?9bQ0PTtK%5q1|G@^xM&_T4^JX<`5pu=KDdTdA7|!$iQ>c_xG` zJb9m_uq0Ag$B;vbhoz)qaCTo1qq}a(yPdX8@KtPwpgMEJybJ-=+;Q?Ds=m%v2^lmi zmO?W9B<%f?q%g63cb}6(f#5B>*03cZ?E}(d^ zSpHQOH(lSxbT6UL2{nhW@SkV;xMIX|Bw5TTCTql&r2p*=$anJZS`QQEaKH;B)OtZO z2&-xG!~BiSosOz1a=t4Yk?%qh$c2hPbtVhKz3xi;7}$cZNP>t*a0lyDu>PmCfy6v5 zZ2h3J8lg{sMH{SywXTj?B^Wa`4H-MK>-*+(JYvt z?{%9IV=8z*E`ErWxjM_YqHNc+3DH?7pPqKB!AvyQcjY zT*BE4)bO@5y5nQ6#E3L?Usr-?#t+u43Uz$UqvN8rm?N2h(Ht37=8!RVeC7?#0wL`X~Hzk)7Kp1Wh3pKo0Pj+_og7OXC@oep-jv9R5Cat_2OC4uOLpzbA= zTN9e>#QgkVFLbg61vmmiop?^nK0-^Ryk^gNiLs9cyX^ug6i>Z6dM_jr&8^J&4lraj zPgcFTU;;ZaFtoJwlO&XM)NfI=gSVtD;MVrbq)_5%EY=R8DqVe)%m+=<1_+er7&mny z|3VcME>!J`QudsDj_^$X7>ung%=JgHRS7AeBfw(jw!{;;>iO+yo+Ccqd~E!EJ4}_5I5n1$*3|5B{k0+i&c5OjS!`;n!Y^_uqTv!Y`=K6wq+eVy;XG$)7mw#Ui6Z&PKLqhxTHx3DZadJs#dep2X5tzpwKM z*g&1V;fHvKoL}w1i(Qopv}9!;Cbk7(DR-H(jsrK69!NM}Cs&@9IU7mja8O0ich5&M zBDfcnVE;O=9nX9~x*>6;RXGZ#T;N?{_FMV7W|Ee`1`D?tru7{HzZ3?@XWu>RB#zET zMgsXwI)8}$x=(@K#E?BTG?REv1qjAAvOiOR@WfmhNxm)BVJTARnmlAYZztn=_FCo@ zMyhJjmO%Tb$wsaf`?D$A2JL#shu<0!Q zAx}be=J`6OL6ltCp%il*!C#ixsTGJQRZtL%%>4TQE`r}h)O`1#r0m?6U!RL)XGSuM zlQoh#od^!aMDk+%X0Je+S}A!NMo6?YteR}Bl<{x0NDfeCZ2zt3A<*d|q&l3_1j3ZEOE=3H)dGadw z=IK9S;U%K0%-9SqhaJ^ozOEo}vRE9kaP~l^lUK;_PypYfb!gg7yccqAW3a^&j@XBs zqd8J23T=(&yOg`+cg1-r6N=*o8m<{2YTGjTIJ8W<(dVE<%Y64>;~Mt;K`nwC<5c2t zP5uxLq(|9()M$_BDxBm|(pc8~)b9f6VA$-j=p3|;=p9-lk<;DA zA$(hiAZ7W+xhU7So|Hc`*e=0tA2c?&hovC0%*0@k@9rKpKuUcNbhN^gzBh8?uja%) z&iTTV@mKTX4+VpB_eQ4LP7hNc*n2Ga_s=f?MkOE))j{$kjHI~nOX?gU=D%fijKfH1 zD`!M>j1%J_XNXCV%`Y!nv(g%04-c1$pG(Edl%G`mPLcSz?Uk@Iy4<;u!G*u2iCx&Y zezb4hNen*QVqM46#Oc_|V4xWAvkXCD)g0`u$O&SWQ3gU0#;LHd(FY5~PY#akftHRO zpZJUI1duK{!MS^)Z&7i}iXYA=$3Hn5y9r@C{)x}md4YhVe4Si>5yS`#``q;KM1Ers zX$`*lEA9)%@4Z!e;hXw`7*k!#kRU_>zMzU#Q$FBYcl4gr0P3J#Q7-)&f!Jkx9 z+$9)x80uKbY0=RkoVg&aH-?;1O7q$1Ka_|3ASxi%X^>87KyrMoW1H*Kx8T#@CMM>? z@JBP2wvxSR`Zd+~RQ(uq=A#21ne4@bLBv@Q=w500)m?S!UDEe5cff5b+$=%(cqsZc zPyW0B2M=^SErnw(3RlJwk`SWodE$pBN%oP#i9bq8dQ8&-z2HUqrJ3S!2ha43Ko+6C z@bUuV6i9&NEBKRHuzg*BcJqKq$KGi2eh}RFgicu2vn9?V=L zafy@fB6WL$y=;L>m!x0%I{Y+NSPPhX?H?%*B0q9lye_Y_^${NT-yuEG9|$|KgD56c zgC`)6e^2qiG8N>=;N8kU{;Ho{VHl%l_Z(ha+c)^<9^G3mtI8_0pQ{Q2{R?z>ed|v^ zrgVI~2Z4@GiGOlz5N4IPKp*E|-& z326d<61+-|0)hSA9FKMHF$_q0Qb2$7vcOCJGhQnZ{p912R=c#r1eagJ zGCD^x!posyv|lkG{5(5Mei)^X^A<>S7_w`?FU-**cN|fh1Jul`!;^J+5H@joOCvFF z2}u}&2n2WMjkJ zv2PfgYIzdKZe&0}GNAhxoVFDWu>~0y>?alZf~p>^q2pMYZ5ENk)EOLc`WQ00mf47| z<>0AqdjN~Y$OnCw+wnIJi&)Y&${ET0TnhJGIH}8IFy6~LX5)F}dKL#)dif{pE8pia ziHwS`1%qocmRm+JNOk)JCQIUt^2A4wXBDA;o07gs-=RVTd0#Xbwxig(a`e+sipuPZsOA< za(V%u5JAsU@@!xoB-`{3!OzC^A$9R&pj z8F+YX4v%z7KOv3Hgfe_X3-w*Mz=>aF&Rr4%whkxu%Ld5gc2yQC?`0Uh2_wtOP^7#5 z1{0La!+oQiBTzV=saqHIxU8>FMWc*M@(~YaTi2yz19iZp<0)cy>FHd_+d*dvF{>d2 zo!8-e@CH}j`p==_OgHb^33HsPv!C|YNZ-1GnSn1a?GHTUkDf&(q&@Q)$c11p6uyP- ztQy5Q3lbnffDZdhE}kpQQFoYA)P8x|Z) zAup7GMM@6O-}KDYtrScT98IKUQ_2O(gcWmSOmXl9uRdlxSWTS|?WKi(oO5vjb_3jt zbAkpp8~y0qB=ZMc{&1{UtzlA`M5ZMCgtYLN?qPa-MAt!FwA8!J8+QYTC;G*Iq}=aJ z9EoC@hcJwGmC!DC{6e~c>=|XQCvZ=PLYg!%1oXj4u=b(|?5Fk&q4p1T-!C&bt*WOQ3Xjy z9xPda9y&92G2(aza3w2w=h$&yKiv4aWmPfqf6J_0+z1M8_Y z@_k+RNDCefpOeuSx6zTN{c>kL#U0JBYet9W_W7>A6|H}9{3?LwI5IYaKbEk8m$zOf zjFLxI(BNy*$hJ#nmz;}HxR7fD-Y(C8ud@tQ3B|pY@?44qS)#?F)6tM>g+!hThMUtE zrngEw$ww-Qf*$68El&;;x-JL22cLnQVmhNVfuoOJ8Cdk5_&E5Wlsn`AbMKmC${d_h zhj3EEbOxwz6VFK}e<0^=b+A$DVF*PlQ@h-mR|v89v6PeGr`5Q7sxK;tY@hNR}Mk@I!}UN2IGgmjcNsmxzp7R zelULs)_h$teDntjP+4U(-IA}uwj0^#tLhg!ClcTIC&&9be}$q2E?1CCCp8JvWz2rH zdIx>&IJAdB=vo1rH0=Jf8mf>FVDiKx9aAdpZpfkMFOi0G4v|T4t0xZ)-1dY>dGuWs8^Ru1HQWJw}14 zJ24i5B=+EQsGuDEUZP~3iu}hC(53juTBb~B@ zJHGFo(R+g%^rO_dh1wFW%18x*{WJK*$b+pHY_|wK#)gGkgkZ@^-bX^mq4$yF*N#_J z2Qq6X2J#Bn89o_Y3v1K(F(r~$D!+dM`#RUDIK9Y^t_ZYnvj*JfD$Ur}<88+WpOl5?< z`-r`ma6%ejUmJUCJb`q8Jlx>#V8!Dm2Q_H&E)Y};-{Wdw)$KooDU#_cc=t3Czgu0{t50V0+-O2jzgLzW02BRR%NnhB8C73cOW(ztmG6} zP02ev(f;{I!5!?IOVHDHSsgm4#qWb>)T6iYtwoa(vyLmGl7Ax&N`Zs(j4G8Ze;8Hg zfVz;+)Tsd94dra!cuILQ)6G@I85(UpSl-8ZnvnB7UQEZK!HtK|G{O2;HjKC~ZsXhd zmQ|9cKnU!)kNP(DAg;__HnoC@zb6B3=<8q5&==ubQ)NHGh=t0*9ZTSeL^^paqv6$7 zyseCBi1c}p(b~ZwM71~gAxFm7Q@LzMBL?}@n#W_*08s~XFIM!Zoj{2ZM*DBUn(|7#<0pT2CYbcI&GjmW>9!7Y! z$LO&;;>1CT#K3l>hR6h7>cW-4GZ9{y=~wMSvH7Q~IsGs~40*B6VPZxhgN0(QW5(9>10&W*8O1vI-eHlev8&S&^}n$glA_IMUboGb9iy z9+}ER69jT(`aQnR0x6!-vP6YCf`-lwDhGe`ZFmp*UK)17jUjyvG7SOjL{RM-bmQ>m zY09Pe6Y1`0f_Rjo)whO|_iN2^m$7@Gp*O&4FSLS%rGUBJ!66*LS7bYoIBi2n;VC)X5 z8s14ZptOKj2^5QDgIMgE-7?O*jT z_xdGv@70mI_M^bdM*C|kJe1-?<88)wsh~P-oQ|0M@O|;Tz>BSy4j(2zhmxTxr9hK4 zxC3tuf3gqGyeT?_ofC40)t0xxhL>u7xJ!0}0L2O0ZoQH|n@Y_Z%++KgU234ssClk~ z{q&kAd5#A7E3CzKoM-|x9b~Vhb18)Mjh6OlMtu&3<%#voPOx+PU}1Q(#d9w`x9iZc zN!H_!^i#+rxdtw`v+`kPH2ziD?ShpQA9A&l=YSUK-^uJxHlTT;DfbLQiBJW1aD%W| z^pZpzeG`t<;!d?FR^p%deO+H?6KBT-ux6^xFl;9|9~DacJNa{nmaE3M<$Jku8f-{A z4|`V8#=}baQ<4|3+J(MG8xQkQD3QLq184|7BrB_nVL0!U=xed7b58Mf@rbG2BTliq zgE@oGAc8g+i`*7@p-=9C=tEcVuwqykrjf+P&}X(2y~rc7R`T0mrIC+km5*c<3{y2d z&;1MTpze|cO3r5il(oyrIe=0_zNE#L-3d<)`t@vrVC;sa82QUdK8VbeUgF z(yT2-4OFq6bGOuq-AAyi1*I5(Sry(TcrU}d2=AqMPr`c%-hK&)S5Ji!>#4(&M@XhT zsIBwy7bBWpp@1U7{^agfOhCM6PyQH_Op!_PH%8c#_u_!=LxbaeckdC7uy(Q?e;bXr=c)kvHg>-Q`G%_7*h!#*?umDD9cXCNvl3!k z-NL!m-jcZMWx0a32G_e!wc)Cb(EhG%gk{ERo%?6`nH)>O_ z?vaJ+x5Gy?0?y4#E`haR?Cj~0>yfm71JmJzCi>9-d4N2LV#JcC!(THV;LV?SH&%qZ z&$7^{33s2-!(KlGA0N(S9sKI=V8@QXU~C5$q*}fW97!7Z>tl$3?kBw!)N*G^VW_{0 zxxkXnsv%kKj$%pH2u09g2Z$kv zLe9-L=o}jC?k3Wx^?_BDq|K(jcwcTX(N%;mCP~n_nK1tGDBt?uqqUaU8>-1$AI>>A zw9n*++X~dCnm4?Nq~*vuq~bY5Q3s|m5Ux`bZ08S%*BsF68ixdTa?u7Y!&GkaXnaZk zHRN=)!f)yMmPk9gy8+)rdo^GZ#`wPf$m-Z2Bo!yai#v0KvbigS$IB`K1-u}g2z$HFfjupAqG@DX4EyW- z66(Lfitr94MhW3U5U@Dnv`1N(cQ7{K$VgIZ;=Quw0H?gf2q-12o2J6DE2tCb-0^8Z zO1yx43W=wCuMLP*b7&og66fMzZcr0F@=4e|K7!0}51xjF0$KZ@mK#7{}?OCzeMu)#j_aLdtqQ|ORLnI ze?S6A+%X-DWKo&WjFI5}18m&#$t+q5=b2f=b*V{NDC$a*uk%aDj^G2_k|Z6M($&;nzLs6fN;e@+Ev2_z5I|1osFY>eCZmcSayXmHky{3U#7xK{%Cd9j0 zT!)S`G7ag(!f+|XK!hxPE~HfR=j-|&JfRs}G%;GB!?A2@;qbqHCUMiyFE)gz6D z*W#(7^djr#R8dNDcq?s9N=E&O^J5TW*&iws#v!a&f6DH@m+J`1pvEw!-@r5>XcfRI zn7=@1;vZk&TmJ+|vRxXdj2VyM7O&VC(_6&b@~P68-E})D|-TgG>d> zw0)+|aUyDTdL@;J=6%rJDQP=p5Q@J*hagiMkS;@e%bXvwrzO*-lVIRk#dy|d45;`Do=EgXL1ABc$H}|@gfqD)i{5EUbjw5go)Wc zm|`gagdACu=ECD6*4@~6Vdrkvk05;Xl)r(JZOGR64w>SM%nKgqYCu`TC||2Y_-4|% zY=Cy*%$o_MZ{M8TE`^8w8G^d9b3k;E4Z-?^OQL1FCPU8XZ+>U9%m78 z+y_v`wihGMaDgdcZE8$MAepRIWTG2CcM!?hNNpG#x`p=GR&we6T@+%Z%uw=K$T{^~ zsZ(FTwG#zp&dp3-nf2$o0*0|`HKOXx@<+nu*vo;|sSG5oE!lQ4Zz{FF%{qSc5h zR|SDdW%)KP1p!U}0MZ-Dj@+O~OL*Ndoq;H(1extw=q*aF9*-A*`{X42!TNZF2m4)p zT_;1Mvw0`wLe{_4fB^P>%~j3Mg`hD%%bad5#FAOboeUmDdjSOG}v+QRao$K+K3}QWTL3^One~lTyUFN7>7xmX32q4ibuIyBrZns1n*~UtnoV^ zR=iaxzKt*8OA}`U_=}CqEIZv;Xgu6PR?-czu1q|fT!1$PU`J+MNjXcq8Ox^lCY}f- zo{@#WPa=eN;xEDbPxpd~;Y_8w(~u%ypR--LKmHc-T_D6 zOWZ5dBD=7gOin@&OJW3e(ch@fXLLNBpIZN|(HVTv+?Fyb&l)u&w`fFFPOG^YB|p!~ zpP~1kji;k$uYt60jZcO=0_KhiY^Ig|{ z!6=;0f1H)NhXwv&pWvwF2wNX8Z&z84cL8ou`N=T1s0$H{E-fVe8<;zJ}nfK>d z7FTBQw*}AJc+h#USXnGYRfIa+s=zyr#}C|t_pNxQ0B^y&6vd^8cJSuCUh{wp@V*0& z4ZIESBsvL8fcN8FfRzrlw1fB0@T{dByz`-kH;|6^^LRM4vkz|{0MIAQ`*6M z_LmV~2vh*?+wgFI!xp@cD#Q&azy)|;gNJS37~bDF6>$e{#rsE-5O>(I^4Fcs%!Jtw$!yZpBnMI z7yS4ahb}8a)uq3M_4PRF9T)qAX3wgf>|b5o?q6PabxSj@2r`UaLve5psntz9hyQAZ zr?sgrQrC1fJki^l>)cVnP%~~kh}J~fy--A2{B3pZ(Uo=n`nHype%#_rf5qD|)}pe- zOB4exk@RrGw*Xhf*VRP)ybZt)mUY!D{jJsQ?TxG8>liCoQBlU!TfAhUxMJM+jjPF< zYW>YEh;?1vm99gJiHggQBq-Ij!qfG}`mA{AmFA2UF0XFK0r$<-E9)jrmTQ*kG$({b zeH!cbmZnv8{zwB7sup+Hx3~LowfU+>WDUKpSh#436_skNmoa@NF#=wyFO zGXmW_6_;{XHyPK;n{LKfhuKdVSqvOfloanmsEO_VwG(UCPHbNb=4-{ja}JZMvWi8S zay4aQE&f9inT(bs8Q2*)Wau;GP`FweE-zW8_*d8YahJNkB^p6a`x(FXlf|aoNZ_xQ zS-DA*DcP=+x>vos?2v(y?~O)IpW1_=fQLKkVkb!W(RROgS^OC5Ox`zfmQ^u-@nwD_UBxA(Rz+~}VkTg4!2$?25>kMBl{%ub9R4Ar zAt9@fA=S&9>MYJwLR4z&nj1y1ie}b&0$WzG_+o!`BvQAsH8KU|TyEsjBw&7mU%HKH z{?f*Fuw*1jAH&dGY)!0@f6<9GOyf{fQ{4*47_-LT99_A*uFc=rtbA}Gebd#}C3TH$ zwJ6!Vhn{}Bo~Yr(=#AYtHVdjz^< zjO96iOKUy~C&N5lqJ)IRJkkTt#YU?zf=R$>5OT-yjNe2|a z+Bz@cSiD5jv{Sd%`ezgsAuZea&suURm1B){&XS6h<4EJmI!L>hUm0fA%OMS5QX7T( zYC*|tg6f^#+S1hImuozb1GSI~{|X7ztQp1rseYH=$z!Yq4RtkFQs^Kthm~q5YANxa zZGTG*ZUkXWS2wUiSzWD{%w_9>B@K1ZK8@}EW{7J9T0a#Nh-*!C4GOsOpj#x3sEsj} z>X}UL+2O(+5>k;NvZ`fNS)@cYOXn=WJwD=#Xa*7NY)_25qv)Z$RJVDlqMq=}jVV-= zSY|Pl0-cuMsKTeZ)=bu~Zm4Va^Oh4<)OBlGkw04DN1M(4eNa_x&{z;#X5s>KibwX{xJ+4@iHv zS>msO>TRxT@=t>G$=2daQ3A@EBW+i!?nEA*I!6Lxf{S?N`ko|GDKT|G0f; zYI#d-W4&tg_9X!W!Mf&_=n8Lq)cT+8x1bT_*{5c2rRcK6Gdn2P?JdnH_$|

e5A~RvS?C zGpk)#T|))IW+4O_OL{D{k-c`QAD31#SenX~g$t78T1!bv5hk{w-LS(_DchUW15(l? zpk7VwZ(IpY+gQzZFPpAtuX^Rvl^nN_P`7IPk@Q;YQ4B`>`b_jO=A!>F2Y%prY99Ix zIGQ~N^l#yL1$JJC`Hi4mKO6lHJe%-r#`6U1{{-g0g`0HxtuPzF^Cq7CczzFiy?8dj z?mzK98N90SuEkRc-j_5s)z(zE)k1q$RJXN@I*L?N^J~?SZej6~AhH3K%qbJwPeHn* zxh2KlPN{&TL31FN+q~pu|D&?Cu8oZcNKkFN7TCpQ3l?5b8eDWK5=67&MH_edgwWSI z5B;I@(Kp0X0NMw54&qrZ z#Mc7v#`{q`4)6_lZo>07e7}U}RXn%j`{#K68_#?A{vF;Q<9#3A58~N{rytMJc%H!X z6rN}CynyFrJYT`{FFb>I-of)eo)7VSf@cU%ZiQuy!gC}ZAD(0Jd>+s7cuvCeWjv?i zIUUb*JTvjk!E+{_ui;sM=UhDJ0 zj%Pid$KjSOQf*Ib2DATUu~X#cH|kgmy%4s!7L)XxPYpOG!XL*3_~Uqh{EGCog<}Eu zaV&?wf?4|Jcn*Kwo8uKX zC=>nPzAZS@xBvfNRCrKRh|5;|Efw@@gB}A~DzwjI+(%8h%TCc(fYfv$(4}Ip4M_QY z$Dk*GE)&yZAq|%c`Vx?GnFzE@X!C%+E~pVm`SDD2rSX`#N-;eKs7erLchz1Wkn-CD zR4t~IA*HQ3hrYg;hJe)cLLhaKFtm+8>f(2Xb{~+2^m#*j$JP-xV00 zEEV4x4Qd8b&RvGK2}oUF_}i)x7t;*79jI1lZvrX5_YE3@QBUP}9*~+YG_)%XtsO}H z_%4v9!S9UeeLxzwrwr`{LtBTUSSKO)B@n7R$je`W>IMA=XoaB9W7@4j5Z7<2=~+OH zLMsLOhM=X!wAGldHl}|7x>D@@4X8=bObF_Qg02KwDQF{5v!HE2ErR-hY(cLBwF=5V z(z31+^fe$>x42syhzc&xY5=14%d@ymrcKaoK$? zl>(uX0>3sO<=hFRoE;!_aSM>TxE)AcJOQMB{0j)ftl%>0D9mgNngw*RpnDA(eYD5# z7@(+_e%a7YGiVl&N=X@zmcg(wy#z?ZQVXPE={2Ui4B7*vT%HF~F8hq>Adqr72&7z2 zMg6f#LNyymV}3S}+A9On+*%IgrWKHzRzPlA0jY~8fRyuSXnvKjxj?JMk7^)wdnJ&% zT?M3W<3Q^679jQQzk$@nZ-LaspN;8&LH{xK@{aNB%>h~?{w@N#TF{L^-xTx)(1n6N z0#bji&v|b1fizTS0$n2ZLO^QoVq@4_VZp^9SfxLQVY}}_O1a^dvPF* zWv{XKK9Gjs$O)d?0Fcry1JV%m04bMSfvywIzXXa4`q-Eb8PhAi;JK&)S}OM9hV~tU zZZM|r8QO=2cJUWIE|&wTM10H8VnE9IK0|xdpuZZ^_YLhJkaGFpcq~?tQ01QBq0bpK z4QQR1o&mI8Pz#WzK?F!s@_IwN$)FzrX{dG?+8&@~!sP&v=F#dedHlM7)bziATq!Z8 ze+SwiZvEKZp}BuEP_xh;1xg6|0H{UKCqU}Q)RR0HTY)t613=2}dw!302av|-zk$?` z{F6P?0-5njbBO7BRGQ3q5;bAhq|si5_h$kkXF%ibp#RNNJB5 z+FuOqJs?Ly;6K%KF$+jt*oIbaXpb7&6NYyBB+qRTkh*O#w1}Z?G_;!yI%H7pWG^La zfi!im1hOT38w{-*NKZ0i;nxkMoHqlhZ`%#pY0zs1 zy#b^yJ~Al(bkFTVgO&hkSk9h;aTD<^0@N+&7NCuS{ta}4pfOX?rxJ7ukk)0>fHYLI zfixbA4efFumAWm4_ETf;pN96Xu~#(B^X+^f<$N)aa=FRSehlQwsiECx>^)^@uNYeH zbdTRLKrx&4DFQy@&O@eL&x>?ZlVy~A_33Q9l zegL#w&;esQYlg>V3DEb%bj?i9-YY=uLOX4i$FC1)qtNot@M5&ipp8Hpj~^P^PYvyD zLpxw-vu0zYO!&Ps$K&?_kjlo^5|8#vAf?To>(R~zQs15fI$yZV_^M|*2k5_qb`Frr z}9H9gbNLO{yp>xNbbr1{|(+IDr5L;IJZy#u82IJM04w*p9WdMVItlJ;%J^qWA}3GF99U4r_7R6377#|z6; zATUP{at4t4agm`_8++FoTEd_kfi!MEGWH%Yrn`WYU+%e{A7cz!4)i1Ow+U#Apl<=K z74#h-&C4T^WHmxN)u6M0ek`;E(4~TY1f=ok1yX+(guFVr7U(>&cO4M^BfdYv>nDPa zgwX|prT{6I^MRDhHlW+Z^duCb?+BU!1aH7)0g$>_45Tiu1ky0yWDrOEmCI!)yy~J7 zNL~CL2;P9-7!>Gh1RVpUetgTITmw0J~_2KP+#`GV?^glov-$`ihXsEsqq@1?`Dd#5*?eB*6 zv7rqCY52xo|gf`aD3Je+t6u^@!$4sl+6O5@JD1ax|D#Twkon+7ypa7m+ z3ymPxbe2ISKmk0tvYJxe@>>y8f?v5JNlJqdyQUB!*Axlq(kKIJk7*aclWSGsuhMD_ zY5)r0$(1oZHElJf5o5}{RnxTw#f)jEp=~hedSlvSXqyb$Y)o%8v@HhRVNACg+Fb^1 zGp4^cv|fYmH>Q1t_OL;FjOk;Bw%4Gijp=iS_M$=ijOpu!Hek@3#&o}-ePGZ*WBRF~ zSvg*s<^csj$NFPK8*5O3G382C&4mdDamA{-^&48DL6eN>6hq_sRpm0vn3fnCSG1~W zz?haAnr#sGC#k;`hPK2Yu76e2WrkK|P^~d-FtjFvT8(MM(AF5V)|kc&t<#_l#`Jna z>oI7PG2Luvw;Hs?nBHM%TMfF)m~Jz)-y76xOz$_eK7$@Mrh5$SF@yFR)29vXIfGs_ zraUu|Ig@AYH|PU{4jS~SL0s0YF7gb@H)yOu1qShmICU|>pc4$@{bOocXb_JERN54S ziVT`%P>DhF3BX=8w|SMpdN!Z8MN7;TMgP`&>aSCHRvvbwi)z$gE*I< zA-&(AK7$@Mi1Q0-?=ge8p-*W~8}yt(FB-JZpw|r=Fz8K#_8atpK?e=`)F8{}`I~1@ zzCmLRDlllAK@$u*!63gug$7MBXo^8a2F)_4#GrWw1q>=R$Tlc!P=!HD3|eZ?GJ~oN zsx_#=peBP_4T>1F#-OzZ#SH2+XoEr58`NXaCWAH`bgMyI47$Uhtp?p?&_1A2Xs#S< zz@_C_`wcp1kX4}hn`7l0RAA5qgZu_fGN{NP9%Ml2%&}rX>hA_a>oI7vL0b&kYS1== zdJXC`XpcdA4cccAJhy%>As}KK21*>iI}Q4ULH}*gT?YM9P<h-!~}eV#&*d549byk#N{Hi+$WT>vl}K+QkpMe5c>gbOL; z!(Cs6nz$}~8kc{&m4Rl_w^$tI=fxD;oDZX%kVQE?i!wipa$y#wIfH@_re&&|U(GcuThn}p9sEB$ zJm1dXL(`2}lpkkMz$DV*34)3HuQKhl*HkyxAMO`d>FLi)pU1K&f6Jo0pG6r>H6uTd zk3Wl2oJCoXMOmChsm`LT%%WVEMcI@^`FR%Q-Ym+)Sro2G%#7C?S(Hz+C}XLH<>#fw ziCL7>vM6U~QMjrxlTRdzvM!5qM;3)gEM@X}B8$S6k(qY>VJMcXjSpr~a#;nrKdl{( z&Y~QjMVXXEIU|D-z?as$h2Q+x@@PwUX8jY?)7mkXV_SMWo`A< z!vpMEjFHs|Jc~kj+B5d=LWdp{dY4$g3EwcruLzv#i6NX#R~L5o6|^4;7V>yn%3Cf zRz0mqjA~m}wzSn%rY9)&=d>Vi+BHe)TH9Au>Nc#pG-gatVU|XNn@HLxcTlB$a#wWP z=gQj1%Cyg`qAihhV{EZSV$@Z7+p5#7l2OX*=H->bS;_^rabah}B6nx3*)@}y4M7O& z>P!+7v$my@Ng*E9wzOiWcO7WW9szr2QemJVBBwt?Lfm2mrq$6%10-(N%;I75^0SNL zXBS@vRm4P!zNZa%E`;ZWDvdO4QR9}ubdo8u=|oe;(}_kYq!GPTPO*|@URlSOX4cPR}KZ1{FDPdsqpC5wZ|aBi)X?Y%CQ>4FBP@@kH> zGNO1fq7D-M;+dzZp&ACXuDbndSZkB5&+3kwPhA!)gm}28%<%LI zm2hltZ}Lj2vCs&GpdXFR^(`(Z(MBn`SI2dc%EsnOX4>-Vnky{^Xia5%3tGV6^ccWO zE7Hj|gVMyQ1g=@@s@av$sVINKt+9SaV{4i-B$E4y5{wP>YNWU_+6>ixrIPea2^VLi z1oy!!Nk9qun8|muwIJ?0ubx%l11=y3qO2(FZ z@+D~GronB6z)}kd8J2nI3X;stI!*jaY=HN2iymFXKE4|(elG!QWq{q{*z%n613MWj zTbft!{0t>FwtMo5E#>Mbk5%x9X(Vjoyr68s5~ZMSTj6=wT3O!|ZEq0eBpgtDYM@tj zx3FuA1*5$o8sSz;FE!bs$B{5z5;QepKXK*iwni^1D^@a%)I*dq#u0^sJ5SwUrHcgi z9rMtJ3==Q)Gt8Q(I*_a@TUNQehY=cW>PT!dO%aYX)gZ;4g+jee3wv$d@~E4{84O&D z(ry#>s$>OvEi?Ua)wF)Nid;WLq9M%FTBiHWulS6T*)!(OnK`q_@5g`q^lx!d(d^l? z{r;JA&M2BA^r|tn>pmy#*)V#N4-3l67`Gy+U@`V2qq*C;Tr5~!IqY#(RHctysY&+V zfK}0#K7N&LLn$%ZOB=%?wFLfrfYG${U%)B~q>p3KjP|BnVp(@zr8Y4nXNkSEu`HSd z(4MbdYFQ7tgK}6b3VT(7=@^Mj|6w@Ox}!RsLVFc~>BVPc5HXZwJq>#=tx__AVFe0c zkIPWgezf;G>a4W!amZ z6^~ljE6K7qH!B_y*qeWtJ>J^rmrE!U7KX2QXzdy9VbwUOx<5`Le}Ft9&4mRi=nVnd zj^iJW0g0}wNhw&Af+Ze|<2LJEi9H=3S$>}FxCmLYx+MNlAaa6l-9Nwr1{jiz9PL|o zr+%Tc9Ua9Z1WUybNfvpxxKHnChh?ydyt3+SB5OqC*;V5(TyN#wiK8_?!Kv21yK#%x z7kAM#2H&1mmKcnVp4vM6`gDHkbGw_`-!&wImbQ=F&N`Bh6+y{*l z9HsQC9B>2H&~eDmeE`UJe)A`^0j1H%(Do~hMuv7!X*4o4YrOEIk)h=)jYfu6pfnm8 z+Fs>HBmM^X2Vo;wATKk%Vpl!xU6*@Ec@G1RJ^ure-gdquR-8lwQf=s1UO3kZ6vBlG zr0}QIm`kN;in_+7(lkZghp7{CplOP_)uqxjMICUdG)+;rxm22_s2l(#Uz(<v9a;Y>;Q7c?3O;gmRE|sP!YOhPBX^I+isWeSd_hOid zA)~2MaRfREG~jRGDV))&HzBtoZX$maB<=}DG`g=Z+=?;_{-MD^7#RCo@G*3( z?c}=r`OTku5w0y)T$GycU8#`w(HM`<`CR4O@df zMqjz{y|e&#%|||OE+R(o#^9jq+@V;>w8)X_R`mXEMBWW+44mZL+{Jdsn?)@6IODd6 zMBG9Sg%Iv;!kuN_xwixXF$AzZP~m~49;os_g9lnYutq^=VT=Gj-p;#0q2Qi0yg3bT zNyA&y@U}Dz#VtSb>`TLY((v9i{9GE|mxc$@@c#eB-n)QDRh{eOdy)VlLMMt?thZ4^ z4T_i`U_jIv2s&dY7!{S)O9CX393hFxgiA|xaAuG>(9-j-BI~eDV9v0YaL9DZP|IT>XDGY_DNpfdz7>~#iK^UeAP?c4bgnX1Dhb5$X zVF|fgck(6Fk8%yNy39u)+^CUbu!BGA*`+)n$nGyW%oKtH<4WMkL;fj#(pM6ytY=pi}-rCl%~Rp>szjt#&%;VTk7xFMMO9CyI?VOQ}K zs3Cikbn)E3UF=WbVzX0s?9JLx@-b}Fjd)ilA7h$LzEx1Fu|1NO%Eto_u#~w=H&}zh zk=!0iK4K@;oA?0=2wA~Q2->@izhoTQKW2(?4%p~B;n{JBKOhda*|zriOG~}+uY<-V zG-!}+XUkXlRlGmdk88X1zRpH8PCen zap96^k(7X--~l1HC=i%3WE&}eBKeDM`G1Fo0kXJ-^8Bq zvd#Kf*0{hnhG!>6@~8hHd;fpKS1x?)H0JQFbIu8{OO!(#VPN+CCmy!3hlbK)4`nN4 zSeY5vfWK=_YSRkjpd7)|3j)sl32du^_{}`+q1s!$H}e=b>UZiF%dpBRJ#S(v+%hfr zW8Ae)K&RT_pJx?83s7~uiJ4@5RantK!I2!&SHcnKq_1}9&Uu+N=|nkVsupBt_3!~S z(`ax#eMfMYe&&8A2|vhh)!?6J(;GQRvN7Yu$j7*|IkfX5QnHOYlX)Bd9q-*a&dlA+ z9+z`Z*17W~$Il3NfLuKhjAFr;c-scQAIk z6`34N#iB@aFt(x%^=~6&gi|Nk7U6hwk_KvVK;=mrJe`+ScK833=Lg`-h1f>q18t-a z!n_k;$25vt{`mfduiX8;M|{EL_Tc+(@MQRP>|JjE;H=>G4@ZP>+}ea)q3PY%Bw_bf zKnslir(%0xL+}U(Hj*L_mOhw#&f%eLKmxBQ&PkRZ8kg!uba>RLo}Fr+U}u+U=be?^ znZF}!?4vEu)$Tl*p;p)R!jX* zZ@rXd9Oh>oIHn4+KFB9l5HX+GBN~9jIvzMeB(*1Yzd?N6&vf?0Dj-#nb6#9ej24I&MAjlMj73lEE)dD6N|%bQ zM>|cev~cf|NJUVR#ZOq?!Y`WQ5kLol|37NgeKXwgc&DF_ zII$2$48cY3dTAMuHv`Zgvipt~np3%qeb>WV%kAw{G z!FTqFLC`q4-Bd2O?^WR@No2LyJQFeCFSw-?e~Y_C*kuqF+>FyC2i_ks z@KNx1C!?!C=M@~e2SM7!<+q7Fu{I!fmQaKU!}5a>MM#Kz?TOuh!rKK5V$k?m55#j< z$O)(=!P?E~(4N>oQH(T>5@CA`2Gir352C%Y$6)kqZCP;`q$O=F$037{urY{_M~U=A z+u(NJ^DlG<(_P(I2?={5g6;FP{{-)0Jy7cbj~}K`&Qrr^23aFQHh|#)>WJgA(Q&zv zUeRpdD5h2h;#|Bgyvg5cAh8?D_`yOc$J|`)&Pzt@z*L4giMJwG%Mcw=6EF5ekkH5^ zGeHb7x=uyI ze3kScISGqH&_c;4=kP#C90OH~Y>~du2!hxaX*ePy=P>i%V@lDPe+CAIo%utZ#)8Qw zk(Wbb%Jf<9Vkc^nIAt^XP}!xdxYgd^ULMR!s})T7>)BBrRh|4h(raBB4mkorI8 z#51+}Ry^YfbYD36C*&jtfjkzyT#_gw5RO0KZx8)Fo%I*w^G^F2I?*|%f1Im7x7~wq zOTC+L>wHJ@jdGlMaKs<8yR*>TjSMDdjYHXX9@>9+c0MMEGqmH6uNdduR2qN06VvBx z^<4G*{JH0YZ7t0KbeNea@GeE;O!j`3q*1|bX`PLBg*S*MD znXBd)9fpw4yg*B*nC+m^iB}&!J3u5;<3#<~-uI7orO3=DOI74}JDfTeQTN6VWqs%o zDUM3fuI!;W9{lI%E{W_Tl6bHrR4OSbyf{5rikFOLm~#}VJjs`)Rq(!enar$3N+?Pu z;lx@MLPgynKVvMKANEcH0fm=XHxlT;OQQj4%mr9MI63(dKyd616-2~1vcohmCJ?<# zh#!-aBwh^rH?Q+tNKAs7uxU-nMG7yqvHZx0RJtnFu@n-vO_gZ5le8IQaTU-FL{?H% zfCOtNl&-vT1>k_{UQ#2KPGEt}C^RSa>%5MZ#wCrWhKbfmfiqE9ygj zDFe!_0->4^=lnxTV_=Nd5i}k4d`Ql@m$W4~VY3Ud2qk|nGX;OB;cJQ}L~IK`_4-nJ z%0v+w#4(uDcY4?Gi`yWQvL24;`oBiT(*d1);@Mx|yS@TOBFMAo#sP$q12q#~4^H@` z^7(Lj*+At!IV^AjRhGwgtEeyVF(p|SN}uNm(liYmf;kSEl9gzk%D_3go(5hVC+Lm8 zLyCF|Co!)Q!eQbAhwz9mA52Rq`CD(CUm&?+{5z2WuMZFM%5%uwUU%T!V+m$=QLBNNSvFAaVtinz95<-rU6IQ+O09CrIjWz38!FI!%5hfw;~n6^d%k~M2<#_ zvV5Ak+O3|wvwAAU)L@(&PA)~=215>d3)oZhifSLVkHiS+b4ziLQV2xIm6v4y2z-SvG&oWb;zgT09e7%K-VpGRPo`}%K# zAKUK2D+@f~g)PEB{eoOm*(u!5! z{CJ%jKx$mGZaVf)MVT+L-clU8=S`dpE$LzB4dWel;t;p3`|&Quik#_;8B-~aGEp_s zqxqp88$I!WyiMIqUfa$HnHe4DcpB$(7DG0#FwPJ}cD^Hg7&)=(#U5lQZUCdJF5EG% z2)->qut$1O?7mnn#toj%(e{+ZKL4tU$Y^^WPFXNWL_`<}W-fY$3rO8Wxps`6?OU@? zrdXViQLGquF~n-=Aynvm2`1pWR2XET9^b^iuk*?X{fVu}s{TJ{KM%(&YEXkE*!muL zNM1z!Ku14SFwdBGVEEF(j^4p(%eSKsOr*W^u6-JR*($PS{u|p&b`CMk%KensdULqU z%;uSwYH~FHV70vm&#qu^n=RzK0dMOKW#fy**R-Zty?gL^%i*(Ms{dh}l~@mz4RIWZ zNXdjzn)65u>Mn?fUn`Kjq3qA>SELf$Xad<086K^&U@DV)po8l~2eL9zbfO!<)y2iC4D;{&Gm{)807UcR=wuV8zxEtxJT`*PcN ztoIWQ(dDDNZ$$dg1f**{`U(a2exz)C@NT;KaSHBzKlZX``^$wnE;A=zxxLQW*7Vu~XH!%?bxE&g--R%mG1r z5i_YC>rg#Xi9bUC^pC;+9xmQrC!PVNiO;*pnM(L=_3x&MP9=i&<1RefbvOehMKzOh zIT#j$+Iz+GQuQ|@EiwZ898zMlC%E(n9Zq(H;+q)B*j5WSE7E9B?ILZP%Rvwi828qM zQ!=-^Po{%C5v;NwWusryDD)r=NKc0?@Q3Q;$_3R$cn_xJ`lZ$ zGlBKB5;G{6%xr^Y)97UW6ENGqitQimjXw(}yB&+667DbbUe8^AI7^RIq^4ZQp4`h) z5b6D>8u{fJMQ%%ZE`b(>Qbib+<82LFHrAX1Z-V>o@HL-5oZ3KRz`pf3GZ~hlR{T~3 zJc!|}Fa}dmso)UA7f4VbXqH-9*K4J?@b^@g)gyt9$BnfTNpxhFB0Ja)`e}wBsV#aY zvZvLKOjUSfpEsUi7CCFY!e#XXV?-y8MMMHobWpsBw~;96A?n*NZ~PjHLu#sM&f=vI z$3UV;D!PjMqESQzt+|h}K%cV8mdJ^iIT-G$O$?X$YdG2Wa^L=!*jvfKE8b9!F>iU< z5uXYXGVfu_kyyk&`LZ{`ZB4d)83FYl!G85N$i_QQ7BfVm#QR?E$LlX|xwfszy?9&B z#&+hN!>{_7nmOUQt zwq3#4PS3y-YtJ4Kj?PTrffXw`a;U?pkcdlDb#iXe&a;PW-q}?+u@5?>j4;Dl~nGeGg+C){X82 zIu+Vbl4XOh^Pr}{YUMxX>y^6$1A8hl$YYhIifeuKL=L67q6dFuq@%0R>Qs6?NORDF zjaE~OPVH%+V8A;N+qw~!0k(H84T{}uh)n0)5;dRe^qe}u9>t(K5r7mY9M5l9b0MMv ze3pu68zh2GDuOPe-=9Fd5g|4nBC15hNsI+6f;$#;8dOCd6cKlovFq|;bt=IW$yu_W|Y+b}hiXD7p46R?{9fXl>PtZ1VqcKOl(1DxiVObuZg*bJC#F?-+5d9h_*68%3 zLa{z@dpNYQ*;D07JO?tJ_U<7p&&+M_eg;ZYmt)t%>65vj0kvG!#TPkFdP34+Opm=9 zT8oKd^wU=Zg}v2p1ijU}LKrMD`z&w#RcJ9EnMkYiC|fZgZcvGGmy;k20qmvB#C$A) zV%<#UC-B(R#k5K8rAOa~kPv0=b>lR&MV%#KU3n2sK8nh86O4moVTiAVkmNr|#_NzA zfuoj&lHHgq6ed*YK(c3G%$&qP#2fa!9X)G?H~u{PW5+LJZJZE?l=VG7{iv89jkD+vpCvvGwRXPTfGnFvL-w#4Rx{*fEb?uIO z<)Xwdc=|)af%XP61E8f&Rh%xDh7Ev?yA5bvPbhCT0AGz-2 z&ii1*tkb|4r+D1)^JqkFIcbWSX6D2;qEka|dRD==My=seVT zkM+Lo44gKMi;UjjHh-+F?A8QR0hDofglm}w_Gldbgu-&%19&0FQDx%sl?SB)E7Xd!O9FW#9MXjv*P}z3=J6ELF}x<83wO9A>0eM-eO;u%^u$FG6ye zGoYEKEvrZ`4b+xvTst6_qZw!Bh<&6~x(j1_@hVL5E5O9QRs1eYGGu;+KiT?*B4PK9 z9V>=~nZLw0QOxY4J&X6g5JpqO+Q}MDQv+^ezT&?EPo@ih=6HXNg&x}W$~*o!$s43# z@Qp?_yg*$f0M4H#_e#&gmaXAJN3Z+9wH|95r=2o|jH~n$r5~6XW}cC!Pa|3O@PuXbHy)fCi&4p9XAp#$ za~T97lFuL~U!iABtU>LzvgeJVehc>hejvB<@ zg&eM8tq4y?L?Q9dyI(0t z@S&gRjh{&mFjX{Z`(~{w?5x;#9o4+p8^04yT++Y>9W%7+@aVkVg1MpxDOdKkq>m`g z=@sHhDbY+sbaZqbaz=6wRhpQ6ntEX$fM~vCsFxSlIr@l^aWG}Zt%=|}d^2i~Td~@) zUIwq3GeOpTi|s$i8~-JWF>@{^1>F5FsSl`*99#|RT>KFR$aEJo>*2f0C_HQ2w;|qc zrTp^K*Y$J#>Zl zHrypgGkcLMI#{pVr<59#KBq_Lfo7tzFx#~wzB@8zV2q3wINK||OXLjQ+3>(jV59;L z84Qp^I-KBOhlINQN#;VWd|Dq}*@uOgk|D@DZ=w%{CHbPOEi*663pYRJ-jGXRErod@GrE{A(0gvJI3XEU053U_>=gj~*=ys#dA|HlPU+1XR z=o2G|HE$s+@v0s2pK-~TW&i_iyYSw(hYXorY`0QrPMYMb&$k!;d4Ju_o+EqpP7gBk zM`VH1=T1-M7!0piGVg&pbG$ck36{A;uk}p!CcX~sk6v3a)tl%5V%o#$Ynk>#`sbmZ zqPKgFCnUKMsdi=B>u~ToIrtnNM$D}9uG>EI8oY8S{!{0!bnO$-4?WAeXI|bpInjTc7&$ ziJRIY*!lXz9mnxxp;r%?rTSE_Zro*@y-abtc^7X;t#a;>r*u>})4lR^^9nvC(_Ci@ ze-#?6PdV2rXO$3d9;ciY%2}(N-5~O%2EWUMm@f4(UmPE%1y}(pSMNf&U#RI@l_#iA ze!8X87KpZjdE+%GD+=W|op9Sg4@pRimr)}O+ZVy+)IMYc$0@9uU7|I7O?Q9UdSHP0 ze(!|a#6dg<&v+f$a!nmOhu!41hZ@23)L;A&Y64@s3uIpX_(U5kEP-^|n6}}kPf?X_ zW_Y3GJ8Z(7@lJQ=pX`Wu4{q~gRKfQ{ST8@)e*X|D-r)1bUq{m}9WGdCeFcp6s}glK zx|Jh4Yvo9`j~vJO_sLk#9&3`~gDDMK-gp74czW#fAR%;_;+CYb3S99p>P2~m?aVrv z29b6TDHe`Ix2a~{_y`zdyn}N_wwd?Qw6Zou?b>wwe>(MZBpMduG1CJ+r;k(=N?(EZ zHP4E4PEnPMXRIp91a=k;M;^VWbOgahVn1GzF)nfueARxzrc*muhK?yq>Dj(dxw*kTakOv6Rs3dt*U$+3^nO{We$TqfG&)h!BLAFA8*B7B7zZ+ zDTED}QaxL0miwJNho46w^UO3YRu_SZop$yR&}si0s*~f2xsN~KkzKXdFm1wqimrji z+?%c^=#e!fnHe0OnEex+WdJEo8zzp18*2%dA29!K{4*1p`5Fa6iVP$Ct1z%gfFa=h zwc7Zm@g85(86MOJ?%WOYum`cTyLc?L%6+k|TuEQ(_ujtKvoHDnzQlTFGRy<`9l<>q z4&o8t6EOfTr9W|>GAm=Rmq!Y)G;AL;kpeQ^Ic|S-GM7A=yWoZ>u9sA0DpfG+ zSOu~J9ZRV-@`P??iRdMV7^xMdvM%znVkw%n3WMkWT@}Q-LBA}yu10P! zw_bhh-x?k??up!lnkB1baKDA2R6e}#VL#p>A}8aI zd)Kz{j!DBi5U<$F<8)~cXA`-XZzwgKvt4H)2J8$cW;6R!H?w(^FAe4}Lmpsn5Do+U zkVaAH_#1bDCv?2_DW-4tCW^)Djp`MX_4|?WszQ+4kB3m|cBZR3btlsm*!M`Za~jgh zQBEk8=FPA_B<#0Pui#|Vi!uBmoC5nK!G3T2yHw5StFUKXg0|Wt{OhRh=**+ZX#hMx zFqP^wR4|88z(ZOku>lOzn!1I99m$p>5s8}AJsjG|g6~lh-!$D#8unxSipZ14vB!-6 zOCW2^5qUePt!lEfo>C>FvBu9CcY@ZFVCL{*m6oDPiaQ@A z-;%nU~O*i=ffT&~ylzpp#AONsz{i z(W8J+QsnSa#3n@qA4OtPeDhI+CB=Wvuoh`?0?irBf}Ra4U4ft^p7ji~C&6c4LaS98 zop^Cw-(AvTVjG6PapWmk3CZi2dZl_Q6)doaga!0K9^EsK28y=r(@f z1IaY)mHR@mZQaZ>Z=w>@2Xj(u><^>nBQgj`1R%0&;YAw4r!d*ic`O+J`_WYW6OW

>tjElz34+0-q(VR|Tlp)F0+y6!;L!x%1uhuz3S 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

A2#DMb2+KlmvawaZ`Q+3g@~VnItHj z@pdR|_c-tEP}r_<_S>Nx3kv7J9m*t7I1}zrIM2oTaEHQg#heu<1rXO)NkNn5$V5Ql z47o$O1r*McJFdP93TMk5%DwalZ)^^Qb(%Bh4&_NuIDhU?c7wue9DWBYnSY@_DX#FT zN9Nlde~t!)v+fS%3{W`t?of*8>Uf)CO@TDEqHH+ja2{khGw-K)1kP{=|v?%oQGfKmJD0MOfQmUgsak$K~;r}l+QG&MoWgF zjC7)o+jz-m%OAGSDsj3j3R^Zs;kP$l)I?F(C)rnqC;cp%+UkZCO*OUz z>pMPk472H0+f-9?oh{;_OsyOfVv|VWwL^zR3c^~pVwLT+xT1l0+mZOghdn8-NO?Df z0)1S^?$DpA>S~%2vo1UI&r@8Hc{uW3UAD~eX_SIAN+6B0D2-C9DIP2CO=*;`r%<>c zOls7$=H(6b*VQzv!6y>Vhq|7{2$$=5CHZ+b+;GFlM&^((2R-J7vz#NlvP_)SG*wqM zV&XW0nRa~dQ9+GpX3lB@an46$MH9~?u?d{F$7vzRQk$YW`w?m465V>kiWS#Yan`w_ zW<`T`2!;sAWHt&8OrE2}>8FFoMmQqJnP7wrn|e!?LwioVqIo$!Em}nSouV>API+c5 zg&>}CUb?~wLwhOeQEW+7^>r0X)L&%c3wL~o*9JC%qohJNYk`g1qJy~HA1M!z3G&t5&i7SS@+q*^@y8{Vcs$E-!|)eZx^+kP z_*2k_Pf(&Vw)1<+E8U|daXP}EfCr}`EOC0b5k!R4N;%irfF$PQcZaLjAuYhu5QbTI zoCx~UkegxY$B~lANiRTG)`d8{ndV=*bw`H#COvUoh({o06>;0!h42phHsjbbj4gLu zw3w|{)dgeWtn8pU4hvKhu#UIi-~5gdZ-7AnEXZy&Ol&zAkk#eB2Qy$i>SEY-qu92r zV9y)5J^d3)a(0qDWZl02IU6`=20kk*+SdF;IDT6Kn$>n;J9kMe2&X++JTaxGXJBlw zr{~a~ZN8F%Crizqf^D(jXPH4ih=+N%mEcH~o`KAsoj6iuCyWw$`^@0%P|=gk-Q63e zf3p}nc&5Y_=S?at*i!=RkKL4)7ltt`T(E3Yg1z~<_)UmK@+Ovmcl_XSU2|h4CxH2} z`D}^#M9_TR{H^(E35{#L4_kgPb`tD)_K=>Pqe}|*$-|B@!Gay;u7dp~C-oKVD)H_s z&V>6=^sy{&UkT1`@Fq&lojp%x1bcQKdQp64VX65X&T;`Qc+zvhp2S$|0V#3PzS5li zCEjh`ZK1YLIn?!aG-8!JR=H2aif5>qjWxJaO3X-}-@GYrlAP>N0`3G*jvqY4UX>Y} z;0<~gW?>Pzl}&$!>$dI8*I`Sh+nEfWVfoLgB%}M9KjvK9@!!`xqKu!I&tgHS(Y^A6 z<+IQI%cb{{n2#M>M)x-^J8b^Cx>4UFrO@d9@$TrCj(Mj4YOzf~zex|++bsu3K{O2W zvFIlOn6!aLTm%~fIgFCz4{i+rvQUKwOHt^Qex>Fgu{|U>`PpF6?@D}gKfuEIQuE`I z$sd%N`@`NL@wLQ!FOweQN3X^D7_CgfFj6A=>4mEh4>9|Yi-nsAva=FFM+XB`#)$R? zj5cl!#qb!bfS-M4h-h|^z z^TN^nfyfEgs$`s~07LUIV;0?i;i~r;`2c*82x8?wS6+V;D^mT|-1#t`J-)d;C`%0A@L`(@PM=tx#{`0(14Z-@ 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

}j(S{UKL-3~4m3?!ORz9tD>KeN7jE|{(N#6>WP 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 literal 380222 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 literal 0 HcmV?d00001 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2f97c173..f995d046 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -220,6 +220,8 @@ set(SRB2_CONFIG_HAVE_ZLIB ON CACHE BOOL "Enable zlib support.") set(SRB2_CONFIG_HAVE_GME ON CACHE BOOL "Enable GME support.") +set(SRB2_CONFIG_HAVE_GME ON CACHE BOOL + "Enable curl support, used for downloading files via HTTP.") set(SRB2_CONFIG_HWRENDER ON CACHE BOOL "Enable hardware rendering through OpenGL.") set(SRB2_CONFIG_USEASM OFF CACHE BOOL @@ -391,6 +393,26 @@ if(${SRB2_CONFIG_HAVE_PNG} AND ${SRB2_CONFIG_HAVE_ZLIB}) endif() endif() +if(${SRB2_CONFIG_HAVE_CURL}) + if(${SRB2_CONFIG_USE_INTERNAL_LIBRARIES}) + set(CURL_FOUND ON) + set(CURL_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/libs/curl) + if(${SRB2_SYSTEM_BITS} EQUAL 64) + set(CURL_LIBRARIES "-L${CMAKE_SOURCE_DIR}/libs/curl/lib32 -lcurl") + else() # 32-bit + set(CURL_LIBRARIES "-L${CMAKE_SOURCE_DIR}/libs/curl/lib64 -lcurl") + endif() + else() + find_package(CURL) + endif() + if(${CURL_FOUND}) + set(SRB2_HAVE_CURL ON) + add_definitions(-DHAVE_CURL) + else() + message(WARNING "You have specified that CURL is available but it was not found. SRB2Kart may not compile correctly.") + endif() +endif() + if(${SRB2_CONFIG_HWRENDER}) add_definitions(-DHWRENDER) set(SRB2_HWRENDER_SOURCES diff --git a/src/Makefile b/src/Makefile index 214c2bf7..d8bb62fa 100644 --- a/src/Makefile +++ b/src/Makefile @@ -267,6 +267,7 @@ endif ifdef NONET OPTS+=-DNONET + NOCURL=1 else ifdef NO_IPV6 OPTS+=-DNO_IPV6 @@ -369,6 +370,16 @@ else NOPNG=1 endif +ifndef NOCURL +OPTS+=-DHAVE_CURL +CURLCONFIG?=curl-config +CURL_CFLAGS?=$(shell $(CURLCONFIG) --cflags) +CURL_LDFLAGS?=$(shell $(CURLCONFIG) --libs) + +LIBS+=$(CURL_LDFLAGS) +CFLAGS+=$(CURL_CFLAGS) +endif + ifdef STATIC LIBS:=-static $(LIBS) endif diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 213f5dde..083ad750 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -172,6 +172,10 @@ consvar_t cv_showjoinaddress = {"showjoinaddress", "On", CV_SAVE, CV_OnOff, NULL static CV_PossibleValue_t playbackspeed_cons_t[] = {{1, "MIN"}, {10, "MAX"}, {0, NULL}}; consvar_t cv_playbackspeed = {"playbackspeed", "1", 0, playbackspeed_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; +#ifdef HAVE_CURL +consvar_t cv_httpsource = {"http_source", "", CV_SAVE, NULL, NULL, 0, NULL, NULL, 0, 0, NULL}; +#endif + static inline void *G_DcpyTiccmd(void* dest, const ticcmd_t* src, const size_t n) { const size_t d = n / sizeof(ticcmd_t); @@ -1104,6 +1108,10 @@ typedef enum CL_ASKFULLFILELIST, CL_ASKDOWNLOADFILES, CL_WAITDOWNLOADFILESRESPONSE, +#ifdef HAVE_CURL + CL_PREPAREHTTPFILES, + CL_DOWNLOADHTTPFILES, +#endif CL_CHALLENGE } cl_mode_t; @@ -1119,6 +1127,10 @@ static char cl_challengepassword[65]; static UINT8 cl_challengeanswer[MD5_LEN+1]; static UINT8 cl_challengeattempted = 0; +#ifdef HAVE_CURL +char http_source[MAX_MIRROR_LENGTH]; +#endif + // Player name send/load static void CV_SavePlayerNames(UINT8 **p) @@ -1172,7 +1184,11 @@ static inline void CL_DrawConnectionStatus(void) M_DrawTextBox(BASEVIDWIDTH/2-128-8, BASEVIDHEIGHT-24-8, 32, 1); V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-24, V_YELLOWMAP, "Press ESC to abort"); - if (cl_mode != CL_DOWNLOADFILES) + if (cl_mode != CL_DOWNLOADFILES +#ifdef HAVE_CURL + && cl_mode != CL_DOWNLOADHTTPFILES +#endif + ) { INT32 i, animtime = ((ccstime / 4) & 15) + 16; UINT8 palstart = (cl_mode == CL_SEARCHING) ? 128 : 160; @@ -1239,6 +1255,7 @@ static inline void CL_DrawConnectionStatus(void) break; case CL_ASKDOWNLOADFILES: case CL_WAITDOWNLOADFILESRESPONSE: + case CL_PREPAREHTTPFILES: cltext = M_GetText("Waiting to download files..."); default: cltext = M_GetText("Connecting to server..."); @@ -1335,6 +1352,7 @@ static boolean CL_SendJoin(void) static void SV_SendServerInfo(INT32 node, tic_t servertime) { UINT8 *p; + size_t mirror_length; netbuffer->packettype = PT_SERVERINFO; netbuffer->u.serverinfo.version = VERSION; @@ -1367,6 +1385,7 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) netbuffer->u.serverinfo.iszone = 0; memset(netbuffer->u.serverinfo.maptitle, 0, 33); + memset(netbuffer->u.serverinfo.httpsource, 0, MAX_MIRROR_LENGTH); if (!(mapheaderinfo[gamemap-1]->menuflags & LF2_HIDEINMENU) && mapheaderinfo[gamemap-1]->lvlttl[0]) { @@ -1418,6 +1437,16 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) netbuffer->u.serverinfo.actnum = 0; //mapheaderinfo[gamemap-1]->actnum + mirror_length = strlen(cv_httpsource.string); + if (mirror_length > MAX_MIRROR_LENGTH) + mirror_length = MAX_MIRROR_LENGTH; + + if (snprintf(netbuffer->u.serverinfo.httpsource, MAX_MIRROR_LENGTH, "%s", cv_httpsource.string) < 0) + // If there's an encoding error, send nothing, we accept that the above may be truncated + strncpy(netbuffer->u.serverinfo.httpsource, "", MAX_MIRROR_LENGTH); + + netbuffer->u.serverinfo.httpsource[MAX_MIRROR_LENGTH-1] = 0; + p = PutFileNeeded(0); HSendPacket(node, false, 0, p - ((UINT8 *)&netbuffer->u)); @@ -1934,23 +1963,36 @@ static boolean CL_FinishedFileList(void) { // must download something // can we, though? - if (!CL_CheckDownloadable()) // nope! +#ifdef HAVE_CURL + if (http_source[0] == '\0' || curl_failedwebdownload) +#endif { - D_QuitNetGame(); - CL_Reset(); - D_StartTitle(); - M_StartMessage(M_GetText( - "You cannot connect to this server\n" - "because you cannot download the files\n" - "that you are missing from the server.\n\n" - "See the console or log file for\n" - "more details.\n\n" - "Press ESC\n" - ), NULL, MM_NOTHING); - return false; - } + if (!CL_CheckDownloadable()) // nope! + { + D_QuitNetGame(); + CL_Reset(); + D_StartTitle(); + M_StartMessage(M_GetText( + "You cannot connect to this server\n" + "because you cannot download the files\n" + "that you are missing from the server.\n\n" + "See the console or log file for\n" + "more details.\n\n" + "Press ESC\n" + ), NULL, MM_NOTHING); + return false; + } - cl_mode = CL_ASKDOWNLOADFILES; + cl_mode = CL_ASKDOWNLOADFILES; + return true; + } +#ifdef HAVE_CURL + else + { + cl_mode = CL_PREPAREHTTPFILES; + return true; + } +#endif } return true; } @@ -1998,6 +2040,13 @@ static boolean CL_ServerConnectionSearchTicker(boolean viams, tic_t *asksent) if (client) { +#ifdef HAVE_CURL + if (serverlist[i].info.httpsource[0]) + strncpy(http_source, serverlist[i].info.httpsource, MAX_MIRROR_LENGTH); + else + http_source[0] = '\0'; +#endif + D_ParseFileneeded(serverlist[i].info.fileneedednum, serverlist[i].info.fileneeded, 0); if (serverlist[i].info.kartvars & SV_LOTSOFADDONS) { @@ -2074,6 +2123,47 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic } break; +#ifdef HAVE_CURL + case CL_PREPAREHTTPFILES: + if (http_source[0]) + { + for (i = 0; i < fileneedednum; i++) + if (fileneeded[i].status == FS_NOTFOUND) + curl_transfers++; + + cl_mode = CL_DOWNLOADHTTPFILES; + } + break; + + case CL_DOWNLOADHTTPFILES: + waitmore = false; + for (i = 0; i < fileneedednum; i++) + if (fileneeded[i].status == FS_NOTFOUND) + { + if (!curl_running) + CURLPrepareFile(http_source, i); + waitmore = true; + break; + } + + if (curl_running) + CURLGetFile(); + + if (waitmore) + break; // exit the case + + if (curl_failedwebdownload && !curl_transfers) + { + CONS_Printf("One or more files failed to download, falling back to internal downloader\n"); + cl_mode = CL_ASKDOWNLOADFILES; + break; + } + + if (!curl_transfers) + cl_mode = CL_ASKJOIN; // don't break case continue to cljoin request now + + break; +#endif case CL_DOWNLOADFILES: waitmore = false; for (i = 0; i < fileneedednum; i++) @@ -2752,6 +2842,13 @@ void CL_Reset(void) fileneedednum = 0; memset(fileneeded, 0, sizeof(fileneeded)); +#ifdef HAVE_CURL + curl_failedwebdownload = false; + curl_transfers = 0; + curl_running = false; + http_source[0] = '\0'; +#endif + // D_StartTitle should get done now, but the calling function will handle it } @@ -3875,6 +3972,9 @@ static void HandleServerInfo(SINT8 node) netbuffer->u.serverinfo.time = (tic_t)LONG(ticdiff); netbuffer->u.serverinfo.servername[MAXSERVERNAME-1] = 0; netbuffer->u.serverinfo.gametype = (UINT8)((netbuffer->u.serverinfo.gametype == VANILLA_GT_MATCH) ? GT_MATCH : GT_RACE); +#ifdef HAVE_CURL + netbuffer->u.serverinfo.httpsource[MAX_MIRROR_LENGTH-1] = 0; +#endif SL_InsertServer(&netbuffer->u.serverinfo, node); } diff --git a/src/d_clisrv.h b/src/d_clisrv.h index e961c38f..120562a8 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -367,6 +367,9 @@ typedef struct #define MAXSERVERNAME 32 #define MAXFILENEEDED 915 +#ifdef HAVE_CURL +#define MAX_MIRROR_LENGTH 256 +#endif // This packet is too large typedef struct { @@ -388,6 +391,9 @@ typedef struct unsigned char mapmd5[16]; UINT8 actnum; UINT8 iszone; +#ifdef HAVE_CURL + char httpsource[MAX_MIRROR_LENGTH]; +#endif UINT8 fileneeded[MAXFILENEEDED]; // is filled with writexxx (byteptr.h) } ATTRPACK serverinfo_pak; @@ -496,6 +502,10 @@ extern INT32 mapchangepending; // Points inside doomcom extern doomdata_t *netbuffer; +#ifdef HAVE_CURL +extern consvar_t cv_httpsource; +#endif + extern consvar_t cv_showjoinaddress; extern consvar_t cv_playbackspeed; diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 7dff1231..4014e824 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -686,6 +686,9 @@ void D_RegisterServerCommands(void) CV_RegisterVar(&cv_maxsend); CV_RegisterVar(&cv_noticedownload); CV_RegisterVar(&cv_downloadspeed); +#ifdef HAVE_CURL + CV_RegisterVar(&cv_httpsource); +#endif #ifndef NONET CV_RegisterVar(&cv_allownewplayer); #ifdef VANILLAJOINNEXTROUND diff --git a/src/d_netfil.c b/src/d_netfil.c index 76b66836..fd42c04d 100644 --- a/src/d_netfil.c +++ b/src/d_netfil.c @@ -42,6 +42,10 @@ #include #endif +#ifdef HAVE_CURL +#include "curl/curl.h" +#endif + #include "doomdef.h" #include "doomstat.h" #include "d_main.h" @@ -65,6 +69,11 @@ // Prototypes static boolean SV_SendFile(INT32 node, const char *filename, UINT8 fileid); +#ifdef HAVE_CURL +size_t curlwrite_data(void *ptr, size_t size, size_t nmemb, FILE *stream); +int curlprogress_callback(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow); +#endif + // Sender structure typedef struct filetx_s { @@ -101,6 +110,22 @@ char downloaddir[512] = "DOWNLOAD"; INT32 lastfilenum = -1; #endif +#ifdef HAVE_CURL +static CURL *http_handle; +static CURLM *multi_handle; +boolean curl_running = false; +boolean curl_failedwebdownload = false; +static double curl_dlnow; +static double curl_dltotal; +static time_t curl_starttime; +INT32 curl_transfers = 0; +static int curl_runninghandles = 0; +static UINT32 curl_origfilesize; +static UINT32 curl_origtotalfilesize; +static char *curl_realname = '\0'; +fileneeded_t *curl_curfile = NULL; +#endif + /** Fills a serverinfo packet with information about wad files loaded. * * \todo Give this function a better name since it is in global scope. @@ -238,10 +263,10 @@ boolean CL_CheckDownloadable(void) { CONS_Printf(" * \"%s\" (%dK)", fileneeded[i].filename, fileneeded[i].totalsize >> 10); - if (fileneeded[i].status == FS_NOTFOUND) - CONS_Printf(M_GetText(" not found, md5: ")); - else if (fileneeded[i].status == FS_MD5SUMBAD) + if (fileneeded[i].status == FS_MD5SUMBAD) CONS_Printf(M_GetText(" wrong version, md5: ")); + else + CONS_Printf(M_GetText(" not found, md5: ")); { INT32 j; @@ -296,7 +321,7 @@ boolean CL_SendRequestFile(void) netbuffer->packettype = PT_REQUESTFILE; p = (char *)netbuffer->u.textcmd; for (i = 0; i < fileneedednum; i++) - if ((fileneeded[i].status == FS_NOTFOUND || fileneeded[i].status == FS_MD5SUMBAD)) + if ((fileneeded[i].status == FS_NOTFOUND || fileneeded[i].status == FS_MD5SUMBAD || fileneeded[i].status == FS_FALLBACK)) { totalfreespaceneeded += fileneeded[i].totalsize; nameonly(fileneeded[i].filename); @@ -1015,3 +1040,145 @@ filestatus_t findfile(char *filename, const UINT8 *wantedmd5sum, boolean complet return (badmd5 ? FS_MD5SUMBAD : FS_NOTFOUND); // md5 sum bad or file not found } + +#ifdef HAVE_CURL +size_t curlwrite_data(void *ptr, size_t size, size_t nmemb, FILE *stream) +{ + size_t written; + written = fwrite(ptr, size, nmemb, stream); + return written; +} + +int curlprogress_callback(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow) +{ + (void)clientp; + (void)ultotal; + (void)ulnow; // Function prototype requires these but we won't use, so just discard + curl_dlnow = dlnow; + curl_dltotal = dltotal; + getbytes = curl_dlnow / (time(NULL) - curl_starttime); // To-do: Make this more accurate??? + return 0; +} + +void CURLPrepareFile(const char* url, int dfilenum) +{ +#ifdef PARANOIA + if (M_CheckParm("-nodownload")) + I_Error("Attempted to download files in -nodownload mode"); +#endif + + curl_global_init(CURL_GLOBAL_ALL); + + http_handle = curl_easy_init(); + multi_handle = curl_multi_init(); + + if (http_handle && multi_handle) + { + I_mkdir(downloaddir, 0755); + + curl_curfile = &fileneeded[dfilenum]; + curl_realname = curl_curfile->filename; + nameonly(curl_realname); + + curl_origfilesize = curl_curfile->currentsize; + curl_origtotalfilesize = curl_curfile->totalsize; + + curl_easy_setopt(http_handle, CURLOPT_URL, va("%s/%s", url, curl_realname)); + + // Only allow HTTP and HTTPS + curl_easy_setopt(curl, CURLOPT_PROTOCOLS, CURLPROTO_HTTP|CURLPROTO_HTTPS); + + curl_easy_setopt(http_handle, CURLOPT_USERAGENT, va("SRB2Kart/v%d.%d.%d", VERSION/100, VERSION%100, SUBVERSION)); // Set user agent as some servers won't accept invalid user agents. + + // Follow a redirect request, if sent by the server. + curl_easy_setopt(http_handle, CURLOPT_FOLLOWLOCATION, 1L); + + curl_easy_setopt(http_handle, CURLOPT_FAILONERROR, 1L); + + CONS_Printf("Downloading %s from %s\n", curl_realname, url); + + strcatbf(curl_curfile->filename, downloaddir, "/"); + curl_curfile->file = fopen(curl_curfile->filename, "wb"); + curl_easy_setopt(http_handle, CURLOPT_WRITEDATA, curl_curfile->file); + curl_easy_setopt(http_handle, CURLOPT_WRITEFUNCTION, curlwrite_data); + curl_easy_setopt(http_handle, CURLOPT_NOPROGRESS, 0L); + curl_easy_setopt(http_handle, CURLOPT_PROGRESSFUNCTION, curlprogress_callback); + + curl_curfile->status = FS_DOWNLOADING; + lastfilenum = dfilenum; + curl_multi_add_handle(multi_handle, http_handle); + + curl_multi_perform(multi_handle, &curl_runninghandles); + curl_starttime = time(NULL); + curl_running = true; + } +} + +void CURLGetFile(void) +{ + CURLMcode mc; /* return code used by curl_multi_perform and curl_multi_wait() */ + int numfds; + CURLMsg *m; /* for picking up messages with the transfer status */ + CURL *e; + int msgs_left; /* how many messages are left */ + + if (curl_runninghandles) + { + curl_multi_perform(multi_handle, &curl_runninghandles); + + /* wait for activity, timeout or "nothing" */ + mc = curl_multi_wait(multi_handle, NULL, 0, 1000, &numfds); + + if (mc != CURLM_OK) + { + CONS_Alert(CONS_WARNING, "curl_multi_wait() failed, code %d.\n", mc); + return; + } + curl_curfile->currentsize = curl_dlnow; + curl_curfile->totalsize = curl_dltotal; + } + + /* See how the transfers went */ + while ((m = curl_multi_info_read(multi_handle, &msgs_left))) + { + if (m && (m->msg == CURLMSG_DONE)) + { + if (m->data.result != 0) + { + nameonly(curl_realname); + CONS_Printf(M_GetText("Failed to download %s...\n"), curl_realname); + curl_curfile->status = FS_FALLBACK; + curl_curfile->currentsize = curl_origfilesize; + curl_curfile->totalsize = curl_origtotalfilesize; + curl_failedwebdownload = true; + fclose(curl_curfile->file); + remove(curl_curfile->filename); + curl_curfile->file = NULL; + nameonly(curl_curfile->filename); + } + else + { + nameonly(curl_realname); + CONS_Printf(M_GetText("Finished downloading %s\n"), curl_realname); + curl_curfile->status = FS_FOUND; + fclose(curl_curfile->file); + } + + e = m->easy_handle; + curl_running = false; + curl_transfers--; + curl_multi_remove_handle(multi_handle, e); + curl_easy_cleanup(e); + + if (!curl_transfers) + break; + } + } + + if (!curl_transfers) + { + curl_multi_cleanup(multi_handle); + curl_global_cleanup(); + } +} +#endif \ No newline at end of file diff --git a/src/d_netfil.h b/src/d_netfil.h index 2f033331..f37df371 100644 --- a/src/d_netfil.h +++ b/src/d_netfil.h @@ -30,7 +30,8 @@ typedef enum FS_REQUESTED, FS_DOWNLOADING, FS_OPEN, // Is opened and used in w_wad - FS_MD5SUMBAD + FS_MD5SUMBAD, + FS_FALLBACK, // HTTP failed } filestatus_t; typedef struct @@ -53,6 +54,12 @@ extern char downloaddir[512]; extern INT32 lastfilenum; #endif +#ifdef HAVE_CURL +extern boolean curl_failedwebdownload; +extern boolean curl_running; +extern INT32 curl_transfers; +#endif + UINT8 *PutFileNeeded(UINT16 firstfile); void D_ParseFileneeded(INT32 fileneedednum_parm, UINT8 *fileneededstr, UINT16 firstfile); void CL_PrepareDownloadSaveGame(const char *tmpsave); @@ -83,4 +90,9 @@ filestatus_t checkfilemd5(char *filename, const UINT8 *wantedmd5sum); void nameonly(char *s); size_t nameonlylength(const char *s); +#ifdef HAVE_CURL +void CURLPrepareFile(const char* url, int dfilenum); +void CURLGetFile(void); +#endif + #endif // __D_NETFIL__ diff --git a/src/sdl/CMakeLists.txt b/src/sdl/CMakeLists.txt index de215705..33c83b8b 100644 --- a/src/sdl/CMakeLists.txt +++ b/src/sdl/CMakeLists.txt @@ -152,6 +152,7 @@ if(${SDL2_FOUND}) ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${OPENGL_LIBRARIES} + ${CURL_LIBRARIES} ) set_target_properties(SRB2SDL2 PROPERTIES OUTPUT_NAME "${CPACK_PACKAGE_DESCRIPTION_SUMMARY}") else() @@ -162,6 +163,7 @@ if(${SDL2_FOUND}) ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${OPENGL_LIBRARIES} + ${CURL_LIBRARIES} ) if(${CMAKE_SYSTEM} MATCHES Linux) @@ -241,6 +243,7 @@ if(${SDL2_FOUND}) ${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} ${OPENGL_INCLUDE_DIRS} + ${CURL_INCLUDE_DIRS} ) if(${SRB2_HAVE_MIXER}) diff --git a/src/win32/Makefile.cfg b/src/win32/Makefile.cfg index e6675421..46b103df 100644 --- a/src/win32/Makefile.cfg +++ b/src/win32/Makefile.cfg @@ -138,3 +138,12 @@ else LDFLAGS+=-L../libs/miniupnpc/mingw32 endif #MINGW64 endif + +ifndef NOCURL + CURL_CFLAGS+=-I../libs/curl/include +ifdef MINGW64 + CURL_LDFLAGS+=-L../libs/curl/lib64 -lcurl +else + CURL_LDFLAGS+=-L../libs/curl/lib32 -lcurl +endif #MINGW64 +endif \ No newline at end of file From cb9004e4cfa94251ab0d31f19fee187fc4e9abcc Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Tue, 7 Apr 2020 19:07:39 -0400 Subject: [PATCH 148/245] Fix some build errors --- .circleci/config.yml | 2 +- src/CMakeLists.txt | 2 +- src/d_clisrv.c | 6 ++++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1784ba1e..e7916074 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -36,7 +36,7 @@ jobs: - v1-SRB2-APT - run: name: Install SDK - command: apt-get -qq -y --no-install-recommends install git build-essential nasm libpng-dev:i386 libsdl2-mixer-dev:i386 libgme-dev:i386 gettext ccache wget gcc-multilib upx openssh-client + command: apt-get -qq -y --no-install-recommends install git build-essential nasm libpng-dev:i386 libsdl2-mixer-dev:i386 libgme-dev:i386 libcurl4-openssl-dev:i386 gettext ccache wget gcc-multilib upx openssh-client - save_cache: key: v1-SRB2-APT paths: diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f995d046..19b0e07c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -220,7 +220,7 @@ set(SRB2_CONFIG_HAVE_ZLIB ON CACHE BOOL "Enable zlib support.") set(SRB2_CONFIG_HAVE_GME ON CACHE BOOL "Enable GME support.") -set(SRB2_CONFIG_HAVE_GME ON CACHE BOOL +set(SRB2_CONFIG_HAVE_CURL ON CACHE BOOL "Enable curl support, used for downloading files via HTTP.") set(SRB2_CONFIG_HWRENDER ON CACHE BOOL "Enable hardware rendering through OpenGL.") diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 083ad750..c93f6e29 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1255,7 +1255,9 @@ static inline void CL_DrawConnectionStatus(void) break; case CL_ASKDOWNLOADFILES: case CL_WAITDOWNLOADFILESRESPONSE: +#ifdef HAVE_CURL case CL_PREPAREHTTPFILES: +#endif cltext = M_GetText("Waiting to download files..."); default: cltext = M_GetText("Connecting to server..."); @@ -1385,7 +1387,9 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) netbuffer->u.serverinfo.iszone = 0; memset(netbuffer->u.serverinfo.maptitle, 0, 33); +#ifdef HAVE_CURL memset(netbuffer->u.serverinfo.httpsource, 0, MAX_MIRROR_LENGTH); +#endif if (!(mapheaderinfo[gamemap-1]->menuflags & LF2_HIDEINMENU) && mapheaderinfo[gamemap-1]->lvlttl[0]) { @@ -1437,6 +1441,7 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) netbuffer->u.serverinfo.actnum = 0; //mapheaderinfo[gamemap-1]->actnum +#ifdef HAVE_CURL mirror_length = strlen(cv_httpsource.string); if (mirror_length > MAX_MIRROR_LENGTH) mirror_length = MAX_MIRROR_LENGTH; @@ -1446,6 +1451,7 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) strncpy(netbuffer->u.serverinfo.httpsource, "", MAX_MIRROR_LENGTH); netbuffer->u.serverinfo.httpsource[MAX_MIRROR_LENGTH-1] = 0; +#endif p = PutFileNeeded(0); From f4002f076e8eddaf56745fe90f8a3ebc2c25eac8 Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Tue, 7 Apr 2020 19:14:27 -0400 Subject: [PATCH 149/245] Fix even more build errors --- debian-template/control | 1 + src/d_clisrv.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/debian-template/control b/debian-template/control index 6614d315..4db1d875 100644 --- a/debian-template/control +++ b/debian-template/control @@ -25,6 +25,7 @@ Depends: ${SHLIBS_DEPENDS}, ${MISC_DEPENDS}, libsdl2-mixer-2.0-0, zlib1g, libgme0, + libcurl4, libpng | libpng16-16 | libpng12-0 Description: A cross-platform 3D Sonic fangame Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog diff --git a/src/d_clisrv.c b/src/d_clisrv.c index c93f6e29..6988188f 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1354,7 +1354,9 @@ static boolean CL_SendJoin(void) static void SV_SendServerInfo(INT32 node, tic_t servertime) { UINT8 *p; +#ifdef HAVE_CURL size_t mirror_length; +#endif netbuffer->packettype = PT_SERVERINFO; netbuffer->u.serverinfo.version = VERSION; From f28c53ea827dc11cb14aaa8ef1559db506d3b29c Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Tue, 7 Apr 2020 19:27:20 -0400 Subject: [PATCH 150/245] Fix this mistake --- src/d_netfil.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/d_netfil.c b/src/d_netfil.c index fd42c04d..e51d013e 100644 --- a/src/d_netfil.c +++ b/src/d_netfil.c @@ -1086,7 +1086,7 @@ void CURLPrepareFile(const char* url, int dfilenum) curl_easy_setopt(http_handle, CURLOPT_URL, va("%s/%s", url, curl_realname)); // Only allow HTTP and HTTPS - curl_easy_setopt(curl, CURLOPT_PROTOCOLS, CURLPROTO_HTTP|CURLPROTO_HTTPS); + curl_easy_setopt(http_handle, CURLOPT_PROTOCOLS, CURLPROTO_HTTP|CURLPROTO_HTTPS); curl_easy_setopt(http_handle, CURLOPT_USERAGENT, va("SRB2Kart/v%d.%d.%d", VERSION/100, VERSION%100, SUBVERSION)); // Set user agent as some servers won't accept invalid user agents. From 061e483df171c691301d8620ddec2a3b88e79750 Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Tue, 7 Apr 2020 19:48:39 -0400 Subject: [PATCH 151/245] Fix error with travis --- src/d_netfil.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/d_netfil.c b/src/d_netfil.c index e51d013e..09a89172 100644 --- a/src/d_netfil.c +++ b/src/d_netfil.c @@ -122,7 +122,7 @@ INT32 curl_transfers = 0; static int curl_runninghandles = 0; static UINT32 curl_origfilesize; static UINT32 curl_origtotalfilesize; -static char *curl_realname = '\0'; +static char *curl_realname = NULL; fileneeded_t *curl_curfile = NULL; #endif From 4b68b41a3181bf78097c95453ef72ec2fbebc069 Mon Sep 17 00:00:00 2001 From: James R Date: Tue, 7 Apr 2020 17:06:20 -0700 Subject: [PATCH 152/245] Fix lol xd compiler errors --- src/d_clisrv.c | 2 +- src/p_user.c | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 44b08cca..b6cfc3ee 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -5202,7 +5202,7 @@ static void Local_Maketic(INT32 realtics) void SV_SpawnPlayer(INT32 playernum, INT32 x, INT32 y, angle_t angle) { tic_t tic; - UINT8 numadjust = 0; + UINT16 numadjust = 0; (void)x; (void)y; diff --git a/src/p_user.c b/src/p_user.c index 641652a1..e0fb6fb4 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -7231,9 +7231,13 @@ static ticcmd_t *P_CameraCmd(camera_t *cam) boolean turnleft, turnright, mouseaiming; boolean invertmouse, lookaxis, usejoystick, kbl; angle_t lang; + INT32 player_invert; + INT32 screen_invert; ticcmd_t *cmd = &cameracmd; + (void)cam; + if (!demo.playback) return cmd; // empty cmd, no. @@ -7312,8 +7316,8 @@ static ticcmd_t *P_CameraCmd(camera_t *cam) // spectator aiming shit, ahhhh... - INT32 player_invert = invertmouse ? -1 : 1; - INT32 screen_invert = 1; // nope + player_invert = invertmouse ? -1 : 1; + screen_invert = 1; // nope // mouse look stuff (mouse look is not the same as mouse aim) kbl = false; @@ -7425,13 +7429,12 @@ void P_DemoCameraMovement(camera_t *cam) void P_ResetCamera(player_t *player, camera_t *thiscam) { + tic_t tries = 0; + fixed_t x, y, z; if (demo.freecam) return; // do not reset the camera there. - tic_t tries = 0; - fixed_t x, y, z; - if (!player->mo) return; From b9e008c8bf562712356e69fd56177ee39f117f1a Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Fri, 31 Jan 2020 23:04:45 +0200 Subject: [PATCH 153/245] Chat drawing memory leak fix from SRB2 repo --- src/hu_stuff.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/hu_stuff.c b/src/hu_stuff.c index f343f12b..1d0f8b4c 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -1482,7 +1482,7 @@ static void HU_drawMiniChat(void) for (; i>0; i--) { - const char *msg = CHAT_WordWrap(x+2, boxw-(charwidth*2), V_SNAPTOBOTTOM|V_SNAPTOLEFT|V_ALLOWLOWERCASE, chat_mini[i-1]); + char *msg = CHAT_WordWrap(x+2, boxw-(charwidth*2), V_SNAPTOBOTTOM|V_SNAPTOLEFT|V_ALLOWLOWERCASE, chat_mini[i-1]); size_t j = 0; INT32 linescount = 0; @@ -1524,6 +1524,8 @@ static void HU_drawMiniChat(void) dy = 0; dx = 0; msglines += linescount+1; + if (msg) + Z_Free(msg); } y = chaty - charheight*(msglines+1); @@ -1550,7 +1552,7 @@ static void HU_drawMiniChat(void) INT32 timer = ((cv_chattime.value*TICRATE)-chat_timers[i]) - cv_chattime.value*TICRATE+9; // see below... INT32 transflag = (timer >= 0 && timer <= 9) ? (timer*V_10TRANS) : 0; // you can make bad jokes out of this one. size_t j = 0; - const char *msg = CHAT_WordWrap(x+2, boxw-(charwidth*2), V_SNAPTOBOTTOM|V_SNAPTOLEFT|V_ALLOWLOWERCASE, chat_mini[i]); // get the current message, and word wrap it. + char *msg = CHAT_WordWrap(x+2, boxw-(charwidth*2), V_SNAPTOBOTTOM|V_SNAPTOLEFT|V_ALLOWLOWERCASE, chat_mini[i]); // get the current message, and word wrap it. UINT8 *colormap = NULL; while(msg[j]) // iterate through msg @@ -1596,6 +1598,8 @@ static void HU_drawMiniChat(void) } dy += charheight; dx = 0; + if (msg) + Z_Free(msg); } // decrement addy and make that shit smooth: @@ -1651,7 +1655,7 @@ static void HU_drawChatLog(INT32 offset) { INT32 clrflag = 0; INT32 j = 0; - const char *msg = CHAT_WordWrap(x+2, boxw-(charwidth*2), V_SNAPTOBOTTOM|V_SNAPTOLEFT|V_ALLOWLOWERCASE, chat_log[i]); // get the current message, and word wrap it. + char *msg = CHAT_WordWrap(x+2, boxw-(charwidth*2), V_SNAPTOBOTTOM|V_SNAPTOLEFT|V_ALLOWLOWERCASE, chat_log[i]); // get the current message, and word wrap it. UINT8 *colormap = NULL; while(msg[j]) // iterate through msg { @@ -1691,6 +1695,8 @@ static void HU_drawChatLog(INT32 offset) } dy += charheight; dx = 0; + if (msg) + Z_Free(msg); } From 7bac42f9b2c501e4ced4d50e9946d74fa605e310 Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Sat, 11 Apr 2020 16:16:31 +0300 Subject: [PATCH 154/245] Don't repeatedly look for texture files that don't exist. This fixes performance issues with models. --- src/hardware/hw_data.h | 2 ++ src/hardware/hw_md2.c | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/hardware/hw_data.h b/src/hardware/hw_data.h index 4bbc578e..4bb06eb4 100644 --- a/src/hardware/hw_data.h +++ b/src/hardware/hw_data.h @@ -84,6 +84,8 @@ struct GLPatch_s UINT16 wadnum; // the software patch lump num for when the hardware patch UINT16 lumpnum; // was flushed, and we need to re-create it GLMipmap_t mipmap; + + boolean notfound; // if the texture file was not found, mark it here (used in model blend texture loading) }; typedef struct GLPatch_s GLPatch_t; diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index d217f409..f5d37be1 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -389,7 +389,10 @@ static void md2_loadTexture(md2_t *model) #endif grpatch->mipmap.grInfo.format = PCX_Load(filename, &w, &h, grpatch); if (grpatch->mipmap.grInfo.format == 0) + { + grpatch->notfound = true;// mark it so its not searched for again repeatedly return; + } grpatch->mipmap.downloaded = 0; grpatch->mipmap.flags = 0; @@ -438,6 +441,7 @@ static void md2_loadBlendTexture(md2_t *model) grpatch->mipmap.grInfo.format = PCX_Load(filename, &w, &h, grpatch); if (grpatch->mipmap.grInfo.format == 0) { + grpatch->notfound = true;// mark it so its not searched for again repeatedly Z_Free(filename); return; } @@ -971,12 +975,14 @@ void HWR_DrawMD2(gr_vissprite_t *spr) finalscale = md2->scale; //Hurdler: arf, I don't like that implementation at all... too much crappy gpatch = md2->grpatch; - if (!gpatch || !gpatch->mipmap.grInfo.format || !gpatch->mipmap.downloaded) + if (!gpatch || ((!gpatch->mipmap.grInfo.format || !gpatch->mipmap.downloaded) && !gpatch->notfound)) md2_loadTexture(md2); gpatch = md2->grpatch; // Load it again, because it isn't being loaded into gpatch after md2_loadtexture... if ((gpatch && gpatch->mipmap.grInfo.format) // don't load the blend texture if the base texture isn't available - && (!md2->blendgrpatch || !((GLPatch_t *)md2->blendgrpatch)->mipmap.grInfo.format || !((GLPatch_t *)md2->blendgrpatch)->mipmap.downloaded)) + && (!md2->blendgrpatch + || ((!((GLPatch_t *)md2->blendgrpatch)->mipmap.grInfo.format || !((GLPatch_t *)md2->blendgrpatch)->mipmap.downloaded) + && !((GLPatch_t *)md2->blendgrpatch)->notfound))) md2_loadBlendTexture(md2); if (gpatch && gpatch->mipmap.grInfo.format) // else if meant that if a texture couldn't be loaded, it would just end up using something else's texture From 3a654bb7d992d828fa14d2e86600fdef56a0b4ce Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Sat, 11 Apr 2020 16:27:08 +0300 Subject: [PATCH 155/245] Fix comment --- src/hardware/hw_data.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hardware/hw_data.h b/src/hardware/hw_data.h index 4bb06eb4..58e9c1dc 100644 --- a/src/hardware/hw_data.h +++ b/src/hardware/hw_data.h @@ -85,7 +85,7 @@ struct GLPatch_s UINT16 lumpnum; // was flushed, and we need to re-create it GLMipmap_t mipmap; - boolean notfound; // if the texture file was not found, mark it here (used in model blend texture loading) + boolean notfound; // if the texture file was not found, mark it here (used in model texture loading) }; typedef struct GLPatch_s GLPatch_t; From 1efa95bb33c66c1c2d8e6fbb73d47ccb813ea527 Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Sun, 12 Apr 2020 02:18:12 +0300 Subject: [PATCH 156/245] Don't destroy my config file --- src/command.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/command.c b/src/command.c index 11c0b7f8..bdd3c6bc 100644 --- a/src/command.c +++ b/src/command.c @@ -86,7 +86,7 @@ static boolean joyaxis_default[4] = {false,false,false,false}; static INT32 joyaxis_count[4] = {0,0,0,0}; #endif -#define COM_BUF_SIZE 8192 // command buffer size +#define COM_BUF_SIZE 0x4000 // command buffer size, 0x4000 = 16384 #define MAX_ALIAS_RECURSION 100 // max recursion allowed for aliases static INT32 com_wait; // one command per frame (for cmd sequences) From 8001bb415431155ac21cca55ce40241796b8a245 Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Sun, 12 Apr 2020 03:09:07 +0300 Subject: [PATCH 157/245] Batching! --- src/hardware/hw_drv.h | 8 + src/hardware/hw_main.c | 14 + src/hardware/r_opengl/r_opengl.c | 575 ++++++++++++++++++++++++++++--- src/sdl/hwsym_sdl.c | 3 + src/sdl/i_video.c | 3 + 5 files changed, 560 insertions(+), 43 deletions(-) diff --git a/src/hardware/hw_drv.h b/src/hardware/hw_drv.h index bca1dff4..d6ad26c0 100644 --- a/src/hardware/hw_drv.h +++ b/src/hardware/hw_drv.h @@ -72,6 +72,11 @@ EXPORT void HWRAPI(UnSetShader) (void); EXPORT void HWRAPI(LoadCustomShader) (int number, char *shader, size_t size, boolean fragment); EXPORT void HWRAPI(InitCustomShaders) (void); + +EXPORT void HWRAPI(StartBatching) (void); +EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCalls, int *sNumShaders, int *sNumTextures, int *sNumPolyFlags, int *sNumColors, int *sSortTime, int *sDrawTime); + + // ========================================================================== // HWR DRIVER OBJECT, FOR CLIENT PROGRAM // ========================================================================== @@ -113,6 +118,9 @@ struct hwdriver_s LoadCustomShader pfnLoadCustomShader; InitCustomShaders pfnInitCustomShaders; + + StartBatching pfnStartBatching; + RenderBatches pfnRenderBatches; }; extern struct hwdriver_s hwdriver; diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 313af04c..b41d2ff6 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -75,6 +75,8 @@ consvar_t cv_granisotropicmode = {"gr_anisotropicmode", "1", CV_CALL, granisotro consvar_t cv_grcorrecttricks = {"gr_correcttricks", "Off", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grsolvetjoin = {"gr_solvetjoin", "On", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grbatching = {"gr_batching", "On", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; + static void CV_filtermode_ONChange(void) { HWD.pfnSetSpecialState(HWD_SET_TEXTUREFILTERMODE, cv_grfiltermode.value); @@ -4775,11 +4777,21 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) else HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, 0); // Turn it off + if (cv_grbatching.value) + HWD.pfnStartBatching(); + drawcount = 0; validcount++; // Recursively "render" the BSP tree. HWR_RenderBSPNode((INT32)numnodes-1); + + if (cv_grbatching.value) + { + int dummy = 0;// the vars in RenderBatches are meant for render stats. But we don't have that stuff in this branch + // so that stuff could be removed... + HWD.pfnRenderBatches(&dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy); + } // Check for new console commands. NetUpdate(); @@ -4872,6 +4884,8 @@ void HWR_AddCommands(void) CV_RegisterVar(&cv_granisotropicmode); CV_RegisterVar(&cv_grcorrecttricks); CV_RegisterVar(&cv_grsolvetjoin); + + CV_RegisterVar(&cv_grbatching); } // -------------------------------------------------------------------------- diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index d4b04e1f..659388d2 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -544,6 +544,9 @@ static char *gl_customfragmentshaders[MAXSHADERS]; static boolean gl_allowshaders = false; static boolean gl_shadersenabled = false; static GLuint gl_currentshaderprogram = 0; +static boolean gl_shaderprogramchanged = true; + +static boolean gl_batching = false;// are we currently collecting batches? // 13062019 typedef enum @@ -888,7 +891,11 @@ EXPORT void HWRAPI(SetShader) (int shader) if (gl_allowshaders) { gl_shadersenabled = true; - gl_currentshaderprogram = shader; + if ((GLuint)shader != gl_currentshaderprogram) + { + gl_currentshaderprogram = shader; + gl_shaderprogramchanged = true; + } } else #endif @@ -900,6 +907,8 @@ EXPORT void HWRAPI(UnSetShader) (void) #ifdef GL_SHADERS gl_shadersenabled = false; gl_currentshaderprogram = 0; + gl_shaderprogramchanged = true;// not sure if this is needed + pglUseProgram(0); #endif } @@ -914,7 +923,7 @@ EXPORT void HWRAPI(KillShaders) (void) static void SetNoTexture(void) { // Disable texture. - if (tex_downloaded != NOTEXTURE_NUM) + if (tex_downloaded != NOTEXTURE_NUM && !gl_batching) { pglBindTexture(GL_TEXTURE_2D, NOTEXTURE_NUM); tex_downloaded = NOTEXTURE_NUM; @@ -1395,7 +1404,8 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo) { if (pTexInfo->downloaded != tex_downloaded) { - pglBindTexture(GL_TEXTURE_2D, pTexInfo->downloaded); + if (!gl_batching) + pglBindTexture(GL_TEXTURE_2D, pTexInfo->downloaded); tex_downloaded = pTexInfo->downloaded; } } @@ -1638,10 +1648,22 @@ static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *mix, GLRGBAFloat *f return; } else // enabled - pglUseProgram(gl_shaderprograms[gl_currentshaderprogram].program); + { + if (gl_shaderprogramchanged) + { + pglUseProgram(gl_shaderprograms[gl_currentshaderprogram].program); + gl_shaderprogramchanged = false; + } + } } else // always load custom shaders - pglUseProgram(gl_shaderprograms[gl_currentshaderprogram].program); + { + if (gl_shaderprogramchanged) + { + pglUseProgram(gl_shaderprograms[gl_currentshaderprogram].program); + gl_shaderprogramchanged = false; + } + } } // set uniforms @@ -1698,56 +1720,527 @@ static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *mix, GLRGBAFloat *f pglUseProgram(0); } +// unfinished draw call batching + +// Note: could use realloc in the array reallocation code + +typedef struct +{ + FSurfaceInfo surf;// surf also has its own polyflags for some reason, but it seems unused + unsigned int vertsIndex;// location of verts in unsortedVertexArray + FUINT numVerts; + FBITFIELD polyFlags; + GLuint texNum; + GLuint shader; +} PolygonArrayEntry; + +FOutVector* finalVertexArray = NULL;// contains subset of sorted vertices and texture coordinates to be sent to gpu +UINT32* finalVertexIndexArray = NULL;// contains indexes for glDrawElements, taking into account fan->triangles conversion +// NOTE have this alloced as 3x finalVertexArray size +int finalVertexArrayAllocSize = 65536; +//GLubyte* colorArray = NULL;// contains color data to be sent to gpu, if needed +//int colorArrayAllocSize = 65536; +// not gonna use this for now, just sort by color and change state when it changes +// later maybe when using vertex attributes if it's needed + +PolygonArrayEntry* polygonArray = NULL;// contains the polygon data from DrawPolygon, waiting to be processed +int polygonArraySize = 0; +unsigned int* polygonIndexArray = NULL;// contains sorting pointers for polygonArray +int polygonArrayAllocSize = 65536; + +FOutVector* unsortedVertexArray = NULL;// contains unsorted vertices and texture coordinates from DrawPolygon +int unsortedVertexArraySize = 0; +int unsortedVertexArrayAllocSize = 65536; + +EXPORT void HWRAPI(StartBatching) (void) +{ + //CONS_Printf("StartBatching begin\n"); + // init arrays if that has not been done yet + if (!finalVertexArray) + { + finalVertexArray = malloc(finalVertexArrayAllocSize * sizeof(FOutVector)); + finalVertexIndexArray = malloc(finalVertexArrayAllocSize * 3 * sizeof(UINT32)); + polygonArray = malloc(polygonArrayAllocSize * sizeof(PolygonArrayEntry)); + polygonIndexArray = malloc(polygonArrayAllocSize * sizeof(unsigned int)); + unsortedVertexArray = malloc(unsortedVertexArrayAllocSize * sizeof(FOutVector)); + } + // drawing functions will now collect the drawing data instead of passing it to opengl + gl_batching = true; + //CONS_Printf("StartBatching end\n"); +} + +static int comparePolygons(const void *p1, const void *p2) +{ + PolygonArrayEntry* poly1 = &polygonArray[*(const unsigned int*)p1]; + PolygonArrayEntry* poly2 = &polygonArray[*(const unsigned int*)p2]; + int diff; + INT64 diff64; + + int shader1 = poly1->shader; + int shader2 = poly2->shader; + // make skywalls first in order + if (poly1->polyFlags & PF_NoTexture) + shader1 = -1; + if (poly2->polyFlags & PF_NoTexture) + shader2 = -1; + diff = shader1 - shader2; + if (diff != 0) return diff; + + diff = poly1->texNum - poly2->texNum; + if (diff != 0) return diff; + + diff = poly1->polyFlags - poly2->polyFlags; + if (diff != 0) return diff; + + diff64 = poly1->surf.PolyColor.rgba - poly2->surf.PolyColor.rgba; + if (diff64 < 0) return -1; else if (diff64 > 0) return 1; + diff64 = poly1->surf.FadeColor.rgba - poly2->surf.FadeColor.rgba; + if (diff64 < 0) return -1; else if (diff64 > 0) return 1; + + diff = poly1->surf.LightInfo.light_level - poly2->surf.LightInfo.light_level; + return diff; +} + +static int comparePolygonsNoShaders(const void *p1, const void *p2) +{ + PolygonArrayEntry* poly1 = &polygonArray[*(const unsigned int*)p1]; + PolygonArrayEntry* poly2 = &polygonArray[*(const unsigned int*)p2]; + int diff; + INT64 diff64; + + GLuint texNum1 = poly1->texNum; + GLuint texNum2 = poly2->texNum; + if (poly1->polyFlags & PF_NoTexture) + texNum1 = 0; + if (poly2->polyFlags & PF_NoTexture) + texNum2 = 0; + diff = texNum1 - texNum2; + if (diff != 0) return diff; + + diff = poly1->polyFlags - poly2->polyFlags; + if (diff != 0) return diff; + + diff64 = poly1->surf.PolyColor.rgba - poly2->surf.PolyColor.rgba; + if (diff64 < 0) return -1; else if (diff64 > 0) return 1; + + return 0; +} + +// the parameters for this functions (numPolys etc.) are used to return rendering stats +EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCalls, int *sNumShaders, int *sNumTextures, int *sNumPolyFlags, int *sNumColors, int *sSortTime, int *sDrawTime) +{ + int finalVertexWritePos = 0;// position in finalVertexArray + int finalIndexWritePos = 0;// position in finalVertexIndexArray + + int polygonReadPos = 0;// position in polygonIndexArray + + GLuint currentShader; + GLuint currentTexture; + FBITFIELD currentPolyFlags; + FSurfaceInfo currentSurfaceInfo; + + GLRGBAFloat firstPoly = {0,0,0,0}; // may be misleading but this means first PolyColor + GLRGBAFloat firstFade = {0,0,0,0}; + + boolean needRebind = false; + + int i; + + //CONS_Printf("RenderBatches\n"); + gl_batching = false;// no longer collecting batches + if (!polygonArraySize) + { + *sNumPolys = *sNumCalls = *sNumShaders = *sNumTextures = *sNumPolyFlags = *sNumColors = 0; + return;// nothing to draw + } + // init stats vars + *sNumPolys = polygonArraySize; + *sNumCalls = *sNumVerts = 0; + *sNumShaders = *sNumTextures = *sNumPolyFlags = *sNumColors = 1; + // init polygonIndexArray + for (i = 0; i < polygonArraySize; i++) + { + polygonIndexArray[i] = i; + } + + // sort polygons + //CONS_Printf("qsort polys\n"); + //*sSortTime = I_GetTimeMicros(); + if (gl_allowshaders) + qsort(polygonIndexArray, polygonArraySize, sizeof(unsigned int), comparePolygons); + else + qsort(polygonIndexArray, polygonArraySize, sizeof(unsigned int), comparePolygonsNoShaders); + //*sSortTime = I_GetTimeMicros() - *sSortTime; + //CONS_Printf("sort done\n"); + // sort order + // 1. shader + // 2. texture + // 3. polyflags + // 4. colors + light level + // not sure about order of last 2, or if it even matters + + //*sDrawTime = I_GetTimeMicros(); + + currentShader = polygonArray[polygonIndexArray[0]].shader; + currentTexture = polygonArray[polygonIndexArray[0]].texNum; + currentPolyFlags = polygonArray[polygonIndexArray[0]].polyFlags; + currentSurfaceInfo = polygonArray[polygonIndexArray[0]].surf; + // For now, will sort and track the colors. Vertex attributes could be used instead of uniforms + // and a color array could replace the color calls. + + // set state for first batch + //CONS_Printf("set first state\n"); + gl_currentshaderprogram = currentShader; + gl_shaderprogramchanged = true; + if (currentPolyFlags & PF_Modulated) + { + // Poly color + firstPoly.red = byte2float[currentSurfaceInfo.PolyColor.s.red]; + firstPoly.green = byte2float[currentSurfaceInfo.PolyColor.s.green]; + firstPoly.blue = byte2float[currentSurfaceInfo.PolyColor.s.blue]; + firstPoly.alpha = byte2float[currentSurfaceInfo.PolyColor.s.alpha]; + pglColor4ubv((GLubyte*)¤tSurfaceInfo.PolyColor.s); + } + // Fade color + firstFade.red = byte2float[currentSurfaceInfo.FadeColor.s.red]; + firstFade.green = byte2float[currentSurfaceInfo.FadeColor.s.green]; + firstFade.blue = byte2float[currentSurfaceInfo.FadeColor.s.blue]; + firstFade.alpha = byte2float[currentSurfaceInfo.FadeColor.s.alpha]; + + if (gl_allowshaders) + load_shaders(¤tSurfaceInfo, &firstPoly, &firstFade); + + if (currentPolyFlags & PF_NoTexture) + currentTexture = 0; + pglBindTexture(GL_TEXTURE_2D, currentTexture); + tex_downloaded = currentTexture; + + SetBlend(currentPolyFlags); + + //CONS_Printf("first pointers to ogl\n"); + pglVertexPointer(3, GL_FLOAT, sizeof(FOutVector), &finalVertexArray[0].x); + pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVector), &finalVertexArray[0].s); + + while (1)// note: remember handling notexture polyflag as having texture number 0 (also in comparePolygons) + { + int firstIndex; + int lastIndex; + + boolean stopFlag = false; + boolean changeState = false; + boolean changeShader = false; + GLuint nextShader; + boolean changeTexture = false; + GLuint nextTexture; + boolean changePolyFlags = false; + FBITFIELD nextPolyFlags; + boolean changeSurfaceInfo = false; + FSurfaceInfo nextSurfaceInfo; + + //CONS_Printf("loop iter start\n"); + // new try: + // write vertices + // check for changes or end, otherwise go back to writing + // changes will affect the next vars and the change bools + // end could set flag for stopping + // execute draw call + // could check ending flag here + // change states according to next vars and change bools, updating the current vars and reseting the bools + // reset write pos + // repeat loop + + int index = polygonIndexArray[polygonReadPos++]; + int numVerts = polygonArray[index].numVerts; + // before writing, check if there is enough room + // using 'while' instead of 'if' here makes sure that there will *always* be enough room. + // probably never will this loop run more than once though + while (finalVertexWritePos + numVerts > finalVertexArrayAllocSize) + { + FOutVector* new_array; + unsigned int* new_index_array; + //CONS_Printf("final vert realloc\n"); + finalVertexArrayAllocSize *= 2; + new_array = malloc(finalVertexArrayAllocSize * sizeof(FOutVector)); + memcpy(new_array, finalVertexArray, finalVertexWritePos * sizeof(FOutVector)); + free(finalVertexArray); + finalVertexArray = new_array; + // also increase size of index array, 3x of vertex array since + // going from fans to triangles increases vertex count to 3x + new_index_array = malloc(finalVertexArrayAllocSize * 3 * sizeof(UINT32)); + memcpy(new_index_array, finalVertexIndexArray, finalIndexWritePos * sizeof(UINT32)); + free(finalVertexIndexArray); + finalVertexIndexArray = new_index_array; + // if vertex buffers are reallocated then opengl needs to know too + needRebind = true; + } + //CONS_Printf("write verts to final\n"); + // write the vertices of the polygon + memcpy(&finalVertexArray[finalVertexWritePos], &unsortedVertexArray[polygonArray[index].vertsIndex], + numVerts * sizeof(FOutVector)); + // write the indexes, pointing to the fan vertexes but in triangles format + firstIndex = finalVertexWritePos; + lastIndex = finalVertexWritePos + numVerts; + finalVertexWritePos += 2; + //CONS_Printf("write final vert indices\n"); + while (finalVertexWritePos < lastIndex) + { + finalVertexIndexArray[finalIndexWritePos++] = firstIndex; + finalVertexIndexArray[finalIndexWritePos++] = finalVertexWritePos - 1; + finalVertexIndexArray[finalIndexWritePos++] = finalVertexWritePos++; + } + + if (polygonReadPos >= polygonArraySize) + { + stopFlag = true; + } + else + { + //CONS_Printf("state change check\n"); + // check if a state change is required, set the change bools and next vars + int nextIndex = polygonIndexArray[polygonReadPos]; + nextShader = polygonArray[nextIndex].shader; + nextTexture = polygonArray[nextIndex].texNum; + nextPolyFlags = polygonArray[nextIndex].polyFlags; + nextSurfaceInfo = polygonArray[nextIndex].surf; + if (nextPolyFlags & PF_NoTexture) + nextTexture = 0; + if (currentShader != nextShader) + { + changeState = true; + changeShader = true; + } + if (currentTexture != nextTexture) + { + changeState = true; + changeTexture = true; + } + if (currentPolyFlags != nextPolyFlags) + { + changeState = true; + changePolyFlags = true; + } + if (gl_allowshaders) + { + if (currentSurfaceInfo.PolyColor.rgba != nextSurfaceInfo.PolyColor.rgba || + currentSurfaceInfo.FadeColor.rgba != nextSurfaceInfo.FadeColor.rgba || + currentSurfaceInfo.LightInfo.light_level != nextSurfaceInfo.LightInfo.light_level) + { + changeState = true; + changeSurfaceInfo = true; + } + } + else + { + if (currentSurfaceInfo.PolyColor.rgba != nextSurfaceInfo.PolyColor.rgba) + { + changeState = true; + changeSurfaceInfo = true; + } + } + } + + if (changeState || stopFlag) + { + if (needRebind) + { + //CONS_Printf("rebind\n"); + pglVertexPointer(3, GL_FLOAT, sizeof(FOutVector), &finalVertexArray[0].x); + pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVector), &finalVertexArray[0].s); + needRebind = false; + } + //CONS_Printf("exec draw call\n"); + // execute draw call + pglDrawElements(GL_TRIANGLES, finalIndexWritePos, GL_UNSIGNED_INT, finalVertexIndexArray); + //CONS_Printf("draw call done\n"); + // update stats + (*sNumCalls)++; + *sNumVerts += finalIndexWritePos; + // reset write positions + finalVertexWritePos = 0; + finalIndexWritePos = 0; + } + else continue; + + // if we're here then either its time to stop or time to change state + if (stopFlag) break; + + //CONS_Printf("state change\n"); + + // change state according to change bools and next vars, update current vars and reset bools + if (changeShader) + { + GLRGBAFloat poly = {0,0,0,0}; + GLRGBAFloat fade = {0,0,0,0}; + gl_currentshaderprogram = nextShader; + gl_shaderprogramchanged = true; + if (nextPolyFlags & PF_Modulated) + { + // Poly color + poly.red = byte2float[nextSurfaceInfo.PolyColor.s.red]; + poly.green = byte2float[nextSurfaceInfo.PolyColor.s.green]; + poly.blue = byte2float[nextSurfaceInfo.PolyColor.s.blue]; + poly.alpha = byte2float[nextSurfaceInfo.PolyColor.s.alpha]; + } + // Fade color + fade.red = byte2float[nextSurfaceInfo.FadeColor.s.red]; + fade.green = byte2float[nextSurfaceInfo.FadeColor.s.green]; + fade.blue = byte2float[nextSurfaceInfo.FadeColor.s.blue]; + fade.alpha = byte2float[nextSurfaceInfo.FadeColor.s.alpha]; + + load_shaders(&nextSurfaceInfo, &poly, &fade); + currentShader = nextShader; + changeShader = false; + + (*sNumShaders)++; + } + if (changeTexture) + { + // texture should be already ready for use from calls to SetTexture during batch collection + pglBindTexture(GL_TEXTURE_2D, nextTexture); + tex_downloaded = nextTexture; + currentTexture = nextTexture; + changeTexture = false; + + (*sNumTextures)++; + } + if (changePolyFlags) + { + SetBlend(nextPolyFlags); + currentPolyFlags = nextPolyFlags; + changePolyFlags = false; + + (*sNumPolyFlags)++; + } + if (changeSurfaceInfo) + { + GLRGBAFloat poly = {0,0,0,0}; + GLRGBAFloat fade = {0,0,0,0}; + gl_shaderprogramchanged = false; + if (nextPolyFlags & PF_Modulated) + { + // Poly color + poly.red = byte2float[nextSurfaceInfo.PolyColor.s.red]; + poly.green = byte2float[nextSurfaceInfo.PolyColor.s.green]; + poly.blue = byte2float[nextSurfaceInfo.PolyColor.s.blue]; + poly.alpha = byte2float[nextSurfaceInfo.PolyColor.s.alpha]; + pglColor4ubv((GLubyte*)&nextSurfaceInfo.PolyColor.s); + } + if (gl_allowshaders) + { + // Fade color + fade.red = byte2float[nextSurfaceInfo.FadeColor.s.red]; + fade.green = byte2float[nextSurfaceInfo.FadeColor.s.green]; + fade.blue = byte2float[nextSurfaceInfo.FadeColor.s.blue]; + fade.alpha = byte2float[nextSurfaceInfo.FadeColor.s.alpha]; + + load_shaders(&nextSurfaceInfo, &poly, &fade); + } + currentSurfaceInfo = nextSurfaceInfo; + changeSurfaceInfo = false; + + (*sNumColors)++; + } + // and that should be it? + } + // reset the arrays (set sizes to 0) + polygonArraySize = 0; + unsortedVertexArraySize = 0; + + //*sDrawTime = I_GetTimeMicros() - *sDrawTime; +} + // -----------------+ // DrawPolygon : Render a polygon, set the texture, set render mode // -----------------+ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUINT iNumPts, FBITFIELD PolyFlags) { - static GLRGBAFloat mix = {0,0,0,0}; - static GLRGBAFloat fade = {0,0,0,0}; - - SetBlend(PolyFlags); //TODO: inline (#pragma..) - - // PolyColor - if (pSurf) + if (gl_batching) { - // If Modulated, mix the surface colour to the texture - if (CurrentPolyFlags & PF_Modulated) + //CONS_Printf("Batched DrawPolygon\n"); + if (!pSurf) + I_Error("Got a null FSurfaceInfo in batching");// nulls should only come in sky background pic drawing + if (polygonArraySize == polygonArrayAllocSize) { - // Mix color - mix.red = byte2float[pSurf->PolyColor.s.red]; - mix.green = byte2float[pSurf->PolyColor.s.green]; - mix.blue = byte2float[pSurf->PolyColor.s.blue]; - mix.alpha = byte2float[pSurf->PolyColor.s.alpha]; - - pglColor4ubv((GLubyte*)&pSurf->PolyColor.s); + PolygonArrayEntry* new_array; + // ran out of space, make new array double the size + polygonArrayAllocSize *= 2; + new_array = malloc(polygonArrayAllocSize * sizeof(PolygonArrayEntry)); + memcpy(new_array, polygonArray, polygonArraySize * sizeof(PolygonArrayEntry)); + free(polygonArray); + polygonArray = new_array; + // also need to redo the index array, dont need to copy it though + free(polygonIndexArray); + polygonIndexArray = malloc(polygonArrayAllocSize * sizeof(unsigned int)); } - // Fade color - fade.red = byte2float[pSurf->FadeColor.s.red]; - fade.green = byte2float[pSurf->FadeColor.s.green]; - fade.blue = byte2float[pSurf->FadeColor.s.blue]; - fade.alpha = byte2float[pSurf->FadeColor.s.alpha]; + while (unsortedVertexArraySize + (int)iNumPts > unsortedVertexArrayAllocSize) + { + FOutVector* new_array; + // need more space for vertices in unsortedVertexArray + unsortedVertexArrayAllocSize *= 2; + new_array = malloc(unsortedVertexArrayAllocSize * sizeof(FOutVector)); + memcpy(new_array, unsortedVertexArray, unsortedVertexArraySize * sizeof(FOutVector)); + free(unsortedVertexArray); + unsortedVertexArray = new_array; + } + + // add the polygon data to the arrays + + polygonArray[polygonArraySize].surf = *pSurf; + polygonArray[polygonArraySize].vertsIndex = unsortedVertexArraySize; + polygonArray[polygonArraySize].numVerts = iNumPts; + polygonArray[polygonArraySize].polyFlags = PolyFlags; + polygonArray[polygonArraySize].texNum = tex_downloaded; + polygonArray[polygonArraySize].shader = gl_currentshaderprogram; + polygonArraySize++; + + memcpy(&unsortedVertexArray[unsortedVertexArraySize], pOutVerts, iNumPts * sizeof(FOutVector)); + unsortedVertexArraySize += iNumPts; } + else + { + static GLRGBAFloat mix = {0,0,0,0}; + static GLRGBAFloat fade = {0,0,0,0}; - load_shaders(pSurf, &mix, &fade); + SetBlend(PolyFlags); //TODO: inline (#pragma..) - pglVertexPointer(3, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].x); - pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].s); - pglDrawArrays(GL_TRIANGLE_FAN, 0, iNumPts); + // PolyColor + if (pSurf) + { + // If Modulated, mix the surface colour to the texture + if (CurrentPolyFlags & PF_Modulated) + { + // Mix color + mix.red = byte2float[pSurf->PolyColor.s.red]; + mix.green = byte2float[pSurf->PolyColor.s.green]; + mix.blue = byte2float[pSurf->PolyColor.s.blue]; + mix.alpha = byte2float[pSurf->PolyColor.s.alpha]; - if (PolyFlags & PF_RemoveYWrap) - pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + pglColor4ubv((GLubyte*)&pSurf->PolyColor.s); + } - if (PolyFlags & PF_ForceWrapX) - Clamp2D(GL_TEXTURE_WRAP_S); + // Fade color + fade.red = byte2float[pSurf->FadeColor.s.red]; + fade.green = byte2float[pSurf->FadeColor.s.green]; + fade.blue = byte2float[pSurf->FadeColor.s.blue]; + fade.alpha = byte2float[pSurf->FadeColor.s.alpha]; + } - if (PolyFlags & PF_ForceWrapY) - Clamp2D(GL_TEXTURE_WRAP_T); + load_shaders(pSurf, &mix, &fade); -#ifdef GL_SHADERS - pglUseProgram(0); -#endif + pglVertexPointer(3, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].x); + pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].s); + pglDrawArrays(GL_TRIANGLE_FAN, 0, iNumPts); + + if (PolyFlags & PF_RemoveYWrap) + pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + + if (PolyFlags & PF_ForceWrapX) + Clamp2D(GL_TEXTURE_WRAP_S); + + if (PolyFlags & PF_ForceWrapY) + Clamp2D(GL_TEXTURE_WRAP_T); + } } // ========================================================================== @@ -2218,10 +2711,6 @@ static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32 pglPopMatrix(); // should be the same as glLoadIdentity pglDisable(GL_CULL_FACE); pglDisable(GL_NORMALIZE); - -#ifdef GL_SHADERS - pglUseProgram(0); -#endif } // -----------------+ diff --git a/src/sdl/hwsym_sdl.c b/src/sdl/hwsym_sdl.c index 09910baf..51426184 100644 --- a/src/sdl/hwsym_sdl.c +++ b/src/sdl/hwsym_sdl.c @@ -108,6 +108,9 @@ void *hwSym(const char *funcName,void *handle) GETFUNC(LoadCustomShader); GETFUNC(InitCustomShaders); + + GETFUNC(StartBatching); + GETFUNC(RenderBatches); #else //HWRENDER if (0 == strcmp("FinishUpdate", funcName)) diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index 2ff7a83c..064fba6f 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -1879,6 +1879,9 @@ void I_StartupGraphics(void) HWD.pfnLoadCustomShader = hwSym("LoadCustomShader",NULL); HWD.pfnInitCustomShaders = hwSym("InitCustomShaders",NULL); + + HWD.pfnStartBatching = hwSym("StartBatching",NULL); + HWD.pfnRenderBatches = hwSym("RenderBatches",NULL); if (!HWD.pfnInit()) // load the OpenGL library rendermode = render_soft; From 437f7aa16dfb9f3cd451804b416c96a247b9ea3a Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 7 Nov 2019 16:29:58 -0800 Subject: [PATCH 158/245] Fix misaligned pointers (cherry picked from commit ceb8d298c2ae9a6000fa4d22e381085c6bf77cd6) --- src/r_data.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/r_data.c b/src/r_data.c index b1b20f19..25387dec 100644 --- a/src/r_data.c +++ b/src/r_data.c @@ -198,7 +198,7 @@ static UINT8 *R_GenerateTexture(size_t texnum) int x, x1, x2, i; size_t blocksize; column_t *patchcol; - UINT32 *colofs; + UINT8 *colofs; I_Assert(texnum <= (size_t)numtextures); texture = textures[texnum]; @@ -219,10 +219,10 @@ static UINT8 *R_GenerateTexture(size_t texnum) // Check the patch for holes. if (texture->width > SHORT(realpatch->width) || texture->height > SHORT(realpatch->height)) holey = true; - colofs = (UINT32 *)realpatch->columnofs; + colofs = (UINT8 *)realpatch->columnofs; for (x = 0; x < texture->width && !holey; x++) { - column_t *col = (column_t *)((UINT8 *)realpatch + LONG(colofs[x])); + column_t *col = (column_t *)((UINT8 *)realpatch + LONG(*(UINT32 *)&colofs[x<<2])); INT32 topdelta, prevdelta = -1, y = 0; while (col->topdelta != 0xff) { @@ -250,11 +250,11 @@ static UINT8 *R_GenerateTexture(size_t texnum) texturememory += blocksize; // use the patch's column lookup - colofs = (UINT32 *)(void *)(block + 8); - texturecolumnofs[texnum] = colofs; + colofs = (block + 8); + texturecolumnofs[texnum] = (UINT32 *)colofs; blocktex = block; for (x = 0; x < texture->width; x++) - colofs[x] = LONG(LONG(colofs[x]) + 3); + *(UINT32 *)&colofs[x<<2] = LONG(LONG(*(UINT32 *)&colofs[x<<2]) + 3); goto done; } @@ -270,8 +270,8 @@ static UINT8 *R_GenerateTexture(size_t texnum) memset(block, 0xF7, blocksize+1); // Transparency hack // columns lookup table - colofs = (UINT32 *)(void *)block; - texturecolumnofs[texnum] = colofs; + colofs = block; + texturecolumnofs[texnum] = (UINT32 *)colofs; // texture data after the lookup table blocktex = block + (texture->width*4); @@ -296,8 +296,8 @@ static UINT8 *R_GenerateTexture(size_t texnum) patchcol = (column_t *)((UINT8 *)realpatch + LONG(realpatch->columnofs[x-x1])); // generate column ofset lookup - colofs[x] = LONG((x * texture->height) + (texture->width*4)); - R_DrawColumnInCache(patchcol, block + LONG(colofs[x]), patch->originy, texture->height); + *(UINT32 *)&colofs[x<<2] = LONG((x * texture->height) + (texture->width*4)); + R_DrawColumnInCache(patchcol, block + LONG(*(UINT32 *)&colofs[x<<2]), patch->originy, texture->height); } } From 4ad360155f8032275f1cf14aa3c130c09d8b6f8c Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 7 Nov 2019 16:30:29 -0800 Subject: [PATCH 159/245] Fix nonpacked to packed cast for OpenGL (cherry picked from commit d2a7a87c7f39bd423fde7f8b4228082d12839583) --- src/hardware/hw_cache.c | 23 ++++++------ src/hardware/hw_data.h | 4 +- src/hardware/hw_light.c | 2 +- src/hardware/hw_md2.c | 82 ++++++++++++++++++++--------------------- src/w_wad.c | 8 ++-- 5 files changed, 60 insertions(+), 59 deletions(-) diff --git a/src/hardware/hw_cache.c b/src/hardware/hw_cache.c index 2e7dc199..66344424 100644 --- a/src/hardware/hw_cache.c +++ b/src/hardware/hw_cache.c @@ -481,10 +481,10 @@ static void FreeMipmapColormap(INT32 patchnum, void *patch) { GLPatch_t* const grpatch = patch; (void)patchnum; //unused - while (grpatch->mipmap.nextcolormap) + while (grpatch->mipmap->nextcolormap) { - GLMipmap_t *grmip = grpatch->mipmap.nextcolormap; - grpatch->mipmap.nextcolormap = grmip->nextcolormap; + GLMipmap_t *grmip = grpatch->mipmap->nextcolormap; + grpatch->mipmap->nextcolormap = grmip->nextcolormap; if (grmip->grInfo.data) Z_Free(grmip->grInfo.data); free(grmip); } @@ -638,7 +638,7 @@ void HWR_GetFlat(lumpnum_t flatlumpnum, boolean noencoremap) { GLMipmap_t *grmip; - grmip = &HWR_GetCachedGLPatch(flatlumpnum)->mipmap; + grmip = HWR_GetCachedGLPatch(flatlumpnum)->mipmap; grmip->colormap = colormaps; @@ -690,22 +690,22 @@ static void HWR_LoadMappedPatch(GLMipmap_t *grmip, GLPatch_t *gpatch) void HWR_GetPatch(GLPatch_t *gpatch) { // is it in hardware cache - if (!gpatch->mipmap.downloaded && !gpatch->mipmap.grInfo.data) + if (!gpatch->mipmap->downloaded && !gpatch->mipmap->grInfo.data) { // load the software patch, PU_STATIC or the Z_Malloc for hardware patch will // flush the software patch before the conversion! oh yeah I suffered patch_t *patch = W_CacheLumpNumPwad(gpatch->wadnum, gpatch->lumpnum, PU_STATIC); - HWR_MakePatch(patch, gpatch, &gpatch->mipmap, true); + HWR_MakePatch(patch, gpatch, gpatch->mipmap, true); // this is inefficient.. but the hardware patch in heap is purgeable so it should // not fragment memory, and besides the REAL cache here is the hardware memory Z_Free(patch); } - HWD.pfnSetTexture(&gpatch->mipmap); + HWD.pfnSetTexture(gpatch->mipmap); // The system-memory patch data can be purged now. - Z_ChangeTag(gpatch->mipmap.grInfo.data, PU_HWRCACHE_UNLOCKED); + Z_ChangeTag(gpatch->mipmap->grInfo.data, PU_HWRCACHE_UNLOCKED); } @@ -725,7 +725,7 @@ void HWR_GetMappedPatch(GLPatch_t *gpatch, const UINT8 *colormap) // search for the mimmap // skip the first (no colormap translated) - for (grmip = &gpatch->mipmap; grmip->nextcolormap; ) + for (grmip = gpatch->mipmap; grmip->nextcolormap; ) { grmip = grmip->nextcolormap; if (grmip->colormap == colormap) @@ -755,7 +755,7 @@ void HWR_UnlockCachedPatch(GLPatch_t *gpatch) if (!gpatch) return; - Z_ChangeTag(gpatch->mipmap.grInfo.data, PU_HWRCACHE_UNLOCKED); + Z_ChangeTag(gpatch->mipmap->grInfo.data, PU_HWRCACHE_UNLOCKED); Z_ChangeTag(gpatch, PU_HWRPATCHINFO_UNLOCKED); } @@ -769,6 +769,7 @@ GLPatch_t *HWR_GetCachedGLPatchPwad(UINT16 wadnum, UINT16 lumpnum) grpatch = Z_Calloc(sizeof(GLPatch_t), PU_HWRPATCHINFO, NULL); grpatch->wadnum = wadnum; grpatch->lumpnum = lumpnum; + grpatch->mipmap = Z_Calloc(sizeof(GLMipmap_t), PU_HWRPATCHINFO, NULL); M_AATreeSet(hwrcache, lumpnum, grpatch); } @@ -872,7 +873,7 @@ void HWR_GetFadeMask(lumpnum_t fademasklumpnum) { GLMipmap_t *grmip; - grmip = &HWR_GetCachedGLPatch(fademasklumpnum)->mipmap; + grmip = HWR_GetCachedGLPatch(fademasklumpnum)->mipmap; if (!grmip->downloaded && !grmip->grInfo.data) HWR_CacheFadeMask(grmip, fademasklumpnum); diff --git a/src/hardware/hw_data.h b/src/hardware/hw_data.h index 5d0000c4..a96d4c91 100644 --- a/src/hardware/hw_data.h +++ b/src/hardware/hw_data.h @@ -107,10 +107,10 @@ struct GLPatch_s float max_s,max_t; UINT16 wadnum; // the software patch lump num for when the hardware patch UINT16 lumpnum; // was flushed, and we need to re-create it - GLMipmap_t mipmap; + GLMipmap_t *mipmap; boolean notfound; // if the texture file was not found, mark it here (used in model texture loading) -}; +} ATTRPACK; typedef struct GLPatch_s GLPatch_t; #endif //_HWR_DATA_ diff --git a/src/hardware/hw_light.c b/src/hardware/hw_light.c index 702e286e..079349c3 100644 --- a/src/hardware/hw_light.c +++ b/src/hardware/hw_light.c @@ -24,4 +24,4 @@ #include "../r_main.h" #include "../p_local.h" -#endif // HWRENDER \ No newline at end of file +#endif // HWRENDER diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index e2a01dd8..0a332d29 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -199,7 +199,7 @@ static GLTextureFormat_t PNG_Load(const char *filename, int *w, int *h, GLPatch_ //CONS_Debug(DBG_RENDER, "libpng load error on %s\n", filename); png_destroy_read_struct(&png_ptr, &png_info_ptr, NULL); fclose(png_FILE); - Z_Free(grpatch->mipmap.grInfo.data); + Z_Free(grpatch->mipmap->grInfo.data); return 0; } #ifdef USE_FAR_KEYWORD @@ -240,7 +240,7 @@ static GLTextureFormat_t PNG_Load(const char *filename, int *w, int *h, GLPatch_ { png_uint_32 i, pitch = png_get_rowbytes(png_ptr, png_info_ptr); - png_bytep PNG_image = Z_Malloc(pitch*height, PU_HWRCACHE, &grpatch->mipmap.grInfo.data); + png_bytep PNG_image = Z_Malloc(pitch*height, PU_HWRCACHE, &grpatch->mipmap->grInfo.data); png_bytepp row_pointers = png_malloc(png_ptr, height * sizeof (png_bytep)); for (i = 0; i < height; i++) row_pointers[i] = PNG_image + i*pitch; @@ -320,7 +320,7 @@ static GLTextureFormat_t PCX_Load(const char *filename, int *w, int *h, pw = *w = header.xmax - header.xmin + 1; ph = *h = header.ymax - header.ymin + 1; - image = Z_Malloc(pw*ph*4, PU_HWRCACHE, &grpatch->mipmap.grInfo.data); + image = Z_Malloc(pw*ph*4, PU_HWRCACHE, &grpatch->mipmap->grInfo.data); if (fread(palette, sizeof (UINT8), PALSIZE, file) != PALSIZE) { @@ -368,40 +368,40 @@ static void md2_loadTexture(md2_t *model) if (model->grpatch) { grpatch = model->grpatch; - Z_Free(grpatch->mipmap.grInfo.data); + Z_Free(grpatch->mipmap->grInfo.data); } else grpatch = Z_Calloc(sizeof *grpatch, PU_HWRPATCHINFO, &(model->grpatch)); - if (!grpatch->mipmap.downloaded && !grpatch->mipmap.grInfo.data) + if (!grpatch->mipmap->downloaded && !grpatch->mipmap->grInfo.data) { int w = 0, h = 0; #ifdef HAVE_PNG - grpatch->mipmap.grInfo.format = PNG_Load(filename, &w, &h, grpatch); - if (grpatch->mipmap.grInfo.format == 0) + grpatch->mipmap->grInfo.format = PNG_Load(filename, &w, &h, grpatch); + if (grpatch->mipmap->grInfo.format == 0) #endif - grpatch->mipmap.grInfo.format = PCX_Load(filename, &w, &h, grpatch); - if (grpatch->mipmap.grInfo.format == 0) + grpatch->mipmap->grInfo.format = PCX_Load(filename, &w, &h, grpatch); + if (grpatch->mipmap->grInfo.format == 0) { grpatch->notfound = true;// mark it so its not searched for again repeatedly return; } - grpatch->mipmap.downloaded = 0; - grpatch->mipmap.flags = 0; + grpatch->mipmap->downloaded = 0; + grpatch->mipmap->flags = 0; grpatch->width = (INT16)w; grpatch->height = (INT16)h; - grpatch->mipmap.width = (UINT16)w; - grpatch->mipmap.height = (UINT16)h; + grpatch->mipmap->width = (UINT16)w; + grpatch->mipmap->height = (UINT16)h; // not correct! - grpatch->mipmap.grInfo.smallLodLog2 = GR_LOD_LOG2_256; - grpatch->mipmap.grInfo.largeLodLog2 = GR_LOD_LOG2_256; - grpatch->mipmap.grInfo.aspectRatioLog2 = GR_ASPECT_LOG2_1x1; + grpatch->mipmap->grInfo.smallLodLog2 = GR_LOD_LOG2_256; + grpatch->mipmap->grInfo.largeLodLog2 = GR_LOD_LOG2_256; + grpatch->mipmap->grInfo.aspectRatioLog2 = GR_ASPECT_LOG2_1x1; } - HWD.pfnSetTexture(&grpatch->mipmap); + HWD.pfnSetTexture(grpatch->mipmap); HWR_UnlockCachedPatch(grpatch); } @@ -419,41 +419,41 @@ static void md2_loadBlendTexture(md2_t *model) if (model->blendgrpatch) { grpatch = model->blendgrpatch; - Z_Free(grpatch->mipmap.grInfo.data); + Z_Free(grpatch->mipmap->grInfo.data); } else grpatch = Z_Calloc(sizeof *grpatch, PU_HWRPATCHINFO, &(model->blendgrpatch)); - if (!grpatch->mipmap.downloaded && !grpatch->mipmap.grInfo.data) + if (!grpatch->mipmap->downloaded && !grpatch->mipmap->grInfo.data) { int w = 0, h = 0; #ifdef HAVE_PNG - grpatch->mipmap.grInfo.format = PNG_Load(filename, &w, &h, grpatch); - if (grpatch->mipmap.grInfo.format == 0) + grpatch->mipmap->grInfo.format = PNG_Load(filename, &w, &h, grpatch); + if (grpatch->mipmap->grInfo.format == 0) #endif - grpatch->mipmap.grInfo.format = PCX_Load(filename, &w, &h, grpatch); - if (grpatch->mipmap.grInfo.format == 0) + grpatch->mipmap->grInfo.format = PCX_Load(filename, &w, &h, grpatch); + if (grpatch->mipmap->grInfo.format == 0) { grpatch->notfound = true;// mark it so its not searched for again repeatedly Z_Free(filename); return; } - grpatch->mipmap.downloaded = 0; - grpatch->mipmap.flags = 0; + grpatch->mipmap->downloaded = 0; + grpatch->mipmap->flags = 0; grpatch->width = (INT16)w; grpatch->height = (INT16)h; - grpatch->mipmap.width = (UINT16)w; - grpatch->mipmap.height = (UINT16)h; + grpatch->mipmap->width = (UINT16)w; + grpatch->mipmap->height = (UINT16)h; // not correct! - grpatch->mipmap.grInfo.smallLodLog2 = GR_LOD_LOG2_256; - grpatch->mipmap.grInfo.largeLodLog2 = GR_LOD_LOG2_256; - grpatch->mipmap.grInfo.aspectRatioLog2 = GR_ASPECT_LOG2_1x1; + grpatch->mipmap->grInfo.smallLodLog2 = GR_LOD_LOG2_256; + grpatch->mipmap->grInfo.largeLodLog2 = GR_LOD_LOG2_256; + grpatch->mipmap->grInfo.aspectRatioLog2 = GR_ASPECT_LOG2_1x1; } - HWD.pfnSetTexture(&grpatch->mipmap); // We do need to do this so that it can be cleared and knows to recreate it when necessary + HWD.pfnSetTexture(grpatch->mipmap); // We do need to do this so that it can be cleared and knows to recreate it when necessary HWR_UnlockCachedPatch(grpatch); Z_Free(filename); @@ -680,8 +680,8 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, cur = Z_Malloc(size*4, PU_HWRCACHE, &grmip->grInfo.data); memset(cur, 0x00, size*4); - image = gpatch->mipmap.grInfo.data; - blendimage = blendgpatch->mipmap.grInfo.data; + image = gpatch->mipmap->grInfo.data; + blendimage = blendgpatch->mipmap->grInfo.data; // Average all of the translation's colors { @@ -793,13 +793,13 @@ static void HWR_GetBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, INT if (colormap == colormaps || colormap == NULL) { // Don't do any blending - HWD.pfnSetTexture(&gpatch->mipmap); + HWD.pfnSetTexture(gpatch->mipmap); return; } // search for the mimmap // skip the first (no colormap translated) - for (grmip = &gpatch->mipmap; grmip->nextcolormap; ) + for (grmip = gpatch->mipmap; grmip->nextcolormap; ) { grmip = grmip->nextcolormap; if (grmip->colormap == colormap) @@ -952,20 +952,20 @@ void HWR_DrawMD2(gr_vissprite_t *spr) finalscale = md2->scale; //Hurdler: arf, I don't like that implementation at all... too much crappy gpatch = md2->grpatch; - if (!gpatch || ((!gpatch->mipmap.grInfo.format || !gpatch->mipmap.downloaded) && !gpatch->notfound)) + if (!gpatch || ((!gpatch->mipmap->grInfo.format || !gpatch->mipmap->downloaded) && !gpatch->notfound)) md2_loadTexture(md2); gpatch = md2->grpatch; // Load it again, because it isn't being loaded into gpatch after md2_loadtexture... - if ((gpatch && gpatch->mipmap.grInfo.format) // don't load the blend texture if the base texture isn't available + if ((gpatch && gpatch->mipmap->grInfo.format) // don't load the blend texture if the base texture isn't available && (!md2->blendgrpatch - || ((!((GLPatch_t *)md2->blendgrpatch)->mipmap.grInfo.format || !((GLPatch_t *)md2->blendgrpatch)->mipmap.downloaded) + || ((!((GLPatch_t *)md2->blendgrpatch)->mipmap->grInfo.format || !((GLPatch_t *)md2->blendgrpatch)->mipmap->downloaded) && !((GLPatch_t *)md2->blendgrpatch)->notfound))) md2_loadBlendTexture(md2); - if (gpatch && gpatch->mipmap.grInfo.format) // else if meant that if a texture couldn't be loaded, it would just end up using something else's texture + if (gpatch && gpatch->mipmap->grInfo.format) // else if meant that if a texture couldn't be loaded, it would just end up using something else's texture { if ((skincolors_t)spr->mobj->color != SKINCOLOR_NONE && - md2->blendgrpatch && ((GLPatch_t *)md2->blendgrpatch)->mipmap.grInfo.format + md2->blendgrpatch && ((GLPatch_t *)md2->blendgrpatch)->mipmap->grInfo.format && gpatch->width == ((GLPatch_t *)md2->blendgrpatch)->width && gpatch->height == ((GLPatch_t *)md2->blendgrpatch)->height) { INT32 skinnum = TC_DEFAULT; @@ -996,7 +996,7 @@ void HWR_DrawMD2(gr_vissprite_t *spr) else { // This is safe, since we know the texture has been downloaded - HWD.pfnSetTexture(&gpatch->mipmap); + HWD.pfnSetTexture(gpatch->mipmap); } } else diff --git a/src/w_wad.c b/src/w_wad.c index f6ca297f..841d8fd3 100644 --- a/src/w_wad.c +++ b/src/w_wad.c @@ -1485,22 +1485,22 @@ static inline void *W_CachePatchNumPwad(UINT16 wad, UINT16 lump, INT32 tag) grPatch = HWR_GetCachedGLPatchPwad(wad, lump); - if (grPatch->mipmap.grInfo.data) + if (grPatch->mipmap->grInfo.data) { if (tag == PU_CACHE) tag = PU_HWRCACHE; - Z_ChangeTag(grPatch->mipmap.grInfo.data, tag); + Z_ChangeTag(grPatch->mipmap->grInfo.data, tag); } else { patch_t *ptr = NULL; // Only load the patch if we haven't initialised the grPatch yet - if (grPatch->mipmap.width == 0) + if (grPatch->mipmap->width == 0) ptr = W_CacheLumpNumPwad(grPatch->wadnum, grPatch->lumpnum, PU_STATIC); // Run HWR_MakePatch in all cases, to recalculate some things - HWR_MakePatch(ptr, grPatch, &grPatch->mipmap, false); + HWR_MakePatch(ptr, grPatch, grPatch->mipmap, false); Z_Free(ptr); } From 6d3f5ef163c1664cc71d13e112c458f1775efed2 Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 7 Nov 2019 18:04:53 -0800 Subject: [PATCH 160/245] Also allocate mipmap for MD2 (cherry picked from commit 99cd5161becec131099c64dddd2be6beafb538cc) --- src/hardware/hw_md2.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 0a332d29..6144e1a8 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -371,8 +371,11 @@ static void md2_loadTexture(md2_t *model) Z_Free(grpatch->mipmap->grInfo.data); } else + { grpatch = Z_Calloc(sizeof *grpatch, PU_HWRPATCHINFO, &(model->grpatch)); + grpatch->mipmap = Z_Calloc(sizeof (GLMipmap_t), PU_HWRPATCHINFO, NULL); + } if (!grpatch->mipmap->downloaded && !grpatch->mipmap->grInfo.data) { @@ -422,8 +425,11 @@ static void md2_loadBlendTexture(md2_t *model) Z_Free(grpatch->mipmap->grInfo.data); } else + { grpatch = Z_Calloc(sizeof *grpatch, PU_HWRPATCHINFO, &(model->blendgrpatch)); + grpatch->mipmap = Z_Calloc(sizeof (GLMipmap_t), PU_HWRPATCHINFO, NULL); + } if (!grpatch->mipmap->downloaded && !grpatch->mipmap->grInfo.data) { From 60a38cbec3eb5659ccb4f23c00c66758c50e3fd2 Mon Sep 17 00:00:00 2001 From: James R Date: Tue, 31 Mar 2020 15:49:49 -0700 Subject: [PATCH 161/245] Even the warning can die, give the programmer some credit (cherry picked from commit 6d67b7c3269d2530cfcd7a93cfde401e09d04138) --- src/Makefile.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile.cfg b/src/Makefile.cfg index 8402e349..ff4d2bac 100644 --- a/src/Makefile.cfg +++ b/src/Makefile.cfg @@ -222,7 +222,7 @@ endif ifdef GCC71 WFLAGS+=-Wno-error=implicit-fallthrough WFLAGS+=-Wno-implicit-fallthrough - WFLAGS+=-Wno-error=format-truncation + WFLAGS+=-Wno-format-truncation endif ifdef GCC80 WFLAGS+=-Wno-error=format-overflow From f3bdcb4ec3414d2ce2558a4289cde47cf0772634 Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Sun, 12 Apr 2020 14:17:40 +0300 Subject: [PATCH 162/245] Backport from SRB2: Replace NextTexAvail with glGenTextures --- src/hardware/r_opengl/r_opengl.c | 33 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 659388d2..edb0430e 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -44,7 +44,6 @@ static const GLubyte white[4] = { 255, 255, 255, 255 }; // With OpenGL 1.1+, the first texture should be 1 #define NOTEXTURE_NUM 0 -#define FIRST_TEX_AVAIL (NOTEXTURE_NUM + 1) #define N_PI_DEMI (M_PIl/2.0f) //(1.5707963268f) @@ -57,7 +56,6 @@ static float NEAR_CLIPPING_PLANE = NZCLIP_PLANE; // ************************************************************************** -static GLuint NextTexAvail = FIRST_TEX_AVAIL; static GLuint tex_downloaded = 0; static GLfloat fov = 90.0f; static FBITFIELD CurrentPolyFlags; @@ -91,16 +89,10 @@ static GLint viewport[4]; GLubyte palette_tex[256*3]; #endif -// Yay for arbitrary numbers! NextTexAvail is buggy for some reason. // Sryder: NextTexAvail is broken for these because palette changes or changes to the texture filter or antialiasing // flush all of the stored textures, leaving them unavailable at times such as between levels // These need to start at 0 and be set to their number, and be reset to 0 when deleted so that Intel GPUs // can know when the textures aren't there, as textures are always considered resident in their virtual memory -// TODO: Store them in a more normal way -#define SCRTEX_SCREENTEXTURE 4294967295U -#define SCRTEX_STARTSCREENWIPE 4294967294U -#define SCRTEX_ENDSCREENWIPE 4294967293U -#define SCRTEX_FINALSCREENTEXTURE 4294967292U static GLuint screentexture = 0; static GLuint startScreenWipe = 0; static GLuint endScreenWipe = 0; @@ -1014,7 +1006,7 @@ void SetStates(void) CurrentPolyFlags = 0xffffffff; SetBlend(0); - tex_downloaded = (GLuint)-1; + //tex_downloaded = (GLuint)-1; SetNoTexture(); pglPolygonOffset(-1.0f, -1.0f); @@ -1037,12 +1029,12 @@ void Flush(void) { // ceci n'est pas du tout necessaire vu que tu les a charger normalement et // donc il sont dans ta liste ! - pglDeleteTextures(1, (GLuint *)&gr_cachehead->downloaded); + if (gr_cachehead->downloaded) + pglDeleteTextures(1, (GLuint *)&gr_cachehead->downloaded); gr_cachehead->downloaded = 0; gr_cachehead = gr_cachehead->nextmipmap; } gr_cachetail = gr_cachehead = NULL; //Hurdler: well, gr_cachehead is already NULL - NextTexAvail = FIRST_TEX_AVAIL; tex_downloaded = 0; } @@ -1415,8 +1407,10 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo) static RGBA_t tex[2048*2048]; const GLvoid *ptex = tex; INT32 w, h; + GLuint texnum = 0; - //GL_DBG_Printf("DownloadMipmap %d\n", NextTexAvail, pTexInfo->grInfo.data); + pglGenTextures(1, &texnum); + //GL_DBG_Printf("DownloadMipmap %d\n", (INT32)texnum, pTexInfo->grInfo.data); w = pTexInfo->width; h = pTexInfo->height; @@ -1515,9 +1509,10 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo) else GL_DBG_Printf("SetTexture(bad format) %ld\n", pTexInfo->grInfo.format); - pTexInfo->downloaded = NextTexAvail++; - tex_downloaded = pTexInfo->downloaded; - pglBindTexture(GL_TEXTURE_2D, pTexInfo->downloaded); + // the texture number was already generated by pglGenTextures + pglBindTexture(GL_TEXTURE_2D, texnum); + pTexInfo->downloaded = texnum; + tex_downloaded = texnum; // disable texture filtering on any texture that has holes so there's no dumb borders or blending issues if (pTexInfo->flags & TF_TRANSPARENT) @@ -2914,7 +2909,7 @@ EXPORT void HWRAPI(StartScreenWipe) (void) // Create screen texture if (firstTime) - startScreenWipe = SCRTEX_STARTSCREENWIPE; + pglGenTextures(1, &startScreenWipe); pglBindTexture(GL_TEXTURE_2D, startScreenWipe); if (firstTime) @@ -2945,7 +2940,7 @@ EXPORT void HWRAPI(EndScreenWipe)(void) // Create screen texture if (firstTime) - endScreenWipe = SCRTEX_ENDSCREENWIPE; + pglGenTextures(1, &endScreenWipe); pglBindTexture(GL_TEXTURE_2D, endScreenWipe); if (firstTime) @@ -3105,7 +3100,7 @@ EXPORT void HWRAPI(MakeScreenTexture) (void) // Create screen texture if (firstTime) - screentexture = SCRTEX_SCREENTEXTURE; + pglGenTextures(1, &screentexture); pglBindTexture(GL_TEXTURE_2D, screentexture); if (firstTime) @@ -3135,7 +3130,7 @@ EXPORT void HWRAPI(MakeScreenFinalTexture) (void) // Create screen texture if (firstTime) - finalScreenTexture = SCRTEX_FINALSCREENTEXTURE; + pglGenTextures(1, &finalScreenTexture); pglBindTexture(GL_TEXTURE_2D, finalScreenTexture); if (firstTime) From 9c727992a4aaef716cbe7f9c04a172206e6918b8 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 12 Apr 2020 06:47:12 -0500 Subject: [PATCH 163/245] Fix self-comparison in hw_main.c --- src/hardware/hw_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 9dfd849c..7c1a6811 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -1938,7 +1938,7 @@ static boolean CheckClip(seg_t * seg, sector_t * afrontsector, sector_t * abacks checkforemptylines = false; // before we do anything, if both sectors are thok barriers, GET ME OUT OF HERE! - if (frontc1 <= backc1 && frontc2 <= frontc2) + if (frontc1 <= backc1 && frontc2 <= backc2) return true; // STOP RENDERING. // draw floors at the top of thok barriers: From 2dd7854a9bb4d59b676253cc267940780569006f Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Sun, 12 Apr 2020 15:07:39 -0400 Subject: [PATCH 164/245] Remove some of these superfluous ifdef checks. Allows compatibility with non-curl enabled builds. --- src/d_clisrv.c | 17 +++++++---------- src/d_clisrv.h | 10 +--------- src/d_netcmd.c | 2 -- 3 files changed, 8 insertions(+), 21 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 6988188f..f25bcf7b 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -172,9 +172,7 @@ consvar_t cv_showjoinaddress = {"showjoinaddress", "On", CV_SAVE, CV_OnOff, NULL static CV_PossibleValue_t playbackspeed_cons_t[] = {{1, "MIN"}, {10, "MAX"}, {0, NULL}}; consvar_t cv_playbackspeed = {"playbackspeed", "1", 0, playbackspeed_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; -#ifdef HAVE_CURL consvar_t cv_httpsource = {"http_source", "", CV_SAVE, NULL, NULL, 0, NULL, NULL, 0, 0, NULL}; -#endif static inline void *G_DcpyTiccmd(void* dest, const ticcmd_t* src, const size_t n) { @@ -1356,6 +1354,7 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) UINT8 *p; #ifdef HAVE_CURL size_t mirror_length; + const char *httpurl = cv_httpsource.string; #endif netbuffer->packettype = PT_SERVERINFO; @@ -1389,9 +1388,7 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) netbuffer->u.serverinfo.iszone = 0; memset(netbuffer->u.serverinfo.maptitle, 0, 33); -#ifdef HAVE_CURL memset(netbuffer->u.serverinfo.httpsource, 0, MAX_MIRROR_LENGTH); -#endif if (!(mapheaderinfo[gamemap-1]->menuflags & LF2_HIDEINMENU) && mapheaderinfo[gamemap-1]->lvlttl[0]) { @@ -1444,13 +1441,13 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) netbuffer->u.serverinfo.actnum = 0; //mapheaderinfo[gamemap-1]->actnum #ifdef HAVE_CURL - mirror_length = strlen(cv_httpsource.string); + mirror_length = strlen(httpurl); if (mirror_length > MAX_MIRROR_LENGTH) mirror_length = MAX_MIRROR_LENGTH; - if (snprintf(netbuffer->u.serverinfo.httpsource, MAX_MIRROR_LENGTH, "%s", cv_httpsource.string) < 0) + if (snprintf(netbuffer->u.serverinfo.httpsource, mirror_length, "%s", httpurl) < 0) // If there's an encoding error, send nothing, we accept that the above may be truncated - strncpy(netbuffer->u.serverinfo.httpsource, "", MAX_MIRROR_LENGTH); + strncpy(netbuffer->u.serverinfo.httpsource, "", mirror_length); netbuffer->u.serverinfo.httpsource[MAX_MIRROR_LENGTH-1] = 0; #endif @@ -2053,6 +2050,9 @@ static boolean CL_ServerConnectionSearchTicker(boolean viams, tic_t *asksent) strncpy(http_source, serverlist[i].info.httpsource, MAX_MIRROR_LENGTH); else http_source[0] = '\0'; +#else + if (serverlist[i].info.httpsource[0]) + CONS_Printf("We received a http url from the server, however it will not be used as this build lacks curl support (%s)\n", serverlist[i].info.httpsource); #endif D_ParseFileneeded(serverlist[i].info.fileneedednum, serverlist[i].info.fileneeded, 0); @@ -3980,9 +3980,6 @@ static void HandleServerInfo(SINT8 node) netbuffer->u.serverinfo.time = (tic_t)LONG(ticdiff); netbuffer->u.serverinfo.servername[MAXSERVERNAME-1] = 0; netbuffer->u.serverinfo.gametype = (UINT8)((netbuffer->u.serverinfo.gametype == VANILLA_GT_MATCH) ? GT_MATCH : GT_RACE); -#ifdef HAVE_CURL - netbuffer->u.serverinfo.httpsource[MAX_MIRROR_LENGTH-1] = 0; -#endif SL_InsertServer(&netbuffer->u.serverinfo, node); } diff --git a/src/d_clisrv.h b/src/d_clisrv.h index 120562a8..480506f3 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -367,9 +367,7 @@ typedef struct #define MAXSERVERNAME 32 #define MAXFILENEEDED 915 -#ifdef HAVE_CURL #define MAX_MIRROR_LENGTH 256 -#endif // This packet is too large typedef struct { @@ -391,9 +389,7 @@ typedef struct unsigned char mapmd5[16]; UINT8 actnum; UINT8 iszone; -#ifdef HAVE_CURL - char httpsource[MAX_MIRROR_LENGTH]; -#endif + char httpsource[MAX_MIRROR_LENGTH]; // HTTP URL to download from, always defined for compatibility UINT8 fileneeded[MAXFILENEEDED]; // is filled with writexxx (byteptr.h) } ATTRPACK serverinfo_pak; @@ -501,11 +497,7 @@ extern INT32 mapchangepending; // Points inside doomcom extern doomdata_t *netbuffer; - -#ifdef HAVE_CURL extern consvar_t cv_httpsource; -#endif - extern consvar_t cv_showjoinaddress; extern consvar_t cv_playbackspeed; diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 4014e824..25b65a6d 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -686,9 +686,7 @@ void D_RegisterServerCommands(void) CV_RegisterVar(&cv_maxsend); CV_RegisterVar(&cv_noticedownload); CV_RegisterVar(&cv_downloadspeed); -#ifdef HAVE_CURL CV_RegisterVar(&cv_httpsource); -#endif #ifndef NONET CV_RegisterVar(&cv_allownewplayer); #ifdef VANILLAJOINNEXTROUND From 9293c6cb32109b5b003114ab441e312df76f263c Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Sun, 12 Apr 2020 17:56:12 -0400 Subject: [PATCH 165/245] Fix cmake using wrong libs if internal libs is turned on Use '\0' instead, just in case --- src/CMakeLists.txt | 4 ++-- src/d_clisrv.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 19b0e07c..4b89a79e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -398,9 +398,9 @@ if(${SRB2_CONFIG_HAVE_CURL}) set(CURL_FOUND ON) set(CURL_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/libs/curl) if(${SRB2_SYSTEM_BITS} EQUAL 64) - set(CURL_LIBRARIES "-L${CMAKE_SOURCE_DIR}/libs/curl/lib32 -lcurl") - else() # 32-bit set(CURL_LIBRARIES "-L${CMAKE_SOURCE_DIR}/libs/curl/lib64 -lcurl") + else() # 32-bit + set(CURL_LIBRARIES "-L${CMAKE_SOURCE_DIR}/libs/curl/lib32 -lcurl") endif() else() find_package(CURL) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index f25bcf7b..817fb93a 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1449,7 +1449,7 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) // If there's an encoding error, send nothing, we accept that the above may be truncated strncpy(netbuffer->u.serverinfo.httpsource, "", mirror_length); - netbuffer->u.serverinfo.httpsource[MAX_MIRROR_LENGTH-1] = 0; + netbuffer->u.serverinfo.httpsource[MAX_MIRROR_LENGTH-1] = '\0'; #endif p = PutFileNeeded(0); From bceeaf78bc4818f52bee49249b4fd2d94dc6578b Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 12 Apr 2020 20:48:11 -0500 Subject: [PATCH 166/245] Prep stuff pending asset hash changes --- CMakeLists.txt | 2 +- appveyor.yml | 4 ++-- src/doomdef.h | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7995034d..a335fe59 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.0) # DO NOT CHANGE THIS SRB2 STRING! Some variable names depend on this string. # Version change is fine. project(SRB2 - VERSION 1.1.0 + VERSION 1.2.0 LANGUAGES C) if(${PROJECT_SOURCE_DIR} MATCHES ${PROJECT_BINARY_DIR}) diff --git a/appveyor.yml b/appveyor.yml index 3d46cf6d..f4cc4213 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: 1.1.0.{branch}-{build} +version: 1.2.0.{branch}-{build} os: MinGW environment: @@ -29,7 +29,7 @@ environment: ############################## DPL_ENABLED: 0 DPL_TAG_ENABLED: 0 - DPL_INSTALLER_NAME: srb2kart-v110 + DPL_INSTALLER_NAME: srb2kart-v120 # Asset handling is barebones vs. Travis Deployer. We operate on 7z only. # Include the README files and the OpenGL batch in the main and patch archives. # The x86/x64 archives contain the DLL binaries. diff --git a/src/doomdef.h b/src/doomdef.h index bb9c3784..a40d969f 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -149,10 +149,10 @@ extern FILE *logstream; // most interface strings are ignored in development mode. // we use comprevision and compbranch instead. #else -#define VERSION 110 // Game version +#define VERSION 120 // Game version #define SUBVERSION 0 // more precise version number -#define VERSIONSTRING "v1.1" -#define VERSIONSTRINGW L"v1.1" +#define VERSIONSTRING "v1.2" +#define VERSIONSTRINGW L"v1.2" // Hey! If you change this, add 1 to the MODVERSION below! Otherwise we can't force updates! // And change CMakeLists.txt, for CMake users! // AND appveyor.yml, for the build bots! @@ -225,7 +225,7 @@ extern FILE *logstream; // it's only for detection of the version the player is using so the MS can alert them of an update. // Only set it higher, not lower, obviously. // Note that we use this to help keep internal testing in check; this is why v2.1.0 is not version "1". -#define MODVERSION 5 +#define MODVERSION 6 // Filter consvars by version // To version config.cfg, MAJOREXECVERSION is set equal to MODVERSION automatically. From c68e1c53f37670479a2fb35756c4b2ba83f54025 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 12 Apr 2020 21:14:33 -0500 Subject: [PATCH 167/245] Fix off by one error in http downloader --- src/d_clisrv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 605aa73f..a211fc48 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1475,7 +1475,7 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) if (mirror_length > MAX_MIRROR_LENGTH) mirror_length = MAX_MIRROR_LENGTH; - if (snprintf(netbuffer->u.serverinfo.httpsource, mirror_length, "%s", httpurl) < 0) + if (snprintf(netbuffer->u.serverinfo.httpsource, mirror_length+1, "%s", httpurl) < 0) // If there's an encoding error, send nothing, we accept that the above may be truncated strncpy(netbuffer->u.serverinfo.httpsource, "", mirror_length); From 0a50317e495a50a159fb85cda3387e92abb1ae57 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 12 Apr 2020 22:47:22 -0500 Subject: [PATCH 168/245] oops --- src/doomdef.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/doomdef.h b/src/doomdef.h index a40d969f..0b0ec206 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -149,7 +149,7 @@ extern FILE *logstream; // most interface strings are ignored in development mode. // we use comprevision and compbranch instead. #else -#define VERSION 120 // Game version +#define VERSION 102 // Game version #define SUBVERSION 0 // more precise version number #define VERSIONSTRING "v1.2" #define VERSIONSTRINGW L"v1.2" From 1fac0505a485a7ddf141eac823ffc423584d09f3 Mon Sep 17 00:00:00 2001 From: Sally Cochenour Date: Sun, 12 Apr 2020 23:51:00 -0400 Subject: [PATCH 169/245] No more modulo bullshit in VERSION VERSION is the first number, SUBVERSION is the second number, and the third number burns in hell; we really don't need that precision # Conflicts: # src/doomdef.h --- src/d_clisrv.c | 12 ++++++------ src/doomdef.h | 4 ++-- src/mserv.c | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index a211fc48..836023f5 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1915,7 +1915,7 @@ void CL_UpdateServerList(boolean internetsearch, INT32 room) { char version[8] = ""; #if VERSION > 0 || SUBVERSION > 0 - snprintf(version, sizeof (version), "%d.%d.%d", VERSION/100, VERSION%100, SUBVERSION); + snprintf(version, sizeof (version), "%d.%d", VERSION, SUBVERSION); #else strcpy(version, GetRevisionString()); #endif @@ -2457,8 +2457,8 @@ static void CL_ConnectToServer(boolean viams) gametypestr = Gametype_Names[num]; if (gametypestr) CONS_Printf(M_GetText("Gametype: %s\n"), gametypestr); - CONS_Printf(M_GetText("Version: %d.%d.%u\n"), serverlist[i].info.version/100, - serverlist[i].info.version%100, serverlist[i].info.subversion); + CONS_Printf(M_GetText("Version: %d.%d\n"), + serverlist[i].info.version, serverlist[i].info.subversion); } SL_ClearServerList(servernode); #endif @@ -3375,8 +3375,8 @@ static void Got_RemovePlayer(UINT8 **p, INT32 playernum); // called one time at init void D_ClientServerInit(void) { - DEBFILE(va("- - -== SRB2Kart v%d.%.2d.%d "VERSIONSTRING" debugfile ==- - -\n", - VERSION/100, VERSION%100, SUBVERSION)); + DEBFILE(va("- - -== SRB2Kart v%d.%d "VERSIONSTRING" debugfile ==- - -\n", + VERSION, SUBVERSION)); #ifndef NONET COM_AddCommand("getplayernum", Command_GetPlayerNum); @@ -3872,7 +3872,7 @@ static void HandleConnect(SINT8 node) SV_SendRefuse(node, M_GetText("You have been banned\nfrom the server")); else if (netbuffer->u.clientcfg.version != VERSION || netbuffer->u.clientcfg.subversion != SUBVERSION) - SV_SendRefuse(node, va(M_GetText("Different SRB2Kart versions cannot\nplay a netgame!\n(server version %d.%d.%d)"), VERSION/100, VERSION%100, SUBVERSION)); + SV_SendRefuse(node, va(M_GetText("Different SRB2Kart versions cannot\nplay a netgame!\n(server version %d.%d)"), VERSION, SUBVERSION)); else if (!cv_allownewplayer.value && node) SV_SendRefuse(node, M_GetText("The server is not accepting\njoins for the moment")); else if (D_NumPlayers() >= maxplayers) diff --git a/src/doomdef.h b/src/doomdef.h index 0b0ec206..71a92240 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -149,8 +149,8 @@ extern FILE *logstream; // most interface strings are ignored in development mode. // we use comprevision and compbranch instead. #else -#define VERSION 102 // Game version -#define SUBVERSION 0 // more precise version number +#define VERSION 1 // Game version +#define SUBVERSION 2 // more precise version number #define VERSIONSTRING "v1.2" #define VERSIONSTRINGW L"v1.2" // Hey! If you change this, add 1 to the MODVERSION below! Otherwise we can't force updates! diff --git a/src/mserv.c b/src/mserv.c index c7344b16..12469928 100644 --- a/src/mserv.c +++ b/src/mserv.c @@ -751,7 +751,7 @@ static INT32 AddToMasterServer(boolean firstadd) strcpy(info->name, cv_servername.string); M_Memcpy(&info->room, & room, sizeof (INT32)); #if VERSION > 0 || SUBVERSION > 0 - sprintf(info->version, "%d.%d.%d", VERSION/100, VERSION%100, SUBVERSION); + sprintf(info->version, "%d.%d", VERSION, SUBVERSION); #else // Trunk build, send revision info strcpy(info->version, GetRevisionString()); #endif @@ -789,7 +789,7 @@ static INT32 RemoveFromMasterSever(void) strcpy(info->ip, ""); strcpy(info->port, int2str(current_port)); strcpy(info->name, registered_server.name); - sprintf(info->version, "%d.%d.%d", VERSION/100, VERSION%100, SUBVERSION); + sprintf(info->version, "%d.%d", VERSION, SUBVERSION); msg.type = REMOVE_SERVER_MSG; msg.length = (UINT32)sizeof (msg_server_t); From b25acfa7827773b9d0cdf6a6c5b45b0169065ee9 Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 13 Apr 2020 17:30:42 -0700 Subject: [PATCH 170/245] Reorder join process so password is authenticated before attempting to download --- src/d_clisrv.c | 58 ++++++++++++++++---------------------------------- src/d_clisrv.h | 6 ++++++ 2 files changed, 24 insertions(+), 40 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 836023f5..27397245 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1995,40 +1995,7 @@ static boolean CL_FinishedFileList(void) else if (i == 1) cl_mode = CL_ASKJOIN; else - { - // must download something - // can we, though? -#ifdef HAVE_CURL - if (http_source[0] == '\0' || curl_failedwebdownload) -#endif - { - if (!CL_CheckDownloadable()) // nope! - { - D_QuitNetGame(); - CL_Reset(); - D_StartTitle(); - M_StartMessage(M_GetText( - "You cannot connect to this server\n" - "because you cannot download the files\n" - "that you are missing from the server.\n\n" - "See the console or log file for\n" - "more details.\n\n" - "Press ESC\n" - ), NULL, MM_NOTHING); - return false; - } - - cl_mode = CL_ASKDOWNLOADFILES; - return true; - } -#ifdef HAVE_CURL - else - { - cl_mode = CL_PREPAREHTTPFILES; - return true; - } -#endif - } + cl_mode = CL_ASKDOWNLOADFILES; return true; } @@ -2163,10 +2130,9 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic #ifdef HAVE_CURL case CL_PREPAREHTTPFILES: - if (http_source[0]) { for (i = 0; i < fileneedednum; i++) - if (fileneeded[i].status == FS_NOTFOUND) + if (fileneeded[i].status == FS_NOTFOUND || fileneeded[i].status == FS_MD5SUMBAD) curl_transfers++; cl_mode = CL_DOWNLOADHTTPFILES; @@ -2176,7 +2142,7 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic case CL_DOWNLOADHTTPFILES: waitmore = false; for (i = 0; i < fileneedednum; i++) - if (fileneeded[i].status == FS_NOTFOUND) + if (fileneeded[i].status == FS_NOTFOUND || fileneeded[i].status == FS_MD5SUMBAD) { if (!curl_running) CURLPrepareFile(http_source, i); @@ -3912,7 +3878,9 @@ static void HandleConnect(SINT8 node) if (netbuffer->u.clientcfg.needsdownload) { netbuffer->packettype = PT_DOWNLOADFILESOKAY; - HSendPacket(node, true, 0, 0); + strncpy(netbuffer->u.filecfg.http_source, cv_httpsource.string, + MAX_MIRROR_LENGTH); + HSendPacket(node, true, 0, sizeof netbuffer->u.filecfg); return; } @@ -4193,7 +4161,17 @@ static void HandlePacketFromAwayNode(SINT8 node) SERVERONLY - // This should've already been checked, but just to be safe... +#ifdef HAVE_CURL + if (! curl_failedwebdownload && + netbuffer->u.filecfg.http_source[0] != '\0' + ){ + strlcpy(http_source, netbuffer->u.filecfg.http_source, + MAX_MIRROR_LENGTH); + + cl_mode = CL_PREPAREHTTPFILES; + } + else +#endif if (!CL_CheckDownloadable()) { D_QuitNetGame(); @@ -4215,7 +4193,7 @@ static void HandlePacketFromAwayNode(SINT8 node) cl_challengeattempted = 2; CONS_Printf("trying to download\n"); - if (CL_SendRequestFile()) + if (cl_mode == CL_WAITDOWNLOADFILESRESPONSE && CL_SendRequestFile()) cl_mode = CL_DOWNLOADFILES; break; diff --git a/src/d_clisrv.h b/src/d_clisrv.h index c4e54b48..d1d99d7d 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -443,6 +443,11 @@ typedef struct UINT8 files[MAXFILENEEDED]; // is filled with writexxx (byteptr.h) } ATTRPACK filesneededconfig_pak; +typedef struct +{ + char http_source[MAX_MIRROR_LENGTH];/* first byte 0? no die! */ +} ATTRPACK fileconfig; + // // Network packet data // @@ -477,6 +482,7 @@ typedef struct plrconfig playerconfig[MAXPLAYERS]; // (up to) 528 bytes(?) INT32 filesneedednum; // 4 bytes filesneededconfig_pak filesneededcfg; // ??? bytes + fileconfig filecfg; UINT32 pingtable[MAXPLAYERS+1]; // 68 bytes } u; // This is needed to pack diff packet types data together } ATTRPACK doomdata_t; From abd15288b4a6d977b0e0b7542d614e5241f5e7c3 Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 13 Apr 2020 17:40:48 -0700 Subject: [PATCH 171/245] Don't send httpsource in SERVERINFO if join password is set --- src/d_clisrv.c | 93 ++++++++++++++++++++++++++------------------------ 1 file changed, 49 insertions(+), 44 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 27397245..7f242e79 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1471,15 +1471,18 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) netbuffer->u.serverinfo.actnum = 0; //mapheaderinfo[gamemap-1]->actnum #ifdef HAVE_CURL - mirror_length = strlen(httpurl); - if (mirror_length > MAX_MIRROR_LENGTH) - mirror_length = MAX_MIRROR_LENGTH; + if (D_IsJoinPasswordOn()) + { + mirror_length = strlen(httpurl); + if (mirror_length > MAX_MIRROR_LENGTH) + mirror_length = MAX_MIRROR_LENGTH; - if (snprintf(netbuffer->u.serverinfo.httpsource, mirror_length+1, "%s", httpurl) < 0) - // If there's an encoding error, send nothing, we accept that the above may be truncated - strncpy(netbuffer->u.serverinfo.httpsource, "", mirror_length); + if (snprintf(netbuffer->u.serverinfo.httpsource, mirror_length+1, "%s", httpurl) < 0) + // If there's an encoding error, send nothing, we accept that the above may be truncated + strncpy(netbuffer->u.serverinfo.httpsource, "", mirror_length); - netbuffer->u.serverinfo.httpsource[MAX_MIRROR_LENGTH-1] = '\0'; + netbuffer->u.serverinfo.httpsource[MAX_MIRROR_LENGTH-1] = '\0'; + } #endif p = PutFileNeeded(0); @@ -2042,16 +2045,6 @@ static boolean CL_ServerConnectionSearchTicker(boolean viams, tic_t *asksent) if (client) { -#ifdef HAVE_CURL - if (serverlist[i].info.httpsource[0]) - strncpy(http_source, serverlist[i].info.httpsource, MAX_MIRROR_LENGTH); - else - http_source[0] = '\0'; -#else - if (serverlist[i].info.httpsource[0]) - CONS_Printf("We received a http url from the server, however it will not be used as this build lacks curl support (%s)\n", serverlist[i].info.httpsource); -#endif - D_ParseFileneeded(serverlist[i].info.fileneedednum, serverlist[i].info.fileneeded, 0); if (serverlist[i].info.kartvars & SV_LOTSOFADDONS) { @@ -4161,40 +4154,52 @@ static void HandlePacketFromAwayNode(SINT8 node) SERVERONLY -#ifdef HAVE_CURL - if (! curl_failedwebdownload && - netbuffer->u.filecfg.http_source[0] != '\0' - ){ - strlcpy(http_source, netbuffer->u.filecfg.http_source, - MAX_MIRROR_LENGTH); - - cl_mode = CL_PREPAREHTTPFILES; - } - else -#endif - if (!CL_CheckDownloadable()) + if (netbuffer->u.filecfg.http_source[0] != '\0') { - D_QuitNetGame(); - CL_Reset(); - D_StartTitle(); - M_StartMessage(M_GetText( - "You cannot connect to this server\n" - "because you cannot download the files\n" - "that you are missing from the server.\n\n" - "See the console or log file for\n" - "more details.\n\n" - "Press ESC\n" - ), NULL, MM_NOTHING); - break; + netbuffer->u.filecfg.http_source[MAX_MIRROR_LENGTH-1] = '\0'; + +#ifdef HAVE_CURL + if (! curl_failedwebdownload) + { + strncpy(http_source, netbuffer->u.filecfg.http_source, + sizeof http_source); + + cl_mode = CL_PREPAREHTTPFILES; + } +#else + CONS_Printf("We received a http url from the server, however it will not be used as this build lacks curl support (%s)\n", netbuffer->u.filecfg.http_source); +#endif + } + + if (cl_mode == CL_WAITDOWNLOADFILESRESPONSE) + { + if (CL_CheckDownloadable()) + { + CONS_Printf("trying to download\n"); + if (CL_SendRequestFile()) + cl_mode = CL_DOWNLOADFILES; + } + else + { + D_QuitNetGame(); + CL_Reset(); + D_StartTitle(); + M_StartMessage(M_GetText( + "You cannot connect to this server\n" + "because you cannot download the files\n" + "that you are missing from the server.\n\n" + "See the console or log file for\n" + "more details.\n\n" + "Press ESC\n" + ), NULL, MM_NOTHING); + break; + } } if (cl_challengeattempted == 1) // Successful password noise. S_StartSound(NULL, sfx_s221); cl_challengeattempted = 2; - CONS_Printf("trying to download\n"); - if (cl_mode == CL_WAITDOWNLOADFILESRESPONSE && CL_SendRequestFile()) - cl_mode = CL_DOWNLOADFILES; break; case PT_SERVERCFG: // Positive response of client join request From 8c9e5fc64487ce1a7f3cd3fd81ee87a2af387839 Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 13 Apr 2020 17:45:02 -0700 Subject: [PATCH 172/245] Whoops I fucked that up --- src/d_clisrv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 7f242e79..0aec685c 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1471,7 +1471,7 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) netbuffer->u.serverinfo.actnum = 0; //mapheaderinfo[gamemap-1]->actnum #ifdef HAVE_CURL - if (D_IsJoinPasswordOn()) + if (! D_IsJoinPasswordOn()) { mirror_length = strlen(httpurl); if (mirror_length > MAX_MIRROR_LENGTH) From 312fb87937dd56c2cb4f0e95d030c34a5e5827cc Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 13 Apr 2020 17:48:10 -0700 Subject: [PATCH 173/245] b25acfa7 also fixed the http downloader not considering checksum mismatched files From be94fa3200cf172b0a265da4fe50383a96c5c64d Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Mon, 13 Apr 2020 23:07:38 -0400 Subject: [PATCH 174/245] Fix compile errors --- src/d_main.c | 1 - src/hardware/hw_cache.c | 14 ++++----- src/hardware/hw_drv.h | 4 +-- src/hardware/hw_main.c | 18 +++++------ src/hardware/r_opengl/r_opengl.c | 52 ++++++++++++++++---------------- 5 files changed, 44 insertions(+), 45 deletions(-) diff --git a/src/d_main.c b/src/d_main.c index dc166141..e513a095 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -1307,7 +1307,6 @@ void D_SRB2Main(void) #ifdef HWRENDER if (rendermode == render_opengl) { - INT32 i; for (i = 0; i < numwadfiles; i++) HWR_LoadShaders(i, (wadfiles[i]->type == RET_PK3)); } diff --git a/src/hardware/hw_cache.c b/src/hardware/hw_cache.c index 66344424..eb951149 100644 --- a/src/hardware/hw_cache.c +++ b/src/hardware/hw_cache.c @@ -135,10 +135,10 @@ static void HWR_DrawPatchInCache(GLMipmap_t *mipmap, //Hurdler: not perfect, but better than holes if (texel == HWR_PATCHES_CHROMAKEY_COLORINDEX && (mipmap->flags & TF_CHROMAKEYED)) alpha = 0x00; - + //texel = HWR_CHROMAKEY_EQUIVALENTCOLORINDEX; // Lat: Don't do that, some weirdos still use CYAN on their WALLTEXTURES for translucency :V - + //Hurdler: 25/04/2000: now support colormap in hardware mode if (mipmap->colormap) texel = mipmap->colormap[texel]; @@ -307,7 +307,7 @@ static UINT8 *MakeBlock(GLMipmap_t *grMipmap) // fill background with chromakey, alpha = 0 for (i = 0; i < blocksize; i++) memcpy(block+i*sizeof(UINT16), &bu16, sizeof(UINT16)); - + break; case 4: memset(block, 0x00, blocksize*sizeof(UINT32)); break; } @@ -351,7 +351,7 @@ static void HWR_GenerateTexture(INT32 texnum, GLTexture_t *grtex) grtex->mipmap.grInfo.format = textureformat; grtex->mipmap.colormap = colormaps; - + #ifdef GLENCORE if (encoremap) grtex->mipmap.colormap += (256*32); @@ -579,7 +579,7 @@ static void HWR_CacheFlat(GLMipmap_t *grMipmap, lumpnum_t flatlumpnum) { #ifdef GLENCORE UINT8 *flat; - INT32 steppy; + size_t steppy; #endif size_t size, pflatsize; @@ -639,9 +639,9 @@ void HWR_GetFlat(lumpnum_t flatlumpnum, boolean noencoremap) GLMipmap_t *grmip; grmip = HWR_GetCachedGLPatch(flatlumpnum)->mipmap; - + grmip->colormap = colormaps; - + #ifdef GLENCORE if (!noencoremap && encoremap) grmip->colormap += (256*32); diff --git a/src/hardware/hw_drv.h b/src/hardware/hw_drv.h index d6ad26c0..b3c95986 100644 --- a/src/hardware/hw_drv.h +++ b/src/hardware/hw_drv.h @@ -74,7 +74,7 @@ EXPORT void HWRAPI(InitCustomShaders) (void); EXPORT void HWRAPI(StartBatching) (void); -EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCalls, int *sNumShaders, int *sNumTextures, int *sNumPolyFlags, int *sNumColors, int *sSortTime, int *sDrawTime); +EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCalls, int *sNumShaders, int *sNumTextures, int *sNumPolyFlags, int *sNumColors); // ========================================================================== @@ -118,7 +118,7 @@ struct hwdriver_s LoadCustomShader pfnLoadCustomShader; InitCustomShaders pfnInitCustomShaders; - + StartBatching pfnStartBatching; RenderBatches pfnRenderBatches; }; diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 7c1a6811..faf673c5 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -142,6 +142,7 @@ void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UIN RGBA_t mix_color, fog_color, final_color; INT32 mix; float fog_alpha; + float red, green, blue; mix_color.rgba = mixcolor; fog_color.rgba = fadecolor; @@ -177,9 +178,9 @@ void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UIN if (fog < 0) fog = 0; - float red = ((fog_color.s.red/255.0f) * fog) + ((final_color.s.red/255.0f) * (1.0f - fog)); - float green = ((fog_color.s.green/255.0f) * fog) + ((final_color.s.green/255.0f) * (1.0f - fog)); - float blue = ((fog_color.s.blue/255.0f) * fog) + ((final_color.s.blue/255.0f) * (1.0f - fog)); + red = ((fog_color.s.red/255.0f) * fog) + ((final_color.s.red/255.0f) * (1.0f - fog)); + green = ((fog_color.s.green/255.0f) * fog) + ((final_color.s.green/255.0f) * (1.0f - fog)); + blue = ((fog_color.s.blue/255.0f) * fog) + ((final_color.s.blue/255.0f) * (1.0f - fog)); final_color.s.red = (UINT8)(red*255.0f); final_color.s.green = (UINT8)(green*255.0f); final_color.s.blue = (UINT8)(blue*255.0f); @@ -1873,7 +1874,7 @@ void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom boolean checkforemptylines = true; // Don't modify anything here, just check // Kalaron: Modified for sloped linedefs -static boolean CheckClip(seg_t * seg, sector_t * afrontsector, sector_t * abacksector) +static boolean CheckClip(sector_t * afrontsector, sector_t * abacksector) { fixed_t frontf1,frontf2, frontc1, frontc2; // front floor/ceiling ends fixed_t backf1, backf2, backc1, backc2; // back floor ceiling ends @@ -2008,7 +2009,7 @@ void HWR_AddLine(seg_t *line) else { gr_backsector = R_FakeFlat(gr_backsector, &tempsec, NULL, NULL, true); - if (CheckClip(line, gr_frontsector, gr_backsector)) + if (CheckClip(gr_frontsector, gr_backsector)) { gld_clipper_SafeAddClipRange(angle2, angle1); checkforemptylines = false; @@ -3102,7 +3103,6 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) { float sprdist = sqrtf((spr->x1 - gr_viewx)*(spr->x1 - gr_viewx) + (spr->z1 - gr_viewy)*(spr->z1 - gr_viewy) + (spr->ty - gr_viewz)*(spr->ty - gr_viewz)); float distfact = ((2.0f*spr->dispoffset) + 20.0f) / sprdist; - size_t i; for (i = 0; i < 4; i++) { baseWallVerts[i].x += (gr_viewx - baseWallVerts[i].x)*distfact; @@ -4808,12 +4808,12 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) // Recursively "render" the BSP tree. HWR_RenderBSPNode((INT32)numnodes-1); - + if (cv_grbatching.value) { int dummy = 0;// the vars in RenderBatches are meant for render stats. But we don't have that stuff in this branch // so that stuff could be removed... - HWD.pfnRenderBatches(&dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy); + HWD.pfnRenderBatches(&dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy); } // Check for new console commands. @@ -4907,7 +4907,7 @@ void HWR_AddCommands(void) CV_RegisterVar(&cv_granisotropicmode); CV_RegisterVar(&cv_grcorrecttricks); CV_RegisterVar(&cv_grsolvetjoin); - + CV_RegisterVar(&cv_grbatching); } diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index edb0430e..9e9f1359 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -1719,7 +1719,7 @@ static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *mix, GLRGBAFloat *f // Note: could use realloc in the array reallocation code -typedef struct +typedef struct { FSurfaceInfo surf;// surf also has its own polyflags for some reason, but it seems unused unsigned int vertsIndex;// location of verts in unsortedVertexArray @@ -1770,7 +1770,7 @@ static int comparePolygons(const void *p1, const void *p2) PolygonArrayEntry* poly2 = &polygonArray[*(const unsigned int*)p2]; int diff; INT64 diff64; - + int shader1 = poly1->shader; int shader2 = poly2->shader; // make skywalls first in order @@ -1780,18 +1780,18 @@ static int comparePolygons(const void *p1, const void *p2) shader2 = -1; diff = shader1 - shader2; if (diff != 0) return diff; - + diff = poly1->texNum - poly2->texNum; if (diff != 0) return diff; - + diff = poly1->polyFlags - poly2->polyFlags; if (diff != 0) return diff; - + diff64 = poly1->surf.PolyColor.rgba - poly2->surf.PolyColor.rgba; if (diff64 < 0) return -1; else if (diff64 > 0) return 1; diff64 = poly1->surf.FadeColor.rgba - poly2->surf.FadeColor.rgba; if (diff64 < 0) return -1; else if (diff64 > 0) return 1; - + diff = poly1->surf.LightInfo.light_level - poly2->surf.LightInfo.light_level; return diff; } @@ -1802,7 +1802,7 @@ static int comparePolygonsNoShaders(const void *p1, const void *p2) PolygonArrayEntry* poly2 = &polygonArray[*(const unsigned int*)p2]; int diff; INT64 diff64; - + GLuint texNum1 = poly1->texNum; GLuint texNum2 = poly2->texNum; if (poly1->polyFlags & PF_NoTexture) @@ -1811,10 +1811,10 @@ static int comparePolygonsNoShaders(const void *p1, const void *p2) texNum2 = 0; diff = texNum1 - texNum2; if (diff != 0) return diff; - + diff = poly1->polyFlags - poly2->polyFlags; if (diff != 0) return diff; - + diff64 = poly1->surf.PolyColor.rgba - poly2->surf.PolyColor.rgba; if (diff64 < 0) return -1; else if (diff64 > 0) return 1; @@ -1822,7 +1822,7 @@ static int comparePolygonsNoShaders(const void *p1, const void *p2) } // the parameters for this functions (numPolys etc.) are used to return rendering stats -EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCalls, int *sNumShaders, int *sNumTextures, int *sNumPolyFlags, int *sNumColors, int *sSortTime, int *sDrawTime) +EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCalls, int *sNumShaders, int *sNumTextures, int *sNumPolyFlags, int *sNumColors) { int finalVertexWritePos = 0;// position in finalVertexArray int finalIndexWritePos = 0;// position in finalVertexIndexArray @@ -1882,7 +1882,7 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall currentSurfaceInfo = polygonArray[polygonIndexArray[0]].surf; // For now, will sort and track the colors. Vertex attributes could be used instead of uniforms // and a color array could replace the color calls. - + // set state for first batch //CONS_Printf("set first state\n"); gl_currentshaderprogram = currentShader; @@ -1901,21 +1901,21 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall firstFade.green = byte2float[currentSurfaceInfo.FadeColor.s.green]; firstFade.blue = byte2float[currentSurfaceInfo.FadeColor.s.blue]; firstFade.alpha = byte2float[currentSurfaceInfo.FadeColor.s.alpha]; - + if (gl_allowshaders) load_shaders(¤tSurfaceInfo, &firstPoly, &firstFade); - + if (currentPolyFlags & PF_NoTexture) currentTexture = 0; pglBindTexture(GL_TEXTURE_2D, currentTexture); tex_downloaded = currentTexture; - + SetBlend(currentPolyFlags); - + //CONS_Printf("first pointers to ogl\n"); pglVertexPointer(3, GL_FLOAT, sizeof(FOutVector), &finalVertexArray[0].x); pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVector), &finalVertexArray[0].s); - + while (1)// note: remember handling notexture polyflag as having texture number 0 (also in comparePolygons) { int firstIndex; @@ -1943,7 +1943,7 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall // change states according to next vars and change bools, updating the current vars and reseting the bools // reset write pos // repeat loop - + int index = polygonIndexArray[polygonReadPos++]; int numVerts = polygonArray[index].numVerts; // before writing, check if there is enough room @@ -1983,7 +1983,7 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall finalVertexIndexArray[finalIndexWritePos++] = finalVertexWritePos - 1; finalVertexIndexArray[finalIndexWritePos++] = finalVertexWritePos++; } - + if (polygonReadPos >= polygonArraySize) { stopFlag = true; @@ -2033,7 +2033,7 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall } } } - + if (changeState || stopFlag) { if (needRebind) @@ -2055,12 +2055,12 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall finalIndexWritePos = 0; } else continue; - + // if we're here then either its time to stop or time to change state if (stopFlag) break; - + //CONS_Printf("state change\n"); - + // change state according to change bools and next vars, update current vars and reset bools if (changeShader) { @@ -2081,7 +2081,7 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall fade.green = byte2float[nextSurfaceInfo.FadeColor.s.green]; fade.blue = byte2float[nextSurfaceInfo.FadeColor.s.blue]; fade.alpha = byte2float[nextSurfaceInfo.FadeColor.s.alpha]; - + load_shaders(&nextSurfaceInfo, &poly, &fade); currentShader = nextShader; changeShader = false; @@ -2127,7 +2127,7 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall fade.green = byte2float[nextSurfaceInfo.FadeColor.s.green]; fade.blue = byte2float[nextSurfaceInfo.FadeColor.s.blue]; fade.alpha = byte2float[nextSurfaceInfo.FadeColor.s.alpha]; - + load_shaders(&nextSurfaceInfo, &poly, &fade); } currentSurfaceInfo = nextSurfaceInfo; @@ -2140,7 +2140,7 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall // reset the arrays (set sizes to 0) polygonArraySize = 0; unsortedVertexArraySize = 0; - + //*sDrawTime = I_GetTimeMicros() - *sDrawTime; } @@ -2177,7 +2177,7 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUI memcpy(new_array, unsortedVertexArray, unsortedVertexArraySize * sizeof(FOutVector)); free(unsortedVertexArray); unsortedVertexArray = new_array; - } + } // add the polygon data to the arrays From d5ca4d3f420431a5fc5364b17189fff7a6d5501a Mon Sep 17 00:00:00 2001 From: James R Date: Sat, 18 Apr 2020 18:45:50 -0700 Subject: [PATCH 175/245] Request a download after completing the join challenge --- src/d_clisrv.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 0aec685c..a2a31d1c 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -4101,7 +4101,10 @@ static void HandlePacketFromAwayNode(SINT8 node) if (I_NetMakeNodewPort) servernode = I_NetMakeNode(cl_challengeaddress); #endif - cl_mode = CL_ASKJOIN; + if (cl_needsdownload) + cl_mode = CL_ASKDOWNLOADFILES; + else + cl_mode = CL_ASKJOIN; break; case 1: From b30426bccd22e953a73d95a2ca1a2ecc16b1de76 Mon Sep 17 00:00:00 2001 From: James R Date: Sat, 18 Apr 2020 18:47:20 -0700 Subject: [PATCH 176/245] Don't strip directory before removing failed http download --- src/d_netfil.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/d_netfil.c b/src/d_netfil.c index 09a89172..05aecce2 100644 --- a/src/d_netfil.c +++ b/src/d_netfil.c @@ -1145,8 +1145,6 @@ void CURLGetFile(void) { if (m->data.result != 0) { - nameonly(curl_realname); - CONS_Printf(M_GetText("Failed to download %s...\n"), curl_realname); curl_curfile->status = FS_FALLBACK; curl_curfile->currentsize = curl_origfilesize; curl_curfile->totalsize = curl_origtotalfilesize; @@ -1154,7 +1152,9 @@ void CURLGetFile(void) fclose(curl_curfile->file); remove(curl_curfile->filename); curl_curfile->file = NULL; - nameonly(curl_curfile->filename); + //nameonly(curl_curfile->filename); + nameonly(curl_realname); + CONS_Printf(M_GetText("Failed to download %s...\n"), curl_realname); } else { @@ -1181,4 +1181,4 @@ void CURLGetFile(void) curl_global_cleanup(); } } -#endif \ No newline at end of file +#endif From b341b87a92afb12a26e5ed931c488c8364e90b58 Mon Sep 17 00:00:00 2001 From: James R Date: Sat, 18 Apr 2020 18:47:57 -0700 Subject: [PATCH 177/245] Fuck acks!!!! --- src/d_clisrv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index a2a31d1c..17d207c3 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1376,7 +1376,7 @@ static boolean CL_SendJoin(void) netbuffer->u.clientcfg.challengenum = cl_challengenum; memcpy(netbuffer->u.clientcfg.challengeanswer, cl_challengeanswer, MD5_LEN); - return HSendPacket(servernode, true, 0, sizeof (clientconfig_pak)); + return HSendPacket(servernode, false, 0, sizeof (clientconfig_pak)); } static void SV_SendServerInfo(INT32 node, tic_t servertime) From 437863717a5678daf71d2b260552d052bf4a7db0 Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Sat, 18 Apr 2020 23:38:29 -0400 Subject: [PATCH 178/245] Show more descriptive error on failed downloads --- src/d_netfil.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/d_netfil.c b/src/d_netfil.c index 05aecce2..821d2a5b 100644 --- a/src/d_netfil.c +++ b/src/d_netfil.c @@ -1116,11 +1116,14 @@ void CURLPrepareFile(const char* url, int dfilenum) void CURLGetFile(void) { - CURLMcode mc; /* return code used by curl_multi_perform and curl_multi_wait() */ + CURLMcode mc; /* return code used by curl_multi_wait() */ + CURLcode easyres; /* Return from easy interface */ int numfds; CURLMsg *m; /* for picking up messages with the transfer status */ CURL *e; int msgs_left; /* how many messages are left */ + const char *easy_handle_error; + long response_code = 0; if (curl_runninghandles) { @@ -1143,8 +1146,14 @@ void CURLGetFile(void) { if (m && (m->msg == CURLMSG_DONE)) { - if (m->data.result != 0) + e = m->easy_handle; + easyres = m->data.result; + if (easyres != CURLE_OK) { + if (easyres == CURLE_HTTP_RETURNED_ERROR) + curl_easy_getinfo(e, CURLINFO_RESPONSE_CODE, &response_code); + + easy_handle_error = (response_code) ? va("HTTP reponse code %ld", response_code) : curl_easy_strerror(easyres); curl_curfile->status = FS_FALLBACK; curl_curfile->currentsize = curl_origfilesize; curl_curfile->totalsize = curl_origtotalfilesize; @@ -1154,7 +1163,7 @@ void CURLGetFile(void) curl_curfile->file = NULL; //nameonly(curl_curfile->filename); nameonly(curl_realname); - CONS_Printf(M_GetText("Failed to download %s...\n"), curl_realname); + CONS_Printf(M_GetText("Failed to download %s (%s)\n"), curl_realname, easy_handle_error); } else { @@ -1164,7 +1173,6 @@ void CURLGetFile(void) fclose(curl_curfile->file); } - e = m->easy_handle; curl_running = false; curl_transfers--; curl_multi_remove_handle(multi_handle, e); From 38cd01b1d337be716a972ca122598e7032c7cbb9 Mon Sep 17 00:00:00 2001 From: colette Date: Sat, 7 Mar 2020 18:24:22 -0500 Subject: [PATCH 179/245] FOV fixes # Conflicts: # src/r_main.c --- src/r_main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/r_main.c b/src/r_main.c index d19f2575..5ef40179 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -137,7 +137,7 @@ static CV_PossibleValue_t drawdist_precip_cons_t[] = { {1024, "1024"}, {1536, "1536"}, {2048, "2048"}, {0, "None"}, {0, NULL}}; -static CV_PossibleValue_t fov_cons_t[] = {{45*FRACUNIT, "MIN"}, {120*FRACUNIT, "MAX"}, {0, NULL}}; +static CV_PossibleValue_t fov_cons_t[] = {{5*FRACUNIT, "MIN"}, {178*FRACUNIT, "MAX"}, {0, NULL}}; //static CV_PossibleValue_t precipdensity_cons_t[] = {{0, "None"}, {1, "Light"}, {2, "Moderate"}, {4, "Heavy"}, {6, "Thick"}, {8, "V.Thick"}, {0, NULL}}; static CV_PossibleValue_t translucenthud_cons_t[] = {{0, "MIN"}, {10, "MAX"}, {0, NULL}}; @@ -542,9 +542,9 @@ static void R_InitTextureMapping(void) for (i = 0; i < FINEANGLES/2; i++) { - if (FINETANGENT(i) > FRACUNIT*2) + if (FINETANGENT(i) > fovtan*2) t = -1; - else if (FINETANGENT(i) < -FRACUNIT*2) + else if (FINETANGENT(i) < -fovtan*2) t = viewwidth+1; else { @@ -835,7 +835,7 @@ static void R_SetupFreelook(void) if (rendermode == render_soft) { - dy = (AIMINGTODY(aimingangle)>>FRACBITS) * viewwidth/BASEVIDWIDTH; + dy = (AIMINGTODY(aimingangle)/fovtan) * viewwidth/BASEVIDWIDTH; yslope = &yslopetab[viewheight*8 - (viewheight/2 + dy)]; } centery = (viewheight/2) + dy; From be2cb38a3d7e040f2f734dca850f67cd8907ff8a Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sat, 18 Apr 2020 23:18:39 -0500 Subject: [PATCH 180/245] Make the deployer use the new version format --- CMakeLists.txt | 2 +- appveyor.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a335fe59..51f98707 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.0) # DO NOT CHANGE THIS SRB2 STRING! Some variable names depend on this string. # Version change is fine. project(SRB2 - VERSION 1.2.0 + VERSION 1.2 LANGUAGES C) if(${PROJECT_SOURCE_DIR} MATCHES ${PROJECT_BINARY_DIR}) diff --git a/appveyor.yml b/appveyor.yml index f4cc4213..79aecf9c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: 1.2.0.{branch}-{build} +version: 1.2.{branch}-{build} os: MinGW environment: @@ -29,7 +29,7 @@ environment: ############################## DPL_ENABLED: 0 DPL_TAG_ENABLED: 0 - DPL_INSTALLER_NAME: srb2kart-v120 + DPL_INSTALLER_NAME: srb2kart-v12 # Asset handling is barebones vs. Travis Deployer. We operate on 7z only. # Include the README files and the OpenGL batch in the main and patch archives. # The x86/x64 archives contain the DLL binaries. From ff98d3b28af08ffdb2300bae1e7c05ee6086960a Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Sun, 19 Apr 2020 18:19:16 +0300 Subject: [PATCH 181/245] Fix skywalls in ogl. Similar to c3f6f263 in master. --- src/hardware/hw_main.c | 238 ++++++++++++++++++++++++++--------------- src/hardware/hw_main.h | 2 +- 2 files changed, 152 insertions(+), 88 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index b41d2ff6..87d1f0a7 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -854,7 +854,7 @@ void HWR_SplitWall(sector_t *sector, FOutVector *wallVerts, INT32 texnum, FSurfa // HWR_DrawSkyWalls // Draw walls into the depth buffer so that anything behind is culled properly -void HWR_DrawSkyWall(FOutVector *wallVerts, FSurfaceInfo *Surf, fixed_t bottom, fixed_t top) +void HWR_DrawSkyWall(FOutVector *wallVerts, FSurfaceInfo *Surf) { HWD.pfnSetTexture(NULL); // no texture @@ -863,12 +863,6 @@ void HWR_DrawSkyWall(FOutVector *wallVerts, FSurfaceInfo *Surf, fixed_t bottom, wallVerts[0].s = wallVerts[3].s = 0; wallVerts[2].s = wallVerts[1].s = 0; - if (bottom != 0 || top != 0) - { - // set top/bottom coords - wallVerts[2].y = wallVerts[3].y = FIXED_TO_FLOAT(top); // No real way to find the correct height of this - wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(bottom); // worldlow/bottom because it needs to cover up the lower thok barrier wall - } HWR_ProjectWall(wallVerts, Surf, PF_Invisible|PF_NoTexture, 255, NULL); // PF_Invisible so it's not drawn into the colour buffer // PF_NoTexture for no texture @@ -976,6 +970,109 @@ void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom worldlow = gr_backsector->floorheight; #endif + // Sky culling + if (!gr_curline->polyseg) // Don't do it for polyobjects + { + // Sky Ceilings + wallVerts[3].y = wallVerts[2].y = FIXED_TO_FLOAT(INT32_MAX); + + if (gr_frontsector->ceilingpic == skyflatnum) + { + if (gr_backsector->ceilingpic == skyflatnum) + { + // Both front and back sectors are sky, needs skywall from the frontsector's ceiling, but only if the + // backsector is lower + if ((worldhigh <= worldtop && worldhighslope <= worldtopslope)// Assuming ESLOPE is always on with my changes + && (worldhigh != worldtop || worldhighslope != worldtopslope)) + // Removing the second line above will render more rarely visible skywalls. Example: Cave garden ceiling in Dark race + { +#ifdef ESLOPE + wallVerts[0].y = FIXED_TO_FLOAT(worldhigh); + wallVerts[1].y = FIXED_TO_FLOAT(worldhighslope); +#else + wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(worldhigh); +#endif + HWR_DrawSkyWall(wallVerts, &Surf); + } + } + else + { + // Only the frontsector is sky, just draw a skywall from the front ceiling +#ifdef ESLOPE + wallVerts[0].y = FIXED_TO_FLOAT(worldtop); + wallVerts[1].y = FIXED_TO_FLOAT(worldtopslope); +#else + wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(worldtop); +#endif + HWR_DrawSkyWall(wallVerts, &Surf); + } + } + else if (gr_backsector->ceilingpic == skyflatnum) + { + // Only the backsector is sky, just draw a skywall from the front ceiling +#ifdef ESLOPE + wallVerts[0].y = FIXED_TO_FLOAT(worldtop); + wallVerts[1].y = FIXED_TO_FLOAT(worldtopslope); +#else + wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(worldtop); +#endif + HWR_DrawSkyWall(wallVerts, &Surf); + } + + + // Sky Floors + wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(INT32_MIN); + + if (gr_frontsector->floorpic == skyflatnum) + { + if (gr_backsector->floorpic == skyflatnum) + { + // Both front and back sectors are sky, needs skywall from the backsector's floor, but only if the + // it's higher, also needs to check for bottomtexture as the floors don't usually move down + // when both sides are sky floors + if ((worldlow >= worldbottom && worldlowslope >= worldbottomslope) + && (worldlow != worldbottom || worldlowslope != worldbottomslope) + // Removing the second line above will render more rarely visible skywalls. Example: Cave garden ceiling in Dark race + && !(gr_sidedef->bottomtexture)) + { +#ifdef ESLOPE + wallVerts[3].y = FIXED_TO_FLOAT(worldlow); + wallVerts[2].y = FIXED_TO_FLOAT(worldlowslope); +#else + wallVerts[3].y = wallVerts[2].y = FIXED_TO_FLOAT(worldlow); +#endif + + HWR_DrawSkyWall(wallVerts, &Surf); + } + } + else + { + // Only the backsector has sky, just draw a skywall from the back floor +#ifdef ESLOPE + wallVerts[3].y = FIXED_TO_FLOAT(worldbottom); + wallVerts[2].y = FIXED_TO_FLOAT(worldbottomslope); +#else + wallVerts[3].y = wallVerts[2].y = FIXED_TO_FLOAT(worldbottom); +#endif + + HWR_DrawSkyWall(wallVerts, &Surf); + } + } + else if ((gr_backsector->floorpic == skyflatnum) && !(gr_sidedef->bottomtexture)) + { + // Only the backsector has sky, just draw a skywall from the back floor if there's no bottomtexture +#ifdef ESLOPE + wallVerts[3].y = FIXED_TO_FLOAT(worldlow); + wallVerts[2].y = FIXED_TO_FLOAT(worldlowslope); +#else + wallVerts[3].y = wallVerts[2].y = FIXED_TO_FLOAT(worldlow); +#endif + + HWR_DrawSkyWall(wallVerts, &Surf); + } + + } + // hack to allow height changes in outdoor areas // This is what gets rid of the upper textures if there should be sky if (gr_frontsector->ceilingpic == skyflatnum && @@ -1421,86 +1518,6 @@ void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom else HWR_ProjectWall(wallVerts, &Surf, blendmode, lightnum, colormap); } - - // Isn't this just the most lovely mess - if (!gr_curline->polyseg) // Don't do it for polyobjects - { - if (gr_frontsector->ceilingpic == skyflatnum || gr_backsector->ceilingpic == skyflatnum) - { - fixed_t depthwallheight; - - if (!gr_sidedef->toptexture || (gr_frontsector->ceilingpic == skyflatnum && gr_backsector->ceilingpic == skyflatnum)) // when both sectors are sky, the top texture isn't drawn - depthwallheight = gr_frontsector->ceilingheight < gr_backsector->ceilingheight ? gr_frontsector->ceilingheight : gr_backsector->ceilingheight; - else - depthwallheight = gr_frontsector->ceilingheight > gr_backsector->ceilingheight ? gr_frontsector->ceilingheight : gr_backsector->ceilingheight; - - if (gr_frontsector->ceilingheight-gr_frontsector->floorheight <= 0) // current sector is a thok barrier - { - if (gr_backsector->ceilingheight-gr_backsector->floorheight <= 0) // behind sector is also a thok barrier - { - if (!gr_sidedef->bottomtexture) // Only extend further down if there's no texture - HWR_DrawSkyWall(wallVerts, &Surf, worldbottom < worldlow ? worldbottom : worldlow, INT32_MAX); - else - HWR_DrawSkyWall(wallVerts, &Surf, worldbottom > worldlow ? worldbottom : worldlow, INT32_MAX); - } - // behind sector is not a thok barrier - else if (gr_backsector->ceilingheight <= gr_frontsector->ceilingheight) // behind sector ceiling is lower or equal to current sector - HWR_DrawSkyWall(wallVerts, &Surf, depthwallheight, INT32_MAX); - // gr_front/backsector heights need to be used here because of the worldtop being set to worldhigh earlier on - } - else if (gr_backsector->ceilingheight-gr_backsector->floorheight <= 0) // behind sector is a thok barrier, current sector is not - { - if (gr_backsector->ceilingheight >= gr_frontsector->ceilingheight // thok barrier ceiling height is equal to or greater than current sector ceiling height - || gr_backsector->floorheight <= gr_frontsector->floorheight // thok barrier ceiling height is equal to or less than current sector floor height - || gr_backsector->ceilingpic != skyflatnum) // thok barrier is not a sky - HWR_DrawSkyWall(wallVerts, &Surf, depthwallheight, INT32_MAX); - } - else // neither sectors are thok barriers - { - if ((gr_backsector->ceilingheight < gr_frontsector->ceilingheight && !gr_sidedef->toptexture) // no top texture and sector behind is lower - || gr_backsector->ceilingpic != skyflatnum) // behind sector is not a sky - HWR_DrawSkyWall(wallVerts, &Surf, depthwallheight, INT32_MAX); - } - } - // And now for sky floors! - if (gr_frontsector->floorpic == skyflatnum || gr_backsector->floorpic == skyflatnum) - { - fixed_t depthwallheight; - - if (!gr_sidedef->bottomtexture) - depthwallheight = worldbottom > worldlow ? worldbottom : worldlow; - else - depthwallheight = worldbottom < worldlow ? worldbottom : worldlow; - - if (gr_frontsector->ceilingheight-gr_frontsector->floorheight <= 0) // current sector is a thok barrier - { - if (gr_backsector->ceilingheight-gr_backsector->floorheight <= 0) // behind sector is also a thok barrier - { - if (!gr_sidedef->toptexture) // Only extend up if there's no texture - HWR_DrawSkyWall(wallVerts, &Surf, INT32_MIN, worldtop > worldhigh ? worldtop : worldhigh); - else - HWR_DrawSkyWall(wallVerts, &Surf, INT32_MIN, worldtop < worldhigh ? worldtop : worldhigh); - } - // behind sector is not a thok barrier - else if (gr_backsector->floorheight >= gr_frontsector->floorheight) // behind sector floor is greater or equal to current sector - HWR_DrawSkyWall(wallVerts, &Surf, INT32_MIN, depthwallheight); - } - else if (gr_backsector->ceilingheight-gr_backsector->floorheight <= 0) // behind sector is a thok barrier, current sector is not - { - if (gr_backsector->floorheight <= gr_frontsector->floorheight // thok barrier floor height is equal to or less than current sector floor height - || gr_backsector->ceilingheight >= gr_frontsector->ceilingheight // thok barrier floor height is equal to or greater than current sector ceiling height - || gr_backsector->floorpic != skyflatnum) // thok barrier is not a sky - HWR_DrawSkyWall(wallVerts, &Surf, INT32_MIN, depthwallheight); - } - else // neither sectors are thok barriers - { - if (((gr_backsector->floorheight > gr_frontsector->floorheight && !gr_sidedef->bottomtexture) // no bottom texture and sector behind is higher - || gr_backsector->floorpic != skyflatnum) // behind sector is not a sky - && ABS(gr_backsector->floorheight - gr_frontsector->floorheight) > FRACUNIT*3/2) // don't draw sky walls for VERY thin differences, this makes for horrible looking slopes sometimes! - HWR_DrawSkyWall(wallVerts, &Surf, INT32_MIN, depthwallheight); - } - } - } } else { @@ -1568,6 +1585,53 @@ void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom HWR_ProjectWall(wallVerts, &Surf, PF_Masked, lightnum, colormap); } } + else + { +#ifdef ESLOPE + //Set textures properly on single sided walls that are sloped + wallVerts[3].y = FIXED_TO_FLOAT(worldtop); + wallVerts[0].y = FIXED_TO_FLOAT(worldbottom); + wallVerts[2].y = FIXED_TO_FLOAT(worldtopslope); + wallVerts[1].y = FIXED_TO_FLOAT(worldbottomslope); +#else + // set top/bottom coords + wallVerts[2].y = wallVerts[3].y = FIXED_TO_FLOAT(worldtop); + wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(worldbottom); +#endif + + // When there's no midtexture, draw a skywall to prevent rendering behind it + HWR_DrawSkyWall(wallVerts, &Surf); + } + + + // Single sided lines are simple for skywalls, just need to draw from the top or bottom of the sector if there's + // a sky flat + if (!gr_curline->polyseg) + { + if (gr_frontsector->ceilingpic == skyflatnum) // It's a single-sided line with sky for its sector + { + wallVerts[3].y = wallVerts[2].y = FIXED_TO_FLOAT(INT32_MAX); +#ifdef ESLOPE + wallVerts[0].y = FIXED_TO_FLOAT(worldtop); + wallVerts[1].y = FIXED_TO_FLOAT(worldtopslope); +#else + wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(worldtop); +#endif + HWR_DrawSkyWall(wallVerts, &Surf); + } + if (gr_frontsector->floorpic == skyflatnum) + { +#ifdef ESLOPE + wallVerts[3].y = FIXED_TO_FLOAT(worldbottom); + wallVerts[2].y = FIXED_TO_FLOAT(worldbottomslope); +#else + wallVerts[3].y = wallVerts[2].y = FIXED_TO_FLOAT(worldbottom); +#endif + wallVerts[0].y = wallVerts[1].y = FIXED_TO_FLOAT(INT32_MIN); + + HWR_DrawSkyWall(wallVerts, &Surf); + } + } } diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index 91a95a30..8ffb5890 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -102,7 +102,7 @@ void HWR_RenderWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend, void HWR_ProjectWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blendmode, INT32 lightlevel, extracolormap_t *wallcolormap); void HWR_AddTransparentWall(FOutVector *wallVerts, FSurfaceInfo * pSurf, INT32 texnum, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap); void HWR_SplitWall(sector_t *sector, FOutVector *wallVerts, INT32 texnum, FSurfaceInfo* Surf, INT32 cutflag, ffloor_t *pfloor); -void HWR_DrawSkyWall(FOutVector *wallVerts, FSurfaceInfo *Surf, fixed_t bottom, fixed_t top); +void HWR_DrawSkyWall(FOutVector *wallVerts, FSurfaceInfo *Surf); void HWR_DrawSkyBackground(void); #ifdef POLYOBJECTS From 628bd27b88c06e912136a448f658a1ba1ebf103d Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Sun, 19 Apr 2020 18:42:03 +0300 Subject: [PATCH 182/245] Fixed and faster transparency sorting for OGL. For easy comparison, check Ethereal Crystal in Abstraction Pack --- src/hardware/hw_main.c | 167 ++++++++++++++++++----------------------- 1 file changed, 74 insertions(+), 93 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 87d1f0a7..106f2094 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -43,6 +43,8 @@ #include "../p_slopes.h" #endif +#include // qsort + #define ABS(x) ((x) < 0 ? -(x) : (x)) // ========================================================================== @@ -3897,27 +3899,65 @@ void HWR_AddTransparentPolyobjectFloor(lumpnum_t lumpnum, polyobj_t *polysector, numpolyplanes++; } +// putting sortindex and sortnode here so the comparator function can see them +gr_drawnode_t *sortnode; +size_t *sortindex; + +static int CompareDrawNodes(const void *p1, const void *p2) +{ + size_t n1 = *(const size_t*)p1; + size_t n2 = *(const size_t*)p2; + INT32 v1 = 0; + INT32 v2 = 0; + INT32 diff; + if (sortnode[n1].plane) + v1 = sortnode[n1].plane->drawcount; + else if (sortnode[n1].polyplane) + v1 = sortnode[n1].polyplane->drawcount; + else if (sortnode[n1].wall) + v1 = sortnode[n1].wall->drawcount; + else I_Error("n1 unknown"); + + if (sortnode[n2].plane) + v2 = sortnode[n2].plane->drawcount; + else if (sortnode[n2].polyplane) + v2 = sortnode[n2].polyplane->drawcount; + else if (sortnode[n2].wall) + v2 = sortnode[n2].wall->drawcount; + else I_Error("n2 unknown"); + + diff = v2 - v1; + if (diff == 0) I_Error("diff is zero"); + return diff; +} + +static int CompareDrawNodePlanes(const void *p1, const void *p2) +{ + size_t n1 = *(const size_t*)p1; + size_t n2 = *(const size_t*)p2; + if (!sortnode[n1].plane) I_Error("Uh.. This isn't a plane! (n1)"); + if (!sortnode[n2].plane) I_Error("Uh.. This isn't a plane! (n2)"); + return ABS(sortnode[n2].plane->fixedheight - viewz) - ABS(sortnode[n1].plane->fixedheight - viewz); +} + // HWR_RenderDrawNodes // Creates, sorts and renders a list of drawnodes for the current frame. void HWR_RenderDrawNodes(void) { - UINT32 i = 0, p = 0, prev = 0, loop; - const fixed_t pviewz = viewz; + UINT32 i = 0, p = 0; + size_t run_start = 0; // Dump EVERYTHING into a huge drawnode list. Then we'll sort it! // Could this be optimized into _AddTransparentWall/_AddTransparentPlane? // Hell yes! But sort algorithm must be modified to use a linked list. - gr_drawnode_t *sortnode = Z_Calloc((sizeof(planeinfo_t)*numplanes) + sortnode = Z_Calloc((sizeof(planeinfo_t)*numplanes) + (sizeof(polyplaneinfo_t)*numpolyplanes) + (sizeof(wallinfo_t)*numwalls) ,PU_STATIC, NULL); // todo: // However, in reality we shouldn't be re-copying and shifting all this information // that is already lying around. This should all be in some sort of linked list or lists. - size_t *sortindex = Z_Calloc(sizeof(size_t) * (numplanes + numpolyplanes + numwalls), PU_STATIC, NULL); - - // If true, swap the draw order. - boolean shift = false; + sortindex = Z_Calloc(sizeof(size_t) * (numplanes + numpolyplanes + numwalls), PU_STATIC, NULL); for (i = 0; i < numplanes; i++, p++) { @@ -3944,99 +3984,40 @@ void HWR_RenderDrawNodes(void) // through the lists of masked textures and // translucent ffloors being drawn. - // This is a bubble sort! Wahoo! + // im not sure if this sort on the next line is needed. + // it sorts the list based on the value of the 'drawcount' member of the drawnodes. + // im thinking the list might already be in that order, but i havent bothered to check yet. + // anyway doing this sort does not hurt and does not take much time. + // the while loop after this sort is important however! + qsort(sortindex, p, sizeof(size_t), CompareDrawNodes); - // Stuff is sorted: - // sortnode[sortindex[0]] = farthest away - // sortnode[sortindex[p-1]] = closest - // "i" should be closer. "prev" should be further. - // The lower drawcount is, the further it is from the screen. - - for (loop = 0; loop < p; loop++) + // try solving floor order here. for each consecutive run of floors in the list, sort that run. + while (run_start < p-1)// p-1 because a 1 plane run at the end of the list does not count { - for (i = 1; i < p; i++) + // locate run start + if (sortnode[sortindex[run_start]].plane) { - prev = i-1; - if (sortnode[sortindex[i]].plane) + // found it, now look for run end + size_t run_end;// (inclusive) + for (i = run_start+1; i < p; i++)// size_t and UINT32 being used mixed here... shouldnt break anything though.. { - // What are we comparing it with? - if (sortnode[sortindex[prev]].plane) - { - // Plane (i) is further away than plane (prev) - if (ABS(sortnode[sortindex[i]].plane->fixedheight - pviewz) > ABS(sortnode[sortindex[prev]].plane->fixedheight - pviewz)) - shift = true; - } - if (sortnode[sortindex[prev]].polyplane) - { - // Plane (i) is further away than polyplane (prev) - if (ABS(sortnode[sortindex[i]].plane->fixedheight - pviewz) > ABS(sortnode[sortindex[prev]].polyplane->fixedheight - pviewz)) - shift = true; - } - else if (sortnode[sortindex[prev]].wall) - { - // Plane (i) is further than wall (prev) - if (sortnode[sortindex[i]].plane->drawcount > sortnode[sortindex[prev]].wall->drawcount) - shift = true; - } + if (!sortnode[sortindex[i]].plane) break; } - else if (sortnode[sortindex[i]].polyplane) + run_end = i-1; + if (run_end > run_start)// if there are multiple consecutive planes, not just one { - // What are we comparing it with? - if (sortnode[sortindex[prev]].plane) - { - // Plane (i) is further away than plane (prev) - if (ABS(sortnode[sortindex[i]].polyplane->fixedheight - pviewz) > ABS(sortnode[sortindex[prev]].plane->fixedheight - pviewz)) - shift = true; - } - if (sortnode[sortindex[prev]].polyplane) - { - // Plane (i) is further away than polyplane (prev) - if (ABS(sortnode[sortindex[i]].polyplane->fixedheight - pviewz) > ABS(sortnode[sortindex[prev]].polyplane->fixedheight - pviewz)) - shift = true; - } - else if (sortnode[sortindex[prev]].wall) - { - // Plane (i) is further than wall (prev) - if (sortnode[sortindex[i]].polyplane->drawcount > sortnode[sortindex[prev]].wall->drawcount) - shift = true; - } + // consecutive run of planes found, now sort it + // not sure how long these runs can be in reality... + qsort(sortindex + run_start, run_end - run_start + 1, sizeof(size_t), CompareDrawNodePlanes); } - else if (sortnode[sortindex[i]].wall) - { - // What are we comparing it with? - if (sortnode[sortindex[prev]].plane) - { - // Wall (i) is further than plane(prev) - if (sortnode[sortindex[i]].wall->drawcount > sortnode[sortindex[prev]].plane->drawcount) - shift = true; - } - if (sortnode[sortindex[prev]].polyplane) - { - // Wall (i) is further than polyplane(prev) - if (sortnode[sortindex[i]].wall->drawcount > sortnode[sortindex[prev]].polyplane->drawcount) - shift = true; - } - else if (sortnode[sortindex[prev]].wall) - { - // Wall (i) is further than wall (prev) - if (sortnode[sortindex[i]].wall->drawcount > sortnode[sortindex[prev]].wall->drawcount) - shift = true; - } - } - - if (shift) - { - size_t temp; - - temp = sortindex[prev]; - sortindex[prev] = sortindex[i]; - sortindex[i] = temp; - - shift = false; - } - - } //i++ - } // loop++ + run_start = run_end + 1;// continue looking for runs coming right after this one + } + else + { + // this wasnt the run start, try next one + run_start++; + } + } // Okay! Let's draw it all! Woo! HWD.pfnSetTransform(&atransform); From 4ed99c60bb967bd19c9815707e5d456a5c3fbd64 Mon Sep 17 00:00:00 2001 From: James R Date: Wed, 25 Dec 2019 20:44:25 -0800 Subject: [PATCH 183/245] More fine tuned versioning You get a PACKETVERSION, for when some packets change format. You get SRB2APPLICATION, for when you have big fucking mod. (cherry picked from commit 6bd383621eee92b215f86c9c4b483934d7e60daa) --- src/d_clisrv.c | 25 +++++++++++++++++++++++++ src/d_clisrv.h | 23 +++++++++++++++++++++++ src/doomdef.h | 3 +++ 3 files changed, 51 insertions(+) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 17d207c3..3bc30830 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1370,8 +1370,12 @@ static boolean CL_SendJoin(void) localplayers++; netbuffer->u.clientcfg.localplayers = localplayers; + netbuffer->u.clientcfg._255 = 255; + netbuffer->u.clientcfg.packetversion = PACKETVERSION; netbuffer->u.clientcfg.version = VERSION; netbuffer->u.clientcfg.subversion = SUBVERSION; + strncpy(netbuffer->u.clientcfg.application, SRB2APPLICATION, + sizeof netbuffer->u.clientcfg.application); netbuffer->u.clientcfg.needsdownload = cl_needsdownload; netbuffer->u.clientcfg.challengenum = cl_challengenum; memcpy(netbuffer->u.clientcfg.challengeanswer, cl_challengeanswer, MD5_LEN); @@ -1388,8 +1392,12 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) #endif netbuffer->packettype = PT_SERVERINFO; + netbuffer->u.serverinfo._255 = 255; + netbuffer->u.serverinfo.packetversion = PACKETVERSION; netbuffer->u.serverinfo.version = VERSION; netbuffer->u.serverinfo.subversion = SUBVERSION; + strncpy(netbuffer->u.serverinfo.application, SRB2APPLICATION, + sizeof netbuffer->u.serverinfo.application); // return back the time value so client can compute their ping netbuffer->u.serverinfo.time = (tic_t)LONG(servertime); netbuffer->u.serverinfo.leveltime = (tic_t)LONG(leveltime); @@ -1875,12 +1883,21 @@ static void SL_InsertServer(serverinfo_pak* info, SINT8 node) if (serverlistcount >= MAXSERVERLIST) return; // list full + if (info->_255 != 255) + return;/* old packet format */ + + if (info->packetversion != PACKETVERSION) + return;/* old new packet format */ + if (info->version != VERSION) return; // Not same version. if (info->subversion != SUBVERSION) return; // Close, but no cigar. + if (strcmp(info->application, SRB2APPLICATION)) + return;/* that's a different mod */ + i = serverlistcount++; } @@ -3829,6 +3846,12 @@ static void HandleConnect(SINT8 node) if (bannednode && bannednode[node]) SV_SendRefuse(node, M_GetText("You have been banned\nfrom the server")); + else if (netbuffer->u.clientcfg._255 != 255 || + netbuffer->u.clientcfg.packetversion != PACKETVERSION) + SV_SendRefuse(node, "Incompatible packet formats."); + else if (strncmp(netbuffer->u.clientcfg.application, SRB2APPLICATION, + sizeof netbuffer->u.clientcfg.application)) + SV_SendRefuse(node, "Different SRB2 modifications\nare not compatible."); else if (netbuffer->u.clientcfg.version != VERSION || netbuffer->u.clientcfg.subversion != SUBVERSION) SV_SendRefuse(node, va(M_GetText("Different SRB2Kart versions cannot\nplay a netgame!\n(server version %d.%d)"), VERSION, SUBVERSION)); @@ -3975,6 +3998,8 @@ static void HandleServerInfo(SINT8 node) const tic_t ticdiff = (ticnow - ticthen)*1000/NEWTICRATE; netbuffer->u.serverinfo.time = (tic_t)LONG(ticdiff); netbuffer->u.serverinfo.servername[MAXSERVERNAME-1] = 0; + netbuffer->u.serverinfo.application + [sizeof netbuffer->u.serverinfo.application - 1] = '\0'; netbuffer->u.serverinfo.gametype = (UINT8)((netbuffer->u.serverinfo.gametype == VANILLA_GT_MATCH) ? GT_MATCH : GT_RACE); SL_InsertServer(&netbuffer->u.serverinfo, node); diff --git a/src/d_clisrv.h b/src/d_clisrv.h index d1d99d7d..84dae6d3 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -21,6 +21,16 @@ #include "md5.h" +/* +The 'packet version' may be used with packets whose +format is expected to change between versions. + +This version is independent of the mod name, and standard +version and subversion. It should only account for the +basic fields of the packet, and change infrequently. +*/ +#define PACKETVERSION 0 + // Network play related stuff. // There is a data struct that stores network // communication related stuff, and another @@ -345,8 +355,13 @@ typedef struct { #pragma warning(default : 4200) #endif +#define MAXAPPLICATION 16 + typedef struct { + UINT8 _255;/* see serverinfo_pak */ + UINT8 packetversion; + char application[MAXAPPLICATION]; UINT8 version; // Different versions don't work UINT8 subversion; // Contains build version UINT8 localplayers; @@ -372,6 +387,14 @@ typedef struct // This packet is too large typedef struct { + /* + In the old packet, 'version' is the first field. Now that field is set + to 255 always, so older versions won't be confused with the new + versions or vice-versa. + */ + UINT8 _255; + UINT8 packetversion; + char application[MAXAPPLICATION]; UINT8 version; UINT8 subversion; UINT8 numberofplayer; diff --git a/src/doomdef.h b/src/doomdef.h index 13d6a643..ef0f8b7f 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -141,6 +141,9 @@ extern FILE *logstream; extern char logfilename[1024]; #endif +/* A mod name to further distinguish versions. */ +#define SRB2APPLICATION "SRB2" + //#define DEVELOP // Disable this for release builds to remove excessive cheat commands and enable MD5 checking and stuff, all in one go. :3 #ifdef DEVELOP #define VERSION 0 // Game version From f13f0e3e118259e6057fe6a08fd68eb8215a5f8e Mon Sep 17 00:00:00 2001 From: James R Date: Sun, 12 Jan 2020 20:21:35 -0800 Subject: [PATCH 184/245] Remove adminplayer from SERVERINFO (PACKETVERSION 2) (cherry picked from commit 339ceafdf03a54cb562d70079f15587acd639619) --- src/d_clisrv.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/d_clisrv.h b/src/d_clisrv.h index 84dae6d3..2433fee2 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -404,7 +404,6 @@ typedef struct UINT8 cheatsenabled; UINT8 kartvars; // Previously isdedicated, now appropriated for our own nefarious purposes UINT8 fileneedednum; - SINT8 adminplayer; tic_t time; tic_t leveltime; char servername[MAXSERVERNAME]; From bb6bdac111c76bddfd6bf2d63726c173b7932edc Mon Sep 17 00:00:00 2001 From: James R Date: Sun, 12 Apr 2020 17:05:18 -0700 Subject: [PATCH 185/245] Make the PACKETVERSION rule easier (cherry picked from commit 4214397679c70a7910c82126783b434f0d10343e) --- src/d_clisrv.h | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/d_clisrv.h b/src/d_clisrv.h index 2433fee2..0f4ca379 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -22,12 +22,9 @@ #include "md5.h" /* -The 'packet version' may be used with packets whose -format is expected to change between versions. - -This version is independent of the mod name, and standard -version and subversion. It should only account for the -basic fields of the packet, and change infrequently. +The 'packet version' is used to distinguish packet formats. +This version is independent of VERSION and SUBVERSION. Different +applications may follow different packet versions. */ #define PACKETVERSION 0 From 820d4a5f8b21f6b59e2cda3e8c3e534197b05f6f Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 20 Apr 2020 20:22:17 -0700 Subject: [PATCH 186/245] SRB2APPLICATION: this is jart! --- src/doomdef.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/doomdef.h b/src/doomdef.h index ef0f8b7f..ed41e346 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -142,7 +142,7 @@ extern char logfilename[1024]; #endif /* A mod name to further distinguish versions. */ -#define SRB2APPLICATION "SRB2" +#define SRB2APPLICATION "SRB2Kart" //#define DEVELOP // Disable this for release builds to remove excessive cheat commands and enable MD5 checking and stuff, all in one go. :3 #ifdef DEVELOP From b5fb88922a2d60638eb07d9163606e61ffcdc57b Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Tue, 21 Apr 2020 22:08:52 +0300 Subject: [PATCH 187/245] Faster sprite sorting algorithm --- src/hardware/hw_main.c | 160 +++++++++++++---------------------------- 1 file changed, 51 insertions(+), 109 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 106f2094..de100385 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -3685,96 +3685,44 @@ static inline void HWR_DrawPrecipitationSprite(gr_vissprite_t *spr) // -------------------------------------------------------------------------- // Sort vissprites by distance // -------------------------------------------------------------------------- -static gr_vissprite_t gr_vsprsortedhead; + +gr_vissprite_t* gr_vsprorder[MAXVISSPRITES]; + +// For more correct transparency the transparent sprites would need to be +// sorted and drawn together with transparent surfaces. +static int CompareVisSprites(const void *p1, const void *p2) +{ + gr_vissprite_t* spr1 = *(gr_vissprite_t*const*)p1; + gr_vissprite_t* spr2 = *(gr_vissprite_t*const*)p2; + int idiff; + float fdiff; + + // make transparent sprites last + // "boolean to int" + + int transparency1 = (spr1->mobj->flags2 & MF2_SHADOW) || (spr1->mobj->frame & FF_TRANSMASK); + int transparency2 = (spr2->mobj->flags2 & MF2_SHADOW) || (spr2->mobj->frame & FF_TRANSMASK); + idiff = transparency1 - transparency2; + if (idiff != 0) return idiff; + + fdiff = spr2->tz - spr1->tz;// this order seems correct when checking with apitrace. Back to front. + if (fabsf(fdiff) < 1.0E-36f) + return spr1->dispoffset - spr2->dispoffset;// smallest dispoffset first if sprites are at (almost) same location. + else if (fdiff > 0) + return 1; + else + return -1; +} + static void HWR_SortVisSprites(void) { UINT32 i; - gr_vissprite_t *ds, *dsprev, *dsnext, *dsfirst; - gr_vissprite_t *best = NULL; - gr_vissprite_t unsorted; - float bestdist = 0.0f; - INT32 bestdispoffset = 0; - - if (!gr_visspritecount) - return; - - dsfirst = HWR_GetVisSprite(0); - - for (i = 0, dsnext = dsfirst, ds = NULL; i < gr_visspritecount; i++) - { - dsprev = ds; - ds = dsnext; - if (i < gr_visspritecount - 1) dsnext = HWR_GetVisSprite(i + 1); - - ds->next = dsnext; - ds->prev = dsprev; - } - - // Fix first and last. ds still points to the last one after the loop - dsfirst->prev = &unsorted; - unsorted.next = dsfirst; - if (ds) - ds->next = &unsorted; - unsorted.prev = ds; - - // pull the vissprites out by scale - gr_vsprsortedhead.next = gr_vsprsortedhead.prev = &gr_vsprsortedhead; for (i = 0; i < gr_visspritecount; i++) { - best = NULL; - for (ds = unsorted.next; ds != &unsorted; ds = ds->next) - { - if (!best || ds->tz > bestdist) - { - bestdist = ds->tz; - bestdispoffset = ds->dispoffset; - best = ds; - } - // order visprites of same scale by dispoffset, smallest first - else if (fabsf(ds->tz - bestdist) < 1.0E-36f && ds->dispoffset < bestdispoffset) - { - bestdispoffset = ds->dispoffset; - best = ds; - } - } - if (best) - { - best->next->prev = best->prev; - best->prev->next = best->next; - best->next = &gr_vsprsortedhead; - best->prev = gr_vsprsortedhead.prev; - } - gr_vsprsortedhead.prev->next = best; - gr_vsprsortedhead.prev = best; - } - - // Sryder: Oh boy, while it's nice having ALL the sprites sorted properly, it fails when we bring MD2's into the - // mix and they want to be translucent. So let's place all the translucent sprites and MD2's AFTER - // everything else, but still ordered of course, the depth buffer can handle the opaque ones plenty fine. - // We just need to move all translucent ones to the end in order - // TODO: Fully sort all sprites and MD2s with walls and floors, this part will be unnecessary after that - best = gr_vsprsortedhead.next; - for (i = 0; i < gr_visspritecount; i++) - { - if ((best->mobj->flags2 & MF2_SHADOW) || (best->mobj->frame & FF_TRANSMASK)) - { - if (best == gr_vsprsortedhead.next) - { - gr_vsprsortedhead.next = best->next; - } - best->prev->next = best->next; - best->next->prev = best->prev; - best->prev = gr_vsprsortedhead.prev; - gr_vsprsortedhead.prev->next = best; - gr_vsprsortedhead.prev = best; - ds = best; - best = best->next; - ds->next = &gr_vsprsortedhead; - } - else - best = best->next; + gr_vsprorder[i] = HWR_GetVisSprite(i); } + qsort(gr_vsprorder, gr_visspritecount, sizeof(gr_vissprite_t*), CompareVisSprites); } // A drawnode is something that points to a 3D floor, 3D side, or masked @@ -4068,34 +4016,28 @@ void HWR_RenderDrawNodes(void) // -------------------------------------------------------------------------- void HWR_DrawSprites(void) { - if (gr_visspritecount > 0) + UINT32 i; + for (i = 0; i < gr_visspritecount; i++) { - gr_vissprite_t *spr; - - // draw all vissprites back to front - for (spr = gr_vsprsortedhead.next; - spr != &gr_vsprsortedhead; - spr = spr->next) - { - if (spr->precip) - HWR_DrawPrecipitationSprite(spr); - else - if (spr->mobj && spr->mobj->skin && spr->mobj->sprite == SPR_PLAY) - { - // 8/1/19: Only don't display player models if no default SPR_PLAY is found. - if (!cv_grmdls.value || ((md2_playermodels[(skin_t*)spr->mobj->skin-skins].notfound || md2_playermodels[(skin_t*)spr->mobj->skin-skins].scale < 0.0f) && ((!cv_grfallbackplayermodel.value) || md2_models[SPR_PLAY].notfound || md2_models[SPR_PLAY].scale < 0.0f))) - HWR_DrawSprite(spr); - else - HWR_DrawMD2(spr); - } + gr_vissprite_t *spr = gr_vsprorder[i]; + if (spr->precip) + HWR_DrawPrecipitationSprite(spr); + else + if (spr->mobj && spr->mobj->skin && spr->mobj->sprite == SPR_PLAY) + { + // 8/1/19: Only don't display player models if no default SPR_PLAY is found. + if (!cv_grmdls.value || ((md2_playermodels[(skin_t*)spr->mobj->skin-skins].notfound || md2_playermodels[(skin_t*)spr->mobj->skin-skins].scale < 0.0f) && ((!cv_grfallbackplayermodel.value) || md2_models[SPR_PLAY].notfound || md2_models[SPR_PLAY].scale < 0.0f))) + HWR_DrawSprite(spr); else - { - if (!cv_grmdls.value || md2_models[spr->mobj->sprite].notfound || md2_models[spr->mobj->sprite].scale < 0.0f) - HWR_DrawSprite(spr); - else - HWR_DrawMD2(spr); - } - } + HWR_DrawMD2(spr); + } + else + { + if (!cv_grmdls.value || md2_models[spr->mobj->sprite].notfound || md2_models[spr->mobj->sprite].scale < 0.0f) + HWR_DrawSprite(spr); + else + HWR_DrawMD2(spr); + } } } From 6cc1c5dd36d98aa27bd0d77630d04268a4f1eba4 Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Tue, 21 Apr 2020 22:38:46 +0300 Subject: [PATCH 188/245] Make OpenGL texture filter config save --- src/hardware/hw_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index de100385..a3969ad1 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -69,10 +69,10 @@ CV_PossibleValue_t granisotropicmode_cons_t[] = {{1, "MIN"}, {16, "MAX"}, {0, NU consvar_t cv_grrounddown = {"gr_rounddown", "Off", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -// Unfortunately, this can no longer be saved.. -consvar_t cv_grfiltermode = {"gr_filtermode", "Nearest", CV_CALL, grfiltermode_cons_t, + +consvar_t cv_grfiltermode = {"gr_filtermode", "Nearest", CV_CALL|CV_SAVE, grfiltermode_cons_t, CV_filtermode_ONChange, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_granisotropicmode = {"gr_anisotropicmode", "1", CV_CALL, granisotropicmode_cons_t, +consvar_t cv_granisotropicmode = {"gr_anisotropicmode", "1", CV_CALL|CV_SAVE, granisotropicmode_cons_t, CV_anisotropic_ONChange, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grcorrecttricks = {"gr_correcttricks", "Off", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grsolvetjoin = {"gr_solvetjoin", "On", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; From 43be277ac7ea89d7c1b9a2353e10f7f559b7824f Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Tue, 21 Apr 2020 23:15:44 +0300 Subject: [PATCH 189/245] Newer color tinting shaders ported from SRB2 shader branch --- src/hardware/hw_defs.h | 1 + src/hardware/hw_main.c | 171 ++++++++++++++++--------------- src/hardware/r_opengl/r_opengl.c | 165 +++++++++++++++++++++-------- 3 files changed, 214 insertions(+), 123 deletions(-) diff --git a/src/hardware/hw_defs.h b/src/hardware/hw_defs.h index f5839520..129daa00 100644 --- a/src/hardware/hw_defs.h +++ b/src/hardware/hw_defs.h @@ -231,6 +231,7 @@ struct FSurfaceInfo { FUINT PolyFlags; RGBA_t PolyColor; + RGBA_t TintColor; RGBA_t FadeColor; FLightInfo LightInfo; // jimita 14032019 }; diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index a3969ad1..18cf3bb8 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -141,79 +141,87 @@ static INT32 drawcount = 0; void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor) { - RGBA_t mix_color, fog_color, final_color; - INT32 mix; - float fog_alpha; - - mix_color.rgba = mixcolor; - fog_color.rgba = fadecolor; - - mix = mix_color.s.alpha*10/5; - if (mix > 25) mix = 25; - mix *= 255; - mix /= 25; - - // Modulate the colors by alpha. - mix_color.s.red = (UINT8)(CALCLIGHT(mix,mix_color.s.red)); - mix_color.s.green = (UINT8)(CALCLIGHT(mix,mix_color.s.green)); - mix_color.s.blue = (UINT8)(CALCLIGHT(mix,mix_color.s.blue)); - - // Set the surface colors and further modulate the colors by light. - final_color.s.red = (UINT8)(CALCLIGHT((0xFF-mix),0xFF)+CALCLIGHT(mix_color.s.red,0xFF)); - final_color.s.green = (UINT8)(CALCLIGHT((0xFF-mix),0xFF)+CALCLIGHT(mix_color.s.green,0xFF)); - final_color.s.blue = (UINT8)(CALCLIGHT((0xFF-mix),0xFF)+CALCLIGHT(mix_color.s.blue,0xFF)); - final_color.s.alpha = 0xFF; - - // Fog. - fog_alpha = (0xFF - fog_color.s.alpha) / 255.0f; - - // Set the surface colors and further modulate the colors by light. - fog_color.s.red = (UINT8)(((float)fog_color.s.red) * fog_alpha); - fog_color.s.green = (UINT8)(((float)fog_color.s.green) * fog_alpha); - fog_color.s.blue = (UINT8)(((float)fog_color.s.blue) * fog_alpha); - - if (cv_grfog.value) + if (!cv_grshaders.value || (cv_grshaders.value && !cv_grfog.value)) { - // be careful, this may get negative for high lightlevel values. - float fog = (fog_alpha - (light_level/255.0f))*3/2; - if (fog < 0) - fog = 0; + RGBA_t mix_color, fog_color, final_color; + INT32 mix; + float fog_alpha; - float red = ((fog_color.s.red/255.0f) * fog) + ((final_color.s.red/255.0f) * (1.0f - fog)); - float green = ((fog_color.s.green/255.0f) * fog) + ((final_color.s.green/255.0f) * (1.0f - fog)); - float blue = ((fog_color.s.blue/255.0f) * fog) + ((final_color.s.blue/255.0f) * (1.0f - fog)); - final_color.s.red = (UINT8)(red*255.0f); - final_color.s.green = (UINT8)(green*255.0f); - final_color.s.blue = (UINT8)(blue*255.0f); + mix_color.rgba = mixcolor; + fog_color.rgba = fadecolor; + + mix = mix_color.s.alpha*10/5; + if (mix > 25) mix = 25; + mix *= 255; + mix /= 25; + + // Modulate the colors by alpha. + mix_color.s.red = (UINT8)(CALCLIGHT(mix,mix_color.s.red)); + mix_color.s.green = (UINT8)(CALCLIGHT(mix,mix_color.s.green)); + mix_color.s.blue = (UINT8)(CALCLIGHT(mix,mix_color.s.blue)); + + // Set the surface colors and further modulate the colors by light. + final_color.s.red = (UINT8)(CALCLIGHT((0xFF-mix),0xFF)+CALCLIGHT(mix_color.s.red,0xFF)); + final_color.s.green = (UINT8)(CALCLIGHT((0xFF-mix),0xFF)+CALCLIGHT(mix_color.s.green,0xFF)); + final_color.s.blue = (UINT8)(CALCLIGHT((0xFF-mix),0xFF)+CALCLIGHT(mix_color.s.blue,0xFF)); + final_color.s.alpha = 0xFF; + + // Fog. + fog_alpha = (0xFF - fog_color.s.alpha) / 255.0f; + + // Set the surface colors and further modulate the colors by light. + fog_color.s.red = (UINT8)(((float)fog_color.s.red) * fog_alpha); + fog_color.s.green = (UINT8)(((float)fog_color.s.green) * fog_alpha); + fog_color.s.blue = (UINT8)(((float)fog_color.s.blue) * fog_alpha); + + if (cv_grfog.value) + { + // be careful, this may get negative for high lightlevel values. + float fog = (fog_alpha - (light_level/255.0f))*3/2; + if (fog < 0) + fog = 0; + + float red = ((fog_color.s.red/255.0f) * fog) + ((final_color.s.red/255.0f) * (1.0f - fog)); + float green = ((fog_color.s.green/255.0f) * fog) + ((final_color.s.green/255.0f) * (1.0f - fog)); + float blue = ((fog_color.s.blue/255.0f) * fog) + ((final_color.s.blue/255.0f) * (1.0f - fog)); + final_color.s.red = (UINT8)(red*255.0f); + final_color.s.green = (UINT8)(green*255.0f); + final_color.s.blue = (UINT8)(blue*255.0f); + } + + Surface->PolyColor.rgba = final_color.rgba; + Surface->FadeColor.rgba = fog_color.rgba; + Surface->LightInfo.light_level = light_level; + } + else + { + Surface->PolyColor.rgba = 0xFFFFFFFF; + Surface->TintColor.rgba = mixcolor; + Surface->FadeColor.rgba = fadecolor; + Surface->LightInfo.light_level = light_level; } - - Surface->PolyColor.rgba = final_color.rgba; - Surface->FadeColor.rgba = fog_color.rgba; - Surface->LightInfo.light_level = light_level; } void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor) { - RGBA_t mix_color, fog_color, final_color; - INT32 mix, fogmix, lightmix; - float fog_alpha; - - // You see the problem is that darker light isn't actually as dark as it SHOULD be. - lightmix = 255 - ((255 - light_level)*10/7); - - // Don't go out of bounds - if (lightmix < 0) - lightmix = 0; - else if (lightmix > 255) - lightmix = 255; - - mix_color.rgba = mixcolor; - fog_color.rgba = fadecolor; - - // if shaders are off, or shaders are on, but fog is off: - // modulate colors by light here if (!cv_grshaders.value || (cv_grshaders.value && !cv_grfog.value)) { + RGBA_t mix_color, fog_color, final_color; + INT32 mix, fogmix, lightmix; + float fog_alpha; + + // You see the problem is that darker light isn't actually as dark as it SHOULD be. + lightmix = 255 - ((255 - light_level)*10/7); + + // Don't go out of bounds + if (lightmix < 0) + lightmix = 0; + else if (lightmix > 255) + lightmix = 255; + + mix_color.rgba = mixcolor; + fog_color.rgba = fadecolor; + mix = (mix_color.s.alpha*255)/25; fogmix = (fog_color.s.alpha*255)/25; @@ -237,24 +245,27 @@ void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mix final_color.s.green = final_color.s.green+((UINT8)(CALCLIGHT((0xFF-fogmix),(0xFF-lightmix))+CALCLIGHT(fog_color.s.green,(0xFF-lightmix)))); final_color.s.blue = final_color.s.blue+((UINT8)(CALCLIGHT((0xFF-fogmix),(0xFF-lightmix))+CALCLIGHT(fog_color.s.blue,(0xFF-lightmix)))); final_color.s.alpha = 0xFF; + + // Fog. + fog_color.rgba = fadecolor; + fog_alpha = (0xFF - fog_color.s.alpha*10/7) / 255.0f; + + // Set the surface colors and further modulate the colors by light. + fog_color.s.red = (UINT8)(((float)fog_color.s.red) * fog_alpha); + fog_color.s.green = (UINT8)(((float)fog_color.s.green) * fog_alpha); + fog_color.s.blue = (UINT8)(((float)fog_color.s.blue) * fog_alpha); + + Surface->PolyColor.rgba = final_color.rgba; + Surface->FadeColor.rgba = fog_color.rgba; + Surface->LightInfo.light_level = lightmix; } - // if shaders are on: - // modulate colors by light on the shader else - final_color.rgba = 0xFFFFFFFF; - - // Fog. - fog_color.rgba = fadecolor; - fog_alpha = (0xFF - fog_color.s.alpha*10/7) / 255.0f; - - // Set the surface colors and further modulate the colors by light. - fog_color.s.red = (UINT8)(((float)fog_color.s.red) * fog_alpha); - fog_color.s.green = (UINT8)(((float)fog_color.s.green) * fog_alpha); - fog_color.s.blue = (UINT8)(((float)fog_color.s.blue) * fog_alpha); - - Surface->PolyColor.rgba = final_color.rgba; - Surface->FadeColor.rgba = fog_color.rgba; - Surface->LightInfo.light_level = lightmix; + { + Surface->PolyColor.rgba = 0xFFFFFFFF; + Surface->TintColor.rgba = mixcolor; + Surface->FadeColor.rgba = fadecolor; + Surface->LightInfo.light_level = light_level; + } } UINT8 HWR_FogBlockAlpha(INT32 light, UINT32 color) // Let's see if this can work diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 659388d2..8d6ee3c7 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -552,7 +552,8 @@ static boolean gl_batching = false;// are we currently collecting batches? typedef enum { // lighting - gluniform_mix_color, + gluniform_poly_color, + gluniform_tint_color, gluniform_fade_color, gluniform_lighting, @@ -582,37 +583,80 @@ static gl_shaderprogram_t gl_shaderprograms[MAXSHADERPROGRAMS]; // GLSL Software fragment shader // -#define GLSL_INTERNAL_FOG_FUNCTION \ - "float fog(const float dist, const float density, const float globaldensity) {\n" \ - "const float LOG2 = -1.442695;\n" \ - "float d = density * dist;\n" \ - "return 1.0 - clamp(exp2(d * sqrt(d) * globaldensity * LOG2), 0.0, 1.0);\n" \ +// (new shader stuff taken from srb2 shader branch) +// this is missing support for fade_start and fade_end + +#define GLSL_DOOM_COLORMAP \ + "float R_DoomColormap(float light, float z)\n" \ + "{\n" \ + "float lightnum = clamp(light / 17.0, 0.0, 15.0);\n" \ + "float lightz = clamp(z / 16.0, 0.0, 127.0);\n" \ + "float startmap = (15.0 - lightnum) * 4.0;\n" \ + "float scale = 160.0 / (lightz + 1.0);\n" \ + "return startmap - scale * 0.5;\n" \ "}\n" -// https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_gpu_shader_fp64.txt -#define GLSL_INTERNAL_FOG_MIX \ - "float fog_distance = gl_FragCoord.z / gl_FragCoord.w;\n" \ - "float fog_attenuation = floor(fog(fog_distance, 0.0001 * ((256.0-lighting)/24.0), fog_density)*10.0)/10.0;\n" \ - "vec4 fog_color = vec4(fade_color[0], fade_color[1], fade_color[2], 1.0);\n" \ - "vec4 mixed_color = texel * mix_color;\n" \ - "vec4 fog_mix = mix(mixed_color, fog_color, fog_attenuation);\n" \ - "vec4 final_color = mix(fog_mix, fog_color, ((256.0-lighting)/256.0));\n" \ - "final_color[3] = mixed_color[3];\n" +#define GLSL_DOOM_LIGHT_EQUATION \ + "float R_DoomLightingEquation(float light)\n" \ + "{\n" \ + "float z = gl_FragCoord.z / gl_FragCoord.w;\n" \ + "float colormap = floor(R_DoomColormap(light, z)) + 0.5;\n" \ + "return clamp(colormap, 0.0, 31.0) / 32.0;\n" \ + "}\n" + +#define GLSL_SOFTWARE_TINT_EQUATION \ + "if (tint_color.a > 0.0) {\n" \ + "float color_bright = sqrt((base_color.r * base_color.r) + (base_color.g * base_color.g) + (base_color.b * base_color.b));\n" \ + "float strength = sqrt(9.0 * tint_color.a);\n" \ + "final_color.r = clamp((color_bright * (tint_color.r * strength)) + (base_color.r * (1.0 - strength)), 0.0, 1.0);\n" \ + "final_color.g = clamp((color_bright * (tint_color.g * strength)) + (base_color.g * (1.0 - strength)), 0.0, 1.0);\n" \ + "final_color.b = clamp((color_bright * (tint_color.b * strength)) + (base_color.b * (1.0 - strength)), 0.0, 1.0);\n" \ + "}\n" + +#define GLSL_SOFTWARE_FADE_EQUATION \ + "float darkness = R_DoomLightingEquation(lighting);\n" \ + "final_color = mix(final_color, fade_color, darkness);\n" #define GLSL_SOFTWARE_FRAGMENT_SHADER \ "uniform sampler2D tex;\n" \ - "uniform vec4 mix_color;\n" \ + "uniform vec4 poly_color;\n" \ + "uniform vec4 tint_color;\n" \ "uniform vec4 fade_color;\n" \ "uniform float lighting;\n" \ - "uniform int fog_mode;\n" \ - "uniform float fog_density;\n" \ - GLSL_INTERNAL_FOG_FUNCTION \ + GLSL_DOOM_COLORMAP \ + GLSL_DOOM_LIGHT_EQUATION \ "void main(void) {\n" \ "vec4 texel = texture2D(tex, gl_TexCoord[0].st);\n" \ - GLSL_INTERNAL_FOG_MIX \ + "vec4 base_color = texel * poly_color;\n" \ + "vec4 final_color = base_color;\n" \ + GLSL_SOFTWARE_TINT_EQUATION \ + GLSL_SOFTWARE_FADE_EQUATION \ + "final_color.a = texel.a * poly_color.a;\n" \ "gl_FragColor = final_color;\n" \ "}\0" + +// +// Fog block shader (Taken from srb2 shader branch) +// +// Alpha of the planes themselves are still slightly off -- see HWR_FogBlockAlpha +// + +#define GLSL_FOG_FRAGMENT_SHADER \ + "uniform vec4 tint_color;\n" \ + "uniform vec4 fade_color;\n" \ + "uniform float lighting;\n" \ + GLSL_DOOM_COLORMAP \ + GLSL_DOOM_LIGHT_EQUATION \ + "void main(void) {\n" \ + "vec4 base_color = gl_Color;\n" \ + "vec4 final_color = base_color;\n" \ + GLSL_SOFTWARE_TINT_EQUATION \ + GLSL_SOFTWARE_FADE_EQUATION \ + "gl_FragColor = final_color;\n" \ + "}\0" + + // // GLSL generic fragment shader // @@ -644,9 +688,7 @@ static const char *fragment_shaders[] = { GLSL_SOFTWARE_FRAGMENT_SHADER, // Fog fragment shader - "void main(void) {\n" - "gl_FragColor = gl_Color;\n" - "}\0", + GLSL_FOG_FRAGMENT_SHADER, // Sky fragment shader "uniform sampler2D tex;\n" @@ -840,7 +882,8 @@ EXPORT void HWRAPI(LoadShaders) (void) #define GETUNI(uniform) pglGetUniformLocation(shader->program, uniform); // lighting - shader->uniforms[gluniform_mix_color] = GETUNI("mix_color"); + shader->uniforms[gluniform_poly_color] = GETUNI("poly_color"); + shader->uniforms[gluniform_tint_color] = GETUNI("tint_color"); shader->uniforms[gluniform_fade_color] = GETUNI("fade_color"); shader->uniforms[gluniform_lighting] = GETUNI("lighting"); @@ -1626,7 +1669,7 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo) } } -static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *mix, GLRGBAFloat *fade) +static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *poly, GLRGBAFloat *tint, GLRGBAFloat *fade) { #ifdef GL_SHADERS if (gl_shadersenabled) @@ -1685,7 +1728,9 @@ static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *mix, GLRGBAFloat *f function (uniform, a, b, c, d); // polygon - UNIFORM_4(shader->uniforms[gluniform_mix_color], mix->red, mix->green, mix->blue, mix->alpha, pglUniform4f); + UNIFORM_4(shader->uniforms[gluniform_poly_color], poly->red, poly->green, poly->blue, poly->alpha, pglUniform4f); + UNIFORM_4(shader->uniforms[gluniform_tint_color], tint->red, tint->green, tint->blue, tint->alpha, pglUniform4f); + // 13062019 // Check for fog @@ -1794,6 +1839,8 @@ static int comparePolygons(const void *p1, const void *p2) diff64 = poly1->surf.PolyColor.rgba - poly2->surf.PolyColor.rgba; if (diff64 < 0) return -1; else if (diff64 > 0) return 1; + diff64 = poly1->surf.TintColor.rgba - poly2->surf.TintColor.rgba; + if (diff64 < 0) return -1; else if (diff64 > 0) return 1; diff64 = poly1->surf.FadeColor.rgba - poly2->surf.FadeColor.rgba; if (diff64 < 0) return -1; else if (diff64 > 0) return 1; @@ -1840,6 +1887,7 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall FSurfaceInfo currentSurfaceInfo; GLRGBAFloat firstPoly = {0,0,0,0}; // may be misleading but this means first PolyColor + GLRGBAFloat firstTint = {0,0,0,0}; GLRGBAFloat firstFade = {0,0,0,0}; boolean needRebind = false; @@ -1901,6 +1949,11 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall firstPoly.alpha = byte2float[currentSurfaceInfo.PolyColor.s.alpha]; pglColor4ubv((GLubyte*)¤tSurfaceInfo.PolyColor.s); } + // Tint color + firstTint.red = byte2float[currentSurfaceInfo.TintColor.s.red]; + firstTint.green = byte2float[currentSurfaceInfo.TintColor.s.green]; + firstTint.blue = byte2float[currentSurfaceInfo.TintColor.s.blue]; + firstTint.alpha = byte2float[currentSurfaceInfo.TintColor.s.alpha]; // Fade color firstFade.red = byte2float[currentSurfaceInfo.FadeColor.s.red]; firstFade.green = byte2float[currentSurfaceInfo.FadeColor.s.green]; @@ -1908,7 +1961,7 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall firstFade.alpha = byte2float[currentSurfaceInfo.FadeColor.s.alpha]; if (gl_allowshaders) - load_shaders(¤tSurfaceInfo, &firstPoly, &firstFade); + load_shaders(¤tSurfaceInfo, &firstPoly, &firstTint, &firstFade); if (currentPolyFlags & PF_NoTexture) currentTexture = 0; @@ -2022,6 +2075,7 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall if (gl_allowshaders) { if (currentSurfaceInfo.PolyColor.rgba != nextSurfaceInfo.PolyColor.rgba || + currentSurfaceInfo.TintColor.rgba != nextSurfaceInfo.TintColor.rgba || currentSurfaceInfo.FadeColor.rgba != nextSurfaceInfo.FadeColor.rgba || currentSurfaceInfo.LightInfo.light_level != nextSurfaceInfo.LightInfo.light_level) { @@ -2070,6 +2124,7 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall if (changeShader) { GLRGBAFloat poly = {0,0,0,0}; + GLRGBAFloat tint = {0,0,0,0}; GLRGBAFloat fade = {0,0,0,0}; gl_currentshaderprogram = nextShader; gl_shaderprogramchanged = true; @@ -2081,13 +2136,18 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall poly.blue = byte2float[nextSurfaceInfo.PolyColor.s.blue]; poly.alpha = byte2float[nextSurfaceInfo.PolyColor.s.alpha]; } + // Tint color + tint.red = byte2float[nextSurfaceInfo.TintColor.s.red]; + tint.green = byte2float[nextSurfaceInfo.TintColor.s.green]; + tint.blue = byte2float[nextSurfaceInfo.TintColor.s.blue]; + tint.alpha = byte2float[nextSurfaceInfo.TintColor.s.alpha]; // Fade color fade.red = byte2float[nextSurfaceInfo.FadeColor.s.red]; fade.green = byte2float[nextSurfaceInfo.FadeColor.s.green]; fade.blue = byte2float[nextSurfaceInfo.FadeColor.s.blue]; fade.alpha = byte2float[nextSurfaceInfo.FadeColor.s.alpha]; - load_shaders(&nextSurfaceInfo, &poly, &fade); + load_shaders(&nextSurfaceInfo, &poly, &tint, &fade); currentShader = nextShader; changeShader = false; @@ -2114,6 +2174,7 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall if (changeSurfaceInfo) { GLRGBAFloat poly = {0,0,0,0}; + GLRGBAFloat tint = {0,0,0,0}; GLRGBAFloat fade = {0,0,0,0}; gl_shaderprogramchanged = false; if (nextPolyFlags & PF_Modulated) @@ -2127,13 +2188,18 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall } if (gl_allowshaders) { + // Tint color + tint.red = byte2float[nextSurfaceInfo.TintColor.s.red]; + tint.green = byte2float[nextSurfaceInfo.TintColor.s.green]; + tint.blue = byte2float[nextSurfaceInfo.TintColor.s.blue]; + tint.alpha = byte2float[nextSurfaceInfo.TintColor.s.alpha]; // Fade color fade.red = byte2float[nextSurfaceInfo.FadeColor.s.red]; fade.green = byte2float[nextSurfaceInfo.FadeColor.s.green]; fade.blue = byte2float[nextSurfaceInfo.FadeColor.s.blue]; fade.alpha = byte2float[nextSurfaceInfo.FadeColor.s.alpha]; - load_shaders(&nextSurfaceInfo, &poly, &fade); + load_shaders(&nextSurfaceInfo, &poly, &tint, &fade); } currentSurfaceInfo = nextSurfaceInfo; changeSurfaceInfo = false; @@ -2199,7 +2265,8 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUI } else { - static GLRGBAFloat mix = {0,0,0,0}; + static GLRGBAFloat poly = {0,0,0,0}; + static GLRGBAFloat tint = {0,0,0,0}; static GLRGBAFloat fade = {0,0,0,0}; SetBlend(PolyFlags); //TODO: inline (#pragma..) @@ -2210,14 +2277,20 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUI // If Modulated, mix the surface colour to the texture if (CurrentPolyFlags & PF_Modulated) { - // Mix color - mix.red = byte2float[pSurf->PolyColor.s.red]; - mix.green = byte2float[pSurf->PolyColor.s.green]; - mix.blue = byte2float[pSurf->PolyColor.s.blue]; - mix.alpha = byte2float[pSurf->PolyColor.s.alpha]; + // Poly color + poly.red = byte2float[pSurf->PolyColor.s.red]; + poly.green = byte2float[pSurf->PolyColor.s.green]; + poly.blue = byte2float[pSurf->PolyColor.s.blue]; + poly.alpha = byte2float[pSurf->PolyColor.s.alpha]; pglColor4ubv((GLubyte*)&pSurf->PolyColor.s); } + + // Tint color + tint.red = byte2float[pSurf->TintColor.s.red]; + tint.green = byte2float[pSurf->TintColor.s.green]; + tint.blue = byte2float[pSurf->TintColor.s.blue]; + tint.alpha = byte2float[pSurf->TintColor.s.alpha]; // Fade color fade.red = byte2float[pSurf->FadeColor.s.red]; @@ -2226,7 +2299,7 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUI fade.alpha = byte2float[pSurf->FadeColor.s.alpha]; } - load_shaders(pSurf, &mix, &fade); + load_shaders(pSurf, &poly, &tint, &fade); pglVertexPointer(3, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].x); pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].s); @@ -2526,7 +2599,8 @@ EXPORT void HWRAPI(CreateModelVBOs) (model_t *model) static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32 tics, INT32 nextFrameIndex, FTransform *pos, float scale, UINT8 flipped, FSurfaceInfo *Surface) { - static GLRGBAFloat mix = {0,0,0,0}; + static GLRGBAFloat poly = {0,0,0,0}; + static GLRGBAFloat tint = {0,0,0,0}; static GLRGBAFloat fade = {0,0,0,0}; float pol = 0.0f; @@ -2555,24 +2629,29 @@ static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32 pol = 0.0f; } - mix.red = byte2float[Surface->PolyColor.s.red]; - mix.green = byte2float[Surface->PolyColor.s.green]; - mix.blue = byte2float[Surface->PolyColor.s.blue]; - mix.alpha = byte2float[Surface->PolyColor.s.alpha]; + poly.red = byte2float[Surface->PolyColor.s.red]; + poly.green = byte2float[Surface->PolyColor.s.green]; + poly.blue = byte2float[Surface->PolyColor.s.blue]; + poly.alpha = byte2float[Surface->PolyColor.s.alpha]; - if (mix.alpha < 1) + if (poly.alpha < 1) SetBlend(PF_Translucent|PF_Modulated); else SetBlend(PF_Masked|PF_Modulated|PF_Occlude); pglColor4ubv((GLubyte*)&Surface->PolyColor.s); + tint.red = byte2float[Surface->TintColor.s.red]; + tint.green = byte2float[Surface->TintColor.s.green]; + tint.blue = byte2float[Surface->TintColor.s.blue]; + tint.alpha = byte2float[Surface->TintColor.s.alpha]; + fade.red = byte2float[Surface->FadeColor.s.red]; fade.green = byte2float[Surface->FadeColor.s.green]; fade.blue = byte2float[Surface->FadeColor.s.blue]; fade.alpha = byte2float[Surface->FadeColor.s.alpha]; - load_shaders(Surface, &mix, &fade); + load_shaders(Surface, &poly, &tint, &fade); pglEnable(GL_CULL_FACE); pglEnable(GL_NORMALIZE); From 4309908999a6f3c89df65d65e798c959cec773f8 Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Tue, 21 Apr 2020 23:23:03 +0300 Subject: [PATCH 190/245] Fix race results screen showing wrong image on maps with skyboxes --- src/hardware/hw_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 18cf3bb8..acbc4357 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -4850,7 +4850,7 @@ void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) } R_SetupFrame(player, false); // This can stay false because it is only used to set viewsky in r_main.c, which isn't used here - HWR_RenderFrame(viewnumber, player, skybox); + HWR_RenderFrame(viewnumber, player, false); } // ========================================================================== From 2fdb7627b7d1095e48ac03d46ec003ece31450e7 Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Tue, 21 Apr 2020 23:24:32 +0300 Subject: [PATCH 191/245] Fix wrong behaviour and lack of animation in ogl sky background --- src/hardware/hw_main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index acbc4357..a222cdcd 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -4524,7 +4524,7 @@ void HWR_DrawSkyBackground(void) if (drewsky) return; - HWR_GetTexture(skytexture); + HWR_GetTexture(texturetranslation[skytexture]); aspectratio = (float)vid.width/(float)vid.height; //Hurdler: the sky is the only texture who need 4.0f instead of 1.0 @@ -4549,8 +4549,8 @@ void HWR_DrawSkyBackground(void) // software doesn't draw any further than 1024 for skies anyway, but this doesn't overlap properly // The only time this will probably be an issue is when a sky wider than 1024 is used as a sky AND a regular wall texture - angle = (viewangle/2 + xtoviewangle[0]); - dimensionmultiply = ((float)textures[skytexture]->width/256.0f); + angle = (viewangle + xtoviewangle[0]); + dimensionmultiply = ((float)textures[texturetranslation[skytexture]]->width/256.0f); if (atransform.mirror) { @@ -4563,7 +4563,7 @@ void HWR_DrawSkyBackground(void) // Y angle = aimingangle; - dimensionmultiply = ((float)textures[skytexture]->height/(128.0f*aspectratio)); + dimensionmultiply = ((float)textures[texturetranslation[skytexture]]->height/(128.0f*aspectratio)); if (splitscreen == 1) { From 812cceb53f6745554158829c98157d13d49749e1 Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Tue, 21 Apr 2020 23:32:31 +0300 Subject: [PATCH 192/245] Remove sometimes harmful NetUpdate call from HWR_RenderFrame --- src/hardware/hw_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index a222cdcd..4ac026de 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -4792,7 +4792,8 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) } // Check for new console commands. - NetUpdate(); + // this was removed since it caused crashes on leaving record attack with models on since it was removing mobjs that were about to be rendered + //NetUpdate(); // Draw MD2 and sprites HWR_SortVisSprites(); From e45295f1ead0e0e7314d9afd9231255b270c935a Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Tue, 21 Apr 2020 23:45:48 +0300 Subject: [PATCH 193/245] Don't crash if shaders are unavailable --- src/hardware/r_opengl/r_opengl.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 8d6ee3c7..4e5114e8 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -790,6 +790,8 @@ EXPORT void HWRAPI(LoadShaders) (void) #ifdef GL_SHADERS GLuint gl_vertShader, gl_fragShader; GLint i, result; + + if (!pglUseProgram) return; gl_customvertexshaders[0] = NULL; gl_customfragmentshaders[0] = NULL; @@ -902,6 +904,7 @@ EXPORT void HWRAPI(LoadShaders) (void) EXPORT void HWRAPI(LoadCustomShader) (int number, char *shader, size_t size, boolean fragment) { #ifdef GL_SHADERS + if (!pglUseProgram) return; if (number < 1 || number > MAXSHADERS) I_Error("LoadCustomShader(): cannot load shader %d (max %d)", number, MAXSHADERS); @@ -951,6 +954,7 @@ EXPORT void HWRAPI(UnSetShader) (void) gl_shadersenabled = false; gl_currentshaderprogram = 0; gl_shaderprogramchanged = true;// not sure if this is needed + if (!pglUseProgram) return; pglUseProgram(0); #endif } @@ -1672,7 +1676,7 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo) static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *poly, GLRGBAFloat *tint, GLRGBAFloat *fade) { #ifdef GL_SHADERS - if (gl_shadersenabled) + if (gl_shadersenabled && pglUseProgram) { gl_shaderprogram_t *shader = &gl_shaderprograms[gl_currentshaderprogram]; if (shader->program) @@ -1760,9 +1764,7 @@ static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *poly, GLRGBAFloat * else pglUseProgram(0); } - else #endif - pglUseProgram(0); } // unfinished draw call batching From ce1d017a73d0171d7a38814610bb06ea1018b766 Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Wed, 22 Apr 2020 00:18:58 +0300 Subject: [PATCH 194/245] Sky dome from SRB2 --- src/hardware/hw_drv.h | 4 + src/hardware/hw_main.c | 193 +++++++++++++---------- src/hardware/hw_main.h | 2 +- src/hardware/r_opengl/r_opengl.c | 259 +++++++++++++++++++++++++++++++ src/sdl/hwsym_sdl.c | 2 + src/sdl/i_video.c | 2 + 6 files changed, 381 insertions(+), 81 deletions(-) diff --git a/src/hardware/hw_drv.h b/src/hardware/hw_drv.h index d6ad26c0..b2f79782 100644 --- a/src/hardware/hw_drv.h +++ b/src/hardware/hw_drv.h @@ -51,6 +51,8 @@ EXPORT void HWRAPI(CreateModelVBOs) (model_t *model); EXPORT void HWRAPI(SetTransform) (FTransform *stransform); EXPORT INT32 HWRAPI(GetTextureUsed) (void); +EXPORT void HWRAPI(RenderSkyDome) (INT32 tex, INT32 texture_width, INT32 texture_height, FTransform transform); + EXPORT void HWRAPI(FlushScreenTextures) (void); EXPORT void HWRAPI(StartScreenWipe) (void); EXPORT void HWRAPI(EndScreenWipe) (void); @@ -111,6 +113,8 @@ struct hwdriver_s MakeScreenFinalTexture pfnMakeScreenFinalTexture; DrawScreenFinalTexture pfnDrawScreenFinalTexture; + RenderSkyDome pfnRenderSkyDome; + LoadShaders pfnLoadShaders; KillShaders pfnKillShaders; SetShader pfnSetShader; diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 4ac026de..9b7a3523 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -78,6 +78,7 @@ consvar_t cv_grcorrecttricks = {"gr_correcttricks", "Off", 0, CV_OnOff, NULL, 0, consvar_t cv_grsolvetjoin = {"gr_solvetjoin", "On", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grbatching = {"gr_batching", "On", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grskydome = {"gr_skydome", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; static void CV_filtermode_ONChange(void) { @@ -4513,105 +4514,136 @@ void HWR_ProjectPrecipitationSprite(precipmobj_t *thing) static boolean drewsky = false; -void HWR_DrawSkyBackground(void) +void HWR_DrawSkyBackground(float fpov) { - FOutVector v[4]; - angle_t angle; - float dimensionmultiply; - float aspectratio; - float angleturn; - if (drewsky) return; - - HWR_GetTexture(texturetranslation[skytexture]); - aspectratio = (float)vid.width/(float)vid.height; - - //Hurdler: the sky is the only texture who need 4.0f instead of 1.0 - // because it's called just after clearing the screen - // and thus, the near clipping plane is set to 3.99 - // Sryder: Just use the near clipping plane value then - - // 3--2 - // | /| - // |/ | - // 0--1 - v[0].x = v[3].x = -ZCLIP_PLANE-1; - v[1].x = v[2].x = ZCLIP_PLANE+1; - v[0].y = v[1].y = -ZCLIP_PLANE-1; - v[2].y = v[3].y = ZCLIP_PLANE+1; - - v[0].z = v[1].z = v[2].z = v[3].z = ZCLIP_PLANE+1; - - // X - - // NOTE: This doesn't work right with texture widths greater than 1024 - // software doesn't draw any further than 1024 for skies anyway, but this doesn't overlap properly - // The only time this will probably be an issue is when a sky wider than 1024 is used as a sky AND a regular wall texture - - angle = (viewangle + xtoviewangle[0]); - dimensionmultiply = ((float)textures[texturetranslation[skytexture]]->width/256.0f); - - if (atransform.mirror) + if (cv_grskydome.value) { - angle = InvAngle(angle); - dimensionmultiply *= -1; - } + FTransform dometransform; - v[0].s = v[3].s = ((float) angle / ((ANGLE_90-1)*dimensionmultiply)); - v[2].s = v[1].s = (-1.0f/dimensionmultiply)+((float) angle / ((ANGLE_90-1)*dimensionmultiply)); + memset(&dometransform, 0x00, sizeof(FTransform)); - // Y - angle = aimingangle; - dimensionmultiply = ((float)textures[texturetranslation[skytexture]]->height/(128.0f*aspectratio)); + //04/01/2000: Hurdler: added for T&L + // It should replace all other gr_viewxxx when finished + if (!atransform.shearing) + dometransform.anglex = (float)(aimingangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); + dometransform.angley = (float)((viewangle-ANGLE_270)>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); - if (splitscreen == 1) - { - dimensionmultiply *= 2; - angle *= 2; - } + dometransform.flip = atransform.flip; + dometransform.mirror = atransform.mirror; + dometransform.shearing = atransform.shearing; + dometransform.viewaiming = atransform.viewaiming; - // Middle of the sky should always be at angle 0 - // need to keep correct aspect ratio with X - if (atransform.flip) - { - // During vertical flip the sky should be flipped and it's y movement should also be flipped obviously - v[3].t = v[2].t = -(0.5f-(0.5f/dimensionmultiply)); - v[0].t = v[1].t = (-1.0f/dimensionmultiply)-(0.5f-(0.5f/dimensionmultiply)); + dometransform.scalex = 1; + dometransform.scaley = (float)vid.width/vid.height; + dometransform.scalez = 1; + dometransform.fovxangle = fpov; // Tails + dometransform.fovyangle = fpov; // Tails + dometransform.splitscreen = splitscreen; + + HWR_GetTexture(texturetranslation[skytexture]); + HWD.pfnSetShader(7); // sky shader + HWD.pfnRenderSkyDome(skytexture, textures[skytexture]->width, textures[skytexture]->height, dometransform); + HWD.pfnSetShader(0); } else { - v[3].t = v[2].t = (-1.0f/dimensionmultiply)-(0.5f-(0.5f/dimensionmultiply)); - v[0].t = v[1].t = -(0.5f-(0.5f/dimensionmultiply)); - } + FOutVector v[4]; + angle_t angle; + float dimensionmultiply; + float aspectratio; + float angleturn; - angleturn = (((float)ANGLE_45-1.0f)*aspectratio)*dimensionmultiply; + HWR_GetTexture(texturetranslation[skytexture]); + aspectratio = (float)vid.width/(float)vid.height; - if (cv_grshearing.value) - { - // Doesn't really make sense, but what can I do? - angle_t dy = FixedAngle(FixedMul(360*FRACUNIT, FixedDiv(AIMINGTODY(aimingangle), 900*FRACUNIT))); - v[3].t = v[2].t -= ((float) dy / angleturn); - v[0].t = v[1].t -= ((float) dy / angleturn); - } - else - { - if (angle > ANGLE_180) // Do this because we don't want the sky to suddenly teleport when crossing over 0 to 360 and vice versa + //Hurdler: the sky is the only texture who need 4.0f instead of 1.0 + // because it's called just after clearing the screen + // and thus, the near clipping plane is set to 3.99 + // Sryder: Just use the near clipping plane value then + + // 3--2 + // | /| + // |/ | + // 0--1 + v[0].x = v[3].x = -ZCLIP_PLANE-1; + v[1].x = v[2].x = ZCLIP_PLANE+1; + v[0].y = v[1].y = -ZCLIP_PLANE-1; + v[2].y = v[3].y = ZCLIP_PLANE+1; + + v[0].z = v[1].z = v[2].z = v[3].z = ZCLIP_PLANE+1; + + // X + + // NOTE: This doesn't work right with texture widths greater than 1024 + // software doesn't draw any further than 1024 for skies anyway, but this doesn't overlap properly + // The only time this will probably be an issue is when a sky wider than 1024 is used as a sky AND a regular wall texture + + angle = (viewangle + xtoviewangle[0]); + dimensionmultiply = ((float)textures[texturetranslation[skytexture]]->width/256.0f); + + if (atransform.mirror) { angle = InvAngle(angle); - v[3].t = v[2].t += ((float) angle / angleturn); - v[0].t = v[1].t += ((float) angle / angleturn); + dimensionmultiply *= -1; + } + + v[0].s = v[3].s = ((float) angle / ((ANGLE_90-1)*dimensionmultiply)); + v[2].s = v[1].s = (-1.0f/dimensionmultiply)+((float) angle / ((ANGLE_90-1)*dimensionmultiply)); + + // Y + angle = aimingangle; + dimensionmultiply = ((float)textures[texturetranslation[skytexture]]->height/(128.0f*aspectratio)); + + if (splitscreen == 1) + { + dimensionmultiply *= 2; + angle *= 2; + } + + // Middle of the sky should always be at angle 0 + // need to keep correct aspect ratio with X + if (atransform.flip) + { + // During vertical flip the sky should be flipped and it's y movement should also be flipped obviously + v[3].t = v[2].t = -(0.5f-(0.5f/dimensionmultiply)); + v[0].t = v[1].t = (-1.0f/dimensionmultiply)-(0.5f-(0.5f/dimensionmultiply)); } else { - v[3].t = v[2].t -= ((float) angle / angleturn); - v[0].t = v[1].t -= ((float) angle / angleturn); + v[3].t = v[2].t = (-1.0f/dimensionmultiply)-(0.5f-(0.5f/dimensionmultiply)); + v[0].t = v[1].t = -(0.5f-(0.5f/dimensionmultiply)); } - } - HWD.pfnSetShader(7); // sky shader - HWD.pfnDrawPolygon(NULL, v, 4, 0); - HWD.pfnSetShader(0); + angleturn = (((float)ANGLE_45-1.0f)*aspectratio)*dimensionmultiply; + + if (cv_grshearing.value) + { + // Doesn't really make sense, but what can I do? + angle_t dy = FixedAngle(FixedMul(360*FRACUNIT, FixedDiv(AIMINGTODY(aimingangle), 900*FRACUNIT))); + v[3].t = v[2].t -= ((float) dy / angleturn); + v[0].t = v[1].t -= ((float) dy / angleturn); + } + else + { + if (angle > ANGLE_180) // Do this because we don't want the sky to suddenly teleport when crossing over 0 to 360 and vice versa + { + angle = InvAngle(angle); + v[3].t = v[2].t += ((float) angle / angleturn); + v[0].t = v[1].t += ((float) angle / angleturn); + } + else + { + v[3].t = v[2].t -= ((float) angle / angleturn); + v[0].t = v[1].t -= ((float) angle / angleturn); + } + } + + HWD.pfnSetShader(7); // sky shader + HWD.pfnDrawPolygon(NULL, v, 4, 0); + HWD.pfnSetShader(0); + } } @@ -4751,7 +4783,7 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) ST_doPaletteStuff(); // Draw the sky background. - HWR_DrawSkyBackground(); + HWR_DrawSkyBackground(fpov); if (skybox) drewsky = true; @@ -4885,6 +4917,7 @@ void HWR_AddCommands(void) CV_RegisterVar(&cv_grsolvetjoin); CV_RegisterVar(&cv_grbatching); + CV_RegisterVar(&cv_grskydome); } // -------------------------------------------------------------------------- diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index 8ffb5890..1dba6bba 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -103,7 +103,7 @@ void HWR_ProjectWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend void HWR_AddTransparentWall(FOutVector *wallVerts, FSurfaceInfo * pSurf, INT32 texnum, FBITFIELD blend, boolean fogwall, INT32 lightlevel, extracolormap_t *wallcolormap); void HWR_SplitWall(sector_t *sector, FOutVector *wallVerts, INT32 texnum, FSurfaceInfo* Surf, INT32 cutflag, ffloor_t *pfloor); void HWR_DrawSkyWall(FOutVector *wallVerts, FSurfaceInfo *Surf); -void HWR_DrawSkyBackground(void); +void HWR_DrawSkyBackground(float fpov); #ifdef POLYOBJECTS void HWR_AddPolyObjectSegs(void); diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 4e5114e8..2285107d 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -388,6 +388,10 @@ static PFNglMultiTexCoord2fv pglMultiTexCoord2fv; typedef void (APIENTRY *PFNglClientActiveTexture) (GLenum); static PFNglClientActiveTexture pglClientActiveTexture; +// sky dome needs this +typedef void (APIENTRY *PFNglColorPointer) (GLint, GLenum, GLsizei, const GLvoid*); +static PFNglColorPointer pglColorPointer; + /* 1.2 Parms */ /* GL_CLAMP_TO_EDGE_EXT */ #ifndef GL_CLAMP_TO_EDGE @@ -756,6 +760,7 @@ void SetupGLFunc4(void) pglBindBuffer = GetGLFunc("glBindBuffer"); pglBufferData = GetGLFunc("glBufferData"); pglDeleteBuffers = GetGLFunc("glDeleteBuffers"); + pglColorPointer = GetGLFunc("glColorPointer"); #ifdef GL_SHADERS pglCreateShader = GetGLFunc("glCreateShader"); @@ -2318,6 +2323,260 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUI } } +// Sky dome code, taken/backported from SRB2 + +typedef struct vbo_vertex_s +{ + float x, y, z; + float u, v; + unsigned char r, g, b, a; +} vbo_vertex_t; + +typedef struct +{ + int mode; + int vertexcount; + int vertexindex; + int use_texture; +} GLSkyLoopDef; + +typedef struct +{ + unsigned int id; + int rows, columns; + int loopcount; + GLSkyLoopDef *loops; + vbo_vertex_t *data; +} GLSkyVBO; + +static const boolean gl_ext_arb_vertex_buffer_object = true; + +#define NULL_VBO_VERTEX ((vbo_vertex_t*)NULL) +#define sky_vbo_x (gl_ext_arb_vertex_buffer_object ? &NULL_VBO_VERTEX->x : &vbo->data[0].x) +#define sky_vbo_u (gl_ext_arb_vertex_buffer_object ? &NULL_VBO_VERTEX->u : &vbo->data[0].u) +#define sky_vbo_r (gl_ext_arb_vertex_buffer_object ? &NULL_VBO_VERTEX->r : &vbo->data[0].r) + +// The texture offset to be applied to the texture coordinates in SkyVertex(). +static int rows, columns; +static signed char yflip; +static int texw, texh; +static boolean foglayer; +static float delta = 0.0f; + +static int gl_sky_detail = 16; + +static INT32 lasttex = -1; + +#define MAP_COEFF 128.0f + +static void SkyVertex(vbo_vertex_t *vbo, int r, int c) +{ + const float radians = (float)(M_PIl / 180.0f); + const float scale = 10000.0f; + const float maxSideAngle = 60.0f; + + float topAngle = (c / (float)columns * 360.0f); + float sideAngle = (maxSideAngle * (rows - r) / rows); + float height = (float)(sin(sideAngle * radians)); + float realRadius = (float)(scale * cos(sideAngle * radians)); + float x = (float)(realRadius * cos(topAngle * radians)); + float y = (!yflip) ? scale * height : -scale * height; + float z = (float)(realRadius * sin(topAngle * radians)); + float timesRepeat = (4 * (256.0f / texw)); + if (fpclassify(timesRepeat) == FP_ZERO) + timesRepeat = 1.0f; + + if (!foglayer) + { + vbo->r = 255; + vbo->g = 255; + vbo->b = 255; + vbo->a = (r == 0 ? 0 : 255); + + // And the texture coordinates. + //vbo->u = (-timesRepeat * c / (float)columns); + vbo->u = (timesRepeat * c / (float)columns);// TEST + if (!yflip) // Flipped Y is for the lower hemisphere. + vbo->v = (r / (float)rows) + 0.5f; + else + vbo->v = 1.0f + ((rows - r) / (float)rows) + 0.5f; + } + + if (r != 4) + { + y += 300.0f; + } + + // And finally the vertex. + vbo->x = x; + vbo->y = y + delta; + vbo->z = z; +} + +static GLSkyVBO sky_vbo; + +static void gld_BuildSky(int row_count, int col_count) +{ + int c, r; + vbo_vertex_t *vertex_p; + int vertex_count = 2 * row_count * (col_count * 2 + 2) + col_count * 2; + + GLSkyVBO *vbo = &sky_vbo; + + if ((vbo->columns != col_count) || (vbo->rows != row_count)) + { + free(vbo->loops); + free(vbo->data); + memset(vbo, 0, sizeof(&vbo)); + } + + if (!vbo->data) + { + memset(vbo, 0, sizeof(&vbo)); + vbo->loops = malloc((row_count * 2 + 2) * sizeof(vbo->loops[0])); + // create vertex array + vbo->data = malloc(vertex_count * sizeof(vbo->data[0])); + } + + vbo->columns = col_count; + vbo->rows = row_count; + + vertex_p = &vbo->data[0]; + vbo->loopcount = 0; + + for (yflip = 0; yflip < 2; yflip++) + { + vbo->loops[vbo->loopcount].mode = GL_TRIANGLE_FAN; + vbo->loops[vbo->loopcount].vertexindex = vertex_p - &vbo->data[0]; + vbo->loops[vbo->loopcount].vertexcount = col_count; + vbo->loops[vbo->loopcount].use_texture = false; + vbo->loopcount++; + + delta = 0.0f; + foglayer = true; + for (c = 0; c < col_count; c++) + { + SkyVertex(vertex_p, 1, c); + vertex_p->r = 255; + vertex_p->g = 255; + vertex_p->b = 255; + vertex_p->a = 255; + vertex_p++; + } + foglayer = false; + + delta = (yflip ? 5.0f : -5.0f) / MAP_COEFF; + + for (r = 0; r < row_count; r++) + { + vbo->loops[vbo->loopcount].mode = GL_TRIANGLE_STRIP; + vbo->loops[vbo->loopcount].vertexindex = vertex_p - &vbo->data[0]; + vbo->loops[vbo->loopcount].vertexcount = 2 * col_count + 2; + vbo->loops[vbo->loopcount].use_texture = true; + vbo->loopcount++; + + for (c = 0; c <= col_count; c++) + { + SkyVertex(vertex_p++, r + (yflip ? 1 : 0), (c ? c : 0)); + SkyVertex(vertex_p++, r + (yflip ? 0 : 1), (c ? c : 0)); + } + } + } +} + +//----------------------------------------------------------------------------- +// +// +// +//----------------------------------------------------------------------------- + +static void RenderDome(INT32 skytexture) +{ + int i, j; + int vbosize; + GLSkyVBO *vbo = &sky_vbo; + + rows = 4; + columns = 4 * gl_sky_detail; + + vbosize = 2 * rows * (columns * 2 + 2) + columns * 2; + + // Build the sky dome! Yes! + if (lasttex != skytexture) + { + // delete VBO when already exists + if (gl_ext_arb_vertex_buffer_object) + { + if (vbo->id) + pglDeleteBuffers(1, &vbo->id); + } + + lasttex = skytexture; + gld_BuildSky(rows, columns); + + if (gl_ext_arb_vertex_buffer_object) + { + // generate a new VBO and get the associated ID + pglGenBuffers(1, &vbo->id); + + // bind VBO in order to use + pglBindBuffer(GL_ARRAY_BUFFER, vbo->id); + + // upload data to VBO + pglBufferData(GL_ARRAY_BUFFER, vbosize * sizeof(vbo->data[0]), vbo->data, GL_STATIC_DRAW); + } + } + + // bind VBO in order to use + if (gl_ext_arb_vertex_buffer_object) + pglBindBuffer(GL_ARRAY_BUFFER, vbo->id); + + // activate and specify pointers to arrays + pglVertexPointer(3, GL_FLOAT, sizeof(vbo->data[0]), sky_vbo_x); + pglTexCoordPointer(2, GL_FLOAT, sizeof(vbo->data[0]), sky_vbo_u); + pglColorPointer(4, GL_UNSIGNED_BYTE, sizeof(vbo->data[0]), sky_vbo_r); + + // activate color arrays + pglEnableClientState(GL_COLOR_ARRAY); + + // set transforms + pglScalef(1.0f, (float)texh / 230.0f, 1.0f); + pglRotatef(270.0f, 0.0f, 1.0f, 0.0f); + + for (j = 0; j < 2; j++) + { + for (i = 0; i < vbo->loopcount; i++) + { + GLSkyLoopDef *loop = &vbo->loops[i]; + + if (j == 0 ? loop->use_texture : !loop->use_texture) + continue; + + pglDrawArrays(loop->mode, loop->vertexindex, loop->vertexcount); + } + } + + pglScalef(1.0f, 1.0f, 1.0f); + pglColor4ubv(white); + + // bind with 0, so, switch back to normal pointer operation + if (gl_ext_arb_vertex_buffer_object) + pglBindBuffer(GL_ARRAY_BUFFER, 0); + + // deactivate color array + pglDisableClientState(GL_COLOR_ARRAY); +} + +EXPORT void HWRAPI(RenderSkyDome) (INT32 tex, INT32 texture_width, INT32 texture_height, FTransform transform) +{ + SetBlend(PF_Translucent|PF_NoDepthTest|PF_Modulated); + SetTransform(&transform); + texw = texture_width; + texh = texture_height; + RenderDome(tex); + SetBlend(0); +} + // ========================================================================== // // ========================================================================== diff --git a/src/sdl/hwsym_sdl.c b/src/sdl/hwsym_sdl.c index 51426184..2627c3fd 100644 --- a/src/sdl/hwsym_sdl.c +++ b/src/sdl/hwsym_sdl.c @@ -100,6 +100,8 @@ void *hwSym(const char *funcName,void *handle) GETFUNC(MakeScreenTexture); GETFUNC(MakeScreenFinalTexture); GETFUNC(DrawScreenFinalTexture); + + GETFUNC(RenderSkyDome); GETFUNC(LoadShaders); GETFUNC(KillShaders); diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index 064fba6f..1e6a5cc1 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -1871,6 +1871,8 @@ void I_StartupGraphics(void) HWD.pfnMakeScreenTexture= hwSym("MakeScreenTexture",NULL); HWD.pfnMakeScreenFinalTexture=hwSym("MakeScreenFinalTexture",NULL); HWD.pfnDrawScreenFinalTexture=hwSym("DrawScreenFinalTexture",NULL); + + HWD.pfnRenderSkyDome = hwSym("RenderSkyDome",NULL); HWD.pfnLoadShaders = hwSym("LoadShaders",NULL); HWD.pfnKillShaders = hwSym("KillShaders",NULL); From e33e15d87f6e9a24be3258bd533737428d63c9c7 Mon Sep 17 00:00:00 2001 From: Ashnal Date: Mon, 20 Apr 2020 19:08:31 -0400 Subject: [PATCH 195/245] Fix dedicated servers not waiting for client wipes. Now they run wipe logic to wait the same amount of time that clients do, without actually rendering anything. Previously, the server would start the new map immediately, and clients would frameskip up to the server when they were done wiping. --- src/d_clisrv.c | 20 +++++++++++++++++--- src/d_main.c | 48 ++++++++++++++++++++++++++---------------------- src/f_wipe.c | 4 +++- src/p_setup.c | 49 ++++++++++++++++++++++++++++++++----------------- 4 files changed, 78 insertions(+), 43 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 3bc30830..34ce7b02 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -5072,6 +5072,18 @@ static void CL_SendClientKeepAlive(void) HSendPacket(servernode, false, 0, 0); } +static void SV_SendServerKeepAlive(void) +{ + for (INT32 n = 1; n < MAXNETNODES; n++) + { + if (nodeingame[n]) + { + netbuffer->packettype = PT_BASICKEEPALIVE; + HSendPacket(n, false, 0, 0); + } + } +} + // send the client packet to the server static void CL_SendClientCmd(void) { @@ -5589,9 +5601,6 @@ void NetKeepAlive(void) UpdatePingTable(); - if (server) - CL_SendClientKeepAlive(); - // Sryder: What is FILESTAMP??? FILESTAMP GetPackets(); @@ -5605,6 +5614,11 @@ FILESTAMP CL_SendClientKeepAlive(); // No need to check for resynch because we aren't running any tics } + else + { + SV_SendServerKeepAlive(); + } + // No else because no tics are being run and we can't resynch during this Net_AckTicker(); diff --git a/src/d_main.c b/src/d_main.c index cde5a9df..44de3e51 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -279,29 +279,25 @@ static void D_Display(void) INT32 wipedefindex = 0; UINT8 i; - if (dedicated) - return; - - if (nodrawers) - return; // for comparative timing/profiling - - // check for change of screen size (video mode) - if (setmodeneeded && !wipe) - SCR_SetMode(); // change video mode - - if (vid.recalc) - SCR_Recalc(); // NOTE! setsizeneeded is set by SCR_Recalc() - - // change the view size if needed - if (setsizeneeded) + if (!dedicated) { - R_ExecuteSetViewSize(); - forcerefresh = true; // force background redraw - } + if (nodrawers) + return; // for comparative timing/profiling - // draw buffered stuff to screen - // Used only by linux GGI version - I_UpdateNoBlit(); + if (vid.recalc) + SCR_Recalc(); // NOTE! setsizeneeded is set by SCR_Recalc() + + // change the view size if needed + if (setsizeneeded) + { + R_ExecuteSetViewSize(); + forcerefresh = true; // force background redraw + } + + // draw buffered stuff to screen + // Used only by linux GGI version + I_UpdateNoBlit(); + } // save the current screen if about to wipe wipe = (gamestate != wipegamestate); @@ -319,7 +315,7 @@ static void D_Display(void) wipedefindex = wipe_multinter_toblack; } - if (rendermode != render_none) + if (!dedicated) { // Fade to black first if (gamestate != GS_LEVEL // fades to black on its own timing, always @@ -339,8 +335,16 @@ static void D_Display(void) F_WipeStartScreen(); } + else //dedicated servers + { + F_RunWipe(wipedefs[wipedefindex], gamestate != GS_TIMEATTACK); + wipegamestate = gamestate; + } } + if (dedicated) //bail out after wipe logic + return false; + // do buffered drawing switch (gamestate) { diff --git a/src/f_wipe.c b/src/f_wipe.c index 3c8713d1..bb1397bc 100644 --- a/src/f_wipe.c +++ b/src/f_wipe.c @@ -372,7 +372,9 @@ void F_RunWipe(UINT8 wipetype, boolean drawMenu) HWR_DoWipe(wipetype, wipeframe-1); // send in the wipe type and wipeframe because we need to cache the graphic else #endif - F_DoWipe(fmask); + if (rendermode != render_none) //this allows F_RunWipe to be called in dedicated servers + F_DoWipe(fmask); + I_OsPolling(); I_UpdateNoBlit(); diff --git a/src/p_setup.c b/src/p_setup.c index 8487b00f..decdc529 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -2889,26 +2889,34 @@ boolean P_SetupLevel(boolean skipprecip) // Encore mode fade to pink to white // This is handled BEFORE sounds are stopped. - if (rendermode != render_none && encoremode && !prevencoremode && !demo.rewinding) + if (encoremode && !prevencoremode && !demo.rewinding) { tic_t locstarttime, endtime, nowtime; - S_StopMusic(); // er, about that... + if (rendermode != render_none) + { + S_StopMusic(); // er, about that... - S_StartSound(NULL, sfx_ruby1); + S_StartSound(NULL, sfx_ruby1); - F_WipeStartScreen(); - V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 122); + F_WipeStartScreen(); + V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 122); - F_WipeEndScreen(); - F_RunWipe(wipedefs[wipe_speclevel_towhite], false); + F_WipeEndScreen(); + F_RunWipe(wipedefs[wipe_speclevel_towhite], false); - F_WipeStartScreen(); - V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 120); - - F_WipeEndScreen(); - F_RunWipe(wipedefs[wipe_level_final], false); + F_WipeStartScreen(); + V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 120); + F_WipeEndScreen(); + F_RunWipe(wipedefs[wipe_level_final], false); + } + else //dedicated servers can call this now, to wait the appropriate amount of time for clients to wipe + { + F_RunWipe(wipedefs[wipe_speclevel_towhite], false); + F_RunWipe(wipedefs[wipe_level_final], false); + } + locstarttime = nowtime = lastwipetic; endtime = locstarttime + (3*TICRATE)/2; @@ -2941,13 +2949,20 @@ boolean P_SetupLevel(boolean skipprecip) // Let's fade to white here // But only if we didn't do the encore startup wipe - if (rendermode != render_none && !ranspecialwipe && !demo.rewinding) + if (!ranspecialwipe && !demo.rewinding) { - F_WipeStartScreen(); - V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, levelfadecol); + if(rendermode != render_none) + { + F_WipeStartScreen(); + V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, levelfadecol); - F_WipeEndScreen(); - F_RunWipe(wipedefs[(encoremode ? wipe_level_final : wipe_level_toblack)], false); + F_WipeEndScreen(); + F_RunWipe(wipedefs[(encoremode ? wipe_level_final : wipe_level_toblack)], false); + } + else //dedicated servers + { + F_RunWipe(wipedefs[(encoremode ? wipe_level_final : wipe_level_toblack)], false); + } } // Reset the palette now all fades have been done From c52ce9201689cc5b45a3b3225efdcb8bd0293a71 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Tue, 21 Apr 2020 19:25:18 -0500 Subject: [PATCH 196/245] Shut the compiler up --- src/d_clisrv.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 34ce7b02..ccbd21e1 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -5074,7 +5074,9 @@ static void CL_SendClientKeepAlive(void) static void SV_SendServerKeepAlive(void) { - for (INT32 n = 1; n < MAXNETNODES; n++) + INT32 n; + + for (n = 1; n < MAXNETNODES; n++) { if (nodeingame[n]) { From 4ddebca7781381f98a97e1f8075c420614b1532c Mon Sep 17 00:00:00 2001 From: ThatAwesomeGuy173 Date: Wed, 22 Apr 2020 00:01:03 -0600 Subject: [PATCH 197/245] Capitalize "record attack" as "Record Attack" and spell "addons" as "add-ons" in the replay hut --- src/m_menu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/m_menu.c b/src/m_menu.c index 899ff797..064f714e 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -5783,15 +5783,15 @@ static void M_DrawReplayStartMenu(void) case DFILE_ERROR_NOTLOADED: case DFILE_ERROR_INCOMPLETEOUTOFORDER: - warning = "Loading addons will mark your game as modified, and record attack may be unavailable.\nYou can watch without loading addons, but desyncs may occur."; + warning = "Loading add-ons will mark your game as modified, and Record Attack may be unavailable.\nYou can watch without loading add-ons, but desyncs may occur."; break; case DFILE_ERROR_EXTRAFILES: - warning = "You have addons loaded that were not present in this replay.\nYou can watch anyway, but desyncs may occur."; + warning = "You have add-ons loaded that were not present in this replay.\nYou can watch anyway, but desyncs may occur."; break; case DFILE_ERROR_OUTOFORDER: - warning = "You have this replay's addons loaded, but they are out of order.\nYou can watch anyway, but desyncs may occur."; + warning = "You have this replay's add-ons loaded, but they are out of order.\nYou can watch anyway, but desyncs may occur."; break; default: From 296dfe8ffc9d74d7a7280324816ac7af1dd0104f Mon Sep 17 00:00:00 2001 From: ThatAwesomeGuy173 Date: Wed, 22 Apr 2020 00:03:45 -0600 Subject: [PATCH 198/245] Do the same for other messages too --- src/g_game.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/g_game.c b/src/g_game.c index 4fce4db8..0b5b308f 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -785,7 +785,7 @@ void G_SetGameModified(boolean silent, boolean major) majormods = true; if (!silent) - CONS_Alert(CONS_NOTICE, M_GetText("Game must be restarted to play record attack.\n")); + CONS_Alert(CONS_NOTICE, M_GetText("Game must be restarted to play Record Attack.\n")); // If in record attack recording, cancel it. if (modeattacking) @@ -7472,7 +7472,7 @@ void G_DoPlayDemo(char *defdemoname) if (modeattacking) { - snprintf(msg, 1024, M_GetText("%s is a record attack replay with spectators, and is thus invalid.\n"), pdemoname); + snprintf(msg, 1024, M_GetText("%s is a Record Attack replay with spectators, and is thus invalid.\n"), pdemoname); CONS_Alert(CONS_ERROR, "%s", msg); M_StartMessage(msg, NULL, MM_NOTHING); Z_Free(pdemoname); @@ -7486,7 +7486,7 @@ void G_DoPlayDemo(char *defdemoname) if (modeattacking && numslots > 1) { - snprintf(msg, 1024, M_GetText("%s is a record attack replay with multiple players, and is thus invalid.\n"), pdemoname); + snprintf(msg, 1024, M_GetText("%s is a Record Attack replay with multiple players, and is thus invalid.\n"), pdemoname); CONS_Alert(CONS_ERROR, "%s", msg); M_StartMessage(msg, NULL, MM_NOTHING); Z_Free(pdemoname); From e08fcc14bd79db69f9f643b8ff242ee18e4faa10 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Wed, 22 Apr 2020 01:31:55 -0500 Subject: [PATCH 199/245] ASHNAL --- src/d_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/d_main.c b/src/d_main.c index 44de3e51..17030c9a 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -343,7 +343,7 @@ static void D_Display(void) } if (dedicated) //bail out after wipe logic - return false; + return; // do buffered drawing switch (gamestate) From eebd73d8129aa1bb572eaa4091ae8f7cad165991 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Wed, 22 Apr 2020 02:00:44 -0500 Subject: [PATCH 200/245] FUCKING- --- src/d_main.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/d_main.c b/src/d_main.c index 17030c9a..b6347f9f 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -283,6 +283,10 @@ static void D_Display(void) { if (nodrawers) return; // for comparative timing/profiling + + // check for change of screen size (video mode) + if (setmodeneeded && !wipe) + SCR_SetMode(); // change video mode if (vid.recalc) SCR_Recalc(); // NOTE! setsizeneeded is set by SCR_Recalc() From c76247255948f3c9095bd737deb0ad541e59e78d Mon Sep 17 00:00:00 2001 From: ThatAwesomeGuy173 Date: Wed, 22 Apr 2020 01:24:59 -0600 Subject: [PATCH 201/245] Use "addons" instead of "add-ons" for consistency --- src/d_netcmd.c | 6 +++--- src/g_game.c | 4 ++-- src/m_menu.c | 26 +++++++++++++------------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 14a223b4..1dc79f58 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -5341,11 +5341,11 @@ static void Fishcake_OnChange(void) static void Command_Isgamemodified_f(void) { if (majormods) - CONS_Printf("The game has been modified with major add-ons, so you cannot play Record Attack.\n"); + CONS_Printf("The game has been modified with major addons, so you cannot play Record Attack.\n"); else if (savemoddata) - CONS_Printf("The game has been modified with an add-on with its own save data, so you can play Record Attack and earn medals.\n"); + CONS_Printf("The game has been modified with an addon with its own save data, so you can play Record Attack and earn medals.\n"); else if (modifiedgame) - CONS_Printf("The game has been modified with only minor add-ons. You can play Record Attack, earn medals and unlock extras.\n"); + CONS_Printf("The game has been modified with only minor addons. You can play Record Attack, earn medals and unlock extras.\n"); else CONS_Printf("The game has not been modified. You can play Record Attack, earn medals and unlock extras.\n"); } diff --git a/src/g_game.c b/src/g_game.c index 0b5b308f..a7ad1e68 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -6629,7 +6629,7 @@ static void G_LoadDemoExtraFiles(UINT8 **pp) { CONS_Alert(CONS_WARNING, M_GetText("Too many files loaded to add anymore for demo playback\n")); if (!CON_Ready()) - M_StartMessage(M_GetText("There are too many files loaded to add this demo's add-ons.\n\nDemo playback may desync.\n\nPress ESC\n"), NULL, MM_NOTHING); + M_StartMessage(M_GetText("There are too many files loaded to add this demo's addons.\n\nDemo playback may desync.\n\nPress ESC\n"), NULL, MM_NOTHING); } else if (ncs != FS_FOUND) { @@ -6641,7 +6641,7 @@ static void G_LoadDemoExtraFiles(UINT8 **pp) CONS_Alert(CONS_NOTICE, M_GetText("Unknown error finding file %s\n"), filename); if (!CON_Ready()) - M_StartMessage(M_GetText("There were errors trying to add this demo's add-ons. Check the console for more information.\n\nDemo playback may desync.\n\nPress ESC\n"), NULL, MM_NOTHING); + M_StartMessage(M_GetText("There were errors trying to add this demo's addons. Check the console for more information.\n\nDemo playback may desync.\n\nPress ESC\n"), NULL, MM_NOTHING); } else { diff --git a/src/m_menu.c b/src/m_menu.c index 064f714e..f16bce47 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -575,7 +575,7 @@ typedef enum // --------------------- static menuitem_t MPauseMenu[] = { - {IT_STRING | IT_CALL, NULL, "Add-ons...", M_Addons, 8}, + {IT_STRING | IT_CALL, NULL, "Addons...", M_Addons, 8}, {IT_STRING | IT_SUBMENU, NULL, "Scramble Teams...", &MISC_ScrambleTeamDef, 16}, {IT_STRING | IT_CALL, NULL, "Switch Map..." , M_MapChange, 24}, @@ -1348,7 +1348,7 @@ static menuitem_t OP_SoundOptionsMenu[] = static menuitem_t OP_DataOptionsMenu[] = { {IT_STRING | IT_CALL, NULL, "Screenshot Options...", M_ScreenshotOptions, 10}, - {IT_STRING | IT_CALL, NULL, "Add-on Options...", M_AddonsOptions, 20}, + {IT_STRING | IT_CALL, NULL, "Addon Options...", M_AddonsOptions, 20}, {IT_STRING | IT_SUBMENU, NULL, "Replay Options...", &MISC_ReplayOptionsDef, 30}, {IT_STRING | IT_SUBMENU, NULL, "Erase Data...", &OP_EraseDataDef, 50}, @@ -1400,7 +1400,7 @@ static menuitem_t OP_AddonsOptionsMenu[] = {IT_HEADER, NULL, "Menu", NULL, 0}, {IT_STRING|IT_CVAR, NULL, "Location", &cv_addons_option, 10}, {IT_STRING|IT_CVAR|IT_CV_STRING, NULL, "Custom Folder", &cv_addons_folder, 20}, - {IT_STRING|IT_CVAR, NULL, "Identify add-ons via", &cv_addons_md5, 48}, + {IT_STRING|IT_CVAR, NULL, "Identify addons via", &cv_addons_md5, 48}, {IT_STRING|IT_CVAR, NULL, "Show unsupported file types", &cv_addons_showall, 58}, {IT_HEADER, NULL, "Search", NULL, 76}, @@ -1487,7 +1487,7 @@ static menuitem_t OP_ServerOptionsMenu[] = #ifndef NONET {IT_STRING | IT_CVAR, NULL, "Max. Player Count", &cv_maxplayers, 90}, {IT_STRING | IT_CVAR, NULL, "Allow Players to Join", &cv_allownewplayer, 100}, - {IT_STRING | IT_CVAR, NULL, "Allow Add-on Downloading", &cv_downloading, 110}, + {IT_STRING | IT_CVAR, NULL, "Allow Addon Downloading", &cv_downloading, 110}, {IT_STRING | IT_CVAR, NULL, "Pause Permission", &cv_pause, 120}, {IT_STRING | IT_CVAR, NULL, "Mute All Chat", &cv_mute, 130}, @@ -2894,7 +2894,7 @@ boolean M_Responder(event_t *ev) if (((currentMenu->menuitems[itemOn].status & IT_CALLTYPE) & IT_CALL_NOTMODIFIED) && majormods) { S_StartSound(NULL, sfx_menu1); - M_StartMessage(M_GetText("This cannot be done with complex add-ons\nor in a cheated game.\n\n(Press a key)\n"), NULL, MM_NOTHING); + M_StartMessage(M_GetText("This cannot be done with complex addons\nor in a cheated game.\n\n(Press a key)\n"), NULL, MM_NOTHING); return true; } } @@ -4699,8 +4699,8 @@ static void M_AddonsOptions(INT32 choice) M_SetupNextMenu(&OP_AddonsOptionsDef); } -#define LOCATIONSTRING1 "Visit \x83SRB2.ORG/MODS\x80 to get & make add-ons!" -#define LOCATIONSTRING2 "Visit \x88SRB2.ORG/MODS\x80 to get & make add-ons!" +#define LOCATIONSTRING1 "Visit \x83SRB2.ORG/MODS\x80 to get & make addons!" +#define LOCATIONSTRING2 "Visit \x88SRB2.ORG/MODS\x80 to get & make addons!" static void M_Addons(INT32 choice) { @@ -4876,7 +4876,7 @@ static boolean M_AddonsRefresh(void) { S_StartSound(NULL, sfx_s26d); if (refreshdirmenu & REFRESHDIR_MAX) - message = va("%c%s\x80\nMaximum number of add-ons reached.\nA file could not be loaded.\nIf you wish to play with this add-on, restart the game to clear existing ones.\n\n(Press a key)\n", ('\x80' + (highlightflags>>V_CHARCOLORSHIFT)), refreshdirname); + message = va("%c%s\x80\nMaximum number of addons reached.\nA file could not be loaded.\nIf you wish to play with this addon, restart the game to clear existing ones.\n\n(Press a key)\n", ('\x80' + (highlightflags>>V_CHARCOLORSHIFT)), refreshdirname); else message = va("%c%s\x80\nA file was not loaded.\nCheck the console log for more information.\n\n(Press a key)\n", ('\x80' + (highlightflags>>V_CHARCOLORSHIFT)), refreshdirname); } @@ -4888,7 +4888,7 @@ static boolean M_AddonsRefresh(void) else if (majormods && !prevmajormods) { S_StartSound(NULL, sfx_s221); - message = va("%c%s\x80\nGameplay has now been modified.\nIf you wish to play Record Attack mode, restart the game to clear existing add-ons.\n\n(Press a key)\n", ('\x80' + (highlightflags>>V_CHARCOLORSHIFT)), refreshdirname); + message = va("%c%s\x80\nGameplay has now been modified.\nIf you wish to play Record Attack mode, restart the game to clear existing addons.\n\n(Press a key)\n", ('\x80' + (highlightflags>>V_CHARCOLORSHIFT)), refreshdirname); prevmajormods = majormods; } @@ -5783,15 +5783,15 @@ static void M_DrawReplayStartMenu(void) case DFILE_ERROR_NOTLOADED: case DFILE_ERROR_INCOMPLETEOUTOFORDER: - warning = "Loading add-ons will mark your game as modified, and Record Attack may be unavailable.\nYou can watch without loading add-ons, but desyncs may occur."; + warning = "Loading addons will mark your game as modified, and Record Attack may be unavailable.\nYou can watch without loading addons, but desyncs may occur."; break; case DFILE_ERROR_EXTRAFILES: - warning = "You have add-ons loaded that were not present in this replay.\nYou can watch anyway, but desyncs may occur."; + warning = "You have addons loaded that were not present in this replay.\nYou can watch anyway, but desyncs may occur."; break; case DFILE_ERROR_OUTOFORDER: - warning = "You have this replay's add-ons loaded, but they are out of order.\nYou can watch anyway, but desyncs may occur."; + warning = "You have this replay's addons loaded, but they are out of order.\nYou can watch anyway, but desyncs may occur."; break; default: @@ -8595,7 +8595,7 @@ static void M_ConnectMenuModChecks(INT32 choice) if (modifiedgame) { - M_StartMessage(M_GetText("Add-ons are currently loaded.\n\nYou will only be able to join a server if\nit has the same ones loaded in the same order, which may be unlikely.\n\nIf you wish to play on other servers,\nrestart the game to clear existing add-ons.\n\n(Press a key)\n"),M_ConnectMenu,MM_EVENTHANDLER); + M_StartMessage(M_GetText("Addons are currently loaded.\n\nYou will only be able to join a server if\nit has the same ones loaded in the same order, which may be unlikely.\n\nIf you wish to play on other servers,\nrestart the game to clear existing addons.\n\n(Press a key)\n"),M_ConnectMenu,MM_EVENTHANDLER); return; } From 4e8349fcccc5e2cf9384813421ab1c4f28f8fd3a Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Wed, 22 Apr 2020 23:50:14 +0300 Subject: [PATCH 202/245] Fix lighting breaking if trying to use unavailable shaders --- src/hardware/hw_drv.h | 2 +- src/hardware/hw_main.c | 9 ++++++--- src/hardware/r_opengl/r_opengl.c | 3 ++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/hardware/hw_drv.h b/src/hardware/hw_drv.h index b2f79782..45346226 100644 --- a/src/hardware/hw_drv.h +++ b/src/hardware/hw_drv.h @@ -66,7 +66,7 @@ EXPORT void HWRAPI(DrawScreenFinalTexture) (int width, int height); EXPORT void HWRAPI(PostImgRedraw) (float points[SCREENVERTS][SCREENVERTS][2]); // jimita -EXPORT void HWRAPI(LoadShaders) (void); +EXPORT boolean HWRAPI(LoadShaders) (void); EXPORT void HWRAPI(KillShaders) (void); EXPORT void HWRAPI(SetShader) (int shader); EXPORT void HWRAPI(UnSetShader) (void); diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 9b7a3523..4b03767d 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -119,6 +119,8 @@ static line_t *gr_linedef; static sector_t *gr_frontsector; static sector_t *gr_backsector; +boolean gr_shadersavailable = true; + // ========================================================================== // View position // ========================================================================== @@ -142,7 +144,7 @@ static INT32 drawcount = 0; void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor) { - if (!cv_grshaders.value || (cv_grshaders.value && !cv_grfog.value)) + if (!cv_grshaders.value || (cv_grshaders.value && !cv_grfog.value) || !gr_shadersavailable) { RGBA_t mix_color, fog_color, final_color; INT32 mix; @@ -205,7 +207,7 @@ void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UIN void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor) { - if (!cv_grshaders.value || (cv_grshaders.value && !cv_grfog.value)) + if (!cv_grshaders.value || (cv_grshaders.value && !cv_grfog.value) || !gr_shadersavailable) { RGBA_t mix_color, fog_color, final_color; INT32 mix, fogmix, lightmix; @@ -4947,7 +4949,8 @@ void HWR_Startup(void) // jimita HWD.pfnKillShaders(); - HWD.pfnLoadShaders(); + if (!HWD.pfnLoadShaders()) + gr_shadersavailable = false; } diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 2285107d..64861336 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -796,7 +796,7 @@ EXPORT void HWRAPI(LoadShaders) (void) GLuint gl_vertShader, gl_fragShader; GLint i, result; - if (!pglUseProgram) return; + if (!pglUseProgram) return false; gl_customvertexshaders[0] = NULL; gl_customfragmentshaders[0] = NULL; @@ -904,6 +904,7 @@ EXPORT void HWRAPI(LoadShaders) (void) #undef GETUNI } #endif + return true; } EXPORT void HWRAPI(LoadCustomShader) (int number, char *shader, size_t size, boolean fragment) From 957768efd1a4d15bf8452f6e248c6bcf4eecbacc Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Wed, 22 Apr 2020 23:50:50 +0300 Subject: [PATCH 203/245] Fix mistake in previous commit --- src/hardware/r_opengl/r_opengl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 64861336..c88badde 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -790,7 +790,7 @@ void SetupGLFunc4(void) } // jimita -EXPORT void HWRAPI(LoadShaders) (void) +EXPORT boolean HWRAPI(LoadShaders) (void) { #ifdef GL_SHADERS GLuint gl_vertShader, gl_fragShader; From 82b5ce5495805d32f179e9e5ad5ca64afaffb63c Mon Sep 17 00:00:00 2001 From: Wolfy Date: Fri, 24 Apr 2020 23:48:03 -0500 Subject: [PATCH 204/245] Remove cv_grskydome This is how GL should've been handling skies all along, no point having an option --- src/hardware/hw_main.c | 143 ++++++----------------------------------- 1 file changed, 21 insertions(+), 122 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 0323cb37..ee87be60 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -78,7 +78,6 @@ consvar_t cv_grcorrecttricks = {"gr_correcttricks", "Off", 0, CV_OnOff, NULL, 0, consvar_t cv_grsolvetjoin = {"gr_solvetjoin", "On", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grbatching = {"gr_batching", "On", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grskydome = {"gr_skydome", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; static void CV_filtermode_ONChange(void) { @@ -4543,132 +4542,33 @@ void HWR_DrawSkyBackground(float fpov) { if (drewsky) return; - if (cv_grskydome.value) - { - FTransform dometransform; - memset(&dometransform, 0x00, sizeof(FTransform)); + FTransform dometransform; - //04/01/2000: Hurdler: added for T&L - // It should replace all other gr_viewxxx when finished - if (!atransform.shearing) - dometransform.anglex = (float)(aimingangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); - dometransform.angley = (float)((viewangle-ANGLE_270)>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); + memset(&dometransform, 0x00, sizeof(FTransform)); - dometransform.flip = atransform.flip; - dometransform.mirror = atransform.mirror; - dometransform.shearing = atransform.shearing; - dometransform.viewaiming = atransform.viewaiming; + //04/01/2000: Hurdler: added for T&L + // It should replace all other gr_viewxxx when finished + if (!atransform.shearing) + dometransform.anglex = (float)(aimingangle>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); + dometransform.angley = (float)((viewangle-ANGLE_270)>>ANGLETOFINESHIFT)*(360.0f/(float)FINEANGLES); - dometransform.scalex = 1; - dometransform.scaley = (float)vid.width/vid.height; - dometransform.scalez = 1; - dometransform.fovxangle = fpov; // Tails - dometransform.fovyangle = fpov; // Tails - dometransform.splitscreen = splitscreen; + dometransform.flip = atransform.flip; + dometransform.mirror = atransform.mirror; + dometransform.shearing = atransform.shearing; + dometransform.viewaiming = atransform.viewaiming; - HWR_GetTexture(texturetranslation[skytexture]); - HWD.pfnSetShader(7); // sky shader - HWD.pfnRenderSkyDome(skytexture, textures[skytexture]->width, textures[skytexture]->height, dometransform); - HWD.pfnSetShader(0); - } - else - { - FOutVector v[4]; - angle_t angle; - float dimensionmultiply; - float aspectratio; - float angleturn; + dometransform.scalex = 1; + dometransform.scaley = (float)vid.width/vid.height; + dometransform.scalez = 1; + dometransform.fovxangle = fpov; // Tails + dometransform.fovyangle = fpov; // Tails + dometransform.splitscreen = splitscreen; - HWR_GetTexture(texturetranslation[skytexture]); - aspectratio = (float)vid.width/(float)vid.height; - - //Hurdler: the sky is the only texture who need 4.0f instead of 1.0 - // because it's called just after clearing the screen - // and thus, the near clipping plane is set to 3.99 - // Sryder: Just use the near clipping plane value then - - // 3--2 - // | /| - // |/ | - // 0--1 - v[0].x = v[3].x = -ZCLIP_PLANE-1; - v[1].x = v[2].x = ZCLIP_PLANE+1; - v[0].y = v[1].y = -ZCLIP_PLANE-1; - v[2].y = v[3].y = ZCLIP_PLANE+1; - - v[0].z = v[1].z = v[2].z = v[3].z = ZCLIP_PLANE+1; - - // X - - // NOTE: This doesn't work right with texture widths greater than 1024 - // software doesn't draw any further than 1024 for skies anyway, but this doesn't overlap properly - // The only time this will probably be an issue is when a sky wider than 1024 is used as a sky AND a regular wall texture - - angle = (viewangle + xtoviewangle[0]); - dimensionmultiply = ((float)textures[texturetranslation[skytexture]]->width/256.0f); - - if (atransform.mirror) - { - angle = InvAngle(angle); - dimensionmultiply *= -1; - } - - v[0].s = v[3].s = ((float) angle / ((ANGLE_90-1)*dimensionmultiply)); - v[2].s = v[1].s = (-1.0f/dimensionmultiply)+((float) angle / ((ANGLE_90-1)*dimensionmultiply)); - - // Y - angle = aimingangle; - dimensionmultiply = ((float)textures[texturetranslation[skytexture]]->height/(128.0f*aspectratio)); - - if (splitscreen == 1) - { - dimensionmultiply *= 2; - angle *= 2; - } - - // Middle of the sky should always be at angle 0 - // need to keep correct aspect ratio with X - if (atransform.flip) - { - // During vertical flip the sky should be flipped and it's y movement should also be flipped obviously - v[3].t = v[2].t = -(0.5f-(0.5f/dimensionmultiply)); - v[0].t = v[1].t = (-1.0f/dimensionmultiply)-(0.5f-(0.5f/dimensionmultiply)); - } - else - { - v[3].t = v[2].t = (-1.0f/dimensionmultiply)-(0.5f-(0.5f/dimensionmultiply)); - v[0].t = v[1].t = -(0.5f-(0.5f/dimensionmultiply)); - } - - angleturn = (((float)ANGLE_45-1.0f)*aspectratio)*dimensionmultiply; - - if (cv_grshearing.value) - { - // Doesn't really make sense, but what can I do? - angle_t dy = FixedAngle(FixedMul(360*FRACUNIT, FixedDiv(AIMINGTODY(aimingangle), 900*FRACUNIT))); - v[3].t = v[2].t -= ((float) dy / angleturn); - v[0].t = v[1].t -= ((float) dy / angleturn); - } - else - { - if (angle > ANGLE_180) // Do this because we don't want the sky to suddenly teleport when crossing over 0 to 360 and vice versa - { - angle = InvAngle(angle); - v[3].t = v[2].t += ((float) angle / angleturn); - v[0].t = v[1].t += ((float) angle / angleturn); - } - else - { - v[3].t = v[2].t -= ((float) angle / angleturn); - v[0].t = v[1].t -= ((float) angle / angleturn); - } - } - - HWD.pfnSetShader(7); // sky shader - HWD.pfnDrawPolygon(NULL, v, 4, 0); - HWD.pfnSetShader(0); - } + HWR_GetTexture(texturetranslation[skytexture]); + HWD.pfnSetShader(7); // sky shader + HWD.pfnRenderSkyDome(skytexture, textures[skytexture]->width, textures[skytexture]->height, dometransform); + HWD.pfnSetShader(0); } @@ -4942,7 +4842,6 @@ void HWR_AddCommands(void) CV_RegisterVar(&cv_grsolvetjoin); CV_RegisterVar(&cv_grbatching); - CV_RegisterVar(&cv_grskydome); } // -------------------------------------------------------------------------- From b2aebb81ec92ac346d4f08adec3b719396c42009 Mon Sep 17 00:00:00 2001 From: Sally Cochenour Date: Sat, 25 Apr 2020 20:56:50 -0400 Subject: [PATCH 205/245] 'sal-lighting' code ports from v2 --- src/hardware/hw_defs.h | 9 +- src/hardware/hw_drv.h | 2 - src/hardware/hw_glob.h | 3 - src/hardware/hw_main.c | 330 ++++++++++++------------------- src/hardware/hw_main.h | 8 +- src/hardware/hw_md2.c | 328 +++++++++++++++++++++++------- src/hardware/r_opengl/r_opengl.c | 131 ++++++------ src/k_kart.c | 2 +- src/m_menu.c | 68 ++----- src/r_main.c | 4 +- src/sdl/i_system.c | 2 +- src/sdl/i_video.c | 4 +- src/v_video.c | 5 +- 13 files changed, 477 insertions(+), 419 deletions(-) diff --git a/src/hardware/hw_defs.h b/src/hardware/hw_defs.h index 129daa00..af545191 100644 --- a/src/hardware/hw_defs.h +++ b/src/hardware/hw_defs.h @@ -223,6 +223,8 @@ typedef struct GLMipmap_s FTextureInfo; struct FLightInfo { FUINT light_level; + FUINT fade_start; + FUINT fade_end; }; typedef struct FLightInfo FLightInfo; @@ -241,9 +243,6 @@ enum hwdsetspecialstate { HWD_SET_SHADERS, - HWD_SET_FOG_MODE, - HWD_SET_FOG_DENSITY, - HWD_SET_TEXTUREFILTERMODE, HWD_SET_TEXTUREANISOTROPICMODE, @@ -251,8 +250,8 @@ enum hwdsetspecialstate }; typedef enum hwdsetspecialstate hwdspecialstate_t; -#define GL_NORMALFOG 0x00000000 -#define GL_FADEFOG 0x19000000 +#define GL_DEFAULTMIX 0x00000000 +#define GL_DEFAULTFOG 0xFF000000 enum hwdfiltermode { diff --git a/src/hardware/hw_drv.h b/src/hardware/hw_drv.h index f19c1fae..bf8eb40f 100644 --- a/src/hardware/hw_drv.h +++ b/src/hardware/hw_drv.h @@ -74,11 +74,9 @@ EXPORT void HWRAPI(UnSetShader) (void); EXPORT void HWRAPI(LoadCustomShader) (int number, char *shader, size_t size, boolean fragment); EXPORT void HWRAPI(InitCustomShaders) (void); - EXPORT void HWRAPI(StartBatching) (void); EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCalls, int *sNumShaders, int *sNumTextures, int *sNumPolyFlags, int *sNumColors); - // ========================================================================== // HWR DRIVER OBJECT, FOR CLIENT PROGRAM // ========================================================================== diff --git a/src/hardware/hw_glob.h b/src/hardware/hw_glob.h index b3f058c4..3d03e7fa 100644 --- a/src/hardware/hw_glob.h +++ b/src/hardware/hw_glob.h @@ -47,9 +47,6 @@ GLPatch_t *HWR_GetCachedGLPatchPwad(UINT16 wad, UINT16 lump); GLPatch_t *HWR_GetCachedGLPatch(lumpnum_t lumpnum); void HWR_GetFadeMask(lumpnum_t fademasklumpnum); -// hardware driver -extern INT32 gl_leveltime; - // -------- // hw_draw.c // -------- diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index ee87be60..20861b00 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -139,162 +139,128 @@ static INT32 drawcount = 0; // Lighting // ========================================================================== -#define CALCLIGHT(x,y) ((float)(x)*((y)/255.0f)) - -void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor) +void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, extracolormap_t *colormap) { - if (!cv_grshaders.value || (cv_grshaders.value && !cv_grfog.value) || !gr_shadersavailable) + RGBA_t poly_color, tint_color, fade_color; + + poly_color.rgba = 0xFFFFFFFF; + tint_color.rgba = (colormap != NULL) ? (UINT32)colormap->rgba : GL_DEFAULTMIX; + fade_color.rgba = (colormap != NULL) ? (UINT32)colormap->fadergba : GL_DEFAULTFOG; + + // Crappy backup coloring if you can't do shaders + if (!(cv_grshaders.value && gr_shadersavailable)) { - RGBA_t mix_color, fog_color, final_color; - INT32 mix; - float fog_alpha; - float red, green, blue; + // be careful, this may get negative for high lightlevel values. + float tint_alpha, fade_alpha; + float red, green, blue; - mix_color.rgba = mixcolor; - fog_color.rgba = fadecolor; + red = (float)poly_color.s.red; + green = (float)poly_color.s.green; + blue = (float)poly_color.s.blue; - mix = mix_color.s.alpha*10/5; - if (mix > 25) mix = 25; - mix *= 255; - mix /= 25; + // 48 is just an arbritrary value that looked relatively okay. + tint_alpha = (float)(sqrt(tint_color.s.alpha) * 48) / 255.0f; - // Modulate the colors by alpha. - mix_color.s.red = (UINT8)(CALCLIGHT(mix,mix_color.s.red)); - mix_color.s.green = (UINT8)(CALCLIGHT(mix,mix_color.s.green)); - mix_color.s.blue = (UINT8)(CALCLIGHT(mix,mix_color.s.blue)); + // 8 is roughly the brightness of the "close" color in Software, and 16 the brightness of the "far" color. + // 8 is too bright for dark levels, and 16 is too dark for bright levels. + // 12 is the compromise value. It doesn't look especially good anywhere, but it's the most balanced. + // (Also, as far as I can tell, fade_color's alpha is actually not used in Software, so we only use light level.) + fade_alpha = (float)(sqrt(255-light_level) * 12) / 255.0f; - // Set the surface colors and further modulate the colors by light. - final_color.s.red = (UINT8)(CALCLIGHT((0xFF-mix),0xFF)+CALCLIGHT(mix_color.s.red,0xFF)); - final_color.s.green = (UINT8)(CALCLIGHT((0xFF-mix),0xFF)+CALCLIGHT(mix_color.s.green,0xFF)); - final_color.s.blue = (UINT8)(CALCLIGHT((0xFF-mix),0xFF)+CALCLIGHT(mix_color.s.blue,0xFF)); - final_color.s.alpha = 0xFF; + // Clamp the alpha values + tint_alpha = min(max(tint_alpha, 0.0f), 1.0f); + fade_alpha = min(max(fade_alpha, 0.0f), 1.0f); - // Fog. - fog_alpha = (0xFF - fog_color.s.alpha) / 255.0f; + red = (tint_color.s.red * tint_alpha) + (red * (1.0f - tint_alpha)); + green = (tint_color.s.green * tint_alpha) + (green * (1.0f - tint_alpha)); + blue = (tint_color.s.blue * tint_alpha) + (blue * (1.0f - tint_alpha)); - // Set the surface colors and further modulate the colors by light. - fog_color.s.red = (UINT8)(((float)fog_color.s.red) * fog_alpha); - fog_color.s.green = (UINT8)(((float)fog_color.s.green) * fog_alpha); - fog_color.s.blue = (UINT8)(((float)fog_color.s.blue) * fog_alpha); + red = (fade_color.s.red * fade_alpha) + (red * (1.0f - fade_alpha)); + green = (fade_color.s.green * fade_alpha) + (green * (1.0f - fade_alpha)); + blue = (fade_color.s.blue * fade_alpha) + (blue * (1.0f - fade_alpha)); - if (cv_grfog.value) - { - // be careful, this may get negative for high lightlevel values. - float fog = (fog_alpha - (light_level/255.0f))*3/2; - if (fog < 0) - fog = 0; - - red = ((fog_color.s.red/255.0f) * fog) + ((final_color.s.red/255.0f) * (1.0f - fog)); - green = ((fog_color.s.green/255.0f) * fog) + ((final_color.s.green/255.0f) * (1.0f - fog)); - blue = ((fog_color.s.blue/255.0f) * fog) + ((final_color.s.blue/255.0f) * (1.0f - fog)); - final_color.s.red = (UINT8)(red*255.0f); - final_color.s.green = (UINT8)(green*255.0f); - final_color.s.blue = (UINT8)(blue*255.0f); - } - - Surface->PolyColor.rgba = final_color.rgba; - Surface->FadeColor.rgba = fog_color.rgba; - Surface->LightInfo.light_level = light_level; - } - else - { - Surface->PolyColor.rgba = 0xFFFFFFFF; - Surface->TintColor.rgba = mixcolor; - Surface->FadeColor.rgba = fadecolor; - Surface->LightInfo.light_level = light_level; + poly_color.s.red = (UINT8)red; + poly_color.s.green = (UINT8)green; + poly_color.s.blue = (UINT8)blue; } + + Surface->PolyColor.rgba = poly_color.rgba; + Surface->TintColor.rgba = tint_color.rgba; + Surface->FadeColor.rgba = fade_color.rgba; + Surface->LightInfo.light_level = light_level; + Surface->LightInfo.fade_start = (colormap != NULL) ? colormap->fadestart : 0; + Surface->LightInfo.fade_end = (colormap != NULL) ? colormap->fadeend : 31; } -void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor) -{ - if (!cv_grshaders.value || (cv_grshaders.value && !cv_grfog.value) || !gr_shadersavailable) - { - RGBA_t mix_color, fog_color, final_color; - INT32 mix, fogmix, lightmix; - float fog_alpha; - - // You see the problem is that darker light isn't actually as dark as it SHOULD be. - lightmix = 255 - ((255 - light_level)*10/7); - - // Don't go out of bounds - if (lightmix < 0) - lightmix = 0; - else if (lightmix > 255) - lightmix = 255; - - mix_color.rgba = mixcolor; - fog_color.rgba = fadecolor; - - mix = (mix_color.s.alpha*255)/25; - fogmix = (fog_color.s.alpha*255)/25; - - // Modulate the colors by alpha. - mix_color.s.red = (UINT8)(CALCLIGHT(mix,mix_color.s.red)); - mix_color.s.green = (UINT8)(CALCLIGHT(mix,mix_color.s.green)); - mix_color.s.blue = (UINT8)(CALCLIGHT(mix,mix_color.s.blue)); - - // Set the surface colors and further modulate the colors by light. - final_color.s.red = (UINT8)(CALCLIGHT((0xFF-mix),lightmix)+CALCLIGHT(mix_color.s.red,lightmix)); - final_color.s.green = (UINT8)(CALCLIGHT((0xFF-mix),lightmix)+CALCLIGHT(mix_color.s.green,lightmix)); - final_color.s.blue = (UINT8)(CALCLIGHT((0xFF-mix),lightmix)+CALCLIGHT(mix_color.s.blue,lightmix)); - - // Modulate the colors by alpha. - fog_color.s.red = (UINT8)(CALCLIGHT(fogmix,fog_color.s.red)); - fog_color.s.green = (UINT8)(CALCLIGHT(fogmix,fog_color.s.green)); - fog_color.s.blue = (UINT8)(CALCLIGHT(fogmix,fog_color.s.blue)); - - // Set the surface colors and further modulate the colors by light. - final_color.s.red = final_color.s.red+((UINT8)(CALCLIGHT((0xFF-fogmix),(0xFF-lightmix))+CALCLIGHT(fog_color.s.red,(0xFF-lightmix)))); - final_color.s.green = final_color.s.green+((UINT8)(CALCLIGHT((0xFF-fogmix),(0xFF-lightmix))+CALCLIGHT(fog_color.s.green,(0xFF-lightmix)))); - final_color.s.blue = final_color.s.blue+((UINT8)(CALCLIGHT((0xFF-fogmix),(0xFF-lightmix))+CALCLIGHT(fog_color.s.blue,(0xFF-lightmix)))); - final_color.s.alpha = 0xFF; - - // Fog. - fog_color.rgba = fadecolor; - fog_alpha = (0xFF - fog_color.s.alpha*10/7) / 255.0f; - - // Set the surface colors and further modulate the colors by light. - fog_color.s.red = (UINT8)(((float)fog_color.s.red) * fog_alpha); - fog_color.s.green = (UINT8)(((float)fog_color.s.green) * fog_alpha); - fog_color.s.blue = (UINT8)(((float)fog_color.s.blue) * fog_alpha); - - Surface->PolyColor.rgba = final_color.rgba; - Surface->FadeColor.rgba = fog_color.rgba; - Surface->LightInfo.light_level = lightmix; - } - else - { - Surface->PolyColor.rgba = 0xFFFFFFFF; - Surface->TintColor.rgba = mixcolor; - Surface->FadeColor.rgba = fadecolor; - Surface->LightInfo.light_level = light_level; - } -} - -UINT8 HWR_FogBlockAlpha(INT32 light, UINT32 color) // Let's see if this can work +UINT8 HWR_FogBlockAlpha(INT32 light, extracolormap_t *colormap) // Let's see if this can work { RGBA_t realcolor, surfcolor; INT32 alpha; - // You see the problem is that darker light isn't actually as dark as it SHOULD be. - light = light - ((255 - light)*24/22); + realcolor.rgba = (colormap != NULL) ? colormap->rgba : GL_DEFAULTMIX; - // Don't go out of bounds - if (light < 0) - light = 0; - else if (light > 255) - light = 255; + if (!(cv_grshaders.value && gr_shadersavailable)) + { + light = light - (255 - light); - realcolor.rgba = color; + // Don't go out of bounds + if (light < 0) + light = 0; + else if (light > 255) + light = 255; - alpha = (realcolor.s.alpha*255)/25; + alpha = (realcolor.s.alpha*255)/25; - // at 255 brightness, alpha is between 0 and 127, at 0 brightness alpha will always be 255 - surfcolor.s.alpha = (alpha*light)/(2*256)+255-light; + // at 255 brightness, alpha is between 0 and 127, at 0 brightness alpha will always be 255 + surfcolor.s.alpha = (alpha*light) / (2*256) + 255-light; + } + else + { + surfcolor.s.alpha = (255 - light); + } return surfcolor.s.alpha; } +static FUINT HWR_CalcWallLight(FUINT lightnum, fixed_t v1x, fixed_t v1y, fixed_t v2x, fixed_t v2y) +{ + INT16 finallight = lightnum; + + if (cv_grfakecontrast.value != 0) + { + const UINT8 contrast = 8; + fixed_t extralight = 0; + + if (cv_grfakecontrast.value == 2) // Smooth setting + { + extralight = (-(contrast<> FRACBITS; + } + else + { + if (v1y == v2y) + extralight = -contrast; + else if (v1x == v2x) + extralight = contrast; + } + + if (extralight != 0) + { + finallight += extralight; + + if (finallight < 0) + finallight = 0; + if (finallight > 255) + finallight = 255; + } + } + + return (FUINT)finallight; +} + // ========================================================================== // Floor and ceiling generation from subsectors // ========================================================================== @@ -492,10 +458,7 @@ void HWR_RenderPlane(extrasubsector_t *xsub, boolean isceiling, fixed_t fixedhei #endif } - if (planecolormap) - HWR_Lighting(&Surf, lightlevel, planecolormap->rgba, planecolormap->fadergba); - else - HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG); + HWR_Lighting(&Surf, lightlevel, planecolormap); if (PolyFlags & (PF_Translucent|PF_Fog)) { @@ -607,10 +570,7 @@ FBITFIELD HWR_TranstableToAlpha(INT32 transtablenum, FSurfaceInfo *pSurf) // void HWR_ProjectWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blendmode, INT32 lightlevel, extracolormap_t *wallcolormap) { - if (wallcolormap) - HWR_Lighting(pSurf, lightlevel, wallcolormap->rgba, wallcolormap->fadergba); - else - HWR_NoColormapLighting(pSurf, lightlevel, GL_NORMALFOG, GL_FADEFOG); + HWR_Lighting(pSurf, lightlevel, wallcolormap); HWD.pfnSetShader(2); // wall shader HWD.pfnDrawPolygon(pSurf, wallVerts, 4, blendmode|PF_Modulated|PF_Occlude); @@ -651,7 +611,7 @@ void HWR_SplitWall(sector_t *sector, FOutVector *wallVerts, INT32 texnum, FSurfa INT32 solid, i; lightlist_t * list = sector->lightlist; const UINT8 alpha = Surf->PolyColor.s.alpha; - FUINT lightnum = sector->lightlevel; + FUINT lightnum = HWR_CalcWallLight(sector->lightlevel, v1x, v1y, v2x, v2y); extracolormap_t *colormap = NULL; realtop = top = wallVerts[3].y; @@ -680,12 +640,12 @@ void HWR_SplitWall(sector_t *sector, FOutVector *wallVerts, INT32 texnum, FSurfa { if (pfloor && (pfloor->flags & FF_FOG)) { - lightnum = pfloor->master->frontsector->lightlevel; + lightnum = HWR_CalcWallLight(pfloor->master->frontsector->lightlevel, v1x, v1y, v2x, v2y); colormap = pfloor->master->frontsector->extra_colormap; } else { - lightnum = *list[i].lightlevel; + lightnum = HWR_CalcWallLight(*list[i].lightlevel, v1x, v1y, v2x, v2y); colormap = list[i].extra_colormap; } } @@ -966,7 +926,7 @@ void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom cliphigh = (float)(texturehpeg + (gr_curline->flength*FRACUNIT)); } - lightnum = gr_frontsector->lightlevel; + lightnum = HWR_CalcWallLight(gr_frontsector->lightlevel, vs.x, vs.y, ve.x, ve.y); colormap = gr_frontsector->extra_colormap; if (gr_frontsector) @@ -1791,13 +1751,10 @@ void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom blendmode = PF_Fog|PF_NoTexture; - lightnum = rover->master->frontsector->lightlevel; + lightnum = HWR_CalcWallLight(rover->master->frontsector->lightlevel, vs.x, vs.y, ve.x, ve.y); colormap = rover->master->frontsector->extra_colormap; - if (rover->master->frontsector->extra_colormap) - Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,rover->master->frontsector->extra_colormap->rgba); - else - Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,GL_NORMALFOG); + Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel, rover->master->frontsector->extra_colormap); if (gr_frontsector->numlights) HWR_SplitWall(gr_frontsector, wallVerts, 0, &Surf, rover->flags, rover); @@ -1906,13 +1863,10 @@ void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom blendmode = PF_Fog|PF_NoTexture; - lightnum = rover->master->frontsector->lightlevel; + lightnum = HWR_CalcWallLight(rover->master->frontsector->lightlevel, vs.x, vs.y, ve.x, ve.y); colormap = rover->master->frontsector->extra_colormap; - if (rover->master->frontsector->extra_colormap) - Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,rover->master->frontsector->extra_colormap->rgba); - else - Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel,GL_NORMALFOG); + Surf.PolyColor.s.alpha = HWR_FogBlockAlpha(rover->master->frontsector->lightlevel, rover->master->frontsector->extra_colormap); if (gr_backsector->numlights) HWR_SplitWall(gr_backsector, wallVerts, 0, &Surf, rover->flags, rover); @@ -2339,10 +2293,7 @@ void HWR_RenderPolyObjectPlane(polyobj_t *polysector, boolean isceiling, fixed_t v3d->z = FIXED_TO_FLOAT(polysector->vertices[i]->y); } - if (planecolormap) - HWR_Lighting(&Surf, lightlevel, planecolormap->rgba, planecolormap->fadergba); - else - HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG); + HWR_Lighting(&Surf, lightlevel, planecolormap); if (blendmode & PF_Translucent) { @@ -2607,10 +2558,7 @@ void HWR_Subsector(size_t num) light = R_GetPlaneLight(gr_frontsector, centerHeight, viewz < cullHeight ? true : false); - if (rover->master->frontsector->extra_colormap) - alpha = HWR_FogBlockAlpha(*gr_frontsector->lightlist[light].lightlevel, rover->master->frontsector->extra_colormap->rgba); - else - alpha = HWR_FogBlockAlpha(*gr_frontsector->lightlist[light].lightlevel, GL_NORMALFOG); + alpha = HWR_FogBlockAlpha(*gr_frontsector->lightlist[light].lightlevel, rover->master->frontsector->extra_colormap); HWR_AddTransparentFloor(0, &extrasubsectors[num], @@ -2662,10 +2610,7 @@ void HWR_Subsector(size_t num) light = R_GetPlaneLight(gr_frontsector, centerHeight, viewz < cullHeight ? true : false); - if (rover->master->frontsector->extra_colormap) - alpha = HWR_FogBlockAlpha(*gr_frontsector->lightlist[light].lightlevel, rover->master->frontsector->extra_colormap->rgba); - else - alpha = HWR_FogBlockAlpha(*gr_frontsector->lightlist[light].lightlevel, GL_NORMALFOG); + alpha = HWR_FogBlockAlpha(*gr_frontsector->lightlist[light].lightlevel, rover->master->frontsector->extra_colormap); HWR_AddTransparentFloor(0, &extrasubsectors[num], @@ -3381,10 +3326,7 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) } #endif - if (colormap) - HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); - else - HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG); + HWR_Lighting(&Surf, lightlevel, colormap); Surf.PolyColor.s.alpha = alpha; @@ -3424,10 +3366,7 @@ static void HWR_SplitSprite(gr_vissprite_t *spr) wallVerts[0].y = wallVerts[1].y = bot; #endif - if (colormap) - HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); - else - HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG); + HWR_Lighting(&Surf, lightlevel, colormap); Surf.PolyColor.s.alpha = alpha; @@ -3559,10 +3498,7 @@ static void HWR_DrawSprite(gr_vissprite_t *spr) if (!(spr->mobj->frame & FF_FULLBRIGHT)) lightlevel = sector->lightlevel; - if (colormap) - HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); - else - HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG); + HWR_Lighting(&Surf, lightlevel, colormap); } { @@ -3668,10 +3604,7 @@ static inline void HWR_DrawPrecipitationSprite(gr_vissprite_t *spr) colormap = sector->extra_colormap; } - if (colormap) - HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); - else - HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG); + HWR_Lighting(&Surf, lightlevel, colormap); } if (spr->mobj->flags2 & MF2_SHADOW) @@ -4540,11 +4473,11 @@ static boolean drewsky = false; void HWR_DrawSkyBackground(float fpov) { + FTransform dometransform; + if (drewsky) return; - FTransform dometransform; - memset(&dometransform, 0x00, sizeof(FTransform)); //04/01/2000: Hurdler: added for T&L @@ -4647,7 +4580,6 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) gr_windowcenterx += gr_viewwidth; } - // check for new console commands. NetUpdate(); @@ -4726,12 +4658,6 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) HWD.pfnSetSpecialState(HWD_SET_SHADERS, cv_grshaders.value); HWD.pfnSetShader(0); - // Check if fog is enabled. - if (cv_grfog.value) - HWR_FoggingOn(); // First of all, turn it on, set the default user settings too - else - HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, 0); // Turn it off - if (cv_grbatching.value) HWD.pfnStartBatching(); @@ -4763,10 +4689,6 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) HWD.pfnSetTransform(NULL); HWD.pfnUnSetShader(); - // Disable fog - if (cv_grfog.value) - HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, 0); - // Run post processor effects if (!skybox) HWR_DoPostProcessor(player); @@ -4785,14 +4707,17 @@ void HWR_RenderFrame(INT32 viewnumber, player_t *player, boolean skybox) void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) { const boolean skybox = (skyboxmo[0] && cv_skybox.value); // True if there's a skybox object and skyboxes are on + // Clear the color buffer, stops HOMs. Also seems to fix the skybox issue on Intel GPUs. if (viewnumber == 0) // Only do it if it's the first screen being rendered { FRGBAFloat ClearColor; + ClearColor.red = 0.0f; ClearColor.green = 0.0f; ClearColor.blue = 0.0f; ClearColor.alpha = 1.0f; + HWD.pfnClearBuffer(true, false, &ClearColor); } @@ -4811,16 +4736,6 @@ void HWR_RenderPlayerView(INT32 viewnumber, player_t *player) HWR_RenderFrame(viewnumber, player, false); } -// ========================================================================== -// FOG -// ========================================================================== - -void HWR_FoggingOn(void) -{ - HWD.pfnSetSpecialState(HWD_SET_FOG_MODE, 1); - HWD.pfnSetSpecialState(HWD_SET_FOG_DENSITY, cv_grfogdensity.value); -} - // ========================================================================== // 3D ENGINE COMMANDS // ========================================================================== @@ -4918,10 +4833,7 @@ void HWR_RenderWall(FOutVector *wallVerts, FSurfaceInfo *pSurf, FBITFIELD blend, UINT8 alpha = pSurf->PolyColor.s.alpha; // retain the alpha // Lighting is done here instead so that fog isn't drawn incorrectly on transparent walls after sorting - if (wallcolormap) - HWR_Lighting(pSurf, lightlevel, wallcolormap->rgba, wallcolormap->fadergba); - else - HWR_NoColormapLighting(pSurf, lightlevel, GL_NORMALFOG, GL_FADEFOG); + HWR_Lighting(pSurf, lightlevel, wallcolormap); pSurf->PolyColor.s.alpha = alpha; // put the alpha back after lighting diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index b0985fbb..bc4a74e5 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -69,11 +69,8 @@ void HWR_AddCommands(void); // into files like hw_bsp.c, hw_sprites.c... // hw_main.c: Lighting and fog -void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor); -void HWR_NoColormapLighting(FSurfaceInfo *Surface, INT32 light_level, UINT32 mixcolor, UINT32 fadecolor); -UINT8 HWR_FogBlockAlpha(INT32 light, UINT32 color); // Let's see if this can work - -void HWR_FoggingOn(void); +void HWR_Lighting(FSurfaceInfo *Surface, INT32 light_level, extracolormap_t *colormap); +UINT8 HWR_FogBlockAlpha(INT32 light, extracolormap_t *colormap); // Let's see if this can work FBITFIELD HWR_TranstableToAlpha(INT32 transtablenum, FSurfaceInfo *pSurf); @@ -149,6 +146,7 @@ extern consvar_t cv_grcorrecttricks; extern consvar_t cv_grfovchange; extern consvar_t cv_grsolvetjoin; extern consvar_t cv_grspritebillboarding; +extern consvar_t cv_grfakecontrast; extern consvar_t cv_grfallbackplayermodel; extern CV_PossibleValue_t granisotropicmode_cons_t[]; diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 6144e1a8..9e77d22b 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -659,18 +659,24 @@ spritemd2found: // 0.0722 to blue // (See this same define in k_kart.c!) #define SETBRIGHTNESS(brightness,r,g,b) \ - brightness = (UINT8)(((1063*((UINT16)r)/5000) + (3576*((UINT16)g)/5000) + (361*((UINT16)b)/5000)) / 3) + brightness = (UINT8)(((1063*(UINT16)(r))/5000) + ((3576*(UINT16)(g))/5000) + ((361*(UINT16)(b))/5000)) static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, GLMipmap_t *grmip, INT32 skinnum, skincolors_t color) { - UINT8 i; UINT16 w = gpatch->width, h = gpatch->height; UINT32 size = w*h; RGBA_t *image, *blendimage, *cur, blendcolor; + UINT8 translation[16]; // First the color index + UINT8 cutoff[16]; // Brightness cutoff before using the next color + UINT8 translen = 0; + UINT8 i; + + blendcolor = V_GetColor(0); // initialize + memset(translation, 0, sizeof(translation)); + memset(cutoff, 0, sizeof(cutoff)); if (grmip->width == 0) { - grmip->width = gpatch->width; grmip->height = gpatch->height; @@ -680,8 +686,11 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, grmip->grInfo.format = GR_RGBA; } - Z_Free(grmip->grInfo.data); - grmip->grInfo.data = NULL; + if (grmip->grInfo.data) + { + Z_Free(grmip->grInfo.data); + grmip->grInfo.data = NULL; + } cur = Z_Malloc(size*4, PU_HWRCACHE, &grmip->grInfo.data); memset(cur, 0x00, size*4); @@ -689,101 +698,285 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, image = gpatch->mipmap->grInfo.data; blendimage = blendgpatch->mipmap->grInfo.data; - // Average all of the translation's colors + // TC_METALSONIC includes an actual skincolor translation, on top of its flashing. + if (skinnum == TC_METALSONIC) + color = SKINCOLOR_BLUEBERRY; + + if (color != SKINCOLOR_NONE) { - const UINT8 div = 6; - const UINT8 start = 4; - UINT32 r, g, b; + UINT8 numdupes = 1; + UINT8 prevdupes = numdupes; - blendcolor = V_GetColor(colortranslations[color][start]); - r = (UINT32)(blendcolor.s.red*blendcolor.s.red); - g = (UINT32)(blendcolor.s.green*blendcolor.s.green); - b = (UINT32)(blendcolor.s.blue*blendcolor.s.blue); + translation[translen] = colortranslations[color][0]; + cutoff[translen] = 255; - for (i = 1; i < div; i++) + for (i = 1; i < 16; i++) { - RGBA_t nextcolor = V_GetColor(colortranslations[color][start+i]); - r += (UINT32)(nextcolor.s.red*nextcolor.s.red); - g += (UINT32)(nextcolor.s.green*nextcolor.s.green); - b += (UINT32)(nextcolor.s.blue*nextcolor.s.blue); + if (translation[translen] == colortranslations[color][i]) + { + numdupes++; + continue; + } + + if (translen > 0) + { + INT16 newcutoff = cutoff[translen-1] - (255 / (16 / prevdupes)); + + if (newcutoff < 0) + newcutoff = 0; + + cutoff[translen] = (UINT8)newcutoff; + } + + prevdupes = numdupes; + numdupes = 1; + translen++; + + translation[translen] = (UINT8)colortranslations[color][i]; } - blendcolor.s.red = (UINT8)(FixedSqrt((r/div)<>FRACBITS); - blendcolor.s.green = (UINT8)(FixedSqrt((g/div)<>FRACBITS); - blendcolor.s.blue = (UINT8)(FixedSqrt((b/div)<>FRACBITS); + translen++; } - // rainbow support, could theoretically support boss ones too - if (skinnum == TC_RAINBOW) + while (size--) { - while (size--) + if (skinnum == TC_BOSS) { - if (image->s.alpha == 0 && blendimage->s.alpha == 0) + // Turn everything below a certain threshold white + if ((image->s.red == image->s.green) && (image->s.green == image->s.blue) && image->s.blue < 127) { - // Don't bother with blending the pixel if the alpha of the blend pixel is 0 - cur->rgba = image->rgba; + // Lactozilla: Invert the colors + cur->s.red = cur->s.green = cur->s.blue = (255 - image->s.blue); } else + { + cur->s.red = image->s.red; + cur->s.green = image->s.green; + cur->s.blue = image->s.blue; + } + + cur->s.alpha = image->s.alpha; + } + else if (skinnum == TC_ALLWHITE) + { + // Turn everything white + cur->s.red = cur->s.green = cur->s.blue = 255; + cur->s.alpha = image->s.alpha; + } + else + { + // All settings that use skincolors! + UINT16 brightness; + + // Everything below requires a blend image + if (blendimage == NULL) + { + cur->rgba = image->rgba; + goto skippixel; + } + + if (translen <= 0) + { + cur->rgba = image->rgba; + goto skippixel; + } + + // Don't bother with blending the pixel if the alpha of the blend pixel is 0 + if (skinnum == TC_RAINBOW) + { + if (image->s.alpha == 0 && blendimage->s.alpha == 0) + { + cur->rgba = image->rgba; + goto skippixel; + } + else + { + UINT16 imagebright, blendbright; + SETBRIGHTNESS(imagebright,image->s.red,image->s.green,image->s.blue); + SETBRIGHTNESS(blendbright,blendimage->s.red,blendimage->s.green,blendimage->s.blue); + // slightly dumb average between the blend image color and base image colour, usually one or the other will be fully opaque anyway + brightness = (imagebright*(255-blendimage->s.alpha))/255 + (blendbright*blendimage->s.alpha)/255; + } + } + else + { + if (blendimage->s.alpha == 0) + { + cur->rgba = image->rgba; + goto skippixel; // for metal sonic blend + } + else + { + SETBRIGHTNESS(brightness,blendimage->s.red,blendimage->s.green,blendimage->s.blue); + } + } + + // Calculate a sort of "gradient" for the skincolor + // (Me splitting this into a function didn't work, so I had to ruin this entire function's groove...) + { + RGBA_t nextcolor; + UINT8 firsti, secondi, mul, mulmax; + INT32 r, g, b; + + // Rainbow needs to find the closest match to the textures themselves, instead of matching brightnesses to other colors. + // Ensue horrible mess. + if (skinnum == TC_RAINBOW) + { + UINT16 brightdif = 256; + UINT8 colorbrightnesses[16]; + INT32 compare, m, d; + + // Ignore pure white & pitch black + if (brightness > 253 || brightness < 2) + { + cur->rgba = image->rgba; + cur++; image++; blendimage++; + continue; + } + + firsti = 0; + mul = 0; + mulmax = 1; + + for (i = 0; i < translen; i++) + { + RGBA_t tempc = V_GetColor(translation[i]); + SETBRIGHTNESS(colorbrightnesses[i], tempc.s.red, tempc.s.green, tempc.s.blue); // store brightnesses for comparison + } + + for (i = 0; i < translen; i++) + { + if (brightness > colorbrightnesses[i]) // don't allow greater matches (because calculating a makeshift gradient for this is already a huge mess as is) + continue; + + compare = abs((INT16)(colorbrightnesses[i]) - (INT16)(brightness)); + + if (compare < brightdif) + { + brightdif = (UINT16)compare; + firsti = i; // best matching color that's equal brightness or darker + } + } + + secondi = firsti+1; // next color in line + + m = (INT16)brightness - (INT16)colorbrightnesses[secondi]; + d = (INT16)colorbrightnesses[firsti] - (INT16)colorbrightnesses[secondi]; + + if (m >= d) + m = d-1; + + mulmax = 16; + + // calculate the "gradient" multiplier based on how close this color is to the one next in line + if (m <= 0 || d <= 0) + mul = 0; + else + mul = (mulmax-1) - ((m * mulmax) / d); + } + else + { + // Just convert brightness to a skincolor value, use distance to next position to find the gradient multipler + firsti = 0; + + for (i = 1; i < translen; i++) + { + if (brightness >= cutoff[i]) + break; + firsti = i; + } + + secondi = firsti+1; + + mulmax = cutoff[firsti] - cutoff[secondi]; + mul = cutoff[firsti] - brightness; + } + + blendcolor = V_GetColor(translation[firsti]); + + if (mul > 0) // If it's 0, then we only need the first color. + { + nextcolor = V_GetColor(translation[secondi]); + + // Find difference between points + r = (INT32)(nextcolor.s.red - blendcolor.s.red); + g = (INT32)(nextcolor.s.green - blendcolor.s.green); + b = (INT32)(nextcolor.s.blue - blendcolor.s.blue); + + // Find the gradient of the two points + r = ((mul * r) / mulmax); + g = ((mul * g) / mulmax); + b = ((mul * b) / mulmax); + + // Add gradient value to color + blendcolor.s.red += r; + blendcolor.s.green += g; + blendcolor.s.blue += b; + } + } + + if (skinnum == TC_RAINBOW) { UINT32 tempcolor; - UINT16 imagebright, blendbright, finalbright, colorbright; - SETBRIGHTNESS(imagebright,image->s.red,image->s.green,image->s.blue); - SETBRIGHTNESS(blendbright,blendimage->s.red,blendimage->s.green,blendimage->s.blue); - // slightly dumb average between the blend image color and base image colour, usually one or the other will be fully opaque anyway - finalbright = (imagebright*(255-blendimage->s.alpha))/255 + (blendbright*blendimage->s.alpha)/255; - SETBRIGHTNESS(colorbright,blendcolor.s.red,blendcolor.s.green,blendcolor.s.blue); + UINT16 colorbright; - tempcolor = (finalbright*blendcolor.s.red)/colorbright; + SETBRIGHTNESS(colorbright,blendcolor.s.red,blendcolor.s.green,blendcolor.s.blue); + if (colorbright == 0) + colorbright = 1; // no dividing by 0 please + + tempcolor = (brightness * blendcolor.s.red) / colorbright; tempcolor = min(255, tempcolor); cur->s.red = (UINT8)tempcolor; - tempcolor = (finalbright*blendcolor.s.green)/colorbright; + + tempcolor = (brightness * blendcolor.s.green) / colorbright; tempcolor = min(255, tempcolor); cur->s.green = (UINT8)tempcolor; - tempcolor = (finalbright*blendcolor.s.blue)/colorbright; + + tempcolor = (brightness * blendcolor.s.blue) / colorbright; tempcolor = min(255, tempcolor); cur->s.blue = (UINT8)tempcolor; cur->s.alpha = image->s.alpha; } - - cur++; image++; blendimage++; - } - } - else - { - while (size--) - { - if (blendimage->s.alpha == 0) - { - // Don't bother with blending the pixel if the alpha of the blend pixel is 0 - cur->rgba = image->rgba; - } else { + // Color strength depends on image alpha INT32 tempcolor; - INT16 tempmult, tempalpha; - tempalpha = -(abs(blendimage->s.red-127)-127)*2; - if (tempalpha > 255) - tempalpha = 255; - else if (tempalpha < 0) - tempalpha = 0; - tempmult = (blendimage->s.red-127)*2; - if (tempmult > 255) - tempmult = 255; - else if (tempmult < 0) - tempmult = 0; - - tempcolor = (image->s.red*(255-blendimage->s.alpha))/255 + ((tempmult + ((tempalpha*blendcolor.s.red)/255)) * blendimage->s.alpha)/255; + tempcolor = ((image->s.red * (255-blendimage->s.alpha)) / 255) + ((blendcolor.s.red * blendimage->s.alpha) / 255); + tempcolor = min(255, tempcolor); cur->s.red = (UINT8)tempcolor; - tempcolor = (image->s.green*(255-blendimage->s.alpha))/255 + ((tempmult + ((tempalpha*blendcolor.s.green)/255)) * blendimage->s.alpha)/255; + + tempcolor = ((image->s.green * (255-blendimage->s.alpha)) / 255) + ((blendcolor.s.green * blendimage->s.alpha) / 255); + tempcolor = min(255, tempcolor); cur->s.green = (UINT8)tempcolor; - tempcolor = (image->s.blue*(255-blendimage->s.alpha))/255 + ((tempmult + ((tempalpha*blendcolor.s.blue)/255)) * blendimage->s.alpha)/255; + + tempcolor = ((image->s.blue * (255-blendimage->s.alpha)) / 255) + ((blendcolor.s.blue * blendimage->s.alpha) / 255); + tempcolor = min(255, tempcolor); cur->s.blue = (UINT8)tempcolor; cur->s.alpha = image->s.alpha; } - cur++; image++; blendimage++; +skippixel: + + // *Now* we can do Metal Sonic's flashing + if (skinnum == TC_METALSONIC) + { + // Blend dark blue into white + if (cur->s.alpha > 0 && cur->s.red == 0 && cur->s.green == 0 && cur->s.blue < 255 && cur->s.blue > 31) + { + // Sal: Invert non-blue + cur->s.red = cur->s.green = (255 - cur->s.blue); + cur->s.blue = 255; + } + + cur->s.alpha = image->s.alpha; + } } + + cur++; image++; + + if (blendimage != NULL) + blendimage++; } return; @@ -890,10 +1083,7 @@ void HWR_DrawMD2(gr_vissprite_t *spr) colormap = sector->extra_colormap; } - if (colormap) - HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); - else - HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG); + HWR_Lighting(&Surf, lightlevel, colormap); } else { diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 783a09ba..124895d8 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -26,6 +26,8 @@ #include "r_opengl.h" #include "r_vbo.h" +#include "../../p_tick.h" // for leveltime (NOTE: THIS IS BAD, FIGURE OUT HOW TO PROPERLY IMPLEMENT gl_leveltime) + #if defined (HWRENDER) && !defined (NOROPENGL) struct GLRGBAFloat @@ -482,11 +484,6 @@ boolean SetupGLfunc(void) return true; } -static INT32 glstate_fog_mode = 0; -static float glstate_fog_density = 0; - -INT32 gl_leveltime = 0; - #ifdef GL_SHADERS typedef GLuint (APIENTRY *PFNglCreateShader) (GLenum); typedef void (APIENTRY *PFNglShaderSource) (GLuint, GLsizei, const GLchar**, GLint*); @@ -552,10 +549,8 @@ typedef enum gluniform_tint_color, gluniform_fade_color, gluniform_lighting, - - // fog - gluniform_fog_mode, - gluniform_fog_density, + gluniform_fade_start, + gluniform_fade_end, // misc. (custom shaders) gluniform_leveltime, @@ -579,9 +574,6 @@ static gl_shaderprogram_t gl_shaderprograms[MAXSHADERPROGRAMS]; // GLSL Software fragment shader // -// (new shader stuff taken from srb2 shader branch) -// this is missing support for fade_start and fade_end - #define GLSL_DOOM_COLORMAP \ "float R_DoomColormap(float light, float z)\n" \ "{\n" \ @@ -611,6 +603,12 @@ static gl_shaderprogram_t gl_shaderprograms[MAXSHADERPROGRAMS]; #define GLSL_SOFTWARE_FADE_EQUATION \ "float darkness = R_DoomLightingEquation(lighting);\n" \ + "if (fade_start != 0.0 || fade_end != 31.0) {\n" \ + "float fs = fade_start / 31.0;\n" \ + "float fe = fade_end / 31.0;\n" \ + "float fd = fe - fs;\n" \ + "darkness = clamp((darkness - fs) * (1.0 / fd), 0.0, 1.0);\n" \ + "}\n" \ "final_color = mix(final_color, fade_color, darkness);\n" #define GLSL_SOFTWARE_FRAGMENT_SHADER \ @@ -619,6 +617,8 @@ static gl_shaderprogram_t gl_shaderprograms[MAXSHADERPROGRAMS]; "uniform vec4 tint_color;\n" \ "uniform vec4 fade_color;\n" \ "uniform float lighting;\n" \ + "uniform float fade_start;\n" \ + "uniform float fade_end;\n" \ GLSL_DOOM_COLORMAP \ GLSL_DOOM_LIGHT_EQUATION \ "void main(void) {\n" \ @@ -631,9 +631,44 @@ static gl_shaderprogram_t gl_shaderprograms[MAXSHADERPROGRAMS]; "gl_FragColor = final_color;\n" \ "}\0" +// +// Water surface shader +// +// Mostly guesstimated, rather than the rest being built off Software science. +// Still needs to distort things underneath/around the water... +// + +#define GLSL_WATER_FRAGMENT_SHADER \ + "uniform sampler2D tex;\n" \ + "uniform vec4 poly_color;\n" \ + "uniform vec4 tint_color;\n" \ + "uniform vec4 fade_color;\n" \ + "uniform float lighting;\n" \ + "uniform float fade_start;\n" \ + "uniform float fade_end;\n" \ + "uniform float leveltime;\n" \ + "const float freq = 0.025;\n" \ + "const float amp = 0.025;\n" \ + "const float speed = 2.0;\n" \ + "const float pi = 3.14159;\n" \ + GLSL_DOOM_COLORMAP \ + GLSL_DOOM_LIGHT_EQUATION \ + "void main(void) {\n" \ + "float z = (gl_FragCoord.z / gl_FragCoord.w) / 2.0;\n" \ + "float a = -pi * (z * freq) + (leveltime * speed);\n" \ + "float sdistort = sin(a) * amp;\n" \ + "float cdistort = cos(a) * amp;\n" \ + "vec4 texel = texture2D(tex, vec2(gl_TexCoord[0].s - sdistort, gl_TexCoord[0].t - cdistort));\n" \ + "vec4 base_color = texel * poly_color;\n" \ + "vec4 final_color = base_color;\n" \ + GLSL_SOFTWARE_TINT_EQUATION \ + GLSL_SOFTWARE_FADE_EQUATION \ + "final_color.a = texel.a * poly_color.a;\n" \ + "gl_FragColor = final_color;\n" \ + "}\0" // -// Fog block shader (Taken from srb2 shader branch) +// Fog block shader // // Alpha of the planes themselves are still slightly off -- see HWR_FogBlockAlpha // @@ -642,6 +677,8 @@ static gl_shaderprogram_t gl_shaderprograms[MAXSHADERPROGRAMS]; "uniform vec4 tint_color;\n" \ "uniform vec4 fade_color;\n" \ "uniform float lighting;\n" \ + "uniform float fade_start;\n" \ + "uniform float fade_end;\n" \ GLSL_DOOM_COLORMAP \ GLSL_DOOM_LIGHT_EQUATION \ "void main(void) {\n" \ @@ -652,16 +689,15 @@ static gl_shaderprogram_t gl_shaderprograms[MAXSHADERPROGRAMS]; "gl_FragColor = final_color;\n" \ "}\0" - // // GLSL generic fragment shader // #define GLSL_DEFAULT_FRAGMENT_SHADER \ "uniform sampler2D tex;\n" \ - "uniform vec4 mix_color;\n" \ + "uniform vec4 poly_color;\n" \ "void main(void) {\n" \ - "gl_FragColor = texture2D(tex, gl_TexCoord[0].st) * mix_color;\n" \ + "gl_FragColor = texture2D(tex, gl_TexCoord[0].st) * poly_color;\n" \ "}\0" static const char *fragment_shaders[] = { @@ -681,7 +717,7 @@ static const char *fragment_shaders[] = { GLSL_SOFTWARE_FRAGMENT_SHADER, // Water fragment shader - GLSL_SOFTWARE_FRAGMENT_SHADER, + GLSL_WATER_FRAGMENT_SHADER, // Fog fragment shader GLSL_FOG_FRAGMENT_SHADER, @@ -689,7 +725,7 @@ static const char *fragment_shaders[] = { // Sky fragment shader "uniform sampler2D tex;\n" "void main(void) {\n" - "gl_FragColor = texture2D(tex, gl_TexCoord[0].st);\n" \ + "gl_FragColor = texture2D(tex, gl_TexCoord[0].st);\n" "}\0", NULL, @@ -709,7 +745,7 @@ static const char *fragment_shaders[] = { "gl_Position = gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex;\n" \ "gl_FrontColor = gl_Color;\n" \ "gl_TexCoord[0].xy = gl_MultiTexCoord0.xy;\n" \ - "gl_ClipVertex = gl_ModelViewMatrix*gl_Vertex;\n" \ + "gl_ClipVertex = gl_ModelViewMatrix * gl_Vertex;\n" \ "}\0" static const char *vertex_shaders[] = { @@ -885,10 +921,8 @@ EXPORT boolean HWRAPI(LoadShaders) (void) shader->uniforms[gluniform_tint_color] = GETUNI("tint_color"); shader->uniforms[gluniform_fade_color] = GETUNI("fade_color"); shader->uniforms[gluniform_lighting] = GETUNI("lighting"); - - // fog - shader->uniforms[gluniform_fog_mode] = GETUNI("fog_mode"); - shader->uniforms[gluniform_fog_density] = GETUNI("fog_density"); + shader->uniforms[gluniform_fade_start] = GETUNI("fade_start"); + shader->uniforms[gluniform_fade_end] = GETUNI("fade_end"); // misc. (custom shaders) shader->uniforms[gluniform_leveltime] = GETUNI("leveltime"); @@ -899,6 +933,9 @@ EXPORT boolean HWRAPI(LoadShaders) (void) return true; } +// +// Custom shader loading +// EXPORT void HWRAPI(LoadCustomShader) (int number, char *shader, size_t size, boolean fragment) { #ifdef GL_SHADERS @@ -1689,19 +1726,10 @@ static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *poly, GLRGBAFloat * { if (!custom) { - if (glstate_fog_mode == 0) // disabled + if (gl_shaderprogramchanged) { - // Nevermind! - pglUseProgram(0); - return; - } - else // enabled - { - if (gl_shaderprogramchanged) - { - pglUseProgram(gl_shaderprograms[gl_currentshaderprogram].program); - gl_shaderprogramchanged = false; - } + pglUseProgram(gl_shaderprograms[gl_currentshaderprogram].program); + gl_shaderprogramchanged = false; } } else // always load custom shaders @@ -1735,26 +1763,11 @@ static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *poly, GLRGBAFloat * // polygon UNIFORM_4(shader->uniforms[gluniform_poly_color], poly->red, poly->green, poly->blue, poly->alpha, pglUniform4f); UNIFORM_4(shader->uniforms[gluniform_tint_color], tint->red, tint->green, tint->blue, tint->alpha, pglUniform4f); - - - // 13062019 - // Check for fog - if (glstate_fog_mode == 1) - { - // glstate - UNIFORM_1(shader->uniforms[gluniform_fog_density], glstate_fog_density, pglUniform1f); - - // polygon - UNIFORM_4(shader->uniforms[gluniform_fade_color], fade->red, fade->green, fade->blue, fade->alpha, pglUniform4f); - UNIFORM_1(shader->uniforms[gluniform_lighting], Surface->LightInfo.light_level, pglUniform1f); - - // Custom shader uniforms - if (custom) - { - UNIFORM_1(shader->uniforms[gluniform_fog_mode], glstate_fog_mode, pglUniform1i); - UNIFORM_1(shader->uniforms[gluniform_leveltime], (float)gl_leveltime, pglUniform1f); - } - } + UNIFORM_4(shader->uniforms[gluniform_fade_color], fade->red, fade->green, fade->blue, fade->alpha, pglUniform4f); + UNIFORM_1(shader->uniforms[gluniform_lighting], Surface->LightInfo.light_level, pglUniform1f); + UNIFORM_1(shader->uniforms[gluniform_fade_start], Surface->LightInfo.fade_start, pglUniform1f); + UNIFORM_1(shader->uniforms[gluniform_fade_end], Surface->LightInfo.fade_end, pglUniform1f); + UNIFORM_1(shader->uniforms[gluniform_leveltime], (float)leveltime, pglUniform1f); #undef UNIFORM_1 #undef UNIFORM_2 @@ -2592,14 +2605,6 @@ EXPORT void HWRAPI(SetSpecialState) (hwdspecialstate_t IdState, INT32 Value) } break; - case HWD_SET_FOG_MODE: - glstate_fog_mode = Value; - break; - - case HWD_SET_FOG_DENSITY: - glstate_fog_density = FIXED_TO_FLOAT(Value); - break; - case HWD_SET_TEXTUREFILTERMODE: switch (Value) { diff --git a/src/k_kart.c b/src/k_kart.c index f9af5a24..04ba8244 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -409,7 +409,7 @@ UINT8 colortranslations[MAXTRANSLATIONS][16] = { // 0.0722 to blue // (See this same define in hw_md2.c!) #define SETBRIGHTNESS(brightness,r,g,b) \ - brightness = (UINT8)(((1063*((UINT16)r)/5000) + (3576*((UINT16)g)/5000) + (361*((UINT16)b)/5000)) / 3) + brightness = (UINT8)(((1063*(UINT16)(r))/5000) + ((3576*(UINT16)(g))/5000) + ((361*(UINT16)(b))/5000)) /** \brief Generates the rainbow colourmaps that are used when a player has the invincibility power diff --git a/src/m_menu.c b/src/m_menu.c index f16bce47..223bc31b 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -279,7 +279,7 @@ static void M_ResetControls(INT32 choice); // Video & Sound menu_t OP_VideoOptionsDef, OP_VideoModeDef; #ifdef HWRENDER -menu_t OP_OpenGLOptionsDef, OP_OpenGLFogDef, OP_OpenGLColorDef; +menu_t OP_OpenGLOptionsDef, OP_OpenGLColorDef; #endif menu_t OP_SoundOptionsDef; //static void M_RestartAudio(void); @@ -346,7 +346,6 @@ static void M_DrawHUDOptions(void); static void M_DrawVideoMode(void); static void M_DrawMonitorToggles(void); #ifdef HWRENDER -static void M_OGL_DrawFogMenu(void); static void M_OGL_DrawColorMenu(void); #endif static void M_DrawMPMainMenu(void); @@ -1242,15 +1241,13 @@ static menuitem_t OP_VideoOptionsMenu[] = {IT_STRING | IT_CVAR, NULL, "Weather Draw Distance",&cv_drawdist_precip, 55}, //{IT_STRING | IT_CVAR, NULL, "Weather Density", &cv_precipdensity, 65}, {IT_STRING | IT_CVAR, NULL, "Skyboxes", &cv_skybox, 65}, - {IT_STRING | IT_CVAR, NULL, "Field of View", &cv_fov, 75}, + {IT_STRING | IT_CVAR, NULL, "Field of View", &cv_fov, 75}, {IT_STRING | IT_CVAR, NULL, "Show FPS", &cv_ticrate, 90}, {IT_STRING | IT_CVAR, NULL, "Vertical Sync", &cv_vidwait, 100}, #ifdef HWRENDER - {IT_STRING | IT_CVAR, NULL, "3D models", &cv_grmdls, 115}, - {IT_STRING | IT_CVAR, NULL, "Fallback Player 3D Model", &cv_grfallbackplayermodel, 125}, - {IT_SUBMENU|IT_STRING, NULL, "OpenGL Options...", &OP_OpenGLOptionsDef, 135}, + {IT_SUBMENU|IT_STRING, NULL, "OpenGL Options...", &OP_OpenGLOptionsDef, 120}, #endif }; @@ -1269,8 +1266,6 @@ enum op_video_fps, op_video_vsync, #ifdef HWRENDER - op_video_md2, - op_video_kartman, op_video_ogl, #endif }; @@ -1283,24 +1278,19 @@ static menuitem_t OP_VideoModeMenu[] = #ifdef HWRENDER static menuitem_t OP_OpenGLOptionsMenu[] = { - {IT_STRING|IT_CVAR, NULL, "Shaders", &cv_grshaders, 10}, - {IT_STRING|IT_CVAR, NULL, "Software Perspective", &cv_grshearing, 20}, - {IT_STRING|IT_CVAR, NULL, "Sprite Billboarding", &cv_grspritebillboarding,30}, + {IT_STRING | IT_CVAR, NULL, "3D Models", &cv_grmdls, 10}, + {IT_STRING | IT_CVAR, NULL, "Fallback Player 3D Model", &cv_grfallbackplayermodel, 20}, + {IT_STRING|IT_CVAR, NULL, "Shaders", &cv_grshaders, 30}, - {IT_STRING|IT_CVAR, NULL, "Quality", &cv_scr_depth, 50}, - {IT_STRING|IT_CVAR, NULL, "Texture Filter", &cv_grfiltermode, 60}, - {IT_STRING|IT_CVAR, NULL, "Anisotropic", &cv_granisotropicmode, 70}, -#ifdef _WINDOWS - {IT_STRING|IT_CVAR, NULL, "Fullscreen", &cv_fullscreen, 80}, -#endif - {IT_SUBMENU|IT_STRING, NULL, "Fog...", &OP_OpenGLFogDef, 100}, - {IT_SUBMENU|IT_STRING, NULL, "Gamma...", &OP_OpenGLColorDef, 110}, -}; + {IT_STRING|IT_CVAR, NULL, "Texture Quality", &cv_scr_depth, 50}, + {IT_STRING|IT_CVAR, NULL, "Texture Filter", &cv_grfiltermode, 60}, + {IT_STRING|IT_CVAR, NULL, "Anisotropic", &cv_granisotropicmode, 70}, -static menuitem_t OP_OpenGLFogMenu[] = -{ - {IT_STRING|IT_CVAR, NULL, "Fog", &cv_grfog, 10}, - {IT_STRING|IT_CVAR, NULL, "Fog density", &cv_grfogdensity, 20}, + {IT_STRING|IT_CVAR, NULL, "Wall Contrast Style", &cv_grfakecontrast, 90}, + {IT_STRING|IT_CVAR, NULL, "Sprite Billboarding", &cv_grspritebillboarding, 100}, + {IT_STRING|IT_CVAR, NULL, "Software Perspective", &cv_grshearing, 110}, + + {IT_SUBMENU|IT_STRING, NULL, "Gamma...", &OP_OpenGLColorDef, 130}, }; static menuitem_t OP_OpenGLColorMenu[] = @@ -2064,17 +2054,6 @@ menu_t OP_MonitorToggleDef = #ifdef HWRENDER menu_t OP_OpenGLOptionsDef = DEFAULTMENUSTYLE("M_VIDEO", OP_OpenGLOptionsMenu, &OP_VideoOptionsDef, 30, 30); -menu_t OP_OpenGLFogDef = -{ - "M_VIDEO", - sizeof (OP_OpenGLFogMenu)/sizeof (menuitem_t), - &OP_OpenGLOptionsDef, - OP_OpenGLFogMenu, - M_OGL_DrawFogMenu, - 60, 40, - 0, - NULL -}; menu_t OP_OpenGLColorDef = { "M_VIDEO", @@ -3458,9 +3437,7 @@ void M_Init(void) #ifdef HWRENDER // Permanently hide some options based on render mode if (rendermode == render_soft) - OP_VideoOptionsMenu[op_video_ogl].status = - OP_VideoOptionsMenu[op_video_kartman].status = - OP_VideoOptionsMenu[op_video_md2] .status = IT_DISABLED; + OP_VideoOptionsMenu[op_video_ogl].status = IT_DISABLED; #endif #ifndef NONET @@ -11137,21 +11114,6 @@ static void M_QuitSRB2(INT32 choice) // OpenGL specific options // ===================================================================== -#define FOG_DENSITY_ITEM 1 -// =================== -// M_OGL_DrawFogMenu() -// =================== -static void M_OGL_DrawFogMenu(void) -{ - INT32 mx, my; - - mx = currentMenu->x; - my = currentMenu->y; - M_DrawGenericMenu(); // use generic drawer for cursor, items and title - V_DrawString(BASEVIDWIDTH - mx - V_StringWidth(cv_grfogdensity.string, 0), - my + currentMenu->menuitems[FOG_DENSITY_ITEM].alphaKey, V_YELLOWMAP, cv_grfogdensity.string); -} - // ===================== // M_OGL_DrawColorMenu() // ===================== diff --git a/src/r_main.c b/src/r_main.c index 5ef40179..2ec06497 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -1550,8 +1550,6 @@ void R_RegisterEngineStuff(void) CV_RegisterVar(&cv_grgammagreen); CV_RegisterVar(&cv_grgammared); CV_RegisterVar(&cv_grfovchange); - CV_RegisterVar(&cv_grfog); - //CV_RegisterVar(&cv_grfogcolor); #ifdef ALAM_LIGHTING CV_RegisterVar(&cv_grstaticlighting); CV_RegisterVar(&cv_grdynamiclighting); @@ -1560,8 +1558,8 @@ void R_RegisterEngineStuff(void) #endif CV_RegisterVar(&cv_grmdls); CV_RegisterVar(&cv_grfallbackplayermodel); - CV_RegisterVar(&cv_grfogdensity); CV_RegisterVar(&cv_grspritebillboarding); + CV_RegisterVar(&cv_grfakecontrast); CV_RegisterVar(&cv_grshearing); CV_RegisterVar(&cv_grshaders); #endif diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index 37d6dd79..ef769564 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -692,7 +692,7 @@ static inline void I_ShutdownConsole(void){} // // StartupKeyboard // -void I_RegisterSignals (void) +static void I_RegisterSignals (void) { #ifdef SIGINT signal(SIGINT , quit_handler); diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index 9acff2b2..a740ef84 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -1870,7 +1870,7 @@ void I_StartupGraphics(void) HWD.pfnMakeScreenTexture= hwSym("MakeScreenTexture",NULL); HWD.pfnMakeScreenFinalTexture=hwSym("MakeScreenFinalTexture",NULL); HWD.pfnDrawScreenFinalTexture=hwSym("DrawScreenFinalTexture",NULL); - + HWD.pfnRenderSkyDome = hwSym("RenderSkyDome",NULL); HWD.pfnLoadShaders = hwSym("LoadShaders",NULL); @@ -1880,7 +1880,7 @@ void I_StartupGraphics(void) HWD.pfnLoadCustomShader = hwSym("LoadCustomShader",NULL); HWD.pfnInitCustomShaders = hwSym("InitCustomShaders",NULL); - + HWD.pfnStartBatching = hwSym("StartBatching",NULL); HWD.pfnRenderBatches = hwSym("RenderBatches",NULL); diff --git a/src/v_video.c b/src/v_video.c index 1ea8d547..47fe4c8e 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -58,11 +58,9 @@ static void CV_Gammaxxx_ONChange(void); // - You can change them in software, // but they won't do anything. static CV_PossibleValue_t grgamma_cons_t[] = {{1, "MIN"}, {255, "MAX"}, {0, NULL}}; -static CV_PossibleValue_t grfogdensity_cons_t[] = {{FRACUNIT/8, "MIN"}, {FRACUNIT*2, "MAX"}, {0, NULL}}; +static CV_PossibleValue_t grfakecontrast_cons_t[] = {{0, "Off"}, {1, "Standard"}, {2, "Smooth"}, {0, NULL}}; consvar_t cv_grshaders = {"gr_shaders", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grfog = {"gr_fog", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_grfogdensity = {"gr_fogdensity", "0.30", CV_SAVE|CV_FLOAT, grfogdensity_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grfovchange = {"gr_fovchange", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grgammared = {"gr_gammared", "127", CV_SAVE|CV_CALL, grgamma_cons_t, CV_Gammaxxx_ONChange, 0, NULL, NULL, 0, 0, NULL}; @@ -78,6 +76,7 @@ consvar_t cv_grfallbackplayermodel = {"gr_fallbackplayermodel", "Off", CV_SAVE, consvar_t cv_grshearing = {"gr_shearing", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_grspritebillboarding = {"gr_spritebillboarding", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_grfakecontrast = {"gr_fakecontrast", "Standard", CV_SAVE, grfakecontrast_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; #endif const UINT8 gammatable[5][256] = From 792d1a5f35c49856b793bece4cf86637e870cf6e Mon Sep 17 00:00:00 2001 From: Sally Cochenour Date: Sat, 25 Apr 2020 21:33:34 -0400 Subject: [PATCH 206/245] Forgotten / TICRATE --- src/hardware/r_opengl/r_opengl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 124895d8..f0602063 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -1767,7 +1767,7 @@ static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *poly, GLRGBAFloat * UNIFORM_1(shader->uniforms[gluniform_lighting], Surface->LightInfo.light_level, pglUniform1f); UNIFORM_1(shader->uniforms[gluniform_fade_start], Surface->LightInfo.fade_start, pglUniform1f); UNIFORM_1(shader->uniforms[gluniform_fade_end], Surface->LightInfo.fade_end, pglUniform1f); - UNIFORM_1(shader->uniforms[gluniform_leveltime], (float)leveltime, pglUniform1f); + UNIFORM_1(shader->uniforms[gluniform_leveltime], ((float)leveltime) / TICRATE, pglUniform1f); #undef UNIFORM_1 #undef UNIFORM_2 From ccb6da9ab70aac6428fcdbc1aa0becdc1f76f727 Mon Sep 17 00:00:00 2001 From: James R Date: Sun, 26 Apr 2020 01:11:25 -0700 Subject: [PATCH 207/245] Revert "Request a download after completing the join challenge" This reverts commit d5ca4d3f420431a5fc5364b17189fff7a6d5501a. --- src/d_clisrv.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index ccbd21e1..6d657dd9 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -4126,10 +4126,7 @@ static void HandlePacketFromAwayNode(SINT8 node) if (I_NetMakeNodewPort) servernode = I_NetMakeNode(cl_challengeaddress); #endif - if (cl_needsdownload) - cl_mode = CL_ASKDOWNLOADFILES; - else - cl_mode = CL_ASKJOIN; + cl_mode = CL_ASKJOIN; break; case 1: From 10582beb2ac3d32a73c09007cd7a5079385ae893 Mon Sep 17 00:00:00 2001 From: James R Date: Sun, 26 Apr 2020 01:12:39 -0700 Subject: [PATCH 208/245] Revert "Don't send httpsource in SERVERINFO if join password is set" This reverts commit abd15288b4a6d977b0e0b7542d614e5241f5e7c3. --- src/d_clisrv.c | 87 ++++++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 46 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 6d657dd9..440d029a 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1479,18 +1479,15 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime) netbuffer->u.serverinfo.actnum = 0; //mapheaderinfo[gamemap-1]->actnum #ifdef HAVE_CURL - if (! D_IsJoinPasswordOn()) - { - mirror_length = strlen(httpurl); - if (mirror_length > MAX_MIRROR_LENGTH) - mirror_length = MAX_MIRROR_LENGTH; + mirror_length = strlen(httpurl); + if (mirror_length > MAX_MIRROR_LENGTH) + mirror_length = MAX_MIRROR_LENGTH; - if (snprintf(netbuffer->u.serverinfo.httpsource, mirror_length+1, "%s", httpurl) < 0) - // If there's an encoding error, send nothing, we accept that the above may be truncated - strncpy(netbuffer->u.serverinfo.httpsource, "", mirror_length); + if (snprintf(netbuffer->u.serverinfo.httpsource, mirror_length+1, "%s", httpurl) < 0) + // If there's an encoding error, send nothing, we accept that the above may be truncated + strncpy(netbuffer->u.serverinfo.httpsource, "", mirror_length); - netbuffer->u.serverinfo.httpsource[MAX_MIRROR_LENGTH-1] = '\0'; - } + netbuffer->u.serverinfo.httpsource[MAX_MIRROR_LENGTH-1] = '\0'; #endif p = PutFileNeeded(0); @@ -2062,6 +2059,16 @@ static boolean CL_ServerConnectionSearchTicker(boolean viams, tic_t *asksent) if (client) { +#ifdef HAVE_CURL + if (serverlist[i].info.httpsource[0]) + strncpy(http_source, serverlist[i].info.httpsource, MAX_MIRROR_LENGTH); + else + http_source[0] = '\0'; +#else + if (serverlist[i].info.httpsource[0]) + CONS_Printf("We received a http url from the server, however it will not be used as this build lacks curl support (%s)\n", serverlist[i].info.httpsource); +#endif + D_ParseFileneeded(serverlist[i].info.fileneedednum, serverlist[i].info.fileneeded, 0); if (serverlist[i].info.kartvars & SV_LOTSOFADDONS) { @@ -4179,52 +4186,40 @@ static void HandlePacketFromAwayNode(SINT8 node) SERVERONLY - if (netbuffer->u.filecfg.http_source[0] != '\0') - { - netbuffer->u.filecfg.http_source[MAX_MIRROR_LENGTH-1] = '\0'; - #ifdef HAVE_CURL - if (! curl_failedwebdownload) - { - strncpy(http_source, netbuffer->u.filecfg.http_source, - sizeof http_source); + if (! curl_failedwebdownload && + netbuffer->u.filecfg.http_source[0] != '\0' + ){ + strlcpy(http_source, netbuffer->u.filecfg.http_source, + MAX_MIRROR_LENGTH); - cl_mode = CL_PREPAREHTTPFILES; - } -#else - CONS_Printf("We received a http url from the server, however it will not be used as this build lacks curl support (%s)\n", netbuffer->u.filecfg.http_source); -#endif + cl_mode = CL_PREPAREHTTPFILES; } - - if (cl_mode == CL_WAITDOWNLOADFILESRESPONSE) + else +#endif + if (!CL_CheckDownloadable()) { - if (CL_CheckDownloadable()) - { - CONS_Printf("trying to download\n"); - if (CL_SendRequestFile()) - cl_mode = CL_DOWNLOADFILES; - } - else - { - D_QuitNetGame(); - CL_Reset(); - D_StartTitle(); - M_StartMessage(M_GetText( - "You cannot connect to this server\n" - "because you cannot download the files\n" - "that you are missing from the server.\n\n" - "See the console or log file for\n" - "more details.\n\n" - "Press ESC\n" - ), NULL, MM_NOTHING); - break; - } + D_QuitNetGame(); + CL_Reset(); + D_StartTitle(); + M_StartMessage(M_GetText( + "You cannot connect to this server\n" + "because you cannot download the files\n" + "that you are missing from the server.\n\n" + "See the console or log file for\n" + "more details.\n\n" + "Press ESC\n" + ), NULL, MM_NOTHING); + break; } if (cl_challengeattempted == 1) // Successful password noise. S_StartSound(NULL, sfx_s221); cl_challengeattempted = 2; + CONS_Printf("trying to download\n"); + if (cl_mode == CL_WAITDOWNLOADFILESRESPONSE && CL_SendRequestFile()) + cl_mode = CL_DOWNLOADFILES; break; case PT_SERVERCFG: // Positive response of client join request From bb3dcf7d5fec10726b3fd8d5d33877dc4f0b193d Mon Sep 17 00:00:00 2001 From: James R Date: Sun, 26 Apr 2020 01:12:40 -0700 Subject: [PATCH 209/245] Revert "Reorder join process so password is authenticated before attempting to download" This reverts commit b25acfa7827773b9d0cdf6a6c5b45b0169065ee9. --- src/d_clisrv.c | 58 ++++++++++++++++++++++++++++++++++---------------- src/d_clisrv.h | 6 ------ 2 files changed, 40 insertions(+), 24 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 440d029a..4573174b 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -2012,7 +2012,40 @@ static boolean CL_FinishedFileList(void) else if (i == 1) cl_mode = CL_ASKJOIN; else - cl_mode = CL_ASKDOWNLOADFILES; + { + // must download something + // can we, though? +#ifdef HAVE_CURL + if (http_source[0] == '\0' || curl_failedwebdownload) +#endif + { + if (!CL_CheckDownloadable()) // nope! + { + D_QuitNetGame(); + CL_Reset(); + D_StartTitle(); + M_StartMessage(M_GetText( + "You cannot connect to this server\n" + "because you cannot download the files\n" + "that you are missing from the server.\n\n" + "See the console or log file for\n" + "more details.\n\n" + "Press ESC\n" + ), NULL, MM_NOTHING); + return false; + } + + cl_mode = CL_ASKDOWNLOADFILES; + return true; + } +#ifdef HAVE_CURL + else + { + cl_mode = CL_PREPAREHTTPFILES; + return true; + } +#endif + } return true; } @@ -2147,9 +2180,10 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic #ifdef HAVE_CURL case CL_PREPAREHTTPFILES: + if (http_source[0]) { for (i = 0; i < fileneedednum; i++) - if (fileneeded[i].status == FS_NOTFOUND || fileneeded[i].status == FS_MD5SUMBAD) + if (fileneeded[i].status == FS_NOTFOUND) curl_transfers++; cl_mode = CL_DOWNLOADHTTPFILES; @@ -2159,7 +2193,7 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic case CL_DOWNLOADHTTPFILES: waitmore = false; for (i = 0; i < fileneedednum; i++) - if (fileneeded[i].status == FS_NOTFOUND || fileneeded[i].status == FS_MD5SUMBAD) + if (fileneeded[i].status == FS_NOTFOUND) { if (!curl_running) CURLPrepareFile(http_source, i); @@ -3901,9 +3935,7 @@ static void HandleConnect(SINT8 node) if (netbuffer->u.clientcfg.needsdownload) { netbuffer->packettype = PT_DOWNLOADFILESOKAY; - strncpy(netbuffer->u.filecfg.http_source, cv_httpsource.string, - MAX_MIRROR_LENGTH); - HSendPacket(node, true, 0, sizeof netbuffer->u.filecfg); + HSendPacket(node, true, 0, 0); return; } @@ -4186,17 +4218,7 @@ static void HandlePacketFromAwayNode(SINT8 node) SERVERONLY -#ifdef HAVE_CURL - if (! curl_failedwebdownload && - netbuffer->u.filecfg.http_source[0] != '\0' - ){ - strlcpy(http_source, netbuffer->u.filecfg.http_source, - MAX_MIRROR_LENGTH); - - cl_mode = CL_PREPAREHTTPFILES; - } - else -#endif + // This should've already been checked, but just to be safe... if (!CL_CheckDownloadable()) { D_QuitNetGame(); @@ -4218,7 +4240,7 @@ static void HandlePacketFromAwayNode(SINT8 node) cl_challengeattempted = 2; CONS_Printf("trying to download\n"); - if (cl_mode == CL_WAITDOWNLOADFILESRESPONSE && CL_SendRequestFile()) + if (CL_SendRequestFile()) cl_mode = CL_DOWNLOADFILES; break; diff --git a/src/d_clisrv.h b/src/d_clisrv.h index 0f4ca379..7fc36d25 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -462,11 +462,6 @@ typedef struct UINT8 files[MAXFILENEEDED]; // is filled with writexxx (byteptr.h) } ATTRPACK filesneededconfig_pak; -typedef struct -{ - char http_source[MAX_MIRROR_LENGTH];/* first byte 0? no die! */ -} ATTRPACK fileconfig; - // // Network packet data // @@ -501,7 +496,6 @@ typedef struct plrconfig playerconfig[MAXPLAYERS]; // (up to) 528 bytes(?) INT32 filesneedednum; // 4 bytes filesneededconfig_pak filesneededcfg; // ??? bytes - fileconfig filecfg; UINT32 pingtable[MAXPLAYERS+1]; // 68 bytes } u; // This is needed to pack diff packet types data together } ATTRPACK doomdata_t; From fcea81e018b2bca9091768213966ab7f772ef5f7 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Mon, 13 Apr 2020 13:41:21 -0500 Subject: [PATCH 210/245] Revert basically every attempted join passwords fix --- src/d_clisrv.c | 37 ++------------------- src/d_net.c | 90 ++++++++++++-------------------------------------- src/i_tcp.c | 15 +-------- 3 files changed, 24 insertions(+), 118 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index cee7827a..b0b23fc0 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -674,7 +674,7 @@ static inline void resynch_write_player(resynch_pak *rsp, const size_t i) static void resynch_read_player(resynch_pak *rsp) { INT32 i = rsp->playernum, j; - //mobj_t *savedmo = players[i].mo; + mobj_t *savedmo = players[i].mo; // Do not send anything visual related. // Only send data that we need to know for physics. @@ -767,17 +767,11 @@ static void resynch_read_player(resynch_pak *rsp) return; //...but keep old mo even if it is corrupt or null! - //players[i].mo = savedmo; + players[i].mo = savedmo; //Transfer important mo information if they have a valid mo. if (!rsp->hasmo) - { - // Get rid of their object if they aren't supposed to have one.....?? - if (players[i].mo) - P_RemoveMobj(players[i].mo); - return; - } //server thinks player has a body. //Give them a new body that can be then manipulated by the server's info. @@ -1030,7 +1024,6 @@ static void SV_SendResynch(INT32 node) return; } - resynch_inprogress[node] = false; // Let's see if there's REALLY anyone left to sync..... netbuffer->packettype = PT_RESYNCHING; for (i = 0, j = 0; i < MAXPLAYERS; ++i) { @@ -1038,24 +1031,10 @@ static void SV_SendResynch(INT32 node) if (!(resynch_status[node] & 1< TICRATE) - { - CONS_Alert(CONS_ERROR, "Node %d (%s) somehow had a stupidly-long resync delay?! (%d tics to resync player %d)\n", - node, player_names[nodetoplayer[node]], resynch_sent[node][i], i - ); - resynch_sent[node][i] = TICRATE; - } - continue; } @@ -1069,15 +1048,6 @@ static void SV_SendResynch(INT32 node) break; } - if (!resynch_inprogress[node]) - { - CONS_Alert(CONS_ERROR, "Node %d (%s) somehow had resync status for nonexistent players?! (%08x)\n", - node, player_names[nodetoplayer[node]], resynch_status[node] = 0x00 - ); - resynch_status[node] = 0x00; - resynch_inprogress[node] = true; // So they get the PT_RESYNCHEND... - } - if (resynch_score[node] > (unsigned)cv_resynchattempts.value*250) { XBOXSTATIC UINT8 buf[2]; @@ -2311,8 +2281,6 @@ static void CL_ConnectToServer(boolean viams) if (gamestate == GS_VOTING) Y_EndVote(); - resynch_local_inprogress = false; // Just in case this was never cleared... - DEBFILE(va("waiting %d nodes\n", doomcom->numnodes)); G_SetGamestate(GS_WAITINGPLAYERS); wipegamestate = GS_WAITINGPLAYERS; @@ -3411,7 +3379,6 @@ void D_QuitNetGame(void) HSendPacket(servernode, true, 0, 0); } - resynch_local_inprogress = false; // No more resyncing! D_CloseConnection(); ClearAdminPlayers(); diff --git a/src/d_net.c b/src/d_net.c index 6991fde1..3b1bad87 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -339,7 +339,6 @@ static boolean Processackpak(void) { UINT8 ack = netbuffer->ack; getackpacket++; - if (cmpack(ack, node->firstacktosend) <= 0) { DEBFILE(va("Discard(1) ack %d (duplicated)\n", ack)); @@ -362,7 +361,6 @@ static boolean Processackpak(void) // Is a good packet so increment the acknowledge number, // Then search for a "hole" in the queue UINT8 nextfirstack = (UINT8)(node->firstacktosend + 1); - if (!nextfirstack) nextfirstack = 1; @@ -781,8 +779,6 @@ static const char *packettypename[NUMPACKETTYPE] = { "NOTHING", "SERVERCFG", - - "CLIENTCMD", "CLIENTMIS", "CLIENT2CMD", @@ -803,9 +799,6 @@ static const char *packettypename[NUMPACKETTYPE] = "RESYNCHEND", "RESYNCHGET", - - - "CLIENT3CMD", "CLIENT3MIS", "CLIENT4CMD", @@ -813,20 +806,13 @@ static const char *packettypename[NUMPACKETTYPE] = "BASICKEEPALIVE", "FILEFRAGMENT", - "TEXTCMD", "TEXTCMD2", "TEXTCMD3", "TEXTCMD4", - "CLIENTJOIN", "NODETIMEOUT", "RESYNCHING", - - - "TELLFILESNEEDED", - "MOREFILESNEEDED", - "PING" }; @@ -1081,10 +1067,6 @@ boolean HSendPacket(INT32 node, boolean reliable, UINT8 acknum, size_t packetlen netbuffer->checksum = NetbufferChecksum(); sendbytes += packetheaderlength + doomcom->datalength; // For stat - // Joinpasswords close nodes, this may try to send to a waiting-to-close node, so cancel closing? - if (netbuffer->packettype == PT_CLIENTJOIN) - nodes[node].flags &= ~NF_CLOSE; - #ifdef PACKETDROP // Simulate internet :) //if (rand() >= (INT32)(RAND_MAX * (PACKETLOSSRATE / 100.f))) @@ -1121,7 +1103,7 @@ boolean HSendPacket(INT32 node, boolean reliable, UINT8 acknum, size_t packetlen // boolean HGetPacket(void) { - boolean nodejustjoined; + //boolean nodejustjoined; // Get a packet from self if (rebound_tail != rebound_head) @@ -1148,56 +1130,11 @@ boolean HGetPacket(void) while(true) { - nodejustjoined = I_NetGet(); - //I_NetGet(); + //nodejustjoined = I_NetGet(); + I_NetGet(); if (doomcom->remotenode == -1) // No packet received - { - if (nodejustjoined) // _This_ means we did receive a packet, but either from a node we couldn't allocate or a gone player ackreting... - continue; - else - return false; - } - - if (nodejustjoined) - { - // If a new node sends an unexpected packet, just ignore it - if (server - && !(netbuffer->packettype == PT_ASKINFO - || netbuffer->packettype == PT_SERVERINFO - || netbuffer->packettype == PT_PLAYERINFO - || netbuffer->packettype == PT_REQUESTFILE - || netbuffer->packettype == PT_ASKINFOVIAMS - || netbuffer->packettype == PT_CLIENTJOIN - || netbuffer->packettype == PT_TELLFILESNEEDED - || netbuffer->packettype == PT_CLIENTCMD)) - { - DEBFILE(va("New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype])); - CONS_Alert(CONS_NOTICE, "New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype]); - Net_CloseConnection(doomcom->remotenode | FORCECLOSE); - continue; - } - - // UGLY PROBABLY-BAD HACK: If we get PT_CLIENTJOIN, assume this is an in-order packet? - if (netbuffer->packettype == PT_CLIENTJOIN) - nodes[doomcom->remotenode].firstacktosend = (UINT8)((netbuffer->ack-1+MAXACKTOSEND) % MAXACKTOSEND); - - if (netbuffer->ack > 1 && !(server && netbuffer->packettype == PT_CLIENTJOIN)) - { - DEBFILE("New node sent a packet with an out-of-sequence ack. Ghost connection? Ignoring...\n"); - CONS_Alert(CONS_NOTICE, "New node sent a packet with an out-of-sequence ack. Ghost connection? Ignoring...\n"); - Net_CloseConnection(doomcom->remotenode | FORCECLOSE); - continue; - } - - // Reinitialize vars for the new node just in case there's anything left over from other players..... - InitNode(&nodes[doomcom->remotenode]); - SV_AbortSendFiles(doomcom->remotenode); - } - - // Joinpasswords close nodes, this may receive from a waiting-to-close node, so cancel closing? - if (netbuffer->packettype == PT_CLIENTJOIN) - nodes[doomcom->remotenode].flags &= ~NF_CLOSE; + return false; getbytes += packetheaderlength + doomcom->datalength; // For stat @@ -1212,8 +1149,8 @@ boolean HGetPacket(void) if (netbuffer->checksum != NetbufferChecksum()) { DEBFILE("Bad packet checksum\n"); - Net_CloseConnection(nodejustjoined ? (doomcom->remotenode | FORCECLOSE) : doomcom->remotenode); - //Net_CloseConnection(doomcom->remotenode); + //Net_CloseConnection(nodejustjoined ? (doomcom->remotenode | FORCECLOSE) : doomcom->remotenode); + Net_CloseConnection(doomcom->remotenode); continue; } @@ -1222,6 +1159,21 @@ boolean HGetPacket(void) DebugPrintpacket("GET"); #endif + /*// If a new node sends an unexpected packet, just ignore it + if (nodejustjoined && server + && !(netbuffer->packettype == PT_ASKINFO + || netbuffer->packettype == PT_SERVERINFO + || netbuffer->packettype == PT_PLAYERINFO + || netbuffer->packettype == PT_REQUESTFILE + || netbuffer->packettype == PT_ASKINFOVIAMS + || netbuffer->packettype == PT_CLIENTJOIN)) + { + DEBFILE(va("New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype])); + //CONS_Alert(CONS_NOTICE, "New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype]); + Net_CloseConnection(doomcom->remotenode | FORCECLOSE); + continue; + }*/ + // Proceed the ack and ackreturn field if (!Processackpak()) continue; // discarded (duplicated) diff --git a/src/i_tcp.c b/src/i_tcp.c index 7de94573..f58aa22b 100644 --- a/src/i_tcp.c +++ b/src/i_tcp.c @@ -508,8 +508,6 @@ static boolean SOCK_cmpaddr(mysockaddr_t *a, mysockaddr_t *b, UINT8 mask) return false; } -static void SOCK_FreeNodenum(INT32 numnode); - // This is a hack. For some reason, nodes aren't being freed properly. // This goes through and cleans up what nodes were supposed to be freed. /** \warning This function causes the file downloading to stop if someone joins. @@ -526,7 +524,7 @@ static void cleanupnodes(void) // Why can't I start at zero? for (j = 1; j < MAXNETNODES; j++) if (!(nodeingame[j] || SV_SendingFile(j))) - SOCK_FreeNodenum(j); // At least free this PROPERLY + nodeconnected[j] = false; } static SINT8 getfreenode(void) @@ -626,13 +624,6 @@ static boolean SOCK_Get(void) } // not found - if (netbuffer->packettype == PT_NOTHING) - { - DEBFILE(va("Ackret received from disconnected address:%s, ignoring...\n", SOCK_AddrToStr(&fromaddress))); - doomcom->remotenode = -1; // no packet - return true; - } - // find a free slot j = getfreenode(); if (j > 0) @@ -659,11 +650,7 @@ static boolean SOCK_Get(void) return true; } else - { DEBFILE("New node detected: No more free slots\n"); - doomcom->remotenode = -1; // no packet - return true; - } } } From 974f9e667b99d70d3b333df1638822b12f12717f Mon Sep 17 00:00:00 2001 From: James R Date: Sun, 26 Apr 2020 01:28:01 -0700 Subject: [PATCH 211/245] Fallback you doofus! --- src/d_clisrv.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index b0b23fc0..85443905 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -2132,8 +2132,11 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic if (curl_failedwebdownload && !curl_transfers) { CONS_Printf("One or more files failed to download, falling back to internal downloader\n"); - cl_mode = CL_ASKDOWNLOADFILES; - break; + if (CL_SendRequestFile()) + { + cl_mode = CL_DOWNLOADFILES; + break; + } } if (!curl_transfers) From 273b20d81d98ce798ea1f87b6d4a99362abf2c99 Mon Sep 17 00:00:00 2001 From: James R Date: Sun, 26 Apr 2020 01:29:40 -0700 Subject: [PATCH 212/245] Download mismatched md5sum with http This is from b25acfa7 --- src/d_clisrv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 85443905..39432d1a 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -2105,7 +2105,7 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic if (http_source[0]) { for (i = 0; i < fileneedednum; i++) - if (fileneeded[i].status == FS_NOTFOUND) + if (fileneeded[i].status == FS_NOTFOUND || fileneeded[i].status == FS_MD5SUMBAD) curl_transfers++; cl_mode = CL_DOWNLOADHTTPFILES; @@ -2115,7 +2115,7 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic case CL_DOWNLOADHTTPFILES: waitmore = false; for (i = 0; i < fileneedednum; i++) - if (fileneeded[i].status == FS_NOTFOUND) + if (fileneeded[i].status == FS_NOTFOUND || fileneeded[i].status == FS_MD5SUMBAD) { if (!curl_running) CURLPrepareFile(http_source, i); From 1484f0484f6c22382b2cae955a93c01f83d54655 Mon Sep 17 00:00:00 2001 From: James R Date: Sun, 26 Apr 2020 20:46:33 -0700 Subject: [PATCH 213/245] Match MAXSERVERLIST to MAXNETNODES, increase MAXNETNODES Each server in the server list requires a node. It's also MAXNETNODES-1 because the first node is yourself. --- src/d_clisrv.h | 3 ++- src/d_net.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/d_clisrv.h b/src/d_clisrv.h index 66d9e73e..7a8583f6 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -15,6 +15,7 @@ #include "d_event.h" #include "d_ticcmd.h" +#include "d_net.h" #include "d_netcmd.h" #include "tables.h" #include "d_player.h" @@ -480,7 +481,7 @@ typedef struct #pragma pack() #endif -#define MAXSERVERLIST 64 // Depends only on the display +#define MAXSERVERLIST (MAXNETNODES-1) typedef struct { SINT8 node; diff --git a/src/d_net.h b/src/d_net.h index eb657eec..30de2991 100644 --- a/src/d_net.h +++ b/src/d_net.h @@ -19,7 +19,7 @@ #define __D_NET__ // Max computers in a game -#define MAXNETNODES (MAXPLAYERS+4) +#define MAXNETNODES 64 #define BROADCASTADDR MAXNETNODES #define NETSPLITSCREEN // Kart's splitscreen netgame feature From cf64a468f50e3ab99332e1f5680e12d7da74fce6 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Tue, 28 Apr 2020 17:24:33 +0200 Subject: [PATCH 214/245] Add lua toggle for check hud --- src/k_kart.c | 7 +++++-- src/lua_hud.h | 1 + src/lua_hudlib.c | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index 04ba8244..cc5504bb 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -8781,8 +8781,11 @@ void K_drawKartHUD(void) if (!demo.title && (!battlefullscreen || splitscreen)) { // Draw the CHECK indicator before the other items, so it's overlapped by everything else - if (cv_kartcheck.value && !splitscreen && !players[displayplayers[0]].exiting && !freecam) - K_drawKartPlayerCheck(); +#ifdef HAVE_BLUA + if (LUA_HudEnabled(hud_check)) // delete lua when? +#endif + if (cv_kartcheck.value && !splitscreen && !players[displayplayers[0]].exiting && !freecam) + K_drawKartPlayerCheck(); // Draw WANTED status if (G_BattleGametype()) diff --git a/src/lua_hud.h b/src/lua_hud.h index 88d7fd6b..960195cd 100644 --- a/src/lua_hud.h +++ b/src/lua_hud.h @@ -19,6 +19,7 @@ enum hud { hud_minimap, hud_item, hud_position, + hud_check, // "CHECK" f-zero indicator hud_minirankings, // Rankings to the left hud_battlebumpers, // mini rankings battle bumpers. hud_battlefullscreen, // battle huge text (WAIT, WIN, LOSE ...) + karma comeback time diff --git a/src/lua_hudlib.c b/src/lua_hudlib.c index 22c89a23..22e98315 100644 --- a/src/lua_hudlib.c +++ b/src/lua_hudlib.c @@ -46,6 +46,7 @@ static const char *const hud_disable_options[] = { "minimap", "item", "position", + "check", // "CHECK" f-zero indicator "minirankings", // Gametype rankings to the left "battlerankingsbumpers", // bumper drawer for battle. Useful if you want to make a custom battle gamemode without bumpers being involved. "battlefullscreen", // battlefullscreen func (WAIT, ATTACK OR PROTECT ...) From aad2401ba59cb2bf0b2656a287f8b9736399607e Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Tue, 28 Apr 2020 23:24:48 +0200 Subject: [PATCH 215/245] Cam lockon, allow viewpoint change during freecam --- src/g_game.c | 2 +- src/p_user.c | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/g_game.c b/src/g_game.c index a7ad1e68..bf0557d0 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1871,7 +1871,7 @@ boolean G_Responder(event_t *ev) // allow spy mode changes even during the demo if (gamestate == GS_LEVEL && ev->type == ev_keydown - && (ev->data1 == KEY_F12 || ev->data1 == gamecontrol[gc_viewpoint][0] || ev->data1 == gamecontrol[gc_viewpoint][1]) && !demo.freecam) + && (ev->data1 == KEY_F12 || ev->data1 == gamecontrol[gc_viewpoint][0] || ev->data1 == gamecontrol[gc_viewpoint][1])) { if (!demo.playback && (splitscreen || !netgame)) displayplayers[0] = consoleplayer; diff --git a/src/p_user.c b/src/p_user.c index e0fb6fb4..03f8f0fb 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -7314,6 +7314,10 @@ static ticcmd_t *P_CameraCmd(camera_t *cam) if (InputDown(gc_aimbackward, 1) || (usejoystick && axis > 0)) forward -= forwardmove[1]; + // fire with any button/key + axis = JoyAxis(AXISFIRE, 1); + if (InputDown(gc_fire, 1) || (usejoystick && axis > 0)) + cmd->buttons |= BT_ATTACK; // spectator aiming shit, ahhhh... player_invert = invertmouse ? -1 : 1; @@ -7380,6 +7384,7 @@ void P_DemoCameraMovement(camera_t *cam) ticcmd_t *cmd; angle_t thrustangle; mobj_t *awayviewmobj_hack; + player_t *lastp; // update democam stuff with what we got here: democam.cam = cam; @@ -7399,6 +7404,14 @@ void P_DemoCameraMovement(camera_t *cam) else if (cmd->buttons & BT_BRAKE) cam->z -= 32*mapobjectscale; + // if you hold item, you will lock on to displayplayer. (The last player you were ""f12-ing"") + if (cmd->buttons & BT_ATTACK) + { + lastp = &players[displayplayers[0]]; // Fun fact, I was trying displayplayers[0]->mo as if it was Lua like an absolute idiot. + cam->angle = R_PointToAngle2(cam->x, cam->y, lastp->mo->x, lastp->mo->y); + cam->aiming = R_PointToAngle2(0, cam->z, R_PointToDist2(cam->x, cam->y, lastp->mo->x, lastp->mo->y), lastp->mo->z + lastp->mo->scale*128*P_MobjFlip(lastp->mo)); // This is still unholy. Aim a bit above their heads. + } + cam->momx = cam->momy = cam->momz = 0; if (cmd->forwardmove != 0) From 885d949cf9f1d7e7d9aef997ac15e9fb3b24110e Mon Sep 17 00:00:00 2001 From: Wolfy Date: Wed, 29 Apr 2020 00:03:02 -0500 Subject: [PATCH 216/245] Shader batching additions --- src/hardware/r_opengl/r_opengl.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index f0602063..5dc46099 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -1861,6 +1861,10 @@ static int comparePolygons(const void *p1, const void *p2) if (diff64 < 0) return -1; else if (diff64 > 0) return 1; diff = poly1->surf.LightInfo.light_level - poly2->surf.LightInfo.light_level; + if (diff != 0) return diff; + diff = poly1->surf.LightInfo.fade_start - poly2->surf.LightInfo.fade_start; + if (diff != 0) return diff; + diff = poly1->surf.LightInfo.fade_end - poly2->surf.LightInfo.fade_end; return diff; } @@ -2093,7 +2097,9 @@ EXPORT void HWRAPI(RenderBatches) (int *sNumPolys, int *sNumVerts, int *sNumCall if (currentSurfaceInfo.PolyColor.rgba != nextSurfaceInfo.PolyColor.rgba || currentSurfaceInfo.TintColor.rgba != nextSurfaceInfo.TintColor.rgba || currentSurfaceInfo.FadeColor.rgba != nextSurfaceInfo.FadeColor.rgba || - currentSurfaceInfo.LightInfo.light_level != nextSurfaceInfo.LightInfo.light_level) + currentSurfaceInfo.LightInfo.light_level != nextSurfaceInfo.LightInfo.light_level || + currentSurfaceInfo.LightInfo.fade_start != nextSurfaceInfo.LightInfo.fade_start || + currentSurfaceInfo.LightInfo.fade_end != nextSurfaceInfo.LightInfo.fade_end) { changeState = true; changeSurfaceInfo = true; From a3e74a1305ddcbecbaf387ea2a8082b7db37bce4 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Thu, 30 Apr 2020 15:50:30 +0200 Subject: [PATCH 217/245] Add back viewpoint names & fix console inputs in replays --- src/m_menu.c | 4 ++-- src/st_stuff.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/m_menu.c b/src/m_menu.c index ed8df01d..e08a53c5 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -2736,7 +2736,7 @@ boolean M_Responder(event_t *ev) routine = M_ChangeCvar; } - if (currentMenu == &PlaybackMenuDef) + if (currentMenu == &PlaybackMenuDef && !con_destlines) { playback_last_menu_interaction_leveltime = leveltime; // Flip left/right with up/down for the playback menu, since it's a horizontal icon row. @@ -2971,7 +2971,7 @@ boolean M_DemoResponder(event_t *ev) // (but still allow shift keyup so caps doesn't get stuck) return false; } - else if (ev->type == ev_keydown) + else if (ev->type == ev_keydown && !con_destlines) // not while the console is on please { ch = ev->data1; // since this is ONLY for demos, there isn't MUCH for us to do. diff --git a/src/st_stuff.c b/src/st_stuff.c index 756cde57..008a1461 100644 --- a/src/st_stuff.c +++ b/src/st_stuff.c @@ -1905,7 +1905,7 @@ static void ST_overlayDrawer(void) V_DrawCenteredString((BASEVIDWIDTH/2), BASEVIDHEIGHT-32, V_ALLOWLOWERCASE, player_names[stplyr-players]); } } - /*else if (!demo.title) + else if (!demo.title) { if (!splitscreen) @@ -1925,7 +1925,7 @@ static void ST_overlayDrawer(void) { V_DrawCenteredThinString((vid.width/vid.dupx)/4, BASEVIDHEIGHT/2 - 12, V_HUDTRANSHALF|V_ALLOWLOWERCASE|K_calcSplitFlags(V_SNAPTOBOTTOM|V_SNAPTOLEFT), player_names[stplyr-players]); } - }*/ + } // This is where we draw all the fun cheese if you have the chasecam off! /*if ((stplyr == &players[displayplayers[0]] && !camera[0].chase) From 1e81924f9adfa2c18feeb64d7fa1f57a0166518c Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 3 May 2020 23:51:30 -0500 Subject: [PATCH 218/245] Don't use models for signposts based james --- src/hardware/hw_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 20861b00..1bad26ee 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -3972,7 +3972,7 @@ void HWR_DrawSprites(void) if (spr->mobj && spr->mobj->skin && spr->mobj->sprite == SPR_PLAY) { // 8/1/19: Only don't display player models if no default SPR_PLAY is found. - if (!cv_grmdls.value || ((md2_playermodels[(skin_t*)spr->mobj->skin-skins].notfound || md2_playermodels[(skin_t*)spr->mobj->skin-skins].scale < 0.0f) && ((!cv_grfallbackplayermodel.value) || md2_models[SPR_PLAY].notfound || md2_models[SPR_PLAY].scale < 0.0f))) + if (!cv_grmdls.value || ((md2_playermodels[(skin_t*)spr->mobj->skin-skins].notfound || md2_playermodels[(skin_t*)spr->mobj->skin-skins].scale < 0.0f) && ((!cv_grfallbackplayermodel.value) || md2_models[SPR_PLAY].notfound || md2_models[SPR_PLAY].scale < 0.0f)) || spr->mobj->state == &states[S_PLAY_SIGN]) HWR_DrawSprite(spr); else HWR_DrawMD2(spr); From dad80d8db17264fafda421edce5bb902466f19bf Mon Sep 17 00:00:00 2001 From: Wolfy Date: Tue, 5 May 2020 10:25:40 -0500 Subject: [PATCH 219/245] Fix the RA only linedef I forgot some stuff. --- src/p_spec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/p_spec.c b/src/p_spec.c index 4ddb3157..165a2eba 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -1982,6 +1982,7 @@ void P_LinedefExecute(INT16 tag, mobj_t *actor, sector_t *caller) if (lines[masterline].special == 313 || lines[masterline].special == 399 || lines[masterline].special == 328 + || lines[masterline].special == 323 // Each-time executors handle themselves, too || lines[masterline].special == 301 // Each time || lines[masterline].special == 306 // Character ability - Each time @@ -5659,7 +5660,7 @@ static void P_RunLevelLoadExecutors(void) for (i = 0; i < numlines; i++) { - if (lines[i].special == 399 || lines[i].special == 328) + if (lines[i].special == 399 || lines[i].special == 328 || lines[i].special == 323) P_RunTriggerLinedef(&lines[i], NULL, NULL); } } @@ -6561,7 +6562,6 @@ void P_SpawnSpecials(INT32 fromnetsave) break; // Record attack only linedef exec case 323: - case 324: if (!modeattacking) lines[i].special = 0; break; From c54a311a303a48af0b424f86c86aeb46a4e6b922 Mon Sep 17 00:00:00 2001 From: Steel Titanium Date: Fri, 8 May 2020 22:54:36 -0400 Subject: [PATCH 220/245] Add a default manifest file. The tldr is that it fixes opengl not working on systems with broken drivers, which is usually older intel GPUs --- src/win32/Srb2win.rc | 12 ++++++++++++ src/win32/srb2kart.exe.manifest | 22 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/win32/srb2kart.exe.manifest diff --git a/src/win32/Srb2win.rc b/src/win32/Srb2win.rc index b60ba750..d7a26dc8 100644 --- a/src/win32/Srb2win.rc +++ b/src/win32/Srb2win.rc @@ -1,3 +1,5 @@ +#include + //Microsoft Developer Studio generated resource script. // #include "resource.h" @@ -21,6 +23,16 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) #endif //_WIN32*/ +#ifndef RT_MANIFEST +#define RT_MANIFEST 24 +#endif + +#ifndef CREATEPROCESS_MANIFEST_RESOURCE_ID +#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1 +#endif + +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST srb2kart.exe.manifest + ///////////////////////////////////////////////////////////////////////////// // // Icon diff --git a/src/win32/srb2kart.exe.manifest b/src/win32/srb2kart.exe.manifest new file mode 100644 index 00000000..d3b8355c --- /dev/null +++ b/src/win32/srb2kart.exe.manifest @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + From d80981ab2240229ec1947b6ad19b7994c119aa75 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sat, 9 May 2020 01:17:10 -0500 Subject: [PATCH 221/245] Minor credits updates --- src/f_finale.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/f_finale.c b/src/f_finale.c index 2bf5c743..909ca261 100644 --- a/src/f_finale.c +++ b/src/f_finale.c @@ -442,6 +442,7 @@ static const char *credits[] = { "\"Lat\'\"", "\"Monster Iestyn\"", "\"Shuffle\"", + "\"SteelT\"", "", "\1Lead Artists", "Desmond \"Blade\" DesJardins", @@ -466,17 +467,17 @@ static const char *credits[] = { "\"DirkTheHusky\"", "\"LJSTAR\"", "\"MotorRoach\"", - "\"Mr. McScrewup\"", "\"Nev3r\"", + "\"rairai104n\"", "\"Ritz\"", "\"Rob\"", "\"SmithyGNC\"", "\"Snu\"", "\"Spherallic\"", + "\"TelosTurntable\"", "\"VAdaPEGA\"", "\"Virt\"", "\"Voltrix\"", - "\"zxyspku\"", "", "\1Sound Design", "James \"SeventhSentinel\" Hall", @@ -504,6 +505,7 @@ static const char *credits[] = { "Sherman \"CoatRack\" DesJardins", "Colette \"fickleheart\" Bordelon", "Vivian \"toaster\" Grannell", + "\"Gunla\"", "James \"SeventhSentinel\" Hall", "\"Lat\'\"", "\"MK\"", @@ -566,7 +568,7 @@ static struct { // This Tyler52 gag is troublesome // Alignment should be ((spaces+1 * 100) + (headers+1 * 38) + (lines * 15)) // Current max image spacing: (200*17) - {112, (15*100)+(17*38)+(86*15), "TYLER52", SKINCOLOR_NONE}, + {112, (15*100)+(17*38)+(88*15), "TYLER52", SKINCOLOR_NONE}, {0, 0, NULL, SKINCOLOR_NONE} }; From 09efbb3e8e5d4b479b21968b5d842a223577c85d Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sat, 9 May 2020 03:16:46 -0500 Subject: [PATCH 222/245] Update patch.kart hash --- src/config.h.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config.h.in b/src/config.h.in index f3f8339f..3746b8c4 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -52,7 +52,7 @@ #define ASSET_HASH_CHARS_KART "e2c428347dde52858a3dacd29fc5b964" #define ASSET_HASH_MAPS_KART "1335cd064656aedca359cfbb5233ac4a" #ifdef USE_PATCH_KART -#define ASSET_HASH_PATCH_KART "7093231f2c3c1cca1a909a708be85d9a" +#define ASSET_HASH_PATCH_KART "ae4229fb314f868629bce06c6a0fec3c" #endif #endif From 6519da0d9f502514bf15bebd0c84352f3f2df25f Mon Sep 17 00:00:00 2001 From: ThatAwesomeGuy173 Date: Sat, 9 May 2020 06:06:21 -0600 Subject: [PATCH 223/245] Display refusal message if there is no HTTP source and internal downloads are disabled --- src/d_clisrv.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 39432d1a..251f413a 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -2131,6 +2131,9 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic if (curl_failedwebdownload && !curl_transfers) { + if (!CL_FinishedFileList()) + break; + CONS_Printf("One or more files failed to download, falling back to internal downloader\n"); if (CL_SendRequestFile()) { From a4502f6ffb1599fb3625127919129465ae0492f3 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sat, 9 May 2020 09:15:17 -0500 Subject: [PATCH 224/245] Forgot to update date modified --- src/config.h.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config.h.in b/src/config.h.in index 3746b8c4..3d88f2a6 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -37,7 +37,7 @@ * Last updated 2015 / 05 / 03 - SRB2 v2.1.15 - srb2.srb * Last updated 2018 / 12 / 23 - SRB2 v2.1.22 - patch.dta * Last updated 2019 / 01 / 18 - Kart v1.0.2 - Main assets - * Last updated 2019 / 05 / 06 - Kart v1.1.0 - patch.kart + * Last updated 2020 / 05 / 09 - Kart v1.2 - patch.kart */ // Base SRB2 hashes From d24c4bab4404a4e36dbe1c67ae3be17c9fe61050 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sat, 9 May 2020 10:52:23 -0500 Subject: [PATCH 225/245] Update hash again --- src/config.h.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config.h.in b/src/config.h.in index 3d88f2a6..26060637 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -52,7 +52,7 @@ #define ASSET_HASH_CHARS_KART "e2c428347dde52858a3dacd29fc5b964" #define ASSET_HASH_MAPS_KART "1335cd064656aedca359cfbb5233ac4a" #ifdef USE_PATCH_KART -#define ASSET_HASH_PATCH_KART "ae4229fb314f868629bce06c6a0fec3c" +#define ASSET_HASH_PATCH_KART "6494a105636f4fd8100c2311a10c8456" #endif #endif From ec60fb0affee5528bab1e2de6dddce59c94bdea8 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Mon, 11 May 2020 17:47:24 -0500 Subject: [PATCH 226/245] HWR_CreateBlendedTexture optimizations By Hannu_Hanhi --- src/hardware/hw_md2.c | 50 +++++++++++++++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 9e77d22b..49e0ae95 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -670,6 +670,9 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, UINT8 cutoff[16]; // Brightness cutoff before using the next color UINT8 translen = 0; UINT8 i; + UINT16 b; + UINT8 colorbrightnesses[16]; + UINT8 color_match_lookup[256]; // optimization attempt blendcolor = V_GetColor(0); // initialize memset(translation, 0, sizeof(translation)); @@ -738,6 +741,37 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, translen++; } + if (skinnum == TC_RAINBOW && translen > 0) + { + INT32 compare; + + for (i = 0; i < translen; i++) // moved from inside the loop to here + { + RGBA_t tempc = V_GetColor(translation[i]); + SETBRIGHTNESS(colorbrightnesses[i], tempc.s.red, tempc.s.green, tempc.s.blue); // store brightnesses for comparison + } + // generate lookup table for color brightness matching + for (b = 0; b < 256; b++) + { + UINT16 brightdif = 256; + + color_match_lookup[i] = 0; + for (i = 0; i < translen; i++) + { + if (b > colorbrightnesses[i]) // don't allow greater matches (because calculating a makeshift gradient for this is already a huge mess as is) + continue; + + compare = abs((INT16)(colorbrightnesses[i]) - (INT16)(b)); + + if (compare < brightdif) + { + brightdif = (UINT16)compare; + color_match_lookup[b] = i; // best matching color that's equal brightness or darker + } + } + } + } + while (size--) { if (skinnum == TC_BOSS) @@ -822,9 +856,8 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, // Ensue horrible mess. if (skinnum == TC_RAINBOW) { - UINT16 brightdif = 256; - UINT8 colorbrightnesses[16]; - INT32 compare, m, d; + //UINT16 brightdif = 256; + INT32 /*compare,*/ m, d; // Ignore pure white & pitch black if (brightness > 253 || brightness < 2) @@ -838,13 +871,7 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, mul = 0; mulmax = 1; - for (i = 0; i < translen; i++) - { - RGBA_t tempc = V_GetColor(translation[i]); - SETBRIGHTNESS(colorbrightnesses[i], tempc.s.red, tempc.s.green, tempc.s.blue); // store brightnesses for comparison - } - - for (i = 0; i < translen; i++) + /*for (i = 0; i < translen; i++) { if (brightness > colorbrightnesses[i]) // don't allow greater matches (because calculating a makeshift gradient for this is already a huge mess as is) continue; @@ -856,7 +883,8 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, brightdif = (UINT16)compare; firsti = i; // best matching color that's equal brightness or darker } - } + }*/ + firsti = color_match_lookup[brightness]; secondi = firsti+1; // next color in line From dbb176c61e07dcfcdf912853ed80220d5cbf2ce2 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Thu, 8 Aug 2019 18:43:42 -0400 Subject: [PATCH 227/245] Makefile: stop building with DWARF v2 debugging info (cherry picked from commit 07f89fd6b5130b886ba20cf4e8a2f1022853fb14) --- src/win32/Makefile.cfg | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/win32/Makefile.cfg b/src/win32/Makefile.cfg index 46b103df..583a3c79 100644 --- a/src/win32/Makefile.cfg +++ b/src/win32/Makefile.cfg @@ -36,10 +36,6 @@ ifndef GCC44 #OPTS+=-mms-bitfields endif -ifndef MINGW64 - OPTS+=-gdwarf-2 -endif - ifndef SDL OPTS+=-D_WINDOWS endif From ca12cc2518c7861156623d757c1a87b2c1bee947 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Thu, 8 Aug 2019 20:27:57 -0400 Subject: [PATCH 228/245] Makefile: support GCC 9.1 (cherry picked from commit d5cc3ce48daf594fc64ecdbaeceb5c537cf5bf72) --- src/Makefile.cfg | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Makefile.cfg b/src/Makefile.cfg index ff4d2bac..056aad5d 100644 --- a/src/Makefile.cfg +++ b/src/Makefile.cfg @@ -7,11 +7,19 @@ # and other things # -ifdef GCC81 -GCC80=1 +ifdef GCC91 +GCC83=1 endif -ifdef GCC80 +ifdef GCC83 +GCC82=1 +endif + +ifdef GCC82 +GCC81=1 +endif + +ifdef GCC81 GCC72=1 endif From 42f71c027818903ae3889c76c1a12509d9230f73 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Thu, 8 Aug 2019 21:25:46 -0400 Subject: [PATCH 229/245] Tested to be compile with Mingw64 9.1.0 (cherry picked from commit 5a79a446dfc3632de3e27567afd65d9782510739) --- appveyor.yml | 2 +- src/Makefile.cfg | 3 +++ src/i_addrinfo.c | 12 ++++++------ src/m_misc.c | 2 +- src/sdl/i_system.c | 12 ++++++------ src/win32/fabdxlib.c | 2 +- src/win32/win_sys.c | 12 ++++++------ 7 files changed, 24 insertions(+), 21 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 79aecf9c..74f9601c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -92,7 +92,7 @@ before_build: - ccache -V - ccache -s - if [%NOUPX%] == [1] ( set "NOUPX=NOUPX=1" ) else ( set "NOUPX=" ) -- set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 GCC72=1 NOOBJDUMP=1 %NOUPX%" +- set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 GCC91=1 NOOBJDUMP=1 %NOUPX%" - if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1" ) else ( set "MINGW_FLAGS=MINGW=1" ) - set "SRB2_MFLAGS=%SRB2_MFLAGS% %MINGW_FLAGS% %CONFIGURATION%=1" diff --git a/src/Makefile.cfg b/src/Makefile.cfg index 056aad5d..3bd4749e 100644 --- a/src/Makefile.cfg +++ b/src/Makefile.cfg @@ -194,6 +194,9 @@ ifndef GCC295 endif endif WFLAGS+=-Wformat-y2k +ifdef GCC71 +WFLAGS+=-Wno-error=format-overflow=2 +endif WFLAGS+=-Wformat-security ifndef GCC29 #WFLAGS+=-Winit-self diff --git a/src/i_addrinfo.c b/src/i_addrinfo.c index 20766275..42d4b892 100644 --- a/src/i_addrinfo.c +++ b/src/i_addrinfo.c @@ -74,10 +74,10 @@ static int inet_aton(const char *cp, struct in_addr *addr) #ifdef USE_WINSOCK2 static HMODULE ipv6dll = NULL; -typedef int (WSAAPI *p_getaddrinfo) (const char *node, const char *service, - const struct my_addrinfo *hints, - struct my_addrinfo **res); -typedef void (WSAAPI *p_freeaddrinfo) (struct my_addrinfo *res); +typedef int (WSAAPI *p_getaddrinfo) (const char *, const char *, + const struct my_addrinfo *, + struct my_addrinfo **); +typedef void (WSAAPI *p_freeaddrinfo) (struct my_addrinfo *); static p_getaddrinfo WS_getaddrinfo = NULL; static p_freeaddrinfo WS_freeaddrinfo = NULL; @@ -86,10 +86,10 @@ static HMODULE WS_getfunctions(HMODULE tmp) { if (tmp != NULL) { - WS_getaddrinfo = (p_getaddrinfo)((void *)GetProcAddress(tmp, "getaddrinfo")); + WS_getaddrinfo = (p_getaddrinfo)(LPVOID)GetProcAddress(tmp, "getaddrinfo"); if (WS_getaddrinfo == NULL) return NULL; - WS_freeaddrinfo = (p_freeaddrinfo)((void *)GetProcAddress(tmp, "freeaddrinfo")); + WS_freeaddrinfo = (p_freeaddrinfo)(LPVOID)GetProcAddress(tmp, "freeaddrinfo"); if (WS_freeaddrinfo == NULL) { WS_getaddrinfo = NULL; diff --git a/src/m_misc.c b/src/m_misc.c index 6f07102b..87d648b2 100644 --- a/src/m_misc.c +++ b/src/m_misc.c @@ -58,7 +58,7 @@ typedef off_t off64_t; #endif #endif -#if defined(__MINGW32__) && ((__GNUC__ > 7) || (__GNUC__ == 6 && __GNUC_MINOR__ >= 3)) +#if defined(__MINGW32__) && ((__GNUC__ > 7) || (__GNUC__ == 6 && __GNUC_MINOR__ >= 3)) && (__GNUC__ < 8) #define PRIdS "u" #elif defined (_WIN32) #define PRIdS "Iu" diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index ef769564..b66a4e0a 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -2987,7 +2987,7 @@ static void I_ShutdownTimer(void) pfntimeGetTime = NULL; if (winmm) { - p_timeEndPeriod pfntimeEndPeriod = (p_timeEndPeriod)GetProcAddress(winmm, "timeEndPeriod"); + p_timeEndPeriod pfntimeEndPeriod = (p_timeEndPeriod)(LPVOID)GetProcAddress(winmm, "timeEndPeriod"); if (pfntimeEndPeriod) pfntimeEndPeriod(1); FreeLibrary(winmm); @@ -3032,10 +3032,10 @@ void I_StartupTimer(void) winmm = LoadLibraryA("winmm.dll"); if (winmm) { - p_timeEndPeriod pfntimeBeginPeriod = (p_timeEndPeriod)GetProcAddress(winmm, "timeBeginPeriod"); + p_timeEndPeriod pfntimeBeginPeriod = (p_timeEndPeriod)(LPVOID)GetProcAddress(winmm, "timeBeginPeriod"); if (pfntimeBeginPeriod) pfntimeBeginPeriod(1); - pfntimeGetTime = (p_timeGetTime)GetProcAddress(winmm, "timeGetTime"); + pfntimeGetTime = (p_timeGetTime)(LPVOID)GetProcAddress(winmm, "timeGetTime"); } I_AddExitFunc(I_ShutdownTimer); #endif @@ -3421,7 +3421,7 @@ void I_GetDiskFreeSpace(INT64 *freespace) if (!testwin95) { - pfnGetDiskFreeSpaceEx = (p_GetDiskFreeSpaceExA)GetProcAddress(GetModuleHandleA("kernel32.dll"), "GetDiskFreeSpaceExA"); + pfnGetDiskFreeSpaceEx = (p_GetDiskFreeSpaceExA)(LPVOID)GetProcAddress(GetModuleHandleA("kernel32.dll"), "GetDiskFreeSpaceExA"); testwin95 = true; } if (pfnGetDiskFreeSpaceEx) @@ -3445,7 +3445,7 @@ void I_GetDiskFreeSpace(INT64 *freespace) char *I_GetUserName(void) { - static char username[MAXPLAYERNAME]; + static char username[MAXPLAYERNAME+1]; char *p; #ifdef _WIN32 DWORD i = MAXPLAYERNAME; @@ -3941,7 +3941,7 @@ const CPUInfoFlags *I_CPUInfo(void) #if defined (_WIN32) static CPUInfoFlags WIN_CPUInfo; SYSTEM_INFO SI; - p_IsProcessorFeaturePresent pfnCPUID = (p_IsProcessorFeaturePresent)GetProcAddress(GetModuleHandleA("kernel32.dll"), "IsProcessorFeaturePresent"); + p_IsProcessorFeaturePresent pfnCPUID = (p_IsProcessorFeaturePresent)(LPVOID)GetProcAddress(GetModuleHandleA("kernel32.dll"), "IsProcessorFeaturePresent"); ZeroMemory(&WIN_CPUInfo,sizeof (WIN_CPUInfo)); if (pfnCPUID) diff --git a/src/win32/fabdxlib.c b/src/win32/fabdxlib.c index c19b036a..45ec5d0d 100644 --- a/src/win32/fabdxlib.c +++ b/src/win32/fabdxlib.c @@ -147,7 +147,7 @@ static inline BOOL LoadDirectDraw(VOID) DDrawDLL = LoadLibraryA("DDRAW.DLL"); if (DDrawDLL == NULL) return false; - pfnDirectDrawCreate = (DDCreate)GetProcAddress(DDrawDLL, "DirectDrawCreate"); + pfnDirectDrawCreate = (DDCreate)(LPVOID)GetProcAddress(DDrawDLL, "DirectDrawCreate"); if (pfnDirectDrawCreate == NULL) return false; return true; diff --git a/src/win32/win_sys.c b/src/win32/win_sys.c index a98aa861..b32ee617 100644 --- a/src/win32/win_sys.c +++ b/src/win32/win_sys.c @@ -3395,7 +3395,7 @@ BOOL LoadDirectInput(VOID) DInputDLL = LoadLibraryA("DINPUT.DLL"); if (DInputDLL == NULL) return false; - pfnDirectInputCreateA = (DICreateA)GetProcAddress(DInputDLL, "DirectInputCreateA"); + pfnDirectInputCreateA = (DICreateA)(LPVOID)GetProcAddress(DInputDLL, "DirectInputCreateA"); if (pfnDirectInputCreateA == NULL) return false; return true; @@ -3529,7 +3529,7 @@ void I_GetDiskFreeSpace(INT64* freespace) if (!testwin95) { - pfnGetDiskFreeSpaceEx = (p_GetDiskFreeSpaceExA)GetProcAddress(GetModuleHandleA("kernel32.dll"), "GetDiskFreeSpaceExA"); + pfnGetDiskFreeSpaceEx = (p_GetDiskFreeSpaceExA)(LPVOID)GetProcAddress(GetModuleHandleA("kernel32.dll"), "GetDiskFreeSpaceExA"); testwin95 = true; } if (pfnGetDiskFreeSpaceEx) @@ -3615,7 +3615,7 @@ const CPUInfoFlags *I_CPUInfo(void) { static CPUInfoFlags WIN_CPUInfo; SYSTEM_INFO SI; - p_IsProcessorFeaturePresent pfnCPUID = (p_IsProcessorFeaturePresent)GetProcAddress(GetModuleHandleA("kernel32.dll"), "IsProcessorFeaturePresent"); + p_IsProcessorFeaturePresent pfnCPUID = (p_IsProcessorFeaturePresent)(LPVOID)GetProcAddress(GetModuleHandleA("kernel32.dll"), "IsProcessorFeaturePresent"); ZeroMemory(&WIN_CPUInfo,sizeof (WIN_CPUInfo)); if (pfnCPUID) @@ -3658,9 +3658,9 @@ static p_SetProcessAffinityMask pfnSetProcessAffinityMask = NULL; static inline VOID GetAffinityFuncs(VOID) { HMODULE h = GetModuleHandleA("kernel32.dll"); - pfnGetCurrentProcess = (p_GetCurrentProcess)GetProcAddress(h, "GetCurrentProcess"); - pfnGetProcessAffinityMask = (p_GetProcessAffinityMask)GetProcAddress(h, "GetProcessAffinityMask"); - pfnSetProcessAffinityMask = (p_SetProcessAffinityMask)GetProcAddress(h, "SetProcessAffinityMask"); + pfnGetCurrentProcess = (p_GetCurrentProcess)(LPVOID)GetProcAddress(h, "GetCurrentProcess"); + pfnGetProcessAffinityMask = (p_GetProcessAffinityMask)(LPVOID)GetProcAddress(h, "GetProcessAffinityMask"); + pfnSetProcessAffinityMask = (p_SetProcessAffinityMask)(LPVOID)GetProcAddress(h, "SetProcessAffinityMask"); } static void CPUAffinity_OnChange(void) From ef022ef72c0b8f4f9a37c7bd637e1e5c84749305 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Thu, 8 Aug 2019 22:34:09 -0400 Subject: [PATCH 230/245] Makefile: GCC80 does not exist (cherry picked from commit eacf89e309d555bda78ed69945a7d995e56a3292) --- src/Makefile.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile.cfg b/src/Makefile.cfg index 3bd4749e..a3baeedd 100644 --- a/src/Makefile.cfg +++ b/src/Makefile.cfg @@ -235,7 +235,7 @@ ifdef GCC71 WFLAGS+=-Wno-implicit-fallthrough WFLAGS+=-Wno-format-truncation endif -ifdef GCC80 +ifdef GCC81 WFLAGS+=-Wno-error=format-overflow WFLAGS+=-Wno-error=stringop-truncation WFLAGS+=-Wno-error=stringop-overflow From 1ee81fa9f85e7b2e0745f4280572db9a0a6ba0f9 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Thu, 8 Aug 2019 23:02:03 -0400 Subject: [PATCH 231/245] Appveyor: the Mingw64 is 9.1, the Mingw32 is still 7.3 (cherry picked from commit 33c0b825a7cdfd6538f388748dba334191fbb9ee) --- appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 74f9601c..336b0b4d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -92,8 +92,8 @@ before_build: - ccache -V - ccache -s - if [%NOUPX%] == [1] ( set "NOUPX=NOUPX=1" ) else ( set "NOUPX=" ) -- set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 GCC91=1 NOOBJDUMP=1 %NOUPX%" -- if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1" ) else ( set "MINGW_FLAGS=MINGW=1" ) +- set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 GCC73=1 NOOBJDUMP=1 %NOUPX%" +- if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1 GCC91=1" ) else ( set "MINGW_FLAGS=MINGW=1" ) - set "SRB2_MFLAGS=%SRB2_MFLAGS% %MINGW_FLAGS% %CONFIGURATION%=1" build_script: From 557fe2ec99279a4be352f70e69d1695be367bd47 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Thu, 8 Aug 2019 23:05:24 -0400 Subject: [PATCH 232/245] Appveyor: other way around, the Mingw32 is at 9.1 (cherry picked from commit 0c2b3002944b28cd823326fb5febc71fad120ca0) --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 336b0b4d..e685e386 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -93,7 +93,7 @@ before_build: - ccache -s - if [%NOUPX%] == [1] ( set "NOUPX=NOUPX=1" ) else ( set "NOUPX=" ) - set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 GCC73=1 NOOBJDUMP=1 %NOUPX%" -- if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1 GCC91=1" ) else ( set "MINGW_FLAGS=MINGW=1" ) +- if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1" ) else ( set "MINGW_FLAGS=MINGW=1 GCC91=1" ) - set "SRB2_MFLAGS=%SRB2_MFLAGS% %MINGW_FLAGS% %CONFIGURATION%=1" build_script: From f2dc6ad4d18ecb8a3bd0a74fbcd3c40a581b6828 Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 2 Jan 2020 14:58:09 -0800 Subject: [PATCH 233/245] Remove Direct Draw from AppVeyor config (cherry picked from commit 945f50c2736ee64734dcc94f36ff7dff4085c8e2) --- appveyor.yml | 281 +++++++++++++++++++++++++-------------------------- 1 file changed, 136 insertions(+), 145 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index e685e386..deaba185 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,145 +1,136 @@ -version: 1.2.{branch}-{build} -os: MinGW - -environment: - CC: ccache - CCACHE_CC: i686-w64-mingw32-gcc - CCACHE_CC_64: x86_64-w64-mingw32-gcc - WINDRES: windres - # c:\mingw-w64 i686 has gcc 6.3.0, so use c:\msys64 7.3.0 instead - MINGW_SDK: c:\msys64\mingw32 - # c:\msys64 x86_64 has gcc 8.2.0, so use c:\mingw-w64 7.3.0 instead - MINGW_SDK_64: C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64 - CFLAGS: -Wall -W -Werror -Wno-error=implicit-fallthrough -Wimplicit-fallthrough=3 -Wno-tautological-compare -Wno-error=suggest-attribute=noreturn - NASM_ZIP: nasm-2.12.01 - NASM_URL: http://www.nasm.us/pub/nasm/releasebuilds/2.12.01/win64/nasm-2.12.01-win64.zip - UPX_ZIP: upx391w - UPX_URL: http://upx.sourceforge.net/download/upx391w.zip - CCACHE_EXE: ccache.exe - CCACHE_URL: http://alam.srb2.org/ccache.exe - CCACHE_COMPRESS: true - CCACHE_DIR: C:\Users\appveyor\.ccache - # Disable UPX by default. The user can override this in their Appveyor project settings - NOUPX: 1 - ############################## - # DEPLOYER VARIABLES - # DPL_ENABLED=1 builds installers for branch names starting with `deployer`. - # DPL_TAG_ENABLED=1 will also build installers for release tags. DPL_ENABLED=1 must also be set. - # Set these in the Appveyor project settings - ############################## - DPL_ENABLED: 0 - DPL_TAG_ENABLED: 0 - DPL_INSTALLER_NAME: srb2kart-v12 - # Asset handling is barebones vs. Travis Deployer. We operate on 7z only. - # Include the README files and the OpenGL batch in the main and patch archives. - # The x86/x64 archives contain the DLL binaries. - ASSET_ARCHIVE_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-assets.7z - ASSET_ARCHIVE_PATCH_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-patch-assets.7z - ASSET_ARCHIVE_X86_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-x86-assets.7z - ASSET_ARCHIVE_X64_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-x64-assets.7z - ASSET_ARCHIVE_OPTIONAL_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-optional-assets.7z - # This is overridden to 1 for release tag builds - ASSET_FILES_OPTIONAL_GET: 0 - # For patches, also include the X86/X64 DLLs. - PACKAGE_PATCH_DLL_GET: 0 - # Delete all asset downloads so they can be redownloaded - ASSET_CLEAN: 0 - -cache: -- nasm-2.12.01.zip -- upx391w.zip -- ccache.exe -- C:\Users\appveyor\.ccache -- C:\Users\appveyor\srb2_cache - -install: -- if [%CONFIGURATION%] == [SDL64] ( set "X86_64=1" ) -- if [%CONFIGURATION%] == [SDL64] ( set "CONFIGURATION=SDL" ) -- if [%CONFIGURATION%] == [DD64] ( set "X86_64=1" ) -- if [%CONFIGURATION%] == [DD64] ( set "CONFIGURATION=DD" ) -- if [%X86_64%] == [1] ( set "MINGW_SDK=%MINGW_SDK_64%" ) -- if [%X86_64%] == [1] ( set "CCACHE_CC=%CCACHE_CC_64%" ) - -- if not exist "%NASM_ZIP%.zip" appveyor DownloadFile "%NASM_URL%" -FileName "%NASM_ZIP%.zip" -- 7z x -y "%NASM_ZIP%.zip" -o%TMP% >null -- robocopy /S /xx /ns /nc /nfl /ndl /np /njh /njs "%TMP%\%NASM_ZIP%" "%MINGW_SDK%\bin" nasm.exe || exit 0 - -- if not exist "%UPX_ZIP%.zip" appveyor DownloadFile "%UPX_URL%" -FileName "%UPX_ZIP%.zip" -- 7z x -y "%UPX_ZIP%.zip" -o%TMP% >null -- robocopy /S /xx /ns /nc /nfl /ndl /np /njh /njs "%TMP%\%UPX_ZIP%" "%MINGW_SDK%\bin" upx.exe || exit 0 - -- if not exist "%CCACHE_EXE%" appveyor DownloadFile "%CCACHE_URL%" -FileName "%CCACHE_EXE%" -- ccache -M 99M -- xcopy /Y /V /I ccache.exe "%MINGW_SDK%\bin" - -configuration: -- SDL -- SDL64 -#- DD -#- DD64 - -matrix: - allow_failures: - - configuration: DD - - configuration: DD64 - -before_build: -- set "Path=%MINGW_SDK%\bin;%Path%" -- if [%X86_64%] == [1] ( x86_64-w64-mingw32-gcc --version ) else ( i686-w64-mingw32-gcc --version ) -- mingw32-make --version -- if not [%X86_64%] == [1] ( nasm -v ) -- if not [%NOUPX%] == [1] ( upx -V ) -- ccache -V -- ccache -s -- if [%NOUPX%] == [1] ( set "NOUPX=NOUPX=1" ) else ( set "NOUPX=" ) -- set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 GCC73=1 NOOBJDUMP=1 %NOUPX%" -- if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1" ) else ( set "MINGW_FLAGS=MINGW=1 GCC91=1" ) -- set "SRB2_MFLAGS=%SRB2_MFLAGS% %MINGW_FLAGS% %CONFIGURATION%=1" - -build_script: -- cmd: mingw32-make.exe %SRB2_MFLAGS% clean -- cmd: mingw32-make.exe %SRB2_MFLAGS% ERRORMODE=1 -k - -after_build: -- if [%X86_64%] == [1] ( - set "BUILD_PATH=bin\Mingw64\Release" - ) else ( - set "BUILD_PATH=bin\Mingw\Release" - ) -- if [%X86_64%] == [1] ( set "CONFIGURATION=%CONFIGURATION%64" ) -- ccache -s -- cmd: git rev-parse --short %APPVEYOR_REPO_COMMIT%>%TMP%/gitshort.txt -- cmd: set /P GITSHORT=<%TMP%/gitshort.txt -- set BUILD_ARCHIVE=%APPVEYOR_REPO_BRANCH%-%GITSHORT%-%CONFIGURATION%.7z -- set BUILDSARCHIVE=%APPVEYOR_REPO_BRANCH%-%CONFIGURATION%.7z -- cmd: 7z a %BUILD_ARCHIVE% %BUILD_PATH% -xr!.gitignore -- appveyor PushArtifact %BUILD_ARCHIVE% -- cmd: copy %BUILD_ARCHIVE% %BUILDSARCHIVE% -- appveyor PushArtifact %BUILDSARCHIVE% -############################## -# DEPLOYER SCRIPT -############################## -- if [%DPL_ENABLED%] == [1] ( call "deployer\appveyor\deployer.bat" ) - -test: off - -#deploy: -# - provider: FTP -# protocol: ftps -# host: -# secure: NsLJEPIBvmwCOj8Tg8RoRQ== -# username: -# secure: ejxi5mvk7oLYu7QtbYojajEPigMy0mokaKhuEVuDZcA= -# password: -# secure: Hbn6Uy3lT0YZ88yFJ3aW4w== -# folder: appveyor -# application: -# active_mode: false -# on: -# branch: master -# appveyor_repo_tag: true - - -on_finish: -#- cmd: echo xfreerdp /u:appveyor /cert-ignore +clipboard /v:: -#- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) +version: 1.2.{branch}-{build} +os: MinGW + +environment: + CC: ccache + CCACHE_CC: i686-w64-mingw32-gcc + CCACHE_CC_64: x86_64-w64-mingw32-gcc + WINDRES: windres + # c:\mingw-w64 i686 has gcc 6.3.0, so use c:\msys64 7.3.0 instead + MINGW_SDK: c:\msys64\mingw32 + # c:\msys64 x86_64 has gcc 8.2.0, so use c:\mingw-w64 7.3.0 instead + MINGW_SDK_64: C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64 + CFLAGS: -Wall -W -Werror -Wno-error=implicit-fallthrough -Wimplicit-fallthrough=3 -Wno-tautological-compare -Wno-error=suggest-attribute=noreturn + NASM_ZIP: nasm-2.12.01 + NASM_URL: http://www.nasm.us/pub/nasm/releasebuilds/2.12.01/win64/nasm-2.12.01-win64.zip + UPX_ZIP: upx391w + UPX_URL: http://upx.sourceforge.net/download/upx391w.zip + CCACHE_EXE: ccache.exe + CCACHE_URL: http://alam.srb2.org/ccache.exe + CCACHE_COMPRESS: true + CCACHE_DIR: C:\Users\appveyor\.ccache + # Disable UPX by default. The user can override this in their Appveyor project settings + NOUPX: 1 + ############################## + # DEPLOYER VARIABLES + # DPL_ENABLED=1 builds installers for branch names starting with `deployer`. + # DPL_TAG_ENABLED=1 will also build installers for release tags. DPL_ENABLED=1 must also be set. + # Set these in the Appveyor project settings + ############################## + DPL_ENABLED: 0 + DPL_TAG_ENABLED: 0 + DPL_INSTALLER_NAME: srb2kart-v12 + # Asset handling is barebones vs. Travis Deployer. We operate on 7z only. + # Include the README files and the OpenGL batch in the main and patch archives. + # The x86/x64 archives contain the DLL binaries. + ASSET_ARCHIVE_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-assets.7z + ASSET_ARCHIVE_PATCH_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-patch-assets.7z + ASSET_ARCHIVE_X86_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-x86-assets.7z + ASSET_ARCHIVE_X64_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-x64-assets.7z + ASSET_ARCHIVE_OPTIONAL_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-optional-assets.7z + # This is overridden to 1 for release tag builds + ASSET_FILES_OPTIONAL_GET: 0 + # For patches, also include the X86/X64 DLLs. + PACKAGE_PATCH_DLL_GET: 0 + # Delete all asset downloads so they can be redownloaded + ASSET_CLEAN: 0 + +cache: +- nasm-2.12.01.zip +- upx391w.zip +- ccache.exe +- C:\Users\appveyor\.ccache +- C:\Users\appveyor\srb2_cache + +install: +- if [%CONFIGURATION%] == [SDL64] ( set "X86_64=1" ) +- if [%CONFIGURATION%] == [SDL64] ( set "CONFIGURATION=SDL" ) +- if [%X86_64%] == [1] ( set "MINGW_SDK=%MINGW_SDK_64%" ) +- if [%X86_64%] == [1] ( set "CCACHE_CC=%CCACHE_CC_64%" ) + +- if not exist "%NASM_ZIP%.zip" appveyor DownloadFile "%NASM_URL%" -FileName "%NASM_ZIP%.zip" +- 7z x -y "%NASM_ZIP%.zip" -o%TMP% >null +- robocopy /S /xx /ns /nc /nfl /ndl /np /njh /njs "%TMP%\%NASM_ZIP%" "%MINGW_SDK%\bin" nasm.exe || exit 0 + +- if not exist "%UPX_ZIP%.zip" appveyor DownloadFile "%UPX_URL%" -FileName "%UPX_ZIP%.zip" +- 7z x -y "%UPX_ZIP%.zip" -o%TMP% >null +- robocopy /S /xx /ns /nc /nfl /ndl /np /njh /njs "%TMP%\%UPX_ZIP%" "%MINGW_SDK%\bin" upx.exe || exit 0 + +- if not exist "%CCACHE_EXE%" appveyor DownloadFile "%CCACHE_URL%" -FileName "%CCACHE_EXE%" +- ccache -M 99M +- xcopy /Y /V /I ccache.exe "%MINGW_SDK%\bin" + +configuration: +- SDL +- SDL64 + +before_build: +- set "Path=%MINGW_SDK%\bin;%Path%" +- if [%X86_64%] == [1] ( x86_64-w64-mingw32-gcc --version ) else ( i686-w64-mingw32-gcc --version ) +- mingw32-make --version +- if not [%X86_64%] == [1] ( nasm -v ) +- if not [%NOUPX%] == [1] ( upx -V ) +- ccache -V +- ccache -s +- if [%NOUPX%] == [1] ( set "NOUPX=NOUPX=1" ) else ( set "NOUPX=" ) +- set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 GCC73=1 NOOBJDUMP=1 %NOUPX%" +- if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1" ) else ( set "MINGW_FLAGS=MINGW=1 GCC91=1" ) +- set "SRB2_MFLAGS=%SRB2_MFLAGS% %MINGW_FLAGS% %CONFIGURATION%=1" + +build_script: +- cmd: mingw32-make.exe %SRB2_MFLAGS% clean +- cmd: mingw32-make.exe %SRB2_MFLAGS% ERRORMODE=1 -k + +after_build: +- if [%X86_64%] == [1] ( + set "BUILD_PATH=bin\Mingw64\Release" + ) else ( + set "BUILD_PATH=bin\Mingw\Release" + ) +- if [%X86_64%] == [1] ( set "CONFIGURATION=%CONFIGURATION%64" ) +- ccache -s +- cmd: git rev-parse --short %APPVEYOR_REPO_COMMIT%>%TMP%/gitshort.txt +- cmd: set /P GITSHORT=<%TMP%/gitshort.txt +- set BUILD_ARCHIVE=%APPVEYOR_REPO_BRANCH%-%GITSHORT%-%CONFIGURATION%.7z +- set BUILDSARCHIVE=%APPVEYOR_REPO_BRANCH%-%CONFIGURATION%.7z +- cmd: 7z a %BUILD_ARCHIVE% %BUILD_PATH% -xr!.gitignore +- appveyor PushArtifact %BUILD_ARCHIVE% +- cmd: copy %BUILD_ARCHIVE% %BUILDSARCHIVE% +- appveyor PushArtifact %BUILDSARCHIVE% +############################## +# DEPLOYER SCRIPT +############################## +- if [%DPL_ENABLED%] == [1] ( call "deployer\appveyor\deployer.bat" ) + +test: off + +#deploy: +# - provider: FTP +# protocol: ftps +# host: +# secure: NsLJEPIBvmwCOj8Tg8RoRQ== +# username: +# secure: ejxi5mvk7oLYu7QtbYojajEPigMy0mokaKhuEVuDZcA= +# password: +# secure: Hbn6Uy3lT0YZ88yFJ3aW4w== +# folder: appveyor +# application: +# active_mode: false +# on: +# branch: master +# appveyor_repo_tag: true + + +on_finish: +#- cmd: echo xfreerdp /u:appveyor /cert-ignore +clipboard /v:: +#- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) From 68bbec8277e83bc165a978b26e121407cb9217d4 Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 2 Jan 2020 15:45:13 -0800 Subject: [PATCH 234/245] Use GCC 8.1 for x86_64 (cherry picked from commit 658b8dcfa95935bbaef92c15476ad57ecc96950f) --- appveyor.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index deaba185..6925d2b4 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -9,7 +9,7 @@ environment: # c:\mingw-w64 i686 has gcc 6.3.0, so use c:\msys64 7.3.0 instead MINGW_SDK: c:\msys64\mingw32 # c:\msys64 x86_64 has gcc 8.2.0, so use c:\mingw-w64 7.3.0 instead - MINGW_SDK_64: C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64 + MINGW_SDK_64: C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64 CFLAGS: -Wall -W -Werror -Wno-error=implicit-fallthrough -Wimplicit-fallthrough=3 -Wno-tautological-compare -Wno-error=suggest-attribute=noreturn NASM_ZIP: nasm-2.12.01 NASM_URL: http://www.nasm.us/pub/nasm/releasebuilds/2.12.01/win64/nasm-2.12.01-win64.zip @@ -83,8 +83,8 @@ before_build: - ccache -V - ccache -s - if [%NOUPX%] == [1] ( set "NOUPX=NOUPX=1" ) else ( set "NOUPX=" ) -- set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 GCC73=1 NOOBJDUMP=1 %NOUPX%" -- if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1" ) else ( set "MINGW_FLAGS=MINGW=1 GCC91=1" ) +- set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 NOOBJDUMP=1 %NOUPX%" +- if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1 GCC81=1" ) else ( set "MINGW_FLAGS=MINGW=1 GCC91=1" ) - set "SRB2_MFLAGS=%SRB2_MFLAGS% %MINGW_FLAGS% %CONFIGURATION%=1" build_script: From aedf1bed23419f571c76d9aa91f1baea686a87d4 Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 23 Jan 2020 18:01:59 -0800 Subject: [PATCH 235/245] Put branch name and commit hash in EXENAME for AppVeyor builds srb2win-master-a6d49eaaa70be5f88c26623c7b4a2fa5a770341e.exe (cherry picked from commit c3f42859882e6a1a789668d9b78d1310dd5e7312) --- appveyor.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 6925d2b4..f6e3d836 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -83,7 +83,8 @@ before_build: - ccache -V - ccache -s - if [%NOUPX%] == [1] ( set "NOUPX=NOUPX=1" ) else ( set "NOUPX=" ) -- set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 NOOBJDUMP=1 %NOUPX%" +- set "EXENAME=EXENAME=srb2win-%APPVEYOR_REPO_BRANCH%-%APPVEYOR_REPO_COMMIT%.exe" +- set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 NOOBJDUMP=1 %NOUPX% %EXENAME%" - if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1 GCC81=1" ) else ( set "MINGW_FLAGS=MINGW=1 GCC91=1" ) - set "SRB2_MFLAGS=%SRB2_MFLAGS% %MINGW_FLAGS% %CONFIGURATION%=1" From e9c34556a0c3166db3d322c6f41fa2d580140601 Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 23 Jan 2020 18:09:34 -0800 Subject: [PATCH 236/245] Put the abbreviated commit hash in the EXENAME for AppVeyor srb2win-master-a6d49eaaa.exe (cherry picked from commit d3315ae03c57296bfb5a7f9f5959492bdb7de24c) --- appveyor.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index f6e3d836..f8a2d17e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -83,7 +83,9 @@ before_build: - ccache -V - ccache -s - if [%NOUPX%] == [1] ( set "NOUPX=NOUPX=1" ) else ( set "NOUPX=" ) -- set "EXENAME=EXENAME=srb2win-%APPVEYOR_REPO_BRANCH%-%APPVEYOR_REPO_COMMIT%.exe" +# get abbreviated (7 char) commit hash +- set "COMMIT=%APPVEYOR_REPO_COMMIT:~0,7%" +- set "EXENAME=EXENAME=srb2win-%APPVEYOR_REPO_BRANCH%-%COMMIT%.exe" - set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 NOOBJDUMP=1 %NOUPX% %EXENAME%" - if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1 GCC81=1" ) else ( set "MINGW_FLAGS=MINGW=1 GCC91=1" ) - set "SRB2_MFLAGS=%SRB2_MFLAGS% %MINGW_FLAGS% %CONFIGURATION%=1" From 9261f593ec9fcada0a2711211b309c49a7b9bfac Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 23 Jan 2020 18:55:25 -0800 Subject: [PATCH 237/245] Well I'm an idiot (cherry picked from commit b1d931d471bcf2ec9a40f6e7e52518807c5fd14b) --- appveyor.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index f8a2d17e..2211be32 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -83,9 +83,9 @@ before_build: - ccache -V - ccache -s - if [%NOUPX%] == [1] ( set "NOUPX=NOUPX=1" ) else ( set "NOUPX=" ) -# get abbreviated (7 char) commit hash -- set "COMMIT=%APPVEYOR_REPO_COMMIT:~0,7%" -- set "EXENAME=EXENAME=srb2win-%APPVEYOR_REPO_BRANCH%-%COMMIT%.exe" +- cmd: git rev-parse --short %APPVEYOR_REPO_COMMIT%>%TMP%/gitshort.txt +- cmd: set /P GITSHORT=<%TMP%/gitshort.txt +- set "EXENAME=EXENAME=srb2win-%APPVEYOR_REPO_BRANCH%-%GITSHORT%.exe" - set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 NOOBJDUMP=1 %NOUPX% %EXENAME%" - if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1 GCC81=1" ) else ( set "MINGW_FLAGS=MINGW=1 GCC91=1" ) - set "SRB2_MFLAGS=%SRB2_MFLAGS% %MINGW_FLAGS% %CONFIGURATION%=1" @@ -102,8 +102,6 @@ after_build: ) - if [%X86_64%] == [1] ( set "CONFIGURATION=%CONFIGURATION%64" ) - ccache -s -- cmd: git rev-parse --short %APPVEYOR_REPO_COMMIT%>%TMP%/gitshort.txt -- cmd: set /P GITSHORT=<%TMP%/gitshort.txt - set BUILD_ARCHIVE=%APPVEYOR_REPO_BRANCH%-%GITSHORT%-%CONFIGURATION%.7z - set BUILDSARCHIVE=%APPVEYOR_REPO_BRANCH%-%CONFIGURATION%.7z - cmd: 7z a %BUILD_ARCHIVE% %BUILD_PATH% -xr!.gitignore From de3a47b6484510b047f407652c8799f0cedc32d6 Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 23 Jan 2020 19:58:26 -0800 Subject: [PATCH 238/245] Use the pull request repo, branch and commit srb2win-jameds:appveyor-exename-b1d931d47.exe (cherry picked from commit ef2febe1e01bc7c93f30d2063bfd754b1a79dd3a) --- appveyor.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 2211be32..4ed97ba8 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -83,9 +83,12 @@ before_build: - ccache -V - ccache -s - if [%NOUPX%] == [1] ( set "NOUPX=NOUPX=1" ) else ( set "NOUPX=" ) -- cmd: git rev-parse --short %APPVEYOR_REPO_COMMIT%>%TMP%/gitshort.txt +- if defined [%APPVEYOR_PULL_REQUEST_HEAD_COMMIT%] ( set "COMMIT=%APPVEYOR_PULL_REQUEST_HEAD_COMMIT%" ) else ( set "COMMIT=%APPVEYOR_REPO_COMMIT%" ) +- cmd: git rev-parse --short %COMMIT%>%TMP%/gitshort.txt - cmd: set /P GITSHORT=<%TMP%/gitshort.txt -- set "EXENAME=EXENAME=srb2win-%APPVEYOR_REPO_BRANCH%-%GITSHORT%.exe" +# for pull requests, take the owner's name only, if this isn't the same repo of course +- if [%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%] == [%APPVEYOR_REPO_NAME%] ( set "REPO=%APPVEYOR_REPO_BRANCH" ) else ( for /f "delims=/" %%a in ("%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%") do set "REPO=%%a:%APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH" ) +- set "EXENAME=EXENAME=srb2win-%REPO%-%GITSHORT%.exe" - set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 NOOBJDUMP=1 %NOUPX% %EXENAME%" - if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1 GCC81=1" ) else ( set "MINGW_FLAGS=MINGW=1 GCC91=1" ) - set "SRB2_MFLAGS=%SRB2_MFLAGS% %MINGW_FLAGS% %CONFIGURATION%=1" From 85adab23062b4de555db2756bbe3bcee0ac7ad3a Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 23 Jan 2020 20:13:57 -0800 Subject: [PATCH 239/245] I promise I know what I'm doing (cherry picked from commit 6337932190d68d6f825f4f5dd47a6f3655c88f16) --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 4ed97ba8..883938b7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -87,7 +87,7 @@ before_build: - cmd: git rev-parse --short %COMMIT%>%TMP%/gitshort.txt - cmd: set /P GITSHORT=<%TMP%/gitshort.txt # for pull requests, take the owner's name only, if this isn't the same repo of course -- if [%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%] == [%APPVEYOR_REPO_NAME%] ( set "REPO=%APPVEYOR_REPO_BRANCH" ) else ( for /f "delims=/" %%a in ("%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%") do set "REPO=%%a:%APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH" ) +- if [%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%] == [%APPVEYOR_REPO_NAME%] ( set "REPO=%APPVEYOR_REPO_BRANCH%" ) else ( for /f "delims=/" %%a in ("%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%") do set "REPO=%%a:%APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH%" ) - set "EXENAME=EXENAME=srb2win-%REPO%-%GITSHORT%.exe" - set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 NOOBJDUMP=1 %NOUPX% %EXENAME%" - if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1 GCC81=1" ) else ( set "MINGW_FLAGS=MINGW=1 GCC91=1" ) From dc6f270906cc9ce9aab19bb6efa4d21893aee71c Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 23 Jan 2020 20:34:26 -0800 Subject: [PATCH 240/245] Check if this actually is a PR before using those variables (cherry picked from commit e082553f6d3a90baf97e056ab6790ce136f502d0) --- appveyor.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 883938b7..bedee2e8 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -87,7 +87,8 @@ before_build: - cmd: git rev-parse --short %COMMIT%>%TMP%/gitshort.txt - cmd: set /P GITSHORT=<%TMP%/gitshort.txt # for pull requests, take the owner's name only, if this isn't the same repo of course -- if [%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%] == [%APPVEYOR_REPO_NAME%] ( set "REPO=%APPVEYOR_REPO_BRANCH%" ) else ( for /f "delims=/" %%a in ("%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%") do set "REPO=%%a:%APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH%" ) +- set "REPO=%APPVEYOR_REPO_BRANCH%" +- if not [%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%] == [] ( if not [%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%] == [%APPVEYOR_REPO_NAME%] ( for /f "delims=/" %%a in ("%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%") do set "REPO=%%a:%APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH%" ) ) - set "EXENAME=EXENAME=srb2win-%REPO%-%GITSHORT%.exe" - set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 NOOBJDUMP=1 %NOUPX% %EXENAME%" - if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1 GCC81=1" ) else ( set "MINGW_FLAGS=MINGW=1 GCC91=1" ) From 60c9b98e939f3a3be4359da78d1b6e0e6f29eb1f Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 23 Jan 2020 20:35:53 -0800 Subject: [PATCH 241/245] Windows is dumb so no colon srb2win-jameds-appveyor-exename-b1d931d47.exe (cherry picked from commit 70cf119a8402607116b2f8fbb79028a2de0e8d96) --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index bedee2e8..e940b3cc 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -88,7 +88,7 @@ before_build: - cmd: set /P GITSHORT=<%TMP%/gitshort.txt # for pull requests, take the owner's name only, if this isn't the same repo of course - set "REPO=%APPVEYOR_REPO_BRANCH%" -- if not [%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%] == [] ( if not [%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%] == [%APPVEYOR_REPO_NAME%] ( for /f "delims=/" %%a in ("%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%") do set "REPO=%%a:%APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH%" ) ) +- if not [%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%] == [] ( if not [%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%] == [%APPVEYOR_REPO_NAME%] ( for /f "delims=/" %%a in ("%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%") do set "REPO=%%a-%APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH%" ) ) - set "EXENAME=EXENAME=srb2win-%REPO%-%GITSHORT%.exe" - set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 NOOBJDUMP=1 %NOUPX% %EXENAME%" - if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1 GCC81=1" ) else ( set "MINGW_FLAGS=MINGW=1 GCC91=1" ) From 25b47cf81fb49060c89712824fa04ffc9aaac0c4 Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 23 Jan 2020 21:06:48 -0800 Subject: [PATCH 242/245] Name the archive like the EXE (cherry picked from commit 4304fe91e65845e3887935de046876b6313af9c9) --- appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index e940b3cc..749e12ca 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -106,8 +106,8 @@ after_build: ) - if [%X86_64%] == [1] ( set "CONFIGURATION=%CONFIGURATION%64" ) - ccache -s -- set BUILD_ARCHIVE=%APPVEYOR_REPO_BRANCH%-%GITSHORT%-%CONFIGURATION%.7z -- set BUILDSARCHIVE=%APPVEYOR_REPO_BRANCH%-%CONFIGURATION%.7z +- set BUILD_ARCHIVE=%REPO%-%GITSHORT%-%CONFIGURATION%.7z +- set BUILDSARCHIVE=%REPO%-%CONFIGURATION%.7z - cmd: 7z a %BUILD_ARCHIVE% %BUILD_PATH% -xr!.gitignore - appveyor PushArtifact %BUILD_ARCHIVE% - cmd: copy %BUILD_ARCHIVE% %BUILDSARCHIVE% From cbf565c6d629be3d7bdaa6308863055d6b84fcb6 Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 11 May 2020 18:55:20 -0700 Subject: [PATCH 243/245] Disable 64-bit Appveyor builds --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 749e12ca..4ad24ee0 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -72,7 +72,7 @@ install: configuration: - SDL -- SDL64 +#- SDL64 before_build: - set "Path=%MINGW_SDK%\bin;%Path%" From 0b887e92ba298070208ce3991dcb1b048d5827fb Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 11 May 2020 18:57:38 -0700 Subject: [PATCH 244/245] Fucking shadowed declarations in hw_md2.c --- src/hardware/hw_md2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 49e0ae95..7d97bd06 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -670,7 +670,6 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, UINT8 cutoff[16]; // Brightness cutoff before using the next color UINT8 translen = 0; UINT8 i; - UINT16 b; UINT8 colorbrightnesses[16]; UINT8 color_match_lookup[256]; // optimization attempt @@ -743,6 +742,7 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, if (skinnum == TC_RAINBOW && translen > 0) { + UINT16 b; INT32 compare; for (i = 0; i < translen; i++) // moved from inside the loop to here From f856f18233da492c9446f70a2856e2e178ddfd1a Mon Sep 17 00:00:00 2001 From: Wolfy Date: Mon, 11 May 2020 22:31:38 -0500 Subject: [PATCH 245/245] Update patch.kart hash --- src/config.h.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config.h.in b/src/config.h.in index 26060637..a7a0be53 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -52,7 +52,7 @@ #define ASSET_HASH_CHARS_KART "e2c428347dde52858a3dacd29fc5b964" #define ASSET_HASH_MAPS_KART "1335cd064656aedca359cfbb5233ac4a" #ifdef USE_PATCH_KART -#define ASSET_HASH_PATCH_KART "6494a105636f4fd8100c2311a10c8456" +#define ASSET_HASH_PATCH_KART "2a556446ab428492110e7544841e1f42" #endif #endif

~QnCe^kM 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

VLDN4Ylx?EMJl8aWUmbP!flAxY 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 literal 0 HcmV?d00001 diff --git a/libs/curl/lib32/libcurl.dll.a b/libs/curl/lib32/libcurl.dll.a new file mode 100644 index 0000000000000000000000000000000000000000..ff1003b6e0a6b62bafa9d713a8e3152f00fe7da8 GIT binary patch literal 151856 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 a`@1=dDmCLh9SarN->C{ZJedrarvDEhhM*q+ literal 0 HcmV?d00001 diff --git a/libs/curl/lib64/libcurl-x64.dll b/libs/curl/lib64/libcurl-x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..7dab52541745f2e5127394e5878d70ed5fb2b9c3 GIT binary patch literal 665600 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 z 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 z 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