- backend update from Raze.

This commit is contained in:
Christoph Oelckers 2023-01-09 17:04:00 +01:00
parent 26518f8660
commit c8b3d95d6f
4 changed files with 12 additions and 5 deletions

View file

@ -266,6 +266,8 @@ bool FZipFile::Open(bool quiet, LumpFilterInfo* filter)
continue; // 'filter' is a reserved name of the file system. continue; // 'filter' is a reserved name of the file system.
if (name.IndexOf("__macosx") == 0) if (name.IndexOf("__macosx") == 0)
continue; // skip Apple garbage. At this stage only the root folder matters. continue; // skip Apple garbage. At this stage only the root folder matters.
if (name.IndexOf(".bat") >= 0 || name.IndexOf(".exe") >= 0)
continue; // also ignore executables for this.
if (!foundprefix) if (!foundprefix)
{ {
// check for special names, if one of these gets found this must be treated as a normal zip. // check for special names, if one of these gets found this must be treated as a normal zip.

View file

@ -252,6 +252,7 @@ void PClass::StaticShutdown ()
// Make a full garbage collection here so that all destroyed but uncollected higher level objects // Make a full garbage collection here so that all destroyed but uncollected higher level objects
// that still exist are properly taken down before the low level data is deleted. // that still exist are properly taken down before the low level data is deleted.
GC::FullGC(); GC::FullGC();
GC::FullGC();
Namespaces.ReleaseSymbols(); Namespaces.ReleaseSymbols();

View file

@ -47,6 +47,7 @@
#include "v_text.h" #include "v_text.h"
#include "vm.h" #include "vm.h"
#include "i_interface.h" #include "i_interface.h"
#include "r_videoscale.h"
FGameTexture* CrosshairImage; FGameTexture* CrosshairImage;
static int CrosshairNum; static int CrosshairNum;
@ -367,9 +368,11 @@ void DStatusBarCore::SetScale()
double screenaspect = w / double(h); double screenaspect = w / double(h);
double aspectscale = 1.0; double aspectscale = 1.0;
double ViewportAspect = ViewportPixelAspect();
if ((horz == 320 && vert == 200) || (horz == 640 && vert == 400)) if ((horz == 320 && vert == 200) || (horz == 640 && vert == 400))
{ {
refaspect = 1.333; refaspect = (4. / 3.);
if (!hud_aspectscale) aspectscale = 1 / 1.2; if (!hud_aspectscale) aspectscale = 1 / 1.2;
} }
@ -384,9 +387,9 @@ void DStatusBarCore::SetScale()
refw = h * refaspect; refw = h * refaspect;
} }
refw *= hud_scalefactor; refw *= hud_scalefactor;
refh *= hud_scalefactor * aspectscale; refh *= hud_scalefactor * aspectscale / ViewportAspect;
int sby = vert - int(RelTop * hud_scalefactor * aspectscale); int sby = vert - int(RelTop * hud_scalefactor * aspectscale / ViewportAspect);
// Use full pixels for destination size. // Use full pixels for destination size.
ST_X = xs_CRoundToInt((w - refw) / 2); ST_X = xs_CRoundToInt((w - refw) / 2);

View file

@ -3,6 +3,7 @@
#include <stddef.h> #include <stddef.h>
#include <stdint.h> #include <stdint.h>
#include <algorithm> #include <algorithm>
#include "xs_Float.h"
#define MAXWIDTH 12000 #define MAXWIDTH 12000
#define MAXHEIGHT 5000 #define MAXHEIGHT 5000
@ -103,12 +104,12 @@ inline double RAD2DEG(double rad)
inline angle_t RAD2BAM(float rad) inline angle_t RAD2BAM(float rad)
{ {
return angle_t(rad * float(0x80000000u / M_PI)); return angle_t(xs_RoundToUInt(rad * float(0x80000000u / M_PI)));
} }
inline angle_t RAD2BAM(double rad) inline angle_t RAD2BAM(double rad)
{ {
return angle_t(rad * (0x80000000u / M_PI)); return angle_t(xs_RoundToUInt(rad * (0x80000000u / M_PI)));
} }