games-fps/gzdoom: treeclean

This commit is contained in:
2023-07-05 19:37:50 -07:00
parent ea3b35cb21
commit 2cdf6e3081
54 changed files with 0 additions and 15702 deletions

View File

@@ -1,51 +0,0 @@
From ac07dac1782544b61e44b9fe1d5f0fffd356aa15 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sun, 4 Dec 2022 17:10:09 -0300
Subject: [PATCH 01/51] Add casts to F32 Map/MapIterator functions to get rid
of double to float conversion warnings
---
src/common/scripting/core/maps.cpp | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/common/scripting/core/maps.cpp b/src/common/scripting/core/maps.cpp
index bb7cd369b..28fda643e 100644
--- a/src/common/scripting/core/maps.cpp
+++ b/src/common/scripting/core/maps.cpp
@@ -162,7 +162,15 @@ template<typename M> void MapInsert(M * self, expand_types_vm<typename M::KeyTyp
MAP_GC_WRITE_BARRIER(self);
GC::WriteBarrier(value);
}
- self->Insert(key, value);
+
+ if constexpr(std::is_same_v<typename M::ValueType, float>)
+ {
+ self->Insert(key,static_cast<float>(value));
+ }
+ else
+ {
+ self->Insert(key, value);
+ }
self->info->rev++; // invalidate iterators
}
@@ -246,7 +254,15 @@ template<typename I> void MapIteratorSetValue(I * self, expand_types_vm<typename
GC::WriteBarrier(val);
GC::WriteBarrier(value);
}
- val = value;
+
+ if constexpr(std::is_same_v<typename I::ValueType, float>)
+ {
+ val = static_cast<float>(value);
+ }
+ else
+ {
+ val = value;
+ }
}
--
2.39.3

View File

@@ -1,25 +0,0 @@
From e07fcbfc8f1be46712ce5a3271334b63494ac3d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sun, 4 Dec 2022 17:21:09 -0300
Subject: [PATCH 02/51] Fix PMapValueReader warning on Clang/GCC
---
src/common/scripting/core/types.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/common/scripting/core/types.cpp b/src/common/scripting/core/types.cpp
index 702277e89..3054335ac 100644
--- a/src/common/scripting/core/types.cpp
+++ b/src/common/scripting/core/types.cpp
@@ -2603,7 +2603,7 @@ template<typename M>
static bool PMapValueReader(FSerializer &ar, M *map, const PMap *m)
{
const char * k;
- while(k = ar.GetKey())
+ while((k = ar.GetKey()))
{
typename M::ValueType * val;
if constexpr(std::is_same_v<typename M::KeyType,FString>)
--
2.39.3

View File

@@ -1,25 +0,0 @@
From 0d60192f3dfed0c6bf62a037241329543c006b4d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sun, 4 Dec 2022 22:25:51 -0300
Subject: [PATCH 03/51] Fix Quicksave Rotation
---
src/g_game.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/g_game.cpp b/src/g_game.cpp
index d015fe837..4a3398fde 100644
--- a/src/g_game.cpp
+++ b/src/g_game.cpp
@@ -2250,7 +2250,7 @@ void G_DoQuickSave ()
num.Int = lastquicksave;
quicksavenum->ForceSet (num, CVAR_Int);
- file = G_BuildSaveName(FStringf("quick%02d", nextautosave));
+ file = G_BuildSaveName(FStringf("quick%02d", lastquicksave));
readableTime = myasctime ();
description.Format("Quicksave %s", readableTime);
--
2.39.3

View File

@@ -1,180 +0,0 @@
From 370fcda5fa5fb07bbc6bfbbedb4004e7af0a4119 Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Mon, 5 Dec 2022 12:05:26 +0100
Subject: [PATCH 04/51] - fixed some bad character offsets in Doom's and
Raven's small fonts and deleted an incomplete character.
---
.../filter/doom.id/fonts/defsmallfont/00CE.lmp | Bin 94 -> 94 bytes
.../filter/doom.id/fonts/defsmallfont/00CF.lmp | Bin 124 -> 124 bytes
.../filter/doom.id/fonts/defsmallfont/00D1.lmp | Bin 164 -> 164 bytes
.../filter/doom.id/fonts/defsmallfont/00D2.lmp | Bin 136 -> 136 bytes
.../game-heretic/fonts/defsmallfont/0404.lmp | Bin 129 -> 129 bytes
.../game-heretic/fonts/defsmallfont/0490.lmp | Bin 123 -> 123 bytes
.../game-hexen/fonts/defsmallfont/0403.png | Bin 1196 -> 0 bytes
.../game-hexen/fonts/defsmallfont/0404.lmp | Bin 0 -> 129 bytes
.../game-hexen/fonts/defsmallfont/0404.png | Bin 893 -> 0 bytes
.../game-hexen/fonts/defsmallfont/0490.lmp | Bin 0 -> 123 bytes
.../game-hexen/fonts/defsmallfont/0490.png | Bin 891 -> 0 bytes
11 files changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0403.png
create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0404.lmp
delete mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0404.png
create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0490.lmp
delete mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0490.png
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00CE.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00CE.lmp
index fac2a4633e3c904203afa3c02714f849a4c630ca..30e2b0d3be7650dca0d8b59edb49c108f63835be 100644
GIT binary patch
delta 13
Ucma!xV`pXHVqjokp2!{!01Pex#Q*>R
delta 13
Scma!xV`pXHVgQ1P?BM_mA_2kx
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00CF.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00CF.lmp
index 2f6dcf7c27c5b216f5b85965dcc8ef0663d689a1..bf0359c31651ee01f24dbec2ec46df3b1f986af5 100644
GIT binary patch
delta 13
Ucmb=aVdr4rVqjokp2%Jb01sFKA^-pY
delta 13
Scmb=aVdr4rVgQ1P?4<w?OadPO
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00D1.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00D1.lmp
index 8550355ab3699de87175570913fb5f65e07a0814..7eb9f80f279da2421d163a9ff03e80d736cc6207 100644
GIT binary patch
delta 15
WcmZ3&xP+0NgMo{Ifq{7<`&<AOZ~~kF
delta 15
VcmZ3&xP+0NgMo_y2qv=61ppOf0+|2+
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00D2.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00D2.lmp
index 0eec3cb2186064aaf0a583716488129222c7faaa..4d0011457d016daf70c24ed5a28e1ed873d2b5ba 100644
GIT binary patch
delta 15
WcmeBR>|kW)VBlh4U|^oe-Ut8^L;^?v
delta 15
UcmeBR>|kW)VBlf^f{E;n01`L?MF0Q*
diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0404.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0404.lmp
index d515a5a362e89d28f9cd28dd57c7338c14538824..af549dd86f3dd84956c7c3fbe24759017b21c939 100644
GIT binary patch
delta 16
XcmZo<Y-Hr%U|?rpVEFfcB1a_v8*c<F
delta 16
UcmZo<Y-Hr%U|?qefr%WI01|xyE&u=k
diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0490.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0490.lmp
index 4b98625cbe7f45c201de284354c02281c15ccc99..945b1c6bd28470aebc4d4a39a26de61da93cd312 100644
GIT binary patch
delta 14
Vcmb=f=HOu9U|?YQ|9>J!F#s7f1Q`GT
delta 14
Vcmb=f=HOu9U|?WiVwlKL3;+;E0v!MV
diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0403.png b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0403.png
deleted file mode 100644
index c6ea83aeeb115b78e29217ea6d6686ef4de817aa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1196
zcmd^9!K>V45TEBO<hAJ|Vh)i8jF7_~B1Fw0V1&@-)$|#8DNP}i6e8xZhX^S~2ofY<
z)J66Xbq|Y1h`5Iw7TrS*D{Ntf9=5RPA}j1+4|}M%g+1({hhC)P_xf-6@y!hUhWX9#
z&5!S^n`h?nr7M>J;P~{$$t@C(h*3v}#J|w__rr6b{n6DANCZTDCc&pHz#-gx@Ah>9
z2^`Halx0~Y$MZbPvNTOo6eX*IC^4KsF&x;MWGbRA@i-no9S)xi2D^TLTNIm4XPu_Y
zIG%^$EC{BaH*wv@wnwH}>-s>`N=50*av@1wQOpG)<N1W+VwMdVrcKj6MR^qEP?QZ|
z0vKez-3A{maXrK31Q!j?YMhoh>0y&U9j5z1ye-2`FIaWGMefWqdzxBJYz`x15b9;1
z6~5YWmCTV7TMEsVZ-|aASSqi}oFcK3$n5v~?RLA_Y}V`ba=Dz(=d;;tI-QQk<ECkb
z!(m<5RaN!-{a&xv?RN7#&$28@k|>J8Fbsmg^E}seZQC|Y(=ZH8(^OTJWx3UAiK3Wb
z6z$vXjqfj9Z)!Uu)2ei%r|P+^#*!R}Er%Bjj#C&`q-l<t*2TE$jQUw!BvmIWv#^&2
z-Pp@RHx2B>w<6bQJGyVFuAw-(T;)NLIC*F#zTS2e&y;LUG!#C~f+%*|q3s2x<7%d@
z=%%FVEyQ@Yc2^VQK`D<?q4d~}LB-O!4sgB3$pp(1(-eIlbsYr(0rmio09F8VfGI!&
zPy>_zU4RTA2519#0AyukU)wFtW;h&TQD7XS<DjY%6%iV82@T;O1f)6#2mze)zPmN9
zCO9jxNpav|p<%{9iMd_GY}(Aqr{^y9z=p92Bjfp;xI%0Y3&ar7L=+LB)}d0NCqqXh
z;%pf*uZpb9)1<|7DQN&QfC#_=5D>63aBE>oN^t>;3d#t=It>5#`}kde1NivXnL|?l
z>+`erk3^p8;=LPp$d+mL+z#OTA6_Qlo2MsNZy$XZJp6rr_|yHjzr6qBZ(l!r{OjFU
z#kZK(zU5!)&yOx#{^XlKUw`NBE1w_yb%A^~ca|?+yv%&@2C0VA>t`pwTzmhs{{Z$O
Ba>@Vz
diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0404.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0404.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..cec6e159655acc71a3bea2d48f12112da4b75d78
GIT binary patch
literal 129
zcmX|(!3}^g3<Fb8WiL=wR8{-s$(sQffB_hQ0T`d+BE;jYixY(gGrQZYT*N9iv5P~T
q;u6D10%*>YF+{SN##mAcpI2lgUGzSqAiq5+`}?Zh)W0~1@6jIQbr0JB
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0404.png b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0404.png
deleted file mode 100644
index 0e4d9ac52322e0ad145632cc74a3a5d257330a17..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 893
zcmW-fF{s;C6oyaw28E{vQ#1&wK`A0QAc_VJDrgX?-a~yTM31L{C>oR^iicZJL4yi{
z2r7zOJg6Xw2MroLXfVWs1`i(G5Q-okoZy0?9y|o<!GkF&ghJu;HgNAf+<Q6yf8hUq
zx_)HcIsf<^0Pb9UadAWIZMvD;XY~AF`0qCWXK?-S@g=<?0N-P5+eSn|5IBxwS(afK
zMH3~t$BRsl2S=AJRWf7&=ks^d>D$TVI36F0Vm}=2(sUEYD?++3T>AdP^IFH5Syp2h
z6J4)Vb*w0bERQ597sX5v5}uDaj`Vs1mJJxjXBd}Z8~_Wzq{AHd_-2E<4mS&2x7anf
ztZ-3co4=c;r%8OM$i57>BY&N{tIS!Zb{kvM$ea+P3iTq;hMt<aO5(`G>IbIe8ltTU
zhQg~dCriE4>2x?8_WS*Ax7%zstJSLOy5({?pU>O2old7s)6{i69*@hi9F0bKo@ZH>
zBuNxSgpe={ec$&y&v6{fvP{#|bzRdmMN#_wz9dNrM$u_7*ayMd^Ouf0v+UY1OU=j?
zEtZu~>brty^1RyPB$nlwWmC-S;cT2WMN$u=DkEhYj$%J2UK%<{U`L)gaE-v$JX3WI
zrOv}5adToPfiZAZ-;y0&GF2hX!YK9z#PLJR^>oWo4NKOHK4N^_dE15gqEcq5Soz%0
zWMUa;*0|f@Vu4kKX^KIBhJm6;VK@Q20oVep0G0qPKm$+#i~ur#7+?V41JKB5UWWsA
z9ZsiM6d1?ox~OTCA}T`{m7y9`fOh8q1i<~@_qfCD0=o*^6em6wI%dM#m_J6n{h+rE
z*p<h;aA0o1%zQs5ZV_9=0+AqEh!P?+2Gkmq3JfI*XWvu=P2v=Rr55i|(g73ziJ}ca
z9|3C<4>qQ>71yw?p^AVsg#2**mrB1sySjMr_`5&utsb1i-4D;6|2ew3e|i7u-GA`)
zkMpmeoc(<9$**7jVn4qsFB|#z+u!`F-~C&!%5QId`s}0btDBe93*hSV(Z#dRpM3ux
DKQnIz
diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0490.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0490.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..16033384e9ef18923ca85327569eff6e9eb20461
GIT binary patch
literal 123
zcmXYpK?;B{3<OgYc7G7sL+jB8_y8Z!2YB@A)&E1>N+Gi>$q*XNEMiw4;uKw6;uep1
kMFI(EfJlngYALgC*|U?{llAxHEWo(iDml;MKFjzOAAP0|fB*mh
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0490.png b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0490.png
deleted file mode 100644
index 4af1bb68091ca11c81730a6c549cbc56ec9a452b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 891
zcmW-fF{s;C6oyYpsKQf%DH;S7)F~QF(V&2!8Wa$XUaCA)o<bDRpn^h0@Ss5y4NB1<
z8kL&V1+{oEMT4LoGzjW~3MTj!6*8#c!34J$s)C0M9y}QOhK#2-fqU=ap2PXhf&YJY
z|6IRu^8N_`+&H^;`hdi1Z|=1#<h^`({v6;6-2d$1UGhbs*&byW1|o7C$1n^{(-cLC
za-SD^Y@h0}U@C$x@v6Y#V)44FE@!jDbh^*7-DuRs@g@vczTbLY<2Xy(u1#~U>!qsB
z6eX9WsVHWGFy{HR-%mI$V%d;k{9bQJ(=J6h6lGDA37`XLWSPSbUv02!akIpAjctid
zj>`$w>FX*!&cc1}?<U@M?5tC3m6%Oz)S+Gl+RRsTPsv<)WJ`%9MyBBF16SiMwQtCr
zDzcKm2z>8&Jnr}V-EP-)-Da~{tyXQ@HchiwEb6+hs;Vr@q9~@*>0~k)kH=}6CP@-S
zQ4j>a?|Yu-IF4=GrfKTBu4$U0D6%YzqBs}~c%F|i2#&+y&UM$e)0oy=Hwsmo$Z9Ie
zp&)wvz~cHE%St_lr)idI%4|`L=F_CiqGA-}i9d<Gap<JJ9eZZv8iB11E!8z-TazqR
zEK)CvtkgFmR~=fCqYI|OYZ4bHUJ%+t-*i0PvK8HwR9%qO0b+RQ?Cnx}k&E-VpF7M*
zqe20Q*4TBpTw<PM9HZ-^s$##707rmV09$|+Km$+%lmI!v7$5-%0fqn$0FjL7wclgg
zVpU<5VHl!ip)3;@5ezv5Ll^`=x>Eojz<M+H(BXE8ZH{$}GY2yT6Yer(4?%A?>}_3o
zWm7LqSm-d<-tLK8#2PU}^bvJL9uZ0v3K=FMjCf+sfhKY?&xjmNM!dC>0w4nL04xAW
z0u~zX4U9=Eu3=q39)Mr^{_ns2@HZ)ce0KWD!zcfEkFI`wadG?Ge=ly|{BHI5Px|Eg
zv+v)Pe!l$gj|U%q`TXYN>tFr&^46!HfAGyae_j0opt|>-e(R@SKOzJ;yL*26%biD0
F{|BW2ZJ7W7
--
2.39.3

View File

@@ -1,70 +0,0 @@
From 91930dfe53d6ca1432c9e58cb108124e5b3ea5b0 Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Mon, 5 Dec 2022 12:29:03 +0100
Subject: [PATCH 05/51] - fixed GC::FullGC not collecting everything anymore.
With the delayed handling of internal references of destroyed objects the function now returned without making sure that it really got everything.
Repeating until it cannot delete anything new anymore makes it work again as intended.
---
src/common/objects/dobjgc.cpp | 40 ++++++++++++++++++++---------------
1 file changed, 23 insertions(+), 17 deletions(-)
diff --git a/src/common/objects/dobjgc.cpp b/src/common/objects/dobjgc.cpp
index 34199efff..9baffc3a3 100644
--- a/src/common/objects/dobjgc.cpp
+++ b/src/common/objects/dobjgc.cpp
@@ -550,28 +550,34 @@ void Step()
void FullGC()
{
- if (State <= GCS_Propagate)
+ bool ContinueCheck = true;
+ while (ContinueCheck)
{
- // Reset sweep mark to sweep all elements (returning them to white)
- SweepPos = &Root;
- // Reset other collector lists
- Gray = nullptr;
- State = GCS_Sweep;
- }
- // Finish any pending GC stages
- while (State != GCS_Pause)
- {
- SingleStep();
- }
- // Loop until everything that can be destroyed and freed is
- do
- {
- MarkRoot();
+ ContinueCheck = false;
+ if (State <= GCS_Propagate)
+ {
+ // Reset sweep mark to sweep all elements (returning them to white)
+ SweepPos = &Root;
+ // Reset other collector lists
+ Gray = nullptr;
+ State = GCS_Sweep;
+ }
+ // Finish any pending GC stages
while (State != GCS_Pause)
{
SingleStep();
}
- } while (HadToDestroy);
+ // Loop until everything that can be destroyed and freed is
+ do
+ {
+ MarkRoot();
+ while (State != GCS_Pause)
+ {
+ SingleStep();
+ }
+ ContinueCheck |= HadToDestroy;
+ } while (HadToDestroy);
+ }
}
//==========================================================================
--
2.39.3

View File

@@ -1,55 +0,0 @@
From 50c0860dd6dd34c9aeff63e8cc348ecdc103f498 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Mon, 5 Dec 2022 15:05:08 -0300
Subject: [PATCH 06/51] Fix wrong assumptions about actor initialization in
Map/MapIterator
---
src/common/scripting/core/types.cpp | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/src/common/scripting/core/types.cpp b/src/common/scripting/core/types.cpp
index 3054335ac..838275dad 100644
--- a/src/common/scripting/core/types.cpp
+++ b/src/common/scripting/core/types.cpp
@@ -2399,10 +2399,6 @@ void PMap::Construct(void * addr) const {
void PMap::InitializeValue(void *addr, const void *def) const
{
- if (def != nullptr)
- {
- I_Error("Map cannot have default values");
- }
Construct(addr);
}
@@ -2475,7 +2471,6 @@ void PMap::DestroyValue(void *addr) const
void PMap::SetDefaultValue(void *base, unsigned offset, TArray<FTypeAndOffset> *special)
{
- assert(!(base && special));
if (base != nullptr)
{
Construct(((uint8_t*)base)+offset); // is this needed? string/dynarray do this initialization if base != nullptr, but their initialization doesn't need to allocate
@@ -2868,10 +2863,6 @@ void PMapIterator::Construct(void * addr) const {
void PMapIterator::InitializeValue(void *addr, const void *def) const
{
- if (def != nullptr)
- {
- I_Error("Map cannot have default values");
- }
Construct(addr);
}
@@ -2944,7 +2935,6 @@ void PMapIterator::DestroyValue(void *addr) const
void PMapIterator::SetDefaultValue(void *base, unsigned offset, TArray<FTypeAndOffset> *special)
{
- assert(!(base && special));
if (base != nullptr)
{
Construct(((uint8_t*)base)+offset);
--
2.39.3

View File

@@ -1,26 +0,0 @@
From 7fcd1ab5449e451d1eeb2529839f0cfda7a67724 Mon Sep 17 00:00:00 2001
From: Boondorl <59555366+Boondorl@users.noreply.github.com>
Date: Tue, 6 Dec 2022 06:02:28 -0500
Subject: [PATCH 07/51] Fixed IsActorPlayingSound's default argument
Now properly passes the invalid sound id.
---
wadsrc/static/zscript/actors/actor.zs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/wadsrc/static/zscript/actors/actor.zs b/wadsrc/static/zscript/actors/actor.zs
index 4fbc2e761..978fc34ab 100644
--- a/wadsrc/static/zscript/actors/actor.zs
+++ b/wadsrc/static/zscript/actors/actor.zs
@@ -1129,7 +1129,7 @@ class Actor : Thinker native
native void A_StopSounds(int chanmin, int chanmax);
deprecated("2.3", "Use A_StartSound() instead") native void A_PlaySoundEx(sound whattoplay, name slot, bool looping = false, int attenuation = 0);
deprecated("2.3", "Use A_StopSound() instead") native void A_StopSoundEx(name slot);
- native clearscope bool IsActorPlayingSound(int channel, Sound snd = 0);
+ native clearscope bool IsActorPlayingSound(int channel, Sound snd = -1);
native void A_SeekerMissile(int threshold, int turnmax, int flags = 0, int chance = 50, int distance = 10);
native action state A_Jump(int chance, statelabel label, ...);
native Actor A_SpawnProjectile(class<Actor> missiletype, double spawnheight = 32, double spawnofs_xy = 0, double angle = 0, int flags = 0, double pitch = 0, int ptr = AAPTR_TARGET);
--
2.39.3

View File

@@ -1,27 +0,0 @@
From 1fcc6826eada90cd550398376ecac9bf582aed2f Mon Sep 17 00:00:00 2001
From: "alexey.lysiuk" <alexey.lysiuk@gmail.com>
Date: Sun, 11 Dec 2022 17:15:09 +0200
Subject: [PATCH 08/51] - removed clangformat from discord-rpc
---
libraries/discordrpc/src/CMakeLists.txt | 4 ----
1 file changed, 4 deletions(-)
diff --git a/libraries/discordrpc/src/CMakeLists.txt b/libraries/discordrpc/src/CMakeLists.txt
index 18c3009e2..34aca1e4b 100644
--- a/libraries/discordrpc/src/CMakeLists.txt
+++ b/libraries/discordrpc/src/CMakeLists.txt
@@ -118,10 +118,6 @@ if (${BUILD_SHARED_LIBS})
target_compile_definitions(discord-rpc PRIVATE -DDISCORD_BUILDING_SDK)
endif(${BUILD_SHARED_LIBS})
-if (CLANG_FORMAT_CMD)
- add_dependencies(discord-rpc clangformat)
-endif(CLANG_FORMAT_CMD)
-
# install
install(
--
2.39.3

View File

@@ -1,27 +0,0 @@
From 7cfb72ee4deead7a800fb9c82719bf0c2b86aa9d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sun, 18 Dec 2022 15:43:54 -0300
Subject: [PATCH 09/51] Error out instead of crashing for vector out variables
---
src/common/scripting/vm/vmexec.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/common/scripting/vm/vmexec.h b/src/common/scripting/vm/vmexec.h
index 671bfc081..6716509da 100644
--- a/src/common/scripting/vm/vmexec.h
+++ b/src/common/scripting/vm/vmexec.h
@@ -824,6 +824,10 @@ static int ExecScriptFunc(VMFrameStack *stack, VMReturn *ret, int numret)
assert(b < f->NumRegF);
::new(param) VMValue(&reg.f[b]);
break;
+ case REGT_FLOAT | REGT_MULTIREG2 | REGT_ADDROF:
+ case REGT_FLOAT | REGT_MULTIREG3 | REGT_ADDROF:
+ case REGT_FLOAT | REGT_MULTIREG4 | REGT_ADDROF:
+ I_Error("REGT_ADDROF not implemented for vectors\n");
case REGT_FLOAT | REGT_KONST:
assert(b < sfunc->NumKonstF);
::new(param) VMValue(konstf[b]);
--
2.39.3

View File

@@ -1,45 +0,0 @@
From f4374179284cc9581c8ec7d629d1e93cfd443b16 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sun, 18 Dec 2022 21:19:18 -0300
Subject: [PATCH 10/51] Fix StripLeftRight
---
src/common/utility/zstring.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/common/utility/zstring.cpp b/src/common/utility/zstring.cpp
index 8d4d4d119..2b3c4f1fe 100644
--- a/src/common/utility/zstring.cpp
+++ b/src/common/utility/zstring.cpp
@@ -843,7 +843,7 @@ void FString::StripLeftRight ()
}
for (j = max - 1; j >= i; --j)
{
- if (Chars[i] < 0 || !isspace((unsigned char)Chars[j]))
+ if (Chars[j] < 0 || !isspace((unsigned char)Chars[j]))
break;
}
if (i == 0 && j == max - 1)
@@ -863,7 +863,7 @@ void FString::StripLeftRight ()
{
FStringData *old = Data();
AllocBuffer(j - i + 1);
- StrCopy(Chars, old->Chars(), j - i + 1);
+ StrCopy(Chars, old->Chars() + i, j - i + 1);
old->Release();
}
}
@@ -899,8 +899,8 @@ void FString::StripLeftRight (const char *charset)
else
{
FStringData *old = Data();
- AllocBuffer (j - i);
- StrCopy (Chars, old->Chars(), j - i);
+ AllocBuffer (j - i + 1);
+ StrCopy (Chars, old->Chars() + i, j - i + 1);
old->Release();
}
}
--
2.39.3

View File

@@ -1,28 +0,0 @@
From ab0f928bc324750ae5e8f4b92b308fe8e0a00d7e Mon Sep 17 00:00:00 2001
From: CandiceJoy <candice@candicejoy.com>
Date: Sun, 1 Jan 2023 22:51:37 -0500
Subject: [PATCH 11/51] Fixed custom height and width not saving.
Signed-off-by: CandiceJoy <candice@candicejoy.com>
---
src/common/menu/resolutionmenu.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/common/menu/resolutionmenu.cpp b/src/common/menu/resolutionmenu.cpp
index 6074d018a..1920927bb 100644
--- a/src/common/menu/resolutionmenu.cpp
+++ b/src/common/menu/resolutionmenu.cpp
@@ -83,8 +83,8 @@ CCMD (menu_resolution_commit_changes)
vid_fullscreen = true;
vid_scalemode = 5;
vid_scalefactor = 1.;
- vid_scale_customwidth = menu_resolution_custom_width;
- vid_scale_customheight = menu_resolution_custom_height;
+ vid_scale_customwidth = *menu_resolution_custom_width;
+ vid_scale_customheight = *menu_resolution_custom_height;
vid_scale_custompixelaspect = 1.0;
}
}
--
2.39.3

View File

@@ -1,176 +0,0 @@
From 112d0060d58dd2a107fed3c5454504f67128d88f Mon Sep 17 00:00:00 2001
From: Marisa the Magician <marisa@sayachan.org>
Date: Wed, 4 Jan 2023 11:56:15 +0100
Subject: [PATCH 12/51] Prevent important messages from being accidentally
filtered.
---
src/common/engine/serializer.cpp | 2 +-
src/common/filesystem/filesystem.cpp | 4 ++--
src/common/menu/menu.cpp | 2 +-
src/common/scripting/vm/vmframe.cpp | 2 +-
src/d_main.cpp | 2 +-
src/g_level.cpp | 2 +-
src/p_conversation.cpp | 2 +-
src/playsim/dthinker.cpp | 4 ++--
src/playsim/p_acs.cpp | 2 +-
src/playsim/p_spec.cpp | 2 +-
src/playsim/p_user.cpp | 2 +-
11 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/common/engine/serializer.cpp b/src/common/engine/serializer.cpp
index 808b0fedc..8c68b5a3b 100644
--- a/src/common/engine/serializer.cpp
+++ b/src/common/engine/serializer.cpp
@@ -683,7 +683,7 @@ void FSerializer::ReadObjects(bool hubtravel)
{
r->mObjects.Clamp(size); // close all inner objects.
// In case something in here throws an error, let's continue and deal with it later.
- Printf(PRINT_NONOTIFY, TEXTCOLOR_RED "'%s'\n while restoring %s\n", err.GetMessage(), obj ? obj->GetClass()->TypeName.GetChars() : "invalid object");
+ Printf(PRINT_NONOTIFY | PRINT_BOLD, TEXTCOLOR_RED "'%s'\n while restoring %s\n", err.GetMessage(), obj ? obj->GetClass()->TypeName.GetChars() : "invalid object");
mErrors++;
}
}
diff --git a/src/common/filesystem/filesystem.cpp b/src/common/filesystem/filesystem.cpp
index 21acc4e2f..f18ad5138 100644
--- a/src/common/filesystem/filesystem.cpp
+++ b/src/common/filesystem/filesystem.cpp
@@ -1696,6 +1696,6 @@ CCMD(fs_dir)
auto fnid = fileSystem.GetResourceId(i);
auto length = fileSystem.FileLength(i);
bool hidden = fileSystem.FindFile(fn1) != i;
- Printf(PRINT_NONOTIFY, "%s%-64s %-15s (%5d) %10d %s %s\n", hidden ? TEXTCOLOR_RED : TEXTCOLOR_UNTRANSLATED, fn1, fns, fnid, length, container, hidden ? "(h)" : "");
+ Printf(PRINT_HIGH | PRINT_NONOTIFY, "%s%-64s %-15s (%5d) %10d %s %s\n", hidden ? TEXTCOLOR_RED : TEXTCOLOR_UNTRANSLATED, fn1, fns, fnid, length, container, hidden ? "(h)" : "");
}
-}
\ No newline at end of file
+}
diff --git a/src/common/menu/menu.cpp b/src/common/menu/menu.cpp
index deee74597..c5890080c 100644
--- a/src/common/menu/menu.cpp
+++ b/src/common/menu/menu.cpp
@@ -925,7 +925,7 @@ void M_Init (void)
catch (CVMAbortException &err)
{
err.MaybePrintMessage();
- Printf(PRINT_NONOTIFY, "%s", err.stacktrace.GetChars());
+ Printf(PRINT_NONOTIFY | PRINT_BOLD, "%s", err.stacktrace.GetChars());
I_FatalError("Failed to initialize menus");
}
M_CreateMenus();
diff --git a/src/common/scripting/vm/vmframe.cpp b/src/common/scripting/vm/vmframe.cpp
index 69b47dfd5..a2c972820 100644
--- a/src/common/scripting/vm/vmframe.cpp
+++ b/src/common/scripting/vm/vmframe.cpp
@@ -682,7 +682,7 @@ void CVMAbortException::MaybePrintMessage()
auto m = GetMessage();
if (m != nullptr)
{
- Printf(PRINT_NONOTIFY, TEXTCOLOR_RED "%s\n", m);
+ Printf(PRINT_NONOTIFY | PRINT_BOLD, TEXTCOLOR_RED "%s\n", m);
SetMessage("");
}
}
diff --git a/src/d_main.cpp b/src/d_main.cpp
index 12b3fb9ff..5bf8e8928 100644
--- a/src/d_main.cpp
+++ b/src/d_main.cpp
@@ -1237,7 +1237,7 @@ void D_DoomLoop ()
catch (CVMAbortException &error)
{
error.MaybePrintMessage();
- Printf(PRINT_NONOTIFY, "%s", error.stacktrace.GetChars());
+ Printf(PRINT_NONOTIFY | PRINT_BOLD, "%s", error.stacktrace.GetChars());
D_ErrorCleanup();
}
}
diff --git a/src/g_level.cpp b/src/g_level.cpp
index 8aa011506..2fbba84f0 100644
--- a/src/g_level.cpp
+++ b/src/g_level.cpp
@@ -1385,7 +1385,7 @@ void FLevelLocals::DoLoadLevel(const FString &nextmapname, int position, bool au
{
FString mapname = nextmapname;
mapname.ToUpper();
- Printf(PRINT_NONOTIFY, "\n" TEXTCOLOR_NORMAL "%s\n\n" TEXTCOLOR_BOLD "%s - %s\n\n", console_bar, mapname.GetChars(), LevelName.GetChars());
+ Printf(PRINT_HIGH | PRINT_NONOTIFY, "\n" TEXTCOLOR_NORMAL "%s\n\n" TEXTCOLOR_BOLD "%s - %s\n\n", console_bar, mapname.GetChars(), LevelName.GetChars());
}
// Set the sky map.
diff --git a/src/p_conversation.cpp b/src/p_conversation.cpp
index 13f54e9ab..47d9a896f 100644
--- a/src/p_conversation.cpp
+++ b/src/p_conversation.cpp
@@ -718,7 +718,7 @@ static void TerminalResponse (const char *str)
if (StatusBar != NULL)
{
- Printf(PRINT_NONOTIFY, "%s\n", str);
+ Printf(PRINT_HIGH | PRINT_NONOTIFY, "%s\n", str);
// The message is positioned a bit above the menu choices, because
// merchants can tell you something like this but continue to show
// their dialogue screen. I think most other conversations use this
diff --git a/src/playsim/dthinker.cpp b/src/playsim/dthinker.cpp
index 37e135230..86ef7918c 100644
--- a/src/playsim/dthinker.cpp
+++ b/src/playsim/dthinker.cpp
@@ -538,7 +538,7 @@ bool FThinkerList::DoDestroyThinkers()
{
Printf("VM exception in DestroyThinkers:\n");
exception.MaybePrintMessage();
- Printf(PRINT_NONOTIFY, "%s", exception.stacktrace.GetChars());
+ Printf(PRINT_NONOTIFY | PRINT_BOLD, "%s", exception.stacktrace.GetChars());
// forcibly delete this. Cleanup may be incomplete, though.
node->ObjectFlags |= OF_YesReallyDelete;
delete node;
@@ -546,7 +546,7 @@ bool FThinkerList::DoDestroyThinkers()
}
catch (CRecoverableError &exception)
{
- Printf(PRINT_NONOTIFY, "Error in DestroyThinkers: %s\n", exception.GetMessage());
+ Printf(PRINT_NONOTIFY | PRINT_BOLD, "Error in DestroyThinkers: %s\n", exception.GetMessage());
// forcibly delete this. Cleanup may be incomplete, though.
node->ObjectFlags |= OF_YesReallyDelete;
delete node;
diff --git a/src/playsim/p_acs.cpp b/src/playsim/p_acs.cpp
index 01def4758..9ee22264c 100644
--- a/src/playsim/p_acs.cpp
+++ b/src/playsim/p_acs.cpp
@@ -8769,7 +8769,7 @@ scriptwait:
if (type & HUDMSG_LOG)
{
int consolecolor = color >= CR_BRICK && color < NUM_TEXT_COLORS && color != CR_UNTRANSLATED ? color + 'A' : '-';
- Printf(PRINT_NONOTIFY, "\n" TEXTCOLOR_ESCAPESTR "%c%s\n%s\n%s\n", consolecolor, console_bar, work.GetChars(), console_bar);
+ Printf(PRINT_HIGH | PRINT_NONOTIFY, "\n" TEXTCOLOR_ESCAPESTR "%c%s\n%s\n%s\n", consolecolor, console_bar, work.GetChars(), console_bar);
}
}
}
diff --git a/src/playsim/p_spec.cpp b/src/playsim/p_spec.cpp
index ab682f171..52760d935 100644
--- a/src/playsim/p_spec.cpp
+++ b/src/playsim/p_spec.cpp
@@ -622,7 +622,7 @@ void P_GiveSecret(FLevelLocals *Level, AActor *actor, bool printmessage, bool pl
C_MidPrint(nullptr, GStrings["SECRETMESSAGE"]);
if (showsecretsector && sectornum >= 0)
{
- Printf(PRINT_NONOTIFY, "Secret found in sector %d\n", sectornum);
+ Printf(PRINT_HIGH | PRINT_NONOTIFY, "Secret found in sector %d\n", sectornum);
}
}
if (playsound) S_Sound (CHAN_AUTO, CHANF_UI, "misc/secret", 1, ATTN_NORM);
diff --git a/src/playsim/p_user.cpp b/src/playsim/p_user.cpp
index 0fa33a90e..0bc45d1f4 100644
--- a/src/playsim/p_user.cpp
+++ b/src/playsim/p_user.cpp
@@ -422,7 +422,7 @@ void player_t::SetLogText (const char *text)
if (mo && mo->CheckLocalView())
{
// Print log text to console
- Printf(PRINT_NONOTIFY, TEXTCOLOR_GOLD "%s\n", LogText[0] == '$' ? GStrings(text + 1) : text);
+ Printf(PRINT_HIGH | PRINT_NONOTIFY, TEXTCOLOR_GOLD "%s\n", LogText[0] == '$' ? GStrings(text + 1) : text);
}
}
--
2.39.3

View File

@@ -1,43 +0,0 @@
From 6333e4fefb5c41971ca0d4bf97648f21b693e8f7 Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Sat, 7 Jan 2023 16:15:32 +0100
Subject: [PATCH 13/51] - fixed buffer size checks for raw textures.
---
src/common/textures/formats/rawpagetexture.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/common/textures/formats/rawpagetexture.cpp b/src/common/textures/formats/rawpagetexture.cpp
index 1ee29e13d..8f1a357b2 100644
--- a/src/common/textures/formats/rawpagetexture.cpp
+++ b/src/common/textures/formats/rawpagetexture.cpp
@@ -94,7 +94,7 @@ bool CheckIfRaw(FileReader & data, int desiredsize)
{
gapAtStart = false;
}
- else if (ofs >= 64000-1) // Need one byte for an empty column
+ else if (ofs >= desiredsize-1) // Need one byte for an empty column
{
return true;
}
@@ -102,7 +102,7 @@ bool CheckIfRaw(FileReader & data, int desiredsize)
{
// Ensure this column does not extend beyond the end of the patch
const uint8_t *foo2 = (const uint8_t *)foo;
- while (ofs < 64000)
+ while (ofs < desiredsize)
{
if (foo2[ofs] == 255)
{
@@ -110,7 +110,7 @@ bool CheckIfRaw(FileReader & data, int desiredsize)
}
ofs += foo2[ofs+1] + 4;
}
- if (ofs >= 64000)
+ if (ofs >= desiredsize)
{
return true;
}
--
2.39.3

View File

@@ -1,26 +0,0 @@
From f729f2375fa9f18bfd3cc4fcec8523a0a8e8a325 Mon Sep 17 00:00:00 2001
From: Kevin Caccamo <kevin@ciinet.org>
Date: Wed, 11 Jan 2023 21:43:35 -0500
Subject: [PATCH 14/51] Impel people to include demo mods in bug reports
Since small demo mods are the preferred way for GZDoom developers to reproduce bugs
---
.github/ISSUE_TEMPLATE/bug_report.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index d50d02070..7ed0af7ce 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -82,7 +82,7 @@ body:
id: description
attributes:
label: A clear and concise description of what the bug is.
- description: Describe what happens, what software were you running? _Include screenshot if possible_
+ description: Describe what happens, what software were you running? _Include a small mod demonstrating the bug, or a screenshot if possible_
placeholder: "How & When does this occur?"
validations:
required: true
--
2.39.3

View File

@@ -1,27 +0,0 @@
From f49d4b9766930fcd78975cf4f2276a9c40113c47 Mon Sep 17 00:00:00 2001
From: CandiceJoy <candice@candicejoy.com>
Date: Thu, 12 Jan 2023 03:39:56 -0600
Subject: [PATCH 15/51] Fixed a bug where static events would fail to halt
propagation.
Signed-off-by: CandiceJoy <candice@candicejoy.com>
---
src/events.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/events.cpp b/src/events.cpp
index 315b2d8b8..28caa1c38 100755
--- a/src/events.cpp
+++ b/src/events.cpp
@@ -511,7 +511,7 @@ bool EventManager::Responder(const event_t* ev)
return true; // event was processed
}
}
- if (ShouldCallStatic(false)) uiProcessorsFound = staticEventManager.Responder(ev);
+ if (ShouldCallStatic(false) && staticEventManager.Responder(ev)) return true;
return false;
}
--
2.39.3

View File

@@ -1,31 +0,0 @@
From b11754ec21f7b59c27c703fad2beccabc952d945 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Fri, 13 Jan 2023 19:37:20 -0300
Subject: [PATCH 16/51] Fix MapIterator<X, String>::GetValue
---
src/common/scripting/core/maps.cpp | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/common/scripting/core/maps.cpp b/src/common/scripting/core/maps.cpp
index 28fda643e..68eab6d3d 100644
--- a/src/common/scripting/core/maps.cpp
+++ b/src/common/scripting/core/maps.cpp
@@ -438,10 +438,12 @@ template<typename I> void MapIteratorSetValue(I * self, expand_types_vm<typename
PARAM_SELF_STRUCT_PROLOGUE( FMapIterator_I32_Str ); \
ACTION_RETURN_INT( MapIteratorGetKey(self) ); \
} \
- DEFINE_ACTION_FUNCTION_NATIVE( FMapIterator_I32_Str , GetValue , MapIteratorGetValue< FMapIterator_I32_Str > ) \
+ DEFINE_ACTION_FUNCTION_NATIVE( FMapIterator_I32_Str , GetValue , MapIteratorGetValueString< FMapIterator_I32_Str > ) \
{ \
PARAM_SELF_STRUCT_PROLOGUE( FMapIterator_I32_Str ); \
- ACTION_RETURN_STRING( MapIteratorGetValue(self) ); \
+ FString out; \
+ MapIteratorGetValueString(self , out); \
+ ACTION_RETURN_STRING( out ); \
}
#define DEF_MAP_IT_S_S() \
--
2.39.3

View File

@@ -1,26 +0,0 @@
From d279b71b79de02f684525fa660b85778f2d72e63 Mon Sep 17 00:00:00 2001
From: Sally Coolatta <tehrealsalt@gmail.com>
Date: Mon, 16 Jan 2023 22:32:59 -0500
Subject: [PATCH 17/51] Fix two different portable names
M_GetConfigPath uses GAMENAMELOWERCASE_portable.ini, but IsPortable() checks for GAMENAME_portable.ini. Doesn't have much of an impact on base GZDoom since it's case-insensitive, but can matter for engine forks -- IMO it should just be consistent either way.
---
src/common/platform/win32/i_specialpaths.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/common/platform/win32/i_specialpaths.cpp b/src/common/platform/win32/i_specialpaths.cpp
index 0b29a28c5..3bfee00ea 100644
--- a/src/common/platform/win32/i_specialpaths.cpp
+++ b/src/common/platform/win32/i_specialpaths.cpp
@@ -90,7 +90,7 @@ bool IsPortable()
}
// A portable INI means that this storage location should also be portable if the file can be written to.
- FStringf path("%s" GAMENAME "_portable.ini", progdir.GetChars());
+ FStringf path("%s" GAMENAMELOWERCASE "_portable.ini", progdir.GetChars());
if (FileExists(path))
{
file = CreateFile(path.WideString().c_str(), GENERIC_READ | GENERIC_WRITE, 0, NULL,
--
2.39.3

View File

@@ -1,40 +0,0 @@
From f759dd3d5cb849f713314769c56d36f33375f969 Mon Sep 17 00:00:00 2001
From: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date: Tue, 17 Jan 2023 02:35:42 -0500
Subject: [PATCH 18/51] - indicate in the startup window title when GZDoom is
compiled for ARM64 Windows
---
src/common/platform/win32/i_main.cpp | 2 ++
src/common/platform/win32/i_mainwindow.cpp | 2 ++
2 files changed, 4 insertions(+)
diff --git a/src/common/platform/win32/i_main.cpp b/src/common/platform/win32/i_main.cpp
index f153a1dac..c28a3ff4b 100644
--- a/src/common/platform/win32/i_main.cpp
+++ b/src/common/platform/win32/i_main.cpp
@@ -85,6 +85,8 @@
// The main window's title.
#ifdef _M_X64
#define X64 " 64-bit"
+#elif _M_ARM64
+#define X64 " ARM-64"
#else
#define X64 ""
#endif
diff --git a/src/common/platform/win32/i_mainwindow.cpp b/src/common/platform/win32/i_mainwindow.cpp
index 3395ec430..5b246e457 100644
--- a/src/common/platform/win32/i_mainwindow.cpp
+++ b/src/common/platform/win32/i_mainwindow.cpp
@@ -17,6 +17,8 @@
#ifdef _M_X64
#define X64 " 64-bit"
+#elif _M_ARM64
+#define X64 " ARM-64"
#else
#define X64 ""
#endif
--
2.39.3

View File

@@ -1,76 +0,0 @@
From 5420cc2a601b15a132bacbc245eb231a630316cc Mon Sep 17 00:00:00 2001
From: Blue Shadow <blueshadow_941@yahoo.com>
Date: Wed, 18 Jan 2023 06:59:11 +0300
Subject: [PATCH 19/51] - alt HUD: use `NewSmallFont` for drawing player's
coordinates if `ui_generic` is enabled
---
wadsrc/static/zscript/ui/statusbar/alt_hud.zs | 22 ++++++++++---------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/wadsrc/static/zscript/ui/statusbar/alt_hud.zs b/wadsrc/static/zscript/ui/statusbar/alt_hud.zs
index 8054e3d07..69939da27 100644
--- a/wadsrc/static/zscript/ui/statusbar/alt_hud.zs
+++ b/wadsrc/static/zscript/ui/statusbar/alt_hud.zs
@@ -718,9 +718,10 @@ class AltHud ui
//
//---------------------------------------------------------------------------
- void DrawCoordinateEntry(int xpos, int ypos, String coordstr)
+ void DrawCoordinateEntry(int xpos, int ypos, String coordstr, Font fnt = nullptr)
{
- screen.DrawText(SmallFont, hudcolor_xyco, xpos, ypos, coordstr,
+ if (fnt == nullptr) fnt = SmallFont;
+ screen.DrawText(fnt, hudcolor_xyco, xpos, ypos, coordstr,
DTA_KeepRatio, true,
DTA_VirtualWidth, hudwidth, DTA_VirtualHeight, hudheight);
}
@@ -729,7 +730,8 @@ class AltHud ui
{
Vector3 pos;
String coordstr;
- int h = SmallFont.GetHeight();
+ let fnt = generic_ui ? NewSmallFont : SmallFont;
+ int h = fnt.GetHeight();
let mo = CPlayer.mo;
if (!map_point_coordinates || !automapactive)
@@ -742,7 +744,7 @@ class AltHud ui
pos.z = Level.PointInSector(pos.xy).floorplane.ZatPoint(pos.xy);
}
- int xpos = hudwidth - SmallFont.StringWidth("X: -00000")-6;
+ int xpos = hudwidth - fnt.StringWidth("X: -00000")-6;
int ypos = 18;
if (withmapname)
@@ -761,20 +763,20 @@ class AltHud ui
ypos += 2 * hh + h;
}
- DrawCoordinateEntry(xpos, ypos, String.Format("X: %.0f", pos.X));
+ DrawCoordinateEntry(xpos, ypos, String.Format("X: %.0f", pos.X), fnt);
ypos += h;
- DrawCoordinateEntry(xpos, ypos, String.Format("Y: %.0f", pos.Y));
+ DrawCoordinateEntry(xpos, ypos, String.Format("Y: %.0f", pos.Y), fnt);
ypos += h;
- DrawCoordinateEntry(xpos, ypos, String.Format("Z: %.0f", pos.Z));
+ DrawCoordinateEntry(xpos, ypos, String.Format("Z: %.0f", pos.Z), fnt);
ypos += h;
if (hud_showangles)
{
- DrawCoordinateEntry(xpos, ypos, String.Format("Y: %.0f", Actor.Normalize180(mo.Angle)));
+ DrawCoordinateEntry(xpos, ypos, String.Format("Y: %.0f", Actor.Normalize180(mo.Angle)), fnt);
ypos += h;
- DrawCoordinateEntry(xpos, ypos, String.Format("P: %.0f", Actor.Normalize180(mo.Pitch)));
+ DrawCoordinateEntry(xpos, ypos, String.Format("P: %.0f", Actor.Normalize180(mo.Pitch)), fnt);
ypos += h;
- DrawCoordinateEntry(xpos, ypos, String.Format("R: %.0f", Actor.Normalize180(mo.Roll)));
+ DrawCoordinateEntry(xpos, ypos, String.Format("R: %.0f", Actor.Normalize180(mo.Roll)), fnt);
}
}
--
2.39.3

View File

@@ -1,502 +0,0 @@
From fac072dbfe7a3d7184c0daa9ec921eae7c77b98a Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Fri, 20 Jan 2023 19:43:18 +0100
Subject: [PATCH 20/51] - new characters for Doom's SmallFont and BigFont.
This covers all somewhat relevant languages using the Latin alphabet for these two fonts.
---
.../static/filter/doom.id/fonts/bigfont/0100.lmp | Bin 0 -> 320 bytes
.../static/filter/doom.id/fonts/bigfont/010A.lmp | Bin 0 -> 310 bytes
.../static/filter/doom.id/fonts/bigfont/0112.lmp | Bin 0 -> 321 bytes
.../static/filter/doom.id/fonts/bigfont/0116.lmp | Bin 0 -> 299 bytes
.../static/filter/doom.id/fonts/bigfont/011E.lmp | Bin 0 -> 411 bytes
.../static/filter/doom.id/fonts/bigfont/0120.lmp | Bin 0 -> 371 bytes
.../static/filter/doom.id/fonts/bigfont/0122.lmp | Bin 0 -> 365 bytes
.../static/filter/doom.id/fonts/bigfont/0126.lmp | Bin 0 -> 149 bytes
.../static/filter/doom.id/fonts/bigfont/012A.lmp | Bin 0 -> 200 bytes
.../static/filter/doom.id/fonts/bigfont/0136.lmp | Bin 0 -> 347 bytes
.../static/filter/doom.id/fonts/bigfont/013B.lmp | Bin 0 -> 209 bytes
.../static/filter/doom.id/fonts/bigfont/013D.lmp | Bin 0 -> 219 bytes
.../static/filter/doom.id/fonts/bigfont/0154.lmp | Bin 0 -> 331 bytes
.../static/filter/doom.id/fonts/bigfont/016A.lmp | Bin 0 -> 350 bytes
.../static/filter/doom.id/fonts/bigfont/0172.lmp | Bin 0 -> 320 bytes
.../static/filter/doom.id/fonts/bigfont/0174.lmp | Bin 0 -> 356 bytes
.../static/filter/doom.id/fonts/bigfont/0176.lmp | Bin 0 -> 302 bytes
.../static/filter/doom.id/fonts/bigfont/1E80.lmp | Bin 0 -> 359 bytes
.../static/filter/doom.id/fonts/bigfont/1E82.lmp | Bin 0 -> 359 bytes
.../static/filter/doom.id/fonts/bigfont/1EF2.lmp | Bin 0 -> 307 bytes
.../filter/doom.id/fonts/defsmallfont/0122.png | Bin 0 -> 1162 bytes
.../filter/doom.id/fonts/defsmallfont/012E.png | Bin 0 -> 1140 bytes
.../filter/doom.id/fonts/defsmallfont/0136.png | Bin 0 -> 1164 bytes
.../filter/doom.id/fonts/defsmallfont/013B.png | Bin 0 -> 1158 bytes
.../filter/doom.id/fonts/defsmallfont/013D.png | Bin 0 -> 1152 bytes
.../filter/doom.id/fonts/defsmallfont/0172.png | Bin 0 -> 1163 bytes
.../filter/doom.id/fonts/defsmallfont/040D.png | Bin 0 -> 1178 bytes
27 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0100.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/010A.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0112.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0116.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/011E.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0120.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0122.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0126.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/012A.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0136.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/013B.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/013D.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0154.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/016A.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0172.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0174.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0176.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/1E80.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/1E82.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/1EF2.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.png
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0100.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0100.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..ec5879e8597a1387e674e77db87a5f14b63e9207
GIT binary patch
literal 320
zcmYL@%MHRX5JU|TzW~aSB4~pnmk<TZT1%D#r#;aGHBbU2Py$6z1SP<;!^hUMW_EXM
zSEe$?6lTM@g*|j|f-_v;3OBgJ1D;R}j9I}N7KNtuDo32&qoxy76r1#TmbABZEx5rD
zr=v2LY}-WK%PdvhLACSFy1p`3-J`sdpWg+QkX%a8C*gRY4arw|zNX!Fd8DtAsk;y)
lgczykIdYA4ERl5iHycGf+u84ZWc3&cezO0s_YdTcya5$rWuyQA
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/010A.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/010A.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..1e951e746c6b7e9d3b6d2aa9a4c73896fb94bee9
GIT binary patch
literal 310
zcmY+8(FwvZ5QeWBrAQGUT){nj^|6YDKp-?$g*<l!w{QuUa0$0?f%shr1rNU5<-h+f
zS<6O5jO;lN(7_c(c)$~0@P-e3VP1)BVF$H|InuHw2k!$ZEmqVn$55`;`@Ro>b}|j!
zfzacQP|b9Q%5J!6>9S8)X)h|q*znF-hgIx)8bxef5syAby-d!smBALj%9@kWqWDge
S!0?~LmJv%MkLb75p^<**nqFZ5
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0112.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0112.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..593e1a6d9841a459c93ae1d69769e1184d5187c0
GIT binary patch
literal 321
zcmY+9%?-jZ424}NKjP5d8G;$Oax775S*>Ih%Ecov1Vb<cLoftGut0f^C@PV@Sbp()
zRthSKXij_F2T+3xxPlwFg9mtm7kGnZMzjSxu*xl+VX;Q-R6CR*-<b6(BHZ+7vzgDh
z*f6tjr4Xq!le4Kn;ur#qNvk`HqRLMD)sAX{cLrhN4JWgR1;0FaJtso1#yog^=5G#r
cQ}21>oO_Y&S#i|hZIPv*aV;zSBhxc{05-K}xc~qF
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0116.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0116.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..a1d8302f127d2b1a79371be1e3668161142c870e
GIT binary patch
literal 299
zcmX|*%?-jZ3`SkGh##T$&NN&(mMFEXR<a7^;&WGE1$JNvhF}PG;8s2dN~9OdUz{hG
zR1r~5d)x=mfD0JG72LobJirsYz#FVHq8(Tkmd><Tq4ugh%2aI31{D!*hhN(=vv93w
z^R1Z*dX6DrJ_S)!+365urAq~G41#~63c=aJ$t=Q|M4mOhxg#R4-R0R))69SFt4pox
We9U)nuY2MgbdV@$=fJm^&-4MeZeW`L
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/011E.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/011E.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..83e4b77ca55a122cf32a433dbf6502dd6340be63
GIT binary patch
literal 411
zcmZXP?P<e642CaF-F!5KW`M4d8S?Ya#+YEy>m4QqK}N{$ERZp>MyKc!-N1e1IJA(1
z$Fkm6camP++BsLaE#Cm|aDXG6;R0Xq4L?v!oO^=}lyHC(EFN_@{cKLmDJ4Sxv{dbO
ztw>XKq{TC$Tu)2x9>}#=aUsT-QqFmA@>I3H>e6wKH@Z*L=}~=P5QV}QVw=ras5a&_
zRGS)1oiIsV!YFzf#WGSsa#tA`dO5R(TJih$u2q|{lPH5hkJ}`H*Ua-Fgkh<1dP?e>
Z<-Py6FHU4YyCk+ZooppLV|V-Qe*t??el-99
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0120.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0120.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..b1e8d26071e682cdd8bebd2a602fd467c031e3f3
GIT binary patch
literal 371
zcmYL^;cdb&5JnAZ2+$&6h7Q3BNd03sN>P*(mfZ*>OC6yrbcJrwCAtJl@H>4+onYzZ
z?3XWh&c<wwF@@RlbZ~?Z_=GR`h9CHa3tVA6G3FU|@B$td59zl0a!!pQ1WG?!rqng9
z$f4>u7LQ2zU#*^>h<fish%uhBkd7#yb!WtMs{4ZG!uu7qjpzwOn)j3rL{+*$zA?7W
z(n?OgdJ-JQ<h`pSzbth|s@V2ANu%l-@iIDEsI$(w+s(<<gR|BS&T|pXiT+jYr_J*W
G-S&UilX43H
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0122.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0122.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..7305bbc688acf44fd21f046f9efebeecad51d86d
GIT binary patch
literal 365
zcmX|+;fVq<5QU>Cw~B}jToD#=;Li*q%d*3TgvEn^9oT{`*o95lghgBdd*8(D4Sa;W
zym>R(xt+5*fWS9g;0iam!vmi1f?rt8ocn}5d_f0`MJ_eY8_pDC<QQk`oQJMgZI45}
z>brWbZi6#~5MxT|Tm>C)(lz{;K&tZ6aP}$Z?cCmq++u5(CCE8c@l-{xS=vby#raX3
zQpOS{thZcQSU%dO?@V(padsLMwagJ>O!FfD-KR<O-cN~vJ<O-}q1tP~rqvq%0Nc@T
AxBvhE
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0126.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0126.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..264532468249fa0bafb45ae571e84e1fca190c5f
GIT binary patch
literal 149
zcmY+7!3lsc5CoHtFCi`1f<;(?50RWKcjR?o5mp{IQ4kjfj@gA9LJBPtnaM(Sa*~UL
u(SNBSxn~Ff5m9zAcDF)R4S7S+;{G@;0E4K4)9%FD&bl~W_kD<wcfA47MJ<c~
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/012A.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/012A.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..760fb438a0fae1e54053582a51404362fb865eef
GIT binary patch
literal 200
zcmZXOu?@md3`7l~qRA?BX_<i_P!vlie;VW&7=j@ff|kj``w@f!OV6^-ce1zEnptBz
zdIx(r!WC|ChX*|21*>&ZlWj7GOC8$GQ&erKSvx34xg>XIJ!=GdMMTkf)-T)Rkct)`
TSufRBLf`D)4IaRk)90Z#7>hp0
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0136.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0136.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..9fb95b3fb50b2665286fdc0e948d80d333d21368
GIT binary patch
literal 347
zcmY+8!EM7Z3`G?ubsD!uGel<S2t|$(R6-yqz-ZCaUm+`Gg-p>Mx<qHl49=&O9!lUr
z@}o%qeRv68N1_DeM9$<wzR3^yC08<&{VIe5c_nY;orGuntJ#H`+ElIT1S}$HPB}{{
z^)6zTm{|Ew6j2j1Z6i-@XKBaS`8ls2faLvw7r=LSTdHEhEiO}Wxf+2eBH5QG^FKC|
zB`5!O!<12Fg2(!F!SU$v`W`5?e!1JweE?hb#CVy*8sM8pHp()!B-_y{yF<%)1Jf01
ACIA2c
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/013B.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/013B.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..8f6137574f28d2701143fbbc510ebe21ddf00894
GIT binary patch
literal 209
zcmYL>O9}!(3`868Gcw9t#uIphRt9ONAtbn}t+((H9>D#q-FmB7X+$eLNGe73X-J_1
zIg%4GawB*0AWt%r7kQJk#b2I!K(A(|BDC8*idwCu)VOy*E~-*F_BE!KHw$CGh&E5d
huT=5`u*|y+aF%>&`x+SA$Ga76b~CU9O8asN`3LyBK@<Q0
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/013D.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/013D.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..892a6b034299d578860f6eea443f021ad733fca1
GIT binary patch
literal 219
zcmYj}K?=e^3`JA0P-&0j3A{m-E`|<-e7efkD|iLBZoPtM@KW_B6l;bD$)CsXWssN?
zIg<+kxsf}0kSBSOH~A1b`aY}l?zR9hRmOQwYN)l88u#En7Bj7U*n&BI;1_I#I?gn@
cgZq_bxlFM%Ok(mUTU&R4awH`b`BOq&zjnVvpa1{>
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0154.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0154.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..80e105523b49f94e2ea0a7e7cea630d6db60fab4
GIT binary patch
literal 331
zcmY+9!41MN3`JeqB1A#-$_k9YnE@IiD~gf|^}@jmbOlym1~y;>R$vJ>DBp=Hgr(Og
zKi~fDj#?tB=!7qWD;U8I+`$7p!3(^>2doOBJve|Ps5bIflL~PV2{Cwo5lKQ9MGUiZ
zcu0c5OXnT)ET{uQZYj5z*{KDp*0flQxGZT$(ctQTcS7jd_sMTHlv)^iga!pII)ut}
s>V_u7Xst080eK;IY*A)jXfW1cKdYNgHSz`zZ;0uimU&WBr-3kh0lE@sx&QzG
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/016A.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/016A.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..195a8da668b386ab88937a2789b6a72303e5e186
GIT binary patch
literal 350
zcmY+A%?$z}5QW*S2Y;e#1NLAIo;<oHXb2<(Bp#*!d$0(LumxMN1zYgEe&DW&lYC2f
z`-V5LRE<)qR$IOr5?tU4H@L$Cp74S<Oe&>Tu!aq^P><zTT|E`CA;y#<Vpq-cuQq<`
zjG`7I=2WCWxhypzhaf((_s+P~YkQxYbLlo@ZB$xi#=08>8jH}9_vg?h4eQ|0!@0!w
r6&w*mz6;(nr?<t&nB;43U5LRMZ2eu1D2$m+`Lf1XM;`}ve-H5ipbc-F
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0172.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0172.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..0f3898b3eff49740a8ee6a359873612830f12682
GIT binary patch
literal 320
zcmZ9Hy$u2}3`WC=;=}<*#TM*ANs0(XF|r&*6s{S86<C3mmX?+k*nt&}&&Q8WSb9?Y
zlFwEau60&x5I_M3a0DlC1{ZJzH*g0J@C4P!xg}TuSL?4jH&IQJb150JbB(Ic@7fP~
zL6P-SRnBObB9)K$ObcEh>aptPd+-?An_$E2D*T0n*rv=?Ntm&i6T+riJmy4_g(4T}
gb8vnOhxJ8;ZH;{(#zY7s)?kJ1Ob<Ret01*|0mdh07XSbN
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0174.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0174.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..a25e7a36995049414008518fe9583c62aed69426
GIT binary patch
literal 356
zcmY+A?Fqs#5Qb9?Dt>^@;0mrF__u^`ggXcgrNT|%3eMmT4&e|E;SlP3rGgDS{qgjD
zbJuR&);Z_h2~PrNZ~<3v19$KMPw)b7u&bQgg9A8%2>eq2&d0A*6Eh2^)Tn;^TD2x3
zj)ABQf)L;oVz9(?^XrGYu3MPNR5hwD=BUOH1gi2-tU5O*EEaQc6jW#CaN*BI8XR`8
ziPjakzRQx$*$CWgBVsAdcn^rwA!NJf7H_jiKhZ?$+L9$_=@a-`X)=yTw#N8pd;x~s
BZ*~9x
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0176.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0176.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..4443deed608f0593a722189f4c9f6f02e72bde0d
GIT binary patch
literal 302
zcmYL^!3}~y6huF=Dta&^p1oR&$K8<4&t^#oc>4z%um`)a3ahXSd+>lW5aK3}48zX+
zPc5~GIJw~IK>}BB19$KMPw)b7@Bv>?6(UD)0%zb#;~AYZivz_PqU)(PW?nO8S>cWk
zG4W+}zzwse389_BHWo~0v&|m9=G^rIy9Bm2X4@Uo38!VAZq&c4+QDT-3wN$anp2|9
eVVDv$re)Z)Owjo|mke=g;O2f-=n70PfA<5)qgu}Z
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/1E80.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/1E80.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..9a4901d0b73afabd28b2b6551fcc881cff727258
GIT binary patch
literal 359
zcmY+9(QU#o5QZIM3Zi}Bg%!F2EASeu$hCZxl_&z~CSV0tU<{UEi4M^X((kMywI_YC
z{O7;>&s(>3&Uts>8{rHWxWWzY@PIG)hPH8T2k)?l1AKtr=%1SXt7^(QOHOG}o&B3?
z7h}wQh;jTCB8HqoAD)gnA#`0g;c#ue`i5h@qP-76Okb+TPsEjplBJpvkEy7>n8;WY
z8;_Hgs<DaXE|^MO?afk5Y8Mt{5&bw0|90V?PFQUHGV!yB)I1Z?X&Q@^BGtizWhj&g
MYs`LQL!UMO0D`1%O8@`>
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/1E82.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/1E82.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..c4fed22fbb6e09b0289576d8a329ade067adc48a
GIT binary patch
literal 359
zcmY+9!A%1(5JkO-At-Rjg%)Um7IIyz)nIv$wX0PkO$D?-3)GMvQUp!V1X|u$i3B4(
zOaA`zXS@r$5JC)lPJtu5!v}oA3C{2Z-|z#ET?kL`410KmxV1mE#Cx+`O3{+@Xtu-$
zvtC5XkVK}7AQ(zcL%KRzLhAc|#<5=c^=?DskdmUT)@E2YE@@FWb<s?CyLF8;*TRk2
zORg7@4Sb%9@<w3mE?S#NAQd|fA2dwU_-_~P`9Qa?UuPbxYMbjqKFm|qTD3X&u#S~d
MW%Lrao_ww47p;?UB>(^b
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/1EF2.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/1EF2.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..f1c3ff3dc03cb69c7356da5729a546eb8abf4c2b
GIT binary patch
literal 307
zcmYL^K@NgI3`GkJ5H%(&UAy%nE*Z(BX$C{UT^HQJV|WZt;U&C;C(vIe#7Q3cY5RXm
zLk$r*I^){{0XHy%J9vO6c!4+gfGi{0g9A8%6L5vv`#Pr@CKDyZFq*1VTaG3vO}QEs
zA7m-Pz*p6Br`mPi_e%~&;lBtP)fNqoaTq7d&1_y&>kTplueX#O!Tc{W4=5J7WhK9G
f6tSZ1@f>8`W4CxtJ-gJ0#cSucNnxQk=lY93Fz;H&
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.png
new file mode 100644
index 0000000000000000000000000000000000000000..14f48f25d79dfd10510267cf35bbc387692b2de8
GIT binary patch
literal 1162
zcmd^-v8&`%6vmIPko9FBSx6BuYJ?QC5G6&5xC9Mr-jaRBeOX=>BBqEKaEidDh!7!2
z-~}0ETmnupMU)g%q!@IH6eCVC$|55S>=c6x7-WPMr<h`jS8TV(>;4;F?md@#59fC-
z_xrxOcV-?Ry>bKq$ESBr&dGk2te3A|A@S{p-@OWO1@3)t|28=a9L+J5Wm$;G^E}J4
zG)+?!C98rcF`Pg#9N3y<Dxxm&IGsKnk1t1~{cyM|ifymgrs+D4mtnXFg1P6-T(`09
ziD}llKGL*OQHHWyNK#)Eb3w>>KH<2SWkZJP(zH)e9z{76WdoQ11_182_+*Xk0@pKK
zHMpp8UgB(kP5yM89!Bx547Y<|)Av@nv&`&yYBjMrj*L;Lmw{IJYR^?NM^0=hG&{Z_
zI=Wz~ye@N!#7ZJ_I2?An-FCZe+jhNPFPF>3Vlki3r_*WEG~@BOuIs9*hQr}tFzEOD
zd7fukmLy3OMPV2QLEw3w>$<jWo2F?PhNfw%s>-t5>2yR<OfZTL-R{=+SFSg=or!5x
zx-n4oTvlUA4#bYb3kJt23@g$!N6qVETJ<KwtS*wO7nNB!NP~Xt<)NDfcH&!+Yjhpm
zw^Y|q99^#Rph%oNv=U$MI*MmXwk8@1pJqW6yWP<C0@HCd(^hm-QuPjEyl>sj%y?AF
zlT;`@wr5bW1Vn3WTb#|XEHO>d_fgkT5D?%1@C0B3umqR`GypX~3D5_~0AheHfCoS%
zBYN$2xLDwLj75QQjE;k<N?b%RWD*Qv5CEyp0YU)hzrOnxH#1z6*rYh}u+T8$FJo>W
zG21S)@#&>YJ+fhH!o+y~PTU|ihy`MZXd;S;Q0q{sFp!}q5_5J8nO8+t=4sO6xs@~k
z89)T!0LUd^W#G=jl$7EMRuz;HgmoA`{`>fSfEVDi^D~E}{@3Gs?H`GJ)y>nBTlYWz
z<F)=T$MD9r7njf4>t8>7_rtqyGCy9w@$=|ndgrHa-nskNM@QfO{^0Sa@fW{Ymlwsg
dm(G8E{jJW8?Vq1~d5b{c^!C}w5AS_^@h=+(ZxjFk
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.png
new file mode 100644
index 0000000000000000000000000000000000000000..d637b362bf5cf27cbf72ae8f146a164cf6390255
GIT binary patch
literal 1140
zcmd^7zpJEH6h7f?aPxeNkbxCqVZdSv3kwSiLnQGn=3#g)>jMi3282vuVPS{?2|_G}
zFolK16c!d!SQs({AyW*jfh{bCFvS!TVll-oOfkh28}f=kPVR30j9kwB!R4IqJDl(P
z;pwgM=<<V00C;rs+4VDWzf1Oe4=>31TlDxxfD3r~`P~yl<XM_!DAP2_o8!3AXhhRA
zMNyK%3nIhv6vKk0iiRv`B8RKhebc;NEKc+JG0zXv>5wG5DB1);@B5wWt{tbftfgVp
znzm5YQkLhEl#Aj_5Hg-mIWA_|Xfz5KW<t{*MY$AZQ<Mc@0O$aCI^fG44n6MHxNWho
zu`6+1V4K}H$$1eS%ivJ>`<c7V>`iKQiP=U*6Y7gVD}6Qhl&K@9wiH`pV2nLour=OP
zI89<@aU=@N`FuVekB7ry7>3<$x7lp^zVEtjwOX}p+cZsG*Hu-`=kuZ{X0utAWoeqm
zaU6zW5Cp#OyRPdvj%8VfVd%Q9s;Z(Wk|d4CV?hvN48!wea`3#Z<93$4G|WoV3q{K$
zB@!iH7~34Lv#iXF1e#{4uFhB0bU9D!Jg%l;nFdAT&muPqoW!?c&kP-XVr!nMIJ#_W
zQkD66Y-fQPd)ma7T|=}~L6^BC^~1=S1eWU?wxb%BtQn%BjS-{M;Oy7>i&9!9eCdv+
zIu(gPw8mk;^%~0(lLS2vH4S+l0nPv~0rmhJfDWJqr~yiV89)jU0Zaf~03sRD>v+Vz
z$ELwN$0$PEMnxemA}}Nf48b4(q&fo#0PHusrvdkC>`QDDT)3F4m~yWp_7pOQ3A6X;
zjYGY#U}eBkf7>VS5nIF@F+emB1w^Pds1zt9m<q(4V_o7DVI*-hp?GU06+i+I09XL>
z30UcPG%+EixP@&6We7nX1mE1>lB9Rw>u0z2e`Ieu{C}>?`JW$=Q3*HKpWJ=>hyOeC
z;Ogq{RrsJNe|`1U)i2MVe|(Ys^Vb(2zW)$@zIn{t<=?#`>2UMp_WGw!zx@7Rnwn^!
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab1bc61c19152955ac127820f689f97edaca41ae
GIT binary patch
literal 1164
zcmd^-v8(G;9LIlhhg@#BbjT1iV3dFzqC^RjAw#&Pmv~>~=DwGw0fR&cSS3S-2oW*_
z3|OQ?h9X5WWatni+*dF|hoT)GTBKlyf&~jkcw&VP9o}%=exCRK4G-u14(I&%eSU}Y
z{eFFOZJeLIbOr$DSMT;7ko}abv(pn2e|+)yJ-`Xvy!Y^u9C?;zJCtdfh{$mq!!R^W
zQxqjBydZX1p6ak*siGkZn#kd7c30O=CzHc?ywCG?FxVx@CW=-;u=M?f>&_jgv8<_K
zRGKzX)k2oXl9Y?$P!KYnPdP4T*@$6+PNz@P9!0qnWmA*|U;yX<cxds-26s!`%yHe|
zvcg4y^AR@LU7Z{!(Y^@Uk-r_f>&#xI)*>;R$f!eo5@?05=AJTe<kXg8OAL&zrwg{m
zn+m5%tSmC3&^aED`~ALc+ud%r*=$y;)pEI9EEcobtZACMuB)ml%W^y(k4B^6aF}IT
znx=6ahhZ25f$#gS>pG5OS(afKx~{9Lswj#iN!@N&5QG@R@YwISp0{?~g=J3-v()sF
zqGgg2iIOjLZI0JjR_-tYO|#UZ%4g+ZI!>!RE(c+e2BX9uMs5~3iEqW889I93);v>j
zblKLVGV}A;&H^*`w7xC7hG?mRE^|rhhmq3{EY~+|M>Q;2Gekw}B1VUuvz_aY3u&70
zh06?dDiVQcjk_Jr=U5b&B<OjlX~^>ka0GY)umxBFEC3pS3ZMWO0;B*DKp(&bAd(Ti
z_Iq3|v92-CF^bT(QBjDC2!>38Aq)Z_)fqqlU_a}7*x`1L%L1DOCobkHrrgtrJ%pXM
z-`RTf%Ap=xFf(APKYu4~5gWuDF+emB1w^PcC>0n<Fc642ySl_F0wZxWY4O}jDu4ta
z0I&e$60p>9Z(>49aSiJdiV%V-2!8$R{2ssy@cDylo235N<5vA!BwwXo^)4QM@%tOA
z`)BaVY473({OsO$|Li}yegDIouP)Djdi&>>-~8a!Zz=YZ*Z%mkr(FE<?_1ljJ-ySv
a`R(MOy#DC^r?+<m16P;Vy+`kS{N;aV4RQYf
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.png
new file mode 100644
index 0000000000000000000000000000000000000000..f441d09a5fd26b62561c43424e14d19ea20c006b
GIT binary patch
literal 1158
zcmd^-!K>U<6vj`jklOe<i!1_0NF|FA0)`SKLKd;+)%c9Ql%|kH77;=jFpDfwh!7!Q
z7K4nE#ViJl8etZJjyj7hW-&s*E+Py#mJtSwFi49-nZ+!+c;M!E?Z4sW-gCM4aDL}<
zzwh(g=f=s^SFQrU$=Q3ScgTK)te37_Ch@H=zj+nlGTi>)?k#fUS(@!prfDJ~$8ik9
z&@@d^l%(*2*kgIB$AYDbhAe0zhl|C<Z1!wAJxnJ1Jl_q6U6O2~XcYvl?>DZybe!6<
z=7v#e+Ei5wS)NEzE{Y>T$ap^GxR_-lh6#GT0Zn@p<x-SQQ5Jv!pabAxhmSYdwYXX0
zy2iG`roiPG>+E8d9H-H~2zFzCJ95{Vy-KYnG3&^fh59tm3SZ4VW$4JMEyb1?7=2F{
zY>hV+PLo(!WJIBNJRbM^{cgAGx^A=CtX8YGZJVZ9EEaWL&t|i#s>-sQOeW*;cr+Si
zS(c`09LHf820`HazU#V<<5-qu7>2Ivs;VlAB1uxe-xmZS#xOh%20PDNJ8omybHgk(
zeXMAiq(q|R3w@j8b(WQTj6l;Y)l~VS9L^_cmB-~UEYe_{_@l_p0w?jU*fT>%AK02_
zDvmDOnp9?f9@|-9#-28?W!DfbRnTQFN&PT#27%@JhV7_^C2NMLXnn-!&^g<s{;-hd
z317I(P^Tghh}PJ3xLjgUV3MHcp{60vBft^hF~AmJ1<(N002M$1Fak&cB7gya3qT|z
zdhPevwm6$%o?{fDZKI+P7ZD7Z1Vb1EK&mr<0KopQ@1eu(659gn1g9?MDyH1Ch&_b8
z-JrMi=#@h~v|wStTz~#f+#=S9IbwilAPR_3X;3OKmS89lbM|$KQv^ohXwu@jl~e!;
zKmcF?$R%K@<KD!Cl;RrJB@`h9RS^98<m7#TOK|_rxlL04>+ys7w@AL~&9l>+cR%^#
z-WNBn!S$D4_zRmyU;X~ZryqX&=TA?szxc~<Z{PU#$v^ilu08nr-S6!C`h%ZE`uOP5
Y&FVGk`{MPd1OR8Z&QE`Q=cCX51=ZSc1^@s6
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.png
new file mode 100644
index 0000000000000000000000000000000000000000..96045927b9d5a299400298521ec53fd0ef0958b3
GIT binary patch
literal 1152
zcmd^7F{`9j6h6rYd|7!|SV&@FK$0meEG#T6%*MBv7sGQ|7c49c2s?!V3j+o$Tw*}N
z1Pn|ug@wfw7LrUJ7E?@Nv5+YyWQr+fSr?|*kSQiG#X`0ToZQ{Nk<0n+<=(^j&f$LF
z4-an4%ex=m1%S)z&#xYm^MZi7xI^}Li+{fcxC0Nqd~}~&1&-zz%Cam(<awTDS(>IP
zijq}9lo(E+7!GVrG8Ivmcw8=Dx9zL>{4|>#%koeZLz?d5coT-}Am}}B<+`11FHE!1
z^|_{1iZYYsQj#X3m<vM2^9jerEE_V+n5KP-@+iuoC>y{8FaYp$z?VB5*0@{Yw!?LU
zeTAzjcKPczJ<sD~6&|L+e&TI&XOr1|YIU*MM#enUt3WG#wQ!ZpkrP`A&5>`2jxJa#
zugjbwv69G~&*$UucsLw}Vc6|<o6TmuUiW>!TrRt=YumPIn!2uMv)ObyolGWqo@ZH>
zBuNxSVHgHM;CY_wy0&ebrfC?4rfI6G%CbBfjYLsQFpAFO@xk}EuGibn!nA7Ln5ud%
ztFa^p;>h6zgX0v26=|BI`lejg#bTB<Wl|SWm4(wZn8aQlx@ll1z7@H~*wKAUbq&SQ
z<vI__#K}V|@%6Ezc&21)qM`6<7DTZ-4s9<m9al4LMK>i?A0fu4!QHQnr<J@&h00?K
zgNh{}TH`R_YK2vWX^Os&x{iW?0B3-g0DFK9Ko8IXGyoOA1Rw*50mc9x0FjL7bv)vF
zjcto%iE)gMgQ`kgL}*A58p1&cNOcYn0yuB_o(9~na9v@S;@rbh!;F6wbEk+ojG4Vp
zZ(QoB4NDUi#@jh@kJurWh#{hhC?Z0mL#@J8hC(Ff92qjNimc4jq{Uk+X#g^S2*3f5
zN5I;^qlGCc#Vu@Ws3HiPF#O}s%P#=lfo~q(I3)GIUO#JpN#v{K>#KW@zI`4%W8VAm
z)8Bv1HlKVHNI%`a!TY~GV;=wgg5de>2N(Y+PrkngP~3hTJ$~U5+W=hOzq$J5v#-AU
E5Bp+lwg3PC
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.png
new file mode 100644
index 0000000000000000000000000000000000000000..411693d82027f226fdd98706121a6d056f37e040
GIT binary patch
literal 1163
zcmd^-!K>p`6vmH^ka1$kB8z}gB1Ei^MT8)c$s)X$_lVEP%P<*?kVV7@1+&N^N`x!|
zW>KU_gbq{*l0_F;l(CBlT~w?xi;9IQSg>G_E=KI4V1>6BMC5p#f5XeY=W_4i{LbZm
z-zT>&&CZQyZva5&;`OuJWWP?<)7P(&_}ZsmJ_m3OZoPTuoE!y?<`~MdEJWmao@H5@
zrYVY&RY8;(PM{bLY)vv1QI~j}%^poASL5+vG};%%uHSFdbQ8y`FkA+~!t>^?+t~Kh
zG;3WSYg(x&BUvsaX&{QZAY?qBa9qr?A;a`&+NUUwq8y5{0Zae`01rESxWRUbn>nr<
zT-LZKaX!Q*e>6#t<9J_&yJ4^$c<bC*W%eSqn%JB~#yHf=Kr4K;?<$!iC$<!tUEdHL
zU9ePMmpMgZC6PHEkNf?8x7)RCyV-13tJQM3Tr3u|*{o@r$z)R3byZcP(P%gv4hDlf
z&$BE`k|c_vFbsnr@I23TUE8)z(=-f2(==68Wm)cayP_y27)8fkZ|D1K*IU@m)U+zy
z7^-?MtFa^pV%OmXgX0v26=|BI7IiVJ`qNQX7fIER$}AkF!65eX&`kq7@vX=;dXDZ}
zs%t2YE?0R_Bu*Y$iLdt@#WN*a6Agt=vmlDyUTAxP>A0F{E4nGEdKWQ1wC;9p+%M&6
zDwH1EH>g+wqBXWH&gWQ`n5O9asOu;Q2yg^=2(SfM0W1I-fEu6#7yx7dF+dN%10a$S
zz4m)tE^#u!qQE#t$3aykE+QB*35GBTfK=xIA%OE=-$RSrIW9|VQXG3&XqfR=F?WcV
zU60xN^vb2~+b}a>YCL`?ZV?;A0x?815k*9(b*NMr%Fq{yIlG3;t0F7&G->hJN*aI+
zAOdgz<PxwlaBpEsN^uSA3d#t=It(BD)_DWq3Hadlr9)Ex>v2!}T_Rs~^WyB}&PTtz
z`os5~?_PN3sT2SFkLO?M{?*(&x%-|!?tJ?s^Y-8Ga(An%arof<)31Mh`Ncnf{N}Tt
d{yF{P=I3pf{qX0P-XavZIKMpm>hztD{{`a~asU7T
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.png
new file mode 100644
index 0000000000000000000000000000000000000000..5cd59fa7c3835f3f0db5b661c089afc0a32f32c1
GIT binary patch
literal 1178
zcmd^7L963b6h1PGJYIMNsTjsAB4nhC2w4OP7$Gy}J>xTvm&arv3_&7hkwwJ7M94tE
zfLRnNnni^!GLS_VSrjc8q+r1=#z&N*U35{fV!;uMyhRtY7<b3}=5Kho_kP@SIN!P4
z@B94X+&DUX<q!alPTxJgOYnf~!-E^-{Nd*Q+v`N|;Le8xuj2;y-CMsCfQz$xC*;nv
zG|Nz?X(A%Wah*<wrfG_zB!w45hUF=S1xpnTS<pldr_*QS@zc@hYB<~##kSYmr0FV-
z7h%}?{@itEj?-Ay#4u`28>wn3%R@;jM6oXjInQStm#}Qy>4Xdu(6mQUE=AcCWdRrf
zIsjg6@yQA|Ev{y`Y_P3yUgB(kP5x}0?nm*i47US+-FKI{y~wP2YBsSkj`UHemA+bd
zO3#rqTS_c3G`gNH*cxvtoF=id*bxP0zu)h6yX|(n*=$y;)nc(|+jc&mPp8wSX~yGm
zUDs7r4Tr<QV9@XP^E}V8EJ>0mio!7TecyFm$8jvnG7Ll4byZarMUf<_+wBU1kYE(;
zgJA1<OUIpC_QWtNO&=&)E-A4n`9jy`c%5ZsrX$caOU>(ITJ<KwtS*wO7nNB!Nd127
z=Ao1NR^pkFqX)L;nTn&!wkB1%UnF)Onu(_cw(J_Br3$*trI{baP7qqIZ`h7%Sh8k_
ziq=JpuQtwlravyFNy?XQr>9e~2t;e#Y;ZQivcxn+&qGZ^o=1Q^z!QKqzye?n&;Zl`
zB|sk_1Bd|v02hErM)cb4ux)WX#-hMDM%zY3Aub{`WDy#|K?q294iEy^*K@BnxSnBK
zVw2*?#X`l5dm6J>5wi`LwMQ=;>ahh=119?Ocj6kcK`anML<3Pkgj$12fq?`)fta(a
zOPnHfB#tH{o?A%;kN^Y#7JwuHD;;+xrlb{@u&khrAgsgi*T0V519$;GxqEJt(*HWX
zR{s{sSG{q1eCOW7-(LIa=NIACgUgFgPyTuT{_ECPkN)`a)<y8e<?WZ4vv=P7_v7OS
kfBMcZ_s=h>M<1PipWnK9)T&>;ObFog<ox)Xw?FvoKSE}3#sB~S
literal 0
HcmV?d00001
--
2.39.3

View File

@@ -1,74 +0,0 @@
From 4551241900a45b6984127346c4163ed7f54bd63f Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Fri, 20 Jan 2023 21:03:21 +0100
Subject: [PATCH 21/51] - 4 non-letter characters for Chex.
---
.../filter/game-chex/fonts/defsmallfont/2012.lmp | Bin 0 -> 104 bytes
.../filter/game-chex/fonts/defsmallfont/2012.png | Bin 0 -> 897 bytes
.../filter/game-chex/fonts/defsmallfont/2013.lmp | Bin 0 -> 116 bytes
.../filter/game-chex/fonts/defsmallfont/2026.lmp | Bin 0 -> 128 bytes
4 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.lmp
create mode 100644 wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.png
create mode 100644 wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2013.lmp
create mode 100644 wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2026.lmp
diff --git a/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.lmp b/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..c9b6cf5af5440c069fc7fd70d22da78d2a2c56a8
GIT binary patch
literal 104
vcmd;JU}j)o`1fA}NE!gK1rR#`u?G+b0C5BmCjc=6b1ew`2hoKj(ja{R!ciZ2
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.png b/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.png
new file mode 100644
index 0000000000000000000000000000000000000000..4ffc36ccaceed43e8d9aa10ace07100e8e8eac9b
GIT binary patch
literal 897
zcmW+!F{q?w5T4`;UrrttLJYC6u-L-F5DN<nx$_;~i{U)tfg~1&SXfw?#6pM!AtqVE
z78YA9cLoe>VL-?h7F#UD;tGp}Y_Y{cEVj6WEw<R=it94@-@!ls!1poV%rM_CPoJ3A
z_dmQ30N1yVZ$2aWip0IEd*pxq{-5970pYg~z9JbA@jnT^X9*8aKYjLyKmtc|3}sms
z;dq{BS(c`0ilSsy5G95aD24-DlT1a_B_7x7H*NcRxjZixr?Nawr(>4wlVlr3LlE?y
zw{hLhwpXUv==xIADn(hyaw$nOQ7i-@=lPW55|)h^CZuVfqCARnD9Q#f0Sq$V`G~Lf
zI1aeq;I6}=!M?)H9J}I8n_ZU4sfv#C;4t%cg|p4=KC`;SY-3{?=~bYWzB+Z4+>ujT
zip+^`h>k8;DzD3&BC(RlTrQW>>2y3E$8p^6_uK7u7>2&@*XwoHb#2==O;gwPVzHRd
z=d;<YD2hDK(=?6aIEtbm2t3boUDvj4(=-jk&@@d|RaurNlZhybDaP?743ECQbG_bn
zR;E?!#$444SxqE45GM{V7#ycCtVq)w)i>q3o~{;oQ>OJauJUM}1+&B}A~y@{)VE^S
z2p!$GRM$`(U9O9uOr0XKQeO`p#WN*a6AgvW@*qy!FtWYCbX?7}72T9neS(;rNB6KX
zURLrd6Dp6L8dM_P`2fceHyf-f%rf+S)O8dD1h@da0yqF{0eXNApaG}=W&k-r0uTat
z0OVxkUZ)cd1GX)eB_;_v4yr0~5s@K}$Pf)8K&lIX2*A1Pdmizy!J)z~!=;C%hB^N_
z;m$F044H#ZZ(Zu84Qmrt#@jjZfY>3Hh!LWRC?Z0mL#@JGhN(!*IWc5j6<L|5NsG5u
z(g0)t5r6|AAYg6a$-<13;tqB-R53(N6#ezj^(TaW@9W2(lg()MF5ZC`zkWbK_V(t%
ov#aO9??1i!^WP6Yf{%X#cu~;beDUv(L>S=q(UY4$9)9`5|D%0m`Tzg`
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2013.lmp b/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2013.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..b3bf1609d834f80fd5163627ee672735563d6ba4
GIT binary patch
literal 116
ycmd;NU}j)o`1fB2NSXk#4G_Bku@4Z30C5ZurvPyd5Hm2>g1~<eT}UPk(hmRyXCrL@
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2026.lmp b/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2026.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..c3a5a81984d743b3598121a24e6cb2c742d061c7
GIT binary patch
literal 128
zcmd;LU}j)o`19WYNLm1~0}y)vaR3lU0C55kX8>^l5LW;(19L41{0GscP`VgOlOqlQ
DdNL=O
literal 0
HcmV?d00001
--
2.39.3

View File

@@ -1,28 +0,0 @@
From a68f62ba53f654033c00f0478db7d30aa3856d53 Mon Sep 17 00:00:00 2001
From: Boondorl <59555366+Boondorl@users.noreply.github.com>
Date: Fri, 20 Jan 2023 16:09:20 -0500
Subject: [PATCH 22/51] Fixed global TerrainDef array not being exported
correctly
---
src/scripting/thingdef_data.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/scripting/thingdef_data.cpp b/src/scripting/thingdef_data.cpp
index 890637a37..acc039c5a 100644
--- a/src/scripting/thingdef_data.cpp
+++ b/src/scripting/thingdef_data.cpp
@@ -720,6 +720,10 @@ void InitThingdef()
teamstruct->Size = sizeof(FTeam);
teamstruct->Align = alignof(FTeam);
+ auto terraindefstruct = NewStruct("TerrainDef", nullptr, true);
+ terraindefstruct->Size = sizeof(FTerrainDef);
+ terraindefstruct->Align = alignof(FTerrainDef);
+
PStruct *pstruct = NewStruct("PlayerInfo", nullptr, true);
pstruct->Size = sizeof(player_t);
pstruct->Align = alignof(player_t);
--
2.39.3

View File

@@ -1,340 +0,0 @@
From 0489ca2af443075419606ce3b0c8cd460d1feacb Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Fri, 20 Jan 2023 23:23:50 +0100
Subject: [PATCH 23/51] - convert characters to Doom patch format.
---
.../filter/doom.id/fonts/defsmallfont/0122.lmp | Bin 0 -> 136 bytes
.../filter/doom.id/fonts/defsmallfont/0122.png | Bin 1162 -> 0 bytes
.../filter/doom.id/fonts/defsmallfont/012E.lmp | Bin 0 -> 90 bytes
.../filter/doom.id/fonts/defsmallfont/012E.png | Bin 1140 -> 0 bytes
.../filter/doom.id/fonts/defsmallfont/0136.lmp | Bin 0 -> 149 bytes
.../filter/doom.id/fonts/defsmallfont/0136.png | Bin 1164 -> 0 bytes
.../filter/doom.id/fonts/defsmallfont/013B.lmp | Bin 0 -> 125 bytes
.../filter/doom.id/fonts/defsmallfont/013B.png | Bin 1158 -> 0 bytes
.../filter/doom.id/fonts/defsmallfont/013D.lmp | Bin 0 -> 131 bytes
.../filter/doom.id/fonts/defsmallfont/013D.png | Bin 1152 -> 0 bytes
.../filter/doom.id/fonts/defsmallfont/0172.lmp | Bin 0 -> 142 bytes
.../filter/doom.id/fonts/defsmallfont/0172.png | Bin 1163 -> 0 bytes
.../filter/doom.id/fonts/defsmallfont/040D.lmp | Bin 137 -> 146 bytes
.../filter/doom.id/fonts/defsmallfont/040D.png | Bin 1178 -> 0 bytes
.../filter/doom.id/fonts/defsmallfont/0419.lmp | Bin 138 -> 152 bytes
.../game-chex/fonts/defsmallfont/0400.lmp | Bin 0 -> 142 bytes
.../game-chex/fonts/defsmallfont/2012.png | Bin 897 -> 0 bytes
17 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.lmp
delete mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.lmp
delete mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.lmp
delete mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.lmp
delete mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.lmp
delete mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.lmp
delete mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.png
delete mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.png
create mode 100644 wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0400.lmp
delete mode 100644 wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.png
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..057c1ef0f7ca1076f83eb9ec90081a02999dbcef
GIT binary patch
literal 136
zcmXYn(FuSs3`C<Mwww4Dzg@ryoWKPfz^Ot?iVhbqr3Vi#_mU`6WCa`8!2wQifg3zv
qoH*jc%xw0eQ9@HK7BgjLtzR{63YTCO)&3~3r9Cd8RG^*Ed;AB!!X=;p
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.png
deleted file mode 100644
index 14f48f25d79dfd10510267cf35bbc387692b2de8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1162
zcmd^-v8&`%6vmIPko9FBSx6BuYJ?QC5G6&5xC9Mr-jaRBeOX=>BBqEKaEidDh!7!2
z-~}0ETmnupMU)g%q!@IH6eCVC$|55S>=c6x7-WPMr<h`jS8TV(>;4;F?md@#59fC-
z_xrxOcV-?Ry>bKq$ESBr&dGk2te3A|A@S{p-@OWO1@3)t|28=a9L+J5Wm$;G^E}J4
zG)+?!C98rcF`Pg#9N3y<Dxxm&IGsKnk1t1~{cyM|ifymgrs+D4mtnXFg1P6-T(`09
ziD}llKGL*OQHHWyNK#)Eb3w>>KH<2SWkZJP(zH)e9z{76WdoQ11_182_+*Xk0@pKK
zHMpp8UgB(kP5yM89!Bx547Y<|)Av@nv&`&yYBjMrj*L;Lmw{IJYR^?NM^0=hG&{Z_
zI=Wz~ye@N!#7ZJ_I2?An-FCZe+jhNPFPF>3Vlki3r_*WEG~@BOuIs9*hQr}tFzEOD
zd7fukmLy3OMPV2QLEw3w>$<jWo2F?PhNfw%s>-t5>2yR<OfZTL-R{=+SFSg=or!5x
zx-n4oTvlUA4#bYb3kJt23@g$!N6qVETJ<KwtS*wO7nNB!NP~Xt<)NDfcH&!+Yjhpm
zw^Y|q99^#Rph%oNv=U$MI*MmXwk8@1pJqW6yWP<C0@HCd(^hm-QuPjEyl>sj%y?AF
zlT;`@wr5bW1Vn3WTb#|XEHO>d_fgkT5D?%1@C0B3umqR`GypX~3D5_~0AheHfCoS%
zBYN$2xLDwLj75QQjE;k<N?b%RWD*Qv5CEyp0YU)hzrOnxH#1z6*rYh}u+T8$FJo>W
zG21S)@#&>YJ+fhH!o+y~PTU|ihy`MZXd;S;Q0q{sFp!}q5_5J8nO8+t=4sO6xs@~k
z89)T!0LUd^W#G=jl$7EMRuz;HgmoA`{`>fSfEVDi^D~E}{@3Gs?H`GJ)y>nBTlYWz
z<F)=T$MD9r7njf4>t8>7_rtqyGCy9w@$=|ndgrHa-nskNM@QfO{^0Sa@fW{Ymlwsg
dm(G8E{jJW8?Vq1~d5b{c^!C}w5AS_^@h=+(ZxjFk
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..c4a7effd7e58b66089b904ced7d69a60789ee5ea
GIT binary patch
literal 90
zcmZQ&;A8*+86egGVlyCi0pcJaW?<Kcf&UDg`uf|!04N0JZQQhZ(`NncP##3#E+CJM
I8O;6<0L!@*xc~qF
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.png
deleted file mode 100644
index d637b362bf5cf27cbf72ae8f146a164cf6390255..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1140
zcmd^7zpJEH6h7f?aPxeNkbxCqVZdSv3kwSiLnQGn=3#g)>jMi3282vuVPS{?2|_G}
zFolK16c!d!SQs({AyW*jfh{bCFvS!TVll-oOfkh28}f=kPVR30j9kwB!R4IqJDl(P
z;pwgM=<<V00C;rs+4VDWzf1Oe4=>31TlDxxfD3r~`P~yl<XM_!DAP2_o8!3AXhhRA
zMNyK%3nIhv6vKk0iiRv`B8RKhebc;NEKc+JG0zXv>5wG5DB1);@B5wWt{tbftfgVp
znzm5YQkLhEl#Aj_5Hg-mIWA_|Xfz5KW<t{*MY$AZQ<Mc@0O$aCI^fG44n6MHxNWho
zu`6+1V4K}H$$1eS%ivJ>`<c7V>`iKQiP=U*6Y7gVD}6Qhl&K@9wiH`pV2nLour=OP
zI89<@aU=@N`FuVekB7ry7>3<$x7lp^zVEtjwOX}p+cZsG*Hu-`=kuZ{X0utAWoeqm
zaU6zW5Cp#OyRPdvj%8VfVd%Q9s;Z(Wk|d4CV?hvN48!wea`3#Z<93$4G|WoV3q{K$
zB@!iH7~34Lv#iXF1e#{4uFhB0bU9D!Jg%l;nFdAT&muPqoW!?c&kP-XVr!nMIJ#_W
zQkD66Y-fQPd)ma7T|=}~L6^BC^~1=S1eWU?wxb%BtQn%BjS-{M;Oy7>i&9!9eCdv+
zIu(gPw8mk;^%~0(lLS2vH4S+l0nPv~0rmhJfDWJqr~yiV89)jU0Zaf~03sRD>v+Vz
z$ELwN$0$PEMnxemA}}Nf48b4(q&fo#0PHusrvdkC>`QDDT)3F4m~yWp_7pOQ3A6X;
zjYGY#U}eBkf7>VS5nIF@F+emB1w^Pds1zt9m<q(4V_o7DVI*-hp?GU06+i+I09XL>
z30UcPG%+EixP@&6We7nX1mE1>lB9Rw>u0z2e`Ieu{C}>?`JW$=Q3*HKpWJ=>hyOeC
z;Ogq{RrsJNe|`1U)i2MVe|(Ys^Vb(2zW)$@zIn{t<=?#`>2UMp_WGw!zx@7Rnwn^!
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..ae3589e31da1cd1f373d95e5d85c5ba07e151391
GIT binary patch
literal 149
zcmXww-4Q@Q420uvaFux57X_$52P#m34z%OkU^ExIjGg(C>?Ua}nADM;3}hq|naM&{
wVl{rb=2HUPT3|~t?%KKqwWM;>W?aT}F=6zbUfAj73g7@rHvYQhN~^c}0~$Rg>i_@%
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.png
deleted file mode 100644
index ab1bc61c19152955ac127820f689f97edaca41ae..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1164
zcmd^-v8(G;9LIlhhg@#BbjT1iV3dFzqC^RjAw#&Pmv~>~=DwGw0fR&cSS3S-2oW*_
z3|OQ?h9X5WWatni+*dF|hoT)GTBKlyf&~jkcw&VP9o}%=exCRK4G-u14(I&%eSU}Y
z{eFFOZJeLIbOr$DSMT;7ko}abv(pn2e|+)yJ-`Xvy!Y^u9C?;zJCtdfh{$mq!!R^W
zQxqjBydZX1p6ak*siGkZn#kd7c30O=CzHc?ywCG?FxVx@CW=-;u=M?f>&_jgv8<_K
zRGKzX)k2oXl9Y?$P!KYnPdP4T*@$6+PNz@P9!0qnWmA*|U;yX<cxds-26s!`%yHe|
zvcg4y^AR@LU7Z{!(Y^@Uk-r_f>&#xI)*>;R$f!eo5@?05=AJTe<kXg8OAL&zrwg{m
zn+m5%tSmC3&^aED`~ALc+ud%r*=$y;)pEI9EEcobtZACMuB)ml%W^y(k4B^6aF}IT
znx=6ahhZ25f$#gS>pG5OS(afKx~{9Lswj#iN!@N&5QG@R@YwISp0{?~g=J3-v()sF
zqGgg2iIOjLZI0JjR_-tYO|#UZ%4g+ZI!>!RE(c+e2BX9uMs5~3iEqW889I93);v>j
zblKLVGV}A;&H^*`w7xC7hG?mRE^|rhhmq3{EY~+|M>Q;2Gekw}B1VUuvz_aY3u&70
zh06?dDiVQcjk_Jr=U5b&B<OjlX~^>ka0GY)umxBFEC3pS3ZMWO0;B*DKp(&bAd(Ti
z_Iq3|v92-CF^bT(QBjDC2!>38Aq)Z_)fqqlU_a}7*x`1L%L1DOCobkHrrgtrJ%pXM
z-`RTf%Ap=xFf(APKYu4~5gWuDF+emB1w^PcC>0n<Fc642ySl_F0wZxWY4O}jDu4ta
z0I&e$60p>9Z(>49aSiJdiV%V-2!8$R{2ssy@cDylo235N<5vA!BwwXo^)4QM@%tOA
z`)BaVY473({OsO$|Li}yegDIouP)Djdi&>>-~8a!Zz=YZ*Z%mkr(FE<?_1ljJ-ySv
a`R(MOy#DC^r?+<m16P;Vy+`kS{N;aV4RQYf
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..eb90e106962d0f94df305c87f0acacea2b82a637
GIT binary patch
literal 125
zcmXZSu?>JQ3<N++1V}ca`+@;jfC;E+Q?eLIB*Sv%9bxI@xBO9(_$;*2MmrsJQl^V!
n!apW6P*wE>Od@c%)|5|^)GJSczrqNVT0I3OFNC3ozWx3H*SQ~f
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.png
deleted file mode 100644
index f441d09a5fd26b62561c43424e14d19ea20c006b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1158
zcmd^-!K>U<6vj`jklOe<i!1_0NF|FA0)`SKLKd;+)%c9Ql%|kH77;=jFpDfwh!7!Q
z7K4nE#ViJl8etZJjyj7hW-&s*E+Py#mJtSwFi49-nZ+!+c;M!E?Z4sW-gCM4aDL}<
zzwh(g=f=s^SFQrU$=Q3ScgTK)te37_Ch@H=zj+nlGTi>)?k#fUS(@!prfDJ~$8ik9
z&@@d^l%(*2*kgIB$AYDbhAe0zhl|C<Z1!wAJxnJ1Jl_q6U6O2~XcYvl?>DZybe!6<
z=7v#e+Ei5wS)NEzE{Y>T$ap^GxR_-lh6#GT0Zn@p<x-SQQ5Jv!pabAxhmSYdwYXX0
zy2iG`roiPG>+E8d9H-H~2zFzCJ95{Vy-KYnG3&^fh59tm3SZ4VW$4JMEyb1?7=2F{
zY>hV+PLo(!WJIBNJRbM^{cgAGx^A=CtX8YGZJVZ9EEaWL&t|i#s>-sQOeW*;cr+Si
zS(c`09LHf820`HazU#V<<5-qu7>2Ivs;VlAB1uxe-xmZS#xOh%20PDNJ8omybHgk(
zeXMAiq(q|R3w@j8b(WQTj6l;Y)l~VS9L^_cmB-~UEYe_{_@l_p0w?jU*fT>%AK02_
zDvmDOnp9?f9@|-9#-28?W!DfbRnTQFN&PT#27%@JhV7_^C2NMLXnn-!&^g<s{;-hd
z317I(P^Tghh}PJ3xLjgUV3MHcp{60vBft^hF~AmJ1<(N002M$1Fak&cB7gya3qT|z
zdhPevwm6$%o?{fDZKI+P7ZD7Z1Vb1EK&mr<0KopQ@1eu(659gn1g9?MDyH1Ch&_b8
z-JrMi=#@h~v|wStTz~#f+#=S9IbwilAPR_3X;3OKmS89lbM|$KQv^ohXwu@jl~e!;
zKmcF?$R%K@<KD!Cl;RrJB@`h9RS^98<m7#TOK|_rxlL04>+ys7w@AL~&9l>+cR%^#
z-WNBn!S$D4_zRmyU;X~ZryqX&=TA?szxc~<Z{PU#$v^ilu08nr-S6!C`h%ZE`uOP5
Y&FVGk`{MPd1OR8Z&QE`Q=cCX51=ZSc1^@s6
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..17fccdc69b5cec2749fd6a8b92b56c786df67da0
GIT binary patch
literal 131
zcmd;JU}pdU4InlKVtXL=2I6oajtAmwAT9@D1~z>t_|L$uufJu-jvc%7^}*~-TeoiA
f0c8W#?A#1wvoP!HgJ_Ui5P-3_ZbGmjGW!1kYU3aE
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.png
deleted file mode 100644
index 96045927b9d5a299400298521ec53fd0ef0958b3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1152
zcmd^7F{`9j6h6rYd|7!|SV&@FK$0meEG#T6%*MBv7sGQ|7c49c2s?!V3j+o$Tw*}N
z1Pn|ug@wfw7LrUJ7E?@Nv5+YyWQr+fSr?|*kSQiG#X`0ToZQ{Nk<0n+<=(^j&f$LF
z4-an4%ex=m1%S)z&#xYm^MZi7xI^}Li+{fcxC0Nqd~}~&1&-zz%Cam(<awTDS(>IP
zijq}9lo(E+7!GVrG8Ivmcw8=Dx9zL>{4|>#%koeZLz?d5coT-}Am}}B<+`11FHE!1
z^|_{1iZYYsQj#X3m<vM2^9jerEE_V+n5KP-@+iuoC>y{8FaYp$z?VB5*0@{Yw!?LU
zeTAzjcKPczJ<sD~6&|L+e&TI&XOr1|YIU*MM#enUt3WG#wQ!ZpkrP`A&5>`2jxJa#
zugjbwv69G~&*$UucsLw}Vc6|<o6TmuUiW>!TrRt=YumPIn!2uMv)ObyolGWqo@ZH>
zBuNxSVHgHM;CY_wy0&ebrfC?4rfI6G%CbBfjYLsQFpAFO@xk}EuGibn!nA7Ln5ud%
ztFa^p;>h6zgX0v26=|BI`lejg#bTB<Wl|SWm4(wZn8aQlx@ll1z7@H~*wKAUbq&SQ
z<vI__#K}V|@%6Ezc&21)qM`6<7DTZ-4s9<m9al4LMK>i?A0fu4!QHQnr<J@&h00?K
zgNh{}TH`R_YK2vWX^Os&x{iW?0B3-g0DFK9Ko8IXGyoOA1Rw*50mc9x0FjL7bv)vF
zjcto%iE)gMgQ`kgL}*A58p1&cNOcYn0yuB_o(9~na9v@S;@rbh!;F6wbEk+ojG4Vp
zZ(QoB4NDUi#@jh@kJurWh#{hhC?Z0mL#@J8hC(Ff92qjNimc4jq{Uk+X#g^S2*3f5
zN5I;^qlGCc#Vu@Ws3HiPF#O}s%P#=lfo~q(I3)GIUO#JpN#v{K>#KW@zI`4%W8VAm
z)8Bv1HlKVHNI%`a!TY~GV;=wgg5de>2N(Y+PrkngP~3hTJ$~U5+W=hOzq$J5v#-AU
E5Bp+lwg3PC
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..54b92066e9176728d8a77f546965dca6c2459277
GIT binary patch
literal 142
zcmd;J;A8*+4InlGVp|~g1maL2P6FZrAg%*q23CCt_|L$mufKiU_Fek={~6fz^*3$Z
rx)sI-s@S|8B+da=yLmg9!>O;o1*B*TjJIt&NH<s$%v3fekdFTVVW=j7
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.png
deleted file mode 100644
index 411693d82027f226fdd98706121a6d056f37e040..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1163
zcmd^-!K>p`6vmH^ka1$kB8z}gB1Ei^MT8)c$s)X$_lVEP%P<*?kVV7@1+&N^N`x!|
zW>KU_gbq{*l0_F;l(CBlT~w?xi;9IQSg>G_E=KI4V1>6BMC5p#f5XeY=W_4i{LbZm
z-zT>&&CZQyZva5&;`OuJWWP?<)7P(&_}ZsmJ_m3OZoPTuoE!y?<`~MdEJWmao@H5@
zrYVY&RY8;(PM{bLY)vv1QI~j}%^poASL5+vG};%%uHSFdbQ8y`FkA+~!t>^?+t~Kh
zG;3WSYg(x&BUvsaX&{QZAY?qBa9qr?A;a`&+NUUwq8y5{0Zae`01rESxWRUbn>nr<
zT-LZKaX!Q*e>6#t<9J_&yJ4^$c<bC*W%eSqn%JB~#yHf=Kr4K;?<$!iC$<!tUEdHL
zU9ePMmpMgZC6PHEkNf?8x7)RCyV-13tJQM3Tr3u|*{o@r$z)R3byZcP(P%gv4hDlf
z&$BE`k|c_vFbsnr@I23TUE8)z(=-f2(==68Wm)cayP_y27)8fkZ|D1K*IU@m)U+zy
z7^-?MtFa^pV%OmXgX0v26=|BI7IiVJ`qNQX7fIER$}AkF!65eX&`kq7@vX=;dXDZ}
zs%t2YE?0R_Bu*Y$iLdt@#WN*a6Agt=vmlDyUTAxP>A0F{E4nGEdKWQ1wC;9p+%M&6
zDwH1EH>g+wqBXWH&gWQ`n5O9asOu;Q2yg^=2(SfM0W1I-fEu6#7yx7dF+dN%10a$S
zz4m)tE^#u!qQE#t$3aykE+QB*35GBTfK=xIA%OE=-$RSrIW9|VQXG3&XqfR=F?WcV
zU60xN^vb2~+b}a>YCL`?ZV?;A0x?815k*9(b*NMr%Fq{yIlG3;t0F7&G->hJN*aI+
zAOdgz<PxwlaBpEsN^uSA3d#t=It(BD)_DWq3Hadlr9)Ex>v2!}T_Rs~^WyB}&PTtz
z`os5~?_PN3sT2SFkLO?M{?*(&x%-|!?tJ?s^Y-8Ga(An%arof<)31Mh`Ncnf{N}Tt
d{yF{P=I3pf{qX0P-XavZIKMpm>hztD{{`a~asU7T
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.lmp
index 30f1c79d8f49a678ca7efb9830d7c4b131673e9c..2f5ee22b76a1ce965e7ff13818670940834bf02b 100644
GIT binary patch
literal 146
zcmYL>%ME}q3`0YUpmY*$J}>|?umKaW00Xd3|JxNuLc-E>97~B4FCtb}`bKtgkds{G
xCJz}WeCl=vN~VA=Mq6!Ci6Lm?0ZyPMS|1iBpb>7y(Nj*fanY+7V=kKi_b-_HCt?5q
literal 137
zcmYL>%ME}q3`0{6&{4SgzyK`30xZA)48TxH`q{3ys1lZ5WIIZtL=g$Ha&BZN2RX?_
rZt{?6#!w3jkP`(oiEKTa>IelW&hFbNDl<br@#LirZ)PcX|9^b}tR5xZ
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.png
deleted file mode 100644
index 5cd59fa7c3835f3f0db5b661c089afc0a32f32c1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1178
zcmd^7L963b6h1PGJYIMNsTjsAB4nhC2w4OP7$Gy}J>xTvm&arv3_&7hkwwJ7M94tE
zfLRnNnni^!GLS_VSrjc8q+r1=#z&N*U35{fV!;uMyhRtY7<b3}=5Kho_kP@SIN!P4
z@B94X+&DUX<q!alPTxJgOYnf~!-E^-{Nd*Q+v`N|;Le8xuj2;y-CMsCfQz$xC*;nv
zG|Nz?X(A%Wah*<wrfG_zB!w45hUF=S1xpnTS<pldr_*QS@zc@hYB<~##kSYmr0FV-
z7h%}?{@itEj?-Ay#4u`28>wn3%R@;jM6oXjInQStm#}Qy>4Xdu(6mQUE=AcCWdRrf
zIsjg6@yQA|Ev{y`Y_P3yUgB(kP5x}0?nm*i47US+-FKI{y~wP2YBsSkj`UHemA+bd
zO3#rqTS_c3G`gNH*cxvtoF=id*bxP0zu)h6yX|(n*=$y;)nc(|+jc&mPp8wSX~yGm
zUDs7r4Tr<QV9@XP^E}V8EJ>0mio!7TecyFm$8jvnG7Ll4byZarMUf<_+wBU1kYE(;
zgJA1<OUIpC_QWtNO&=&)E-A4n`9jy`c%5ZsrX$caOU>(ITJ<KwtS*wO7nNB!Nd127
z=Ao1NR^pkFqX)L;nTn&!wkB1%UnF)Onu(_cw(J_Br3$*trI{baP7qqIZ`h7%Sh8k_
ziq=JpuQtwlravyFNy?XQr>9e~2t;e#Y;ZQivcxn+&qGZ^o=1Q^z!QKqzye?n&;Zl`
zB|sk_1Bd|v02hErM)cb4ux)WX#-hMDM%zY3Aub{`WDy#|K?q294iEy^*K@BnxSnBK
zVw2*?#X`l5dm6J>5wi`LwMQ=;>ahh=119?Ocj6kcK`anML<3Pkgj$12fq?`)fta(a
zOPnHfB#tH{o?A%;kN^Y#7JwuHD;;+xrlb{@u&khrAgsgi*T0V519$;GxqEJt(*HWX
zR{s{sSG{q1eCOW7-(LIa=NIACgUgFgPyTuT{_ECPkN)`a)<y8e<?WZ4vv=P7_v7OS
kfBMcZ_s=h>M<1PipWnK9)T&>;ObFog<ox)Xw?FvoKSE}3#sB~S
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0419.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0419.lmp
index 950f91656cde3f58cc7b989cb6866172d87618f8..c48e80d4f5e61683385155fc0ded67d91f17acf5 100644
GIT binary patch
literal 152
zcmYj~+X;X`3<M7pk*mbN{jdW&umd}=13R#pdv~Yfsp!Il3|UBTthqA42oub(zzQ4e
q&~|!q7+bd#iBvU9A$jK>6^n9U+-0;-`ITeH<-JPY`<T$?dvXH38!7Do
literal 138
zcmYL>$qj%o3<Mn>kW%>hK>;*C12jMb6hKdLuI|DFMZ(fp-nG|Wyofki=^N~DzzG-J
r@W3?dsOA>coG8^M9yewSVF=6;@xF~|Ej=~PQY;nG^JbQEpZ~Wn%e5vA
diff --git a/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0400.lmp b/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0400.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..5a41b45e3e0ce65d909ec41c2881c7d0186de6cd
GIT binary patch
literal 142
zcmXAh%MFAu3`7k9El>$Z&eT8$TftsQLI~1aXdIrkBRy-zzriLm3pP_1SYd-N{NR8a
y`XJZS^-?Vt&RTDT4>|6+cxRG!DMv(XMyV*(R5Pg^*pA9d1iv~}8UMY1LeC4<i!V|D
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.png b/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.png
deleted file mode 100644
index 4ffc36ccaceed43e8d9aa10ace07100e8e8eac9b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 897
zcmW+!F{q?w5T4`;UrrttLJYC6u-L-F5DN<nx$_;~i{U)tfg~1&SXfw?#6pM!AtqVE
z78YA9cLoe>VL-?h7F#UD;tGp}Y_Y{cEVj6WEw<R=it94@-@!ls!1poV%rM_CPoJ3A
z_dmQ30N1yVZ$2aWip0IEd*pxq{-5970pYg~z9JbA@jnT^X9*8aKYjLyKmtc|3}sms
z;dq{BS(c`0ilSsy5G95aD24-DlT1a_B_7x7H*NcRxjZixr?Nawr(>4wlVlr3LlE?y
zw{hLhwpXUv==xIADn(hyaw$nOQ7i-@=lPW55|)h^CZuVfqCARnD9Q#f0Sq$V`G~Lf
zI1aeq;I6}=!M?)H9J}I8n_ZU4sfv#C;4t%cg|p4=KC`;SY-3{?=~bYWzB+Z4+>ujT
zip+^`h>k8;DzD3&BC(RlTrQW>>2y3E$8p^6_uK7u7>2&@*XwoHb#2==O;gwPVzHRd
z=d;<YD2hDK(=?6aIEtbm2t3boUDvj4(=-jk&@@d|RaurNlZhybDaP?743ECQbG_bn
zR;E?!#$444SxqE45GM{V7#ycCtVq)w)i>q3o~{;oQ>OJauJUM}1+&B}A~y@{)VE^S
z2p!$GRM$`(U9O9uOr0XKQeO`p#WN*a6AgvW@*qy!FtWYCbX?7}72T9neS(;rNB6KX
zURLrd6Dp6L8dM_P`2fceHyf-f%rf+S)O8dD1h@da0yqF{0eXNApaG}=W&k-r0uTat
z0OVxkUZ)cd1GX)eB_;_v4yr0~5s@K}$Pf)8K&lIX2*A1Pdmizy!J)z~!=;C%hB^N_
z;m$F044H#ZZ(Zu84Qmrt#@jjZfY>3Hh!LWRC?Z0mL#@JGhN(!*IWc5j6<L|5NsG5u
z(g0)t5r6|AAYg6a$-<13;tqB-R53(N6#ezj^(TaW@9W2(lg()MF5ZC`zkWbK_V(t%
ov#aO9??1i!^WP6Yf{%X#cu~;beDUv(L>S=q(UY4$9)9`5|D%0m`Tzg`
--
2.39.3

View File

@@ -1,270 +0,0 @@
From bc6bf8c3b04fe074020b5de17f5b486bf61b2220 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Tue, 17 Jan 2023 16:27:52 -0300
Subject: [PATCH 24/51] Mark non-modifying map functions as const
---
wadsrc/static/zscript/engine/maps.zs | 110 +++++++++++++++------------
1 file changed, 63 insertions(+), 47 deletions(-)
diff --git a/wadsrc/static/zscript/engine/maps.zs b/wadsrc/static/zscript/engine/maps.zs
index d10ffe5d1..20ef85ab4 100644
--- a/wadsrc/static/zscript/engine/maps.zs
+++ b/wadsrc/static/zscript/engine/maps.zs
@@ -5,11 +5,12 @@ struct Map_I32_I8 native
native void Move(Map_I32_I8 other);
native void Swap(Map_I32_I8 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native int Get(int key);
- native bool CheckKey(int key);
- native void Insert(int key,int value);
+ native bool CheckKey(int key) const;
+
+ native void Insert(int key, int value);
native void InsertNew(int key);
native void Remove(int key);
}
@@ -33,10 +34,11 @@ struct Map_I32_I16 native
native void Move(Map_I32_I16 other);
native void Swap(Map_I32_I16 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native int Get(int key);
- native bool CheckKey(int key);
+ native bool CheckKey(int key) const;
+
native void Insert(int key,int value);
native void InsertNew(int key);
native void Remove(int key);
@@ -61,11 +63,12 @@ struct Map_I32_I32 native
native void Move(Map_I32_I32 other);
native void Swap(Map_I32_I32 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native int Get(int key);
- native bool CheckKey(int key);
- native void Insert(int key,int value);
+ native bool CheckKey(int key) const;
+
+ native void Insert(int key, int value);
native void InsertNew(int key);
native void Remove(int key);
}
@@ -89,11 +92,12 @@ struct Map_I32_F32 native
native void Move(Map_I32_F32 other);
native void Swap(Map_I32_F32 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native double Get(int key);
- native bool CheckKey(int key);
- native void Insert(int key,double value);
+ native bool CheckKey(int key) const;
+
+ native void Insert(int key, double value);
native void InsertNew(int key);
native void Remove(int key);
}
@@ -117,11 +121,12 @@ struct Map_I32_F64 native
native void Move(Map_I32_F64 other);
native void Swap(Map_I32_F64 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native double Get(int key);
- native bool CheckKey(int key);
- native void Insert(int key,double value);
+ native bool CheckKey(int key) const;
+
+ native void Insert(int key, double value);
native void InsertNew(int key);
native void Remove(int key);
}
@@ -145,11 +150,12 @@ struct Map_I32_Obj native
native void Move(Map_I32_Obj other);
native void Swap(Map_I32_Obj other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native Object Get(int key);
- native bool CheckKey(int key);
- native void Insert(int key,Object value);
+ native bool CheckKey(int key) const;
+
+ native void Insert(int key, Object value);
native void InsertNew(int key);
native void Remove(int key);
}
@@ -173,11 +179,12 @@ struct Map_I32_Ptr native
native void Move(Map_I32_Ptr other);
native void Swap(Map_I32_Ptr other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native voidptr Get(int key);
- native bool CheckKey(int key);
- native void Insert(int key,voidptr value);
+ native bool CheckKey(int key) const;
+
+ native void Insert(int key, voidptr value);
native void InsertNew(int key);
native void Remove(int key);
}
@@ -198,11 +205,12 @@ struct Map_I32_Str native
native void Move(Map_I32_Str other);
native void Swap(Map_I32_Str other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native String Get(int key);
- native bool CheckKey(int key);
- native void Insert(int key,String value);
+ native bool CheckKey(int key) const;
+
+ native void Insert(int key, String value);
native void InsertNew(int key);
native void Remove(int key);
}
@@ -228,11 +236,12 @@ struct Map_Str_I8 native
native void Move(Map_Str_I8 other);
native void Swap(Map_Str_I8 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native int Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,int value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, int value);
native void InsertNew(String key);
native void Remove(String key);
}
@@ -256,11 +265,12 @@ struct Map_Str_I16 native
native void Move(Map_Str_I16 other);
native void Swap(Map_Str_I16 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native int Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,int value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, int value);
native void InsertNew(String key);
native void Remove(String key);
}
@@ -284,11 +294,12 @@ struct Map_Str_I32 native
native void Move(Map_Str_I32 other);
native void Swap(Map_Str_I32 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native int Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,int value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, int value);
native void InsertNew(String key);
native void Remove(String key);
}
@@ -312,11 +323,12 @@ struct Map_Str_F32 native
native void Move(Map_Str_F32 other);
native void Swap(Map_Str_F32 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native double Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,double value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, double value);
native void InsertNew(String key);
native void Remove(String key);
}
@@ -340,11 +352,12 @@ struct Map_Str_F64 native
native void Move(Map_Str_F64 other);
native void Swap(Map_Str_F64 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native double Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,double value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, double value);
native void InsertNew(String key);
native void Remove(String key);
}
@@ -368,11 +381,12 @@ struct Map_Str_Obj native
native void Move(Map_Str_Obj other);
native void Swap(Map_Str_Obj other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native Object Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,Object value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, Object value);
native void InsertNew(String key);
native void Remove(String key);
}
@@ -396,11 +410,12 @@ struct Map_Str_Ptr native
native void Move(Map_Str_Ptr other);
native void Swap(Map_Str_Ptr other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native voidptr Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,voidptr value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, voidptr value);
native void InsertNew(String key);
native void Remove(String key);
}
@@ -424,11 +439,12 @@ struct Map_Str_Str native
native void Move(Map_Str_Str other);
native void Swap(Map_Str_Str other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native String Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,String value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, String value);
native void InsertNew(String key);
native void Remove(String key);
}
--
2.39.3

View File

@@ -1,32 +0,0 @@
From d09cfff738f53f65efdeb1f39ce5ce1db81ee747 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Tue, 17 Jan 2023 16:33:41 -0300
Subject: [PATCH 25/51] Fix iterator invalidation for Map::Get
---
src/common/scripting/core/maps.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/common/scripting/core/maps.cpp b/src/common/scripting/core/maps.cpp
index 68eab6d3d..bfc2b676d 100644
--- a/src/common/scripting/core/maps.cpp
+++ b/src/common/scripting/core/maps.cpp
@@ -125,6 +125,7 @@ template<typename M> expand_types_vm<typename M::ValueType> MapGet(M * self,expa
{
typename M::ValueType n {};
self->Insert(key,n);
+ self->info->rev++; // invalidate iterators
return n;
}
}
@@ -139,6 +140,7 @@ template<typename M> void MapGetString(M * self,expand_types_vm<typename M::KeyT
{
out = FString();
self->Insert(key,out);
+ self->info->rev++; // invalidate iterators
}
}
--
2.39.3

View File

@@ -1,59 +0,0 @@
From 7f0b52de6fcddf98dc07ca3aa1c34e8b03e0416c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Wed, 18 Jan 2023 21:05:47 -0300
Subject: [PATCH 26/51] Add Missing Read Barriers to Map Get Functions
---
src/common/scripting/core/maps.cpp | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/src/common/scripting/core/maps.cpp b/src/common/scripting/core/maps.cpp
index bfc2b676d..b6ae925c6 100644
--- a/src/common/scripting/core/maps.cpp
+++ b/src/common/scripting/core/maps.cpp
@@ -118,8 +118,16 @@ template<typename M> unsigned int MapCountUsed(M * self)
template<typename M> expand_types_vm<typename M::ValueType> MapGet(M * self,expand_types_vm<typename M::KeyType> key)
{
typename M::ValueType * v = self->CheckKey(key);
- if (v) {
- return *v;
+ if (v)
+ {
+ if constexpr(std::is_same_v<typename M::ValueType, DObject*>)
+ {
+ return GC::ReadBarrier(*v);
+ }
+ else
+ {
+ return *v;
+ }
}
else
{
@@ -149,7 +157,6 @@ template<typename M> int MapCheckKey(M * self, expand_types_vm<typename M::KeyTy
return self->CheckKey(key) != nullptr;
}
-
//==========================================================================
//
// MapInsert
@@ -240,7 +247,14 @@ template<typename I> void MapIteratorGetKeyString(I * self, FString &out)
template<typename I> expand_types_vm<typename I::ValueType> MapIteratorGetValue(I * self)
{
- return self->GetValue();
+ if constexpr(std::is_same_v<typename I::ValueType, DObject*>)
+ {
+ return GC::ReadBarrier(self->GetValue());
+ }
+ else
+ {
+ return self->GetValue();
+ }
}
template<typename I> void MapIteratorGetValueString(I * self, FString &out)
--
2.39.3

View File

@@ -1,44 +0,0 @@
From 083b99557f0b0808088a53f5ea5efca040eb25e9 Mon Sep 17 00:00:00 2001
From: Emanuele Disco <emawind84@gmail.com>
Date: Tue, 24 Jan 2023 11:01:26 +0900
Subject: [PATCH 28/51] refactor: add some logs to help understand what is
happening during soundfont selection.
It helps understand what soundfont is currently used
refs: https://github.com/ZDoom/ZMusic/pull/44
---
src/common/audio/music/i_soundfont.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/common/audio/music/i_soundfont.cpp b/src/common/audio/music/i_soundfont.cpp
index f05f0cb76..af1c5634c 100644
--- a/src/common/audio/music/i_soundfont.cpp
+++ b/src/common/audio/music/i_soundfont.cpp
@@ -45,6 +45,7 @@
#include "findfile.h"
#include "i_interface.h"
#include "configfile.h"
+#include "printf.h"
//==========================================================================
//
@@ -447,6 +448,7 @@ const FSoundFontInfo *FSoundFontManager::FindSoundFont(const char *name, int all
// an empty name will pick the first one in a compatible format.
if (allowed & sfi.type && (name == nullptr || *name == 0 || !sfi.mName.CompareNoCase(name) || !sfi.mNameExt.CompareNoCase(name)))
{
+ DPrintf(DMSG_NOTIFY, "Found compatible soundfont %s\n", sfi.mNameExt.GetChars());
return &sfi;
}
}
@@ -455,6 +457,7 @@ const FSoundFontInfo *FSoundFontManager::FindSoundFont(const char *name, int all
{
if (allowed & sfi.type)
{
+ DPrintf(DMSG_NOTIFY, "Unable to find %s soundfont. Falling back to %s\n", name, sfi.mNameExt.GetChars());
return &sfi;
}
}
--
2.39.3

View File

@@ -1,25 +0,0 @@
From 79f306ee58a7276d2bf81253540f36995bedb77a Mon Sep 17 00:00:00 2001
From: CandiceJoy <candice@candicejoy.com>
Date: Tue, 24 Jan 2023 14:23:04 -0600
Subject: [PATCH 29/51] Added check for invalid class on in-VM instantiation
Signed-off-by: CandiceJoy <candice@candicejoy.com>
---
src/common/scripting/core/scopebarrier.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/common/scripting/core/scopebarrier.cpp b/src/common/scripting/core/scopebarrier.cpp
index f4d584c7b..a6c5a2370 100644
--- a/src/common/scripting/core/scopebarrier.cpp
+++ b/src/common/scripting/core/scopebarrier.cpp
@@ -211,6 +211,7 @@ void FScopeBarrier::AddFlags(int flags1, int flags2, const char* name)
// these are for vmexec.h
void FScopeBarrier::ValidateNew(PClass* cls, int outerside)
{
+ if (cls->VMType == nullptr) ThrowAbortException(X_OTHER,"Cannot instantiate invalid class %s", cls->TypeName.GetChars());
int innerside = FScopeBarrier::SideFromObjectFlags(cls->VMType->ScopeFlags);
if ((outerside != innerside) && (innerside != FScopeBarrier::Side_PlainData)) // "cannot construct ui class ... from data context"
ThrowAbortException(X_OTHER, "Cannot construct %s class %s from %s context", FScopeBarrier::StringFromSide(innerside), cls->TypeName.GetChars(), FScopeBarrier::StringFromSide(outerside));
--
2.39.3

View File

@@ -1,25 +0,0 @@
From c0945a116a60e7248bc3356a13b2fa0b49d42db1 Mon Sep 17 00:00:00 2001
From: CandiceJoy <candice@candicejoy.com>
Date: Thu, 26 Jan 2023 07:39:58 -0600
Subject: [PATCH 30/51] Fixed a bug where calling an invalid virtual function
would cause a crash.
---
src/common/scripting/vm/vmexec.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/common/scripting/vm/vmexec.h b/src/common/scripting/vm/vmexec.h
index 6716509da..f303304b8 100644
--- a/src/common/scripting/vm/vmexec.h
+++ b/src/common/scripting/vm/vmexec.h
@@ -849,6 +849,7 @@ static int ExecScriptFunc(VMFrameStack *stack, VMReturn *ret, int numret)
return 0;
}
auto p = o->GetClass();
+ if(p->Virtuals.Size() <= 0) ThrowAbortException(X_OTHER,"Attempted to call an invalid virtual function in class %s",p->TypeName.GetChars());
assert(C < p->Virtuals.Size());
reg.a[a] = p->Virtuals[C];
}
--
2.39.3

View File

@@ -1,25 +0,0 @@
From 6e4521b749d497be67617095786f283afdb3d35c Mon Sep 17 00:00:00 2001
From: Emile Belanger <emile.belanger@gmail.com>
Date: Sun, 29 Jan 2023 15:56:14 +0000
Subject: [PATCH 31/51] GLES: Fix first wipe
---
src/common/rendering/hwrenderer/data/hw_viewpointbuffer.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.cpp b/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.cpp
index f60cda5e1..5a94ba0bd 100644
--- a/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.cpp
+++ b/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.cpp
@@ -124,6 +124,8 @@ void HWViewpointBuffer::Clear()
if (needNewPipeline)
{
+ mLastMappedIndex = UINT_MAX;
+
mPipelinePos++;
mPipelinePos %= mPipelineNbr;
}
--
2.39.3

View File

@@ -1,64 +0,0 @@
From 547904ce9a4804a6ccdf7c0ccc7dedfaa60985c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Wed, 14 Jun 2023 20:14:13 -0300
Subject: [PATCH 32/51] Mark const methods as const in pseudo-generics
---
src/common/scripting/core/types.cpp | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/src/common/scripting/core/types.cpp b/src/common/scripting/core/types.cpp
index 838275dad..8a4c5bcab 100644
--- a/src/common/scripting/core/types.cpp
+++ b/src/common/scripting/core/types.cpp
@@ -2239,7 +2239,7 @@ enum OverrideFunctionArgType {
OFN_ARG_KEY_VAL,
};
-template<class MT, OverrideFunctionRetType RetType, OverrideFunctionArgType ArgType >
+template<OverrideFunctionRetType RetType, OverrideFunctionArgType ArgType, int ExtraFlags = 0, class MT>
void CreateOverrideFunction(MT *self, FName name)
{
auto Fn = Create<PFunction>(self->BackingType, name);
@@ -2294,7 +2294,7 @@ void CreateOverrideFunction(MT *self, FName name)
argnames.Push(NAME_Value);
}
- Fn->AddVariant(NewPrototype(ret, args), argflags, argnames, *NativeFn->VMPointer, VARF_Method | VARF_Native,SUF_ACTOR | SUF_OVERLAY | SUF_WEAPON | SUF_ITEM);
+ Fn->AddVariant(NewPrototype(ret, args), argflags, argnames, *NativeFn->VMPointer, VARF_Method | VARF_Native | ExtraFlags, SUF_ACTOR | SUF_OVERLAY | SUF_WEAPON | SUF_ITEM);
self->FnOverrides.Insert(name, Fn);
}
@@ -2304,11 +2304,11 @@ PMap::PMap(PType *keytype, PType *valtype, PStruct *backing, int backing_class)
mDescriptiveName.Format("Map<%s, %s>", keytype->DescriptiveName(), valtype->DescriptiveName());
Size = sizeof(ZSFMap);
Align = alignof(ZSFMap);
- CreateOverrideFunction<PMap, OFN_RET_VAL, OFN_ARG_KEY>(this, NAME_Get);
- CreateOverrideFunction<PMap, OFN_RET_BOOL, OFN_ARG_KEY>(this, NAME_CheckKey);
- CreateOverrideFunction<PMap, OFN_RET_VOID, OFN_ARG_KEY_VAL>(this, NAME_Insert);
- CreateOverrideFunction<PMap, OFN_RET_VOID, OFN_ARG_KEY>(this, NAME_InsertNew);
- CreateOverrideFunction<PMap, OFN_RET_VOID, OFN_ARG_KEY>(this, NAME_Remove);
+ CreateOverrideFunction< OFN_RET_VAL , OFN_ARG_KEY > (this, NAME_Get);
+ CreateOverrideFunction< OFN_RET_BOOL , OFN_ARG_KEY , VARF_ReadOnly> (this, NAME_CheckKey);
+ CreateOverrideFunction< OFN_RET_VOID , OFN_ARG_KEY_VAL > (this, NAME_Insert);
+ CreateOverrideFunction< OFN_RET_VOID , OFN_ARG_KEY > (this, NAME_InsertNew);
+ CreateOverrideFunction< OFN_RET_VOID , OFN_ARG_KEY > (this, NAME_Remove);
}
//==========================================================================
@@ -2770,9 +2770,9 @@ PMapIterator::PMapIterator(PType *keytype, PType *valtype, PStruct *backing, int
mDescriptiveName.Format("MapIterator<%s, %s>", keytype->DescriptiveName(), valtype->DescriptiveName());
Size = sizeof(ZSFMap);
Align = alignof(ZSFMap);
- CreateOverrideFunction<PMapIterator, OFN_RET_KEY, OFN_ARG_VOID>(this, NAME_GetKey);
- CreateOverrideFunction<PMapIterator, OFN_RET_VAL, OFN_ARG_VOID>(this, NAME_GetValue);
- CreateOverrideFunction<PMapIterator, OFN_RET_VOID, OFN_ARG_VAL>(this, NAME_SetValue);
+ CreateOverrideFunction<OFN_RET_KEY, OFN_ARG_VOID>(this, NAME_GetKey);
+ CreateOverrideFunction<OFN_RET_VAL, OFN_ARG_VOID>(this, NAME_GetValue);
+ CreateOverrideFunction<OFN_RET_VOID, OFN_ARG_VAL>(this, NAME_SetValue);
}
//==========================================================================
--
2.39.3

View File

@@ -1,474 +0,0 @@
From adcb59e00e3f5a4e623be4b0b629b4bd8dfe933f Mon Sep 17 00:00:00 2001
From: Emile Belanger <emile.belanger@gmail.com>
Date: Sat, 4 Feb 2023 22:20:05 +0000
Subject: [PATCH 33/51] Fixing GLES mode to work on real GLES hardware and
OpenGL 2 again
---
src/common/rendering/gles/gles_buffers.cpp | 10 +-
src/common/rendering/gles/gles_hwtexture.cpp | 59 +++----
.../rendering/gles/gles_renderstate.cpp | 2 +-
src/common/rendering/gles/gles_system.cpp | 153 +++++++++++-------
src/common/rendering/gles/gles_system.h | 70 +++++---
5 files changed, 172 insertions(+), 122 deletions(-)
diff --git a/src/common/rendering/gles/gles_buffers.cpp b/src/common/rendering/gles/gles_buffers.cpp
index cf7b8ae97..7f56f737f 100644
--- a/src/common/rendering/gles/gles_buffers.cpp
+++ b/src/common/rendering/gles/gles_buffers.cpp
@@ -234,8 +234,7 @@ void GLBuffer::Resize(size_t newsize)
void GLBuffer::GPUDropSync()
{
-#if !(USE_GLES2) // Only applicable when running on desktop for now
- if (gles.useMappedBuffers && glFenceSync && glClientWaitSync)
+ if (gles.glesMode > GLES_MODE_GLES && gles.useMappedBuffers && glFenceSync && glDeleteSync)
{
if (mGLSync != NULL)
{
@@ -244,13 +243,11 @@ void GLBuffer::GPUDropSync()
mGLSync = glFenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0);
}
-#endif
}
void GLBuffer::GPUWaitSync()
{
-#if !(USE_GLES2) // Only applicable when running on desktop for now
- if (gles.useMappedBuffers && glFenceSync && glClientWaitSync)
+ if (gles.glesMode > GLES_MODE_GLES && gles.useMappedBuffers && glDeleteSync && glClientWaitSync)
{
GLenum status = glClientWaitSync(mGLSync, GL_SYNC_FLUSH_COMMANDS_BIT, 1000 * 1000 * 50); // Wait for a max of 50ms...
@@ -263,7 +260,6 @@ void GLBuffer::GPUWaitSync()
mGLSync = NULL;
}
-#endif
}
@@ -318,7 +314,7 @@ void GLVertexBuffer::Bind(int *offsets)
glVertexAttribPointer(i, attrinf.size, attrinf.format, attrinf.normalize, (GLsizei)mStride, (void*)(intptr_t)ofs);
else
{
- if (gles.gles3Features)
+ if (gles.glesMode >= GLES_MODE_OGL3)
glVertexAttribIPointer(i, attrinf.size, attrinf.format, (GLsizei)mStride, (void*)(intptr_t)ofs);
}
}
diff --git a/src/common/rendering/gles/gles_hwtexture.cpp b/src/common/rendering/gles/gles_hwtexture.cpp
index 43425ce7d..3f07c65d6 100644
--- a/src/common/rendering/gles/gles_hwtexture.cpp
+++ b/src/common/rendering/gles/gles_hwtexture.cpp
@@ -130,44 +130,47 @@ unsigned int FHardwareTexture::CreateTexture(unsigned char * buffer, int w, int
int sourcetype;
-
-#if USE_GLES2
- if (glTextureBytes == 1)
+ if (gles.glesMode == GLES_MODE_GLES)
{
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- sourcetype = GL_ALPHA;
- texformat = GL_ALPHA;
- }
- else
- {
- sourcetype = GL_BGRA;
- texformat = GL_BGRA;
- }
-#else
- if (glTextureBytes == 1)
- {
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- sourcetype = GL_RED;
- texformat = GL_RED;
+ if (glTextureBytes == 1)
+ {
+ glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+ sourcetype = GL_ALPHA;
+ texformat = GL_ALPHA;
+ }
+ else
+ {
+ sourcetype = GL_BGRA; // These two must be the same
+ texformat = GL_BGRA;
+ }
}
else
{
- sourcetype = GL_BGRA;
- texformat = GL_RGBA;
+ if (glTextureBytes == 1) //Use Red channel instread becuase Alpha does not work in OpenGL, swizzle later
+ {
+ glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+ sourcetype = GL_RED;
+ texformat = GL_RED;
+ }
+ else
+ {
+ sourcetype = GL_BGRA;
+ texformat = GL_RGBA;
+ }
}
-#endif
glTexImage2D(GL_TEXTURE_2D, 0, texformat, rw, rh, 0, sourcetype, GL_UNSIGNED_BYTE, buffer);
-#if !(USE_GLES2)
- // The shader is using the alpha channel instead of red, this work on GLES but not on GL
- // So the texture uses GL_RED and this swizzels the red channel into the alpha channel
- if (glTextureBytes == 1)
+ if (gles.glesMode != GLES_MODE_GLES)
{
- GLint swizzleMask[] = { GL_ZERO, GL_ZERO, GL_ZERO, GL_RED };
- glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_RGBA, swizzleMask);
+ // The shader is using the alpha channel instead of red, this work on GLES but not on GL
+ // So the texture uses GL_RED and this swizzels the red channel into the alpha channel
+ if (glTextureBytes == 1)
+ {
+ GLint swizzleMask[] = { GL_ZERO, GL_ZERO, GL_ZERO, GL_RED };
+ glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_RGBA, swizzleMask);
+ }
}
-#endif
if (deletebuffer && buffer) free(buffer);
diff --git a/src/common/rendering/gles/gles_renderstate.cpp b/src/common/rendering/gles/gles_renderstate.cpp
index 87cf2681e..5995fd3b6 100644
--- a/src/common/rendering/gles/gles_renderstate.cpp
+++ b/src/common/rendering/gles/gles_renderstate.cpp
@@ -346,7 +346,7 @@ bool FGLRenderState::ApplyShader()
activeShader->cur->muLightRange.Set(range);
}
- if (gles.gles3Features)
+ if (gles.glesMode >= GLES_MODE_OGL3)
{
// Upload bone data
// NOTE, this is pretty inefficient, it will be reloading the same data over and over in a single frame
diff --git a/src/common/rendering/gles/gles_system.cpp b/src/common/rendering/gles/gles_system.cpp
index 22ba8cad6..bb7d61687 100644
--- a/src/common/rendering/gles/gles_system.cpp
+++ b/src/common/rendering/gles/gles_system.cpp
@@ -12,50 +12,16 @@ EXTERN_CVAR(Bool, gl_customshader);
void setGlVersion(double glv);
-#if USE_GLES2
+#if USE_GLAD_LOADER
PFNGLMAPBUFFERRANGEEXTPROC glMapBufferRange = NULL;
PFNGLUNMAPBUFFEROESPROC glUnmapBuffer = NULL;
PFNGLVERTEXATTRIBIPOINTERPROC glVertexAttribIPointer = NULL;
+PFNGLFENCESYNCPROC glFenceSync = NULL;
+PFNGLCLIENTWAITSYNCPROC glClientWaitSync = NULL;
+PFNGLDELETESYNCPROC glDeleteSync = NULL;
-#ifdef __ANDROID__
-#include <dlfcn.h>
-
-static void* LoadGLES2Proc(const char* name)
-{
- static void *glesLib = NULL;
-
- if(!glesLib)
- {
- int flags = RTLD_LOCAL | RTLD_NOW;
-
- glesLib = dlopen("libGLESv2_CM.so", flags);
- if(!glesLib)
- {
- glesLib = dlopen("libGLESv2.so", flags);
- }
- if(!glesLib)
- {
- glesLib = dlopen("libGLESv2.so.2", flags);
- }
- }
-
- void * ret = NULL;
- ret = dlsym(glesLib, name);
-
- if(!ret)
- {
- //LOGI("Failed to load: %s", name);
- }
- else
- {
- //LOGI("Loaded %s func OK", name);
- }
-
- return ret;
-}
-
-#elif defined _WIN32
+#if defined _WIN32
#include <windows.h>
@@ -80,9 +46,38 @@ static void* LoadGLES2Proc(const char* name)
}
}
+#else
+
+#include <dlfcn.h>
+
+static void* LoadGLES2Proc(const char* name)
+{
+ static void* glesLib = NULL;
+
+ if (!glesLib)
+ {
+ int flags = RTLD_LOCAL | RTLD_NOW;
+
+ glesLib = dlopen("libGLESv2_CM.so", flags);
+ if (!glesLib)
+ {
+ glesLib = dlopen("libGLESv2.so", flags);
+ }
+ if (!glesLib)
+ {
+ glesLib = dlopen("libGLESv2.so.2", flags);
+ }
+ }
+
+ void* ret = NULL;
+ ret = dlsym(glesLib, name);
+
+ return ret;
+}
+
#endif
-#endif // USE_GLES2
+#endif // USE_GLAD_LOADER
static TArray<FString> m_Extensions;
@@ -126,7 +121,7 @@ namespace OpenGLESRenderer
void InitGLES()
{
-#if USE_GLES2
+#if USE_GLAD_LOADER
if (!gladLoadGLES2Loader(&LoadGLES2Proc))
{
@@ -136,6 +131,10 @@ namespace OpenGLESRenderer
glMapBufferRange = (PFNGLMAPBUFFERRANGEEXTPROC)LoadGLES2Proc("glMapBufferRange");
glUnmapBuffer = (PFNGLUNMAPBUFFEROESPROC)LoadGLES2Proc("glUnmapBuffer");
glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)LoadGLES2Proc("glVertexAttribIPointer");
+
+ glFenceSync = (PFNGLFENCESYNCPROC)LoadGLES2Proc("glFenceSync");
+ glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)LoadGLES2Proc("glClientWaitSync");
+ glDeleteSync = (PFNGLDELETESYNCPROC)LoadGLES2Proc("glDeleteSync");
#else
static bool first = true;
@@ -161,48 +160,78 @@ namespace OpenGLESRenderer
{
Printf(" %s\n", m_Extensions[i].GetChars());
}
+ const char* glVersionStr = (const char*)glGetString(GL_VERSION);
+ double glVersion = strtod(glVersionStr, NULL);
+ Printf("GL Version parsed = %f\n", glVersion);
gles.flags = RFL_NO_CLIP_PLANES;
gles.useMappedBuffers = gles_use_mapped_buffer;
gles.forceGLSLv100 = gles_force_glsl_v100;
gles.maxlights = gles_max_lights_per_surface;
+ gles.numlightvectors = (gles.maxlights * LIGHT_VEC4_NUM);
gles.modelstring = (char*)glGetString(GL_RENDERER);
gles.vendorstring = (char*)glGetString(GL_VENDOR);
- gl_customshader = false;
+
+ gl_customshader = false; // Disable user shaders for GLES renderer
GLint maxTextureSize[1];
glGetIntegerv(GL_MAX_TEXTURE_SIZE, maxTextureSize);
-
gles.max_texturesize = maxTextureSize[0];
Printf("GL_MAX_TEXTURE_SIZE: %d\n", gles.max_texturesize);
-#if USE_GLES2
- gles.gles3Features = false; // Enales IQM bones
- gles.shaderVersionString = "100";
- gles.depthStencilAvailable = CheckExtension("GL_OES_packed_depth_stencil");
- gles.npotAvailable = CheckExtension("GL_OES_texture_npot");
- gles.depthClampAvailable = CheckExtension("GL_EXT_depth_clamp");
- gles.anistropicFilterAvailable = CheckExtension("GL_EXT_texture_filter_anisotropic");
-#else
- gles.gles3Features = true;
- gles.shaderVersionString = "330";
- gles.depthStencilAvailable = true;
- gles.npotAvailable = true;
- gles.useMappedBuffers = true;
- gles.depthClampAvailable = true;
- gles.anistropicFilterAvailable = true;
-#endif
+ // Check if running on a GLES device, version string will start with 'OpenGL ES'
+ if (!strncmp(glVersionStr, "OpenGL ES", strlen("OpenGL ES")))
+ {
+ gles.glesMode = GLES_MODE_GLES;
+ }
+ else // Else runnning on Desktop, check OpenGL version is 3 or above
+ {
+ if (glVersion > 3.29)
+ gles.glesMode = GLES_MODE_OGL3; // 3.3 or above
+ else
+ gles.glesMode = GLES_MODE_OGL2; // Below 3.3
+ }
- gles.numlightvectors = (gles.maxlights * LIGHT_VEC4_NUM);
- const char* glversion = (const char*)glGetString(GL_VERSION);
- setGlVersion( strtod(glversion, NULL));
+ if (gles.glesMode == GLES_MODE_GLES)
+ {
+ Printf("GLES choosing mode: GLES_MODE_GLES\n");
+ gles.shaderVersionString = "100";
+ gles.depthStencilAvailable = CheckExtension("GL_OES_packed_depth_stencil");
+ gles.npotAvailable = CheckExtension("GL_OES_texture_npot");
+ gles.depthClampAvailable = CheckExtension("GL_EXT_depth_clamp");
+ gles.anistropicFilterAvailable = CheckExtension("GL_EXT_texture_filter_anisotropic");
+ }
+ else if (gles.glesMode == GLES_MODE_OGL2)
+ {
+ Printf("GLES choosing mode: GLES_MODE_OGL2\n");
+
+ gles.shaderVersionString = "100";
+ gles.depthStencilAvailable = true;
+ gles.npotAvailable = true;
+ gles.useMappedBuffers = true;
+ gles.depthClampAvailable = true;
+ gles.anistropicFilterAvailable = true;
+ }
+ else if (gles.glesMode == GLES_MODE_OGL3)
+ {
+ Printf("GLES choosing mode: GLES_MODE_OGL3\n");
+
+ gles.shaderVersionString = "330";
+ gles.depthStencilAvailable = true;
+ gles.npotAvailable = true;
+ gles.useMappedBuffers = true;
+ gles.depthClampAvailable = true;
+ gles.anistropicFilterAvailable = true;
+ }
+
+ setGlVersion(glVersion);
}
}
diff --git a/src/common/rendering/gles/gles_system.h b/src/common/rendering/gles/gles_system.h
index 481c132d0..0edec6282 100644
--- a/src/common/rendering/gles/gles_system.h
+++ b/src/common/rendering/gles/gles_system.h
@@ -23,32 +23,47 @@
#include <sys/stat.h>
#include <fcntl.h>
-#define USE_GLES2 0 // For Desktop PC leave as 0, it will use the exisiting OpenGL context creationg code but run with the GLES2 renderer
- // Set to 1 for when comipling for a real GLES device
+#define USE_GLAD_LOADER 0 // Set to 1 to use the GLAD loader, otherwise use noramal GZDoom loader for PC
-#if (USE_GLES2)
+#if (USE_GLAD_LOADER)
#include "glad/glad.h"
-// Below are used extensions for GLES
-typedef void* (APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
-GLAPI PFNGLMAPBUFFERRANGEEXTPROC glMapBufferRange;
-
-typedef GLboolean(APIENTRYP PFNGLUNMAPBUFFEROESPROC)(GLenum target);
-GLAPI PFNGLUNMAPBUFFEROESPROC glUnmapBuffer;
-
-typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer);
-GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glVertexAttribIPointer;
-
-#define GL_DEPTH24_STENCIL8 0x88F0
-#define GL_MAP_PERSISTENT_BIT 0x0040
-#define GL_MAP_READ_BIT 0x0001
-#define GL_MAP_WRITE_BIT 0x0002
-#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
-#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
-#define GL_BGRA 0x80E1
-#define GL_DEPTH_CLAMP 0x864F
-#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
-#define GL_INT_2_10_10_10_REV 0x8D9F
+ // Below are used extensions for GLES
+ typedef void* (APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+ GLAPI PFNGLMAPBUFFERRANGEEXTPROC glMapBufferRange;
+
+ typedef GLboolean(APIENTRYP PFNGLUNMAPBUFFEROESPROC)(GLenum target);
+ GLAPI PFNGLUNMAPBUFFEROESPROC glUnmapBuffer;
+
+ typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer);
+ GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glVertexAttribIPointer;
+
+ typedef GLsync(APIENTRYP PFNGLFENCESYNCPROC)(GLenum condition, GLbitfield flags);
+ GLAPI PFNGLFENCESYNCPROC glFenceSync;
+
+ typedef GLenum(APIENTRYP PFNGLCLIENTWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);
+ GLAPI PFNGLCLIENTWAITSYNCPROC glClientWaitSync;
+
+ typedef void (APIENTRYP PFNGLDELETESYNCPROC)(GLsync sync);
+ GLAPI PFNGLDELETESYNCPROC glDeleteSync;
+
+ #define GL_DEPTH24_STENCIL8 0x88F0
+ #define GL_MAP_PERSISTENT_BIT 0x0040
+ #define GL_MAP_READ_BIT 0x0001
+ #define GL_MAP_WRITE_BIT 0x0002
+ #define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
+ #define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
+ #define GL_BGRA 0x80E1
+ #define GL_DEPTH_CLAMP 0x864F
+ #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
+ #define GL_INT_2_10_10_10_REV 0x8D9F
+ #define GL_RED 0x1903
+ #define GL_TEXTURE_SWIZZLE_RGBA 0x8E46
+ #define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
+ #define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
+ #define GL_ALREADY_SIGNALED 0x911A
+ #define GL_CONDITION_SATISFIED 0x911C
+
#else
#include "gl_load/gl_load.h"
#endif
@@ -66,6 +81,13 @@ GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glVertexAttribIPointer;
namespace OpenGLESRenderer
{
+ enum
+ {
+ GLES_MODE_GLES = 0,
+ GLES_MODE_OGL2 = 1,
+ GLES_MODE_OGL3 = 2,
+ };
+
struct RenderContextGLES
{
unsigned int flags;
@@ -77,7 +99,7 @@ namespace OpenGLESRenderer
bool forceGLSLv100;
bool depthClampAvailable;
bool anistropicFilterAvailable;
- bool gles3Features;
+ int glesMode;
const char* shaderVersionString;
int max_texturesize;
char* vendorstring;
--
2.39.3

View File

@@ -1,26 +0,0 @@
From fad3284bde35899cb24189cba60fae7ca56ce9ee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Fri, 17 Feb 2023 16:11:39 -0300
Subject: [PATCH 34/51] Fix Software Slope Rendering for non-1.2 pixel ratios
---
src/rendering/swrenderer/viewport/r_viewport.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/rendering/swrenderer/viewport/r_viewport.cpp b/src/rendering/swrenderer/viewport/r_viewport.cpp
index aa455cf06..63606d467 100644
--- a/src/rendering/swrenderer/viewport/r_viewport.cpp
+++ b/src/rendering/swrenderer/viewport/r_viewport.cpp
@@ -172,6 +172,9 @@ namespace swrenderer
WallTMapScale2 = IYaspectMul / CenterX * 1.2 / ypixelstretch;
+ // [RicardoLuis0] adjust IYaspectMul for map stretch -- fixes slope rendering on maps that define pixelratio
+ IYaspectMul *= 1.2 / ypixelstretch;
+
// thing clipping
fillshort(screenheightarray, viewwidth, (short)viewheight);
--
2.39.3

View File

@@ -1,191 +0,0 @@
From ab19c639264fca169dac6f0052dce38bc1c2dab5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sat, 18 Feb 2023 23:28:54 -0300
Subject: [PATCH 35/51] Improve Services
---
src/common/scripting/interface/vmnatives.cpp | 7 +++
src/gamedata/info.cpp | 27 +++++++++++
wadsrc/static/zscript/engine/base.zs | 1 +
wadsrc/static/zscript/engine/service.zs | 49 ++++++--------------
4 files changed, 48 insertions(+), 36 deletions(-)
diff --git a/src/common/scripting/interface/vmnatives.cpp b/src/common/scripting/interface/vmnatives.cpp
index a29a6b711..f268b6e07 100644
--- a/src/common/scripting/interface/vmnatives.cpp
+++ b/src/common/scripting/interface/vmnatives.cpp
@@ -53,6 +53,8 @@
#include "s_soundinternal.h"
#include "i_time.h"
+#include "maps.h"
+
//==========================================================================
//
// status bar exports
@@ -1114,7 +1116,12 @@ DEFINE_FIELD_X(MusPlayingInfo, MusPlayingInfo, baseorder);
DEFINE_FIELD_X(MusPlayingInfo, MusPlayingInfo, loop);
DEFINE_FIELD_X(MusPlayingInfo, MusPlayingInfo, handle);
+extern ZSMap<FName, DObject* > AllServices;
+
DEFINE_GLOBAL_NAMED(PClass::AllClasses, AllClasses)
+
+DEFINE_GLOBAL(AllServices)
+
DEFINE_GLOBAL(Bindings)
DEFINE_GLOBAL(AutomapBindings)
DEFINE_GLOBAL(generic_ui)
diff --git a/src/gamedata/info.cpp b/src/gamedata/info.cpp
index 22ad8d42b..ed516a1cf 100644
--- a/src/gamedata/info.cpp
+++ b/src/gamedata/info.cpp
@@ -54,6 +54,7 @@
#include "g_levellocals.h"
#include "texturemanager.h"
#include "d_main.h"
+#include "maps.h"
extern void LoadActors ();
extern void InitBotStuff();
@@ -64,6 +65,7 @@ FRandom FState::pr_statetics("StateTics");
cycle_t ActionCycles;
+void InitServices();
//==========================================================================
//
@@ -368,6 +370,18 @@ static void LoadAltHudStuff()
//
//==========================================================================
+ZSMap<FName, DObject*> AllServices;
+
+static void MarkServices(){
+
+ ZSMap<FName, DObject*>::Iterator it(AllServices);
+ ZSMap<FName, DObject*>::Pair *pair;
+ while (it.NextPair(pair))
+ {
+ GC::Mark<DObject>(pair->Value);
+ }
+}
+
void PClassActor::StaticInit()
{
sprites.Clear();
@@ -402,6 +416,19 @@ void PClassActor::StaticInit()
}
}
+ PClass * cls = PClass::FindClass("Service");
+ for(PClass * clss : PClass::AllClasses)
+ {
+ if(clss != cls && cls->IsAncestorOf(clss))
+ {
+ DObject * obj = clss->CreateNew();
+ obj->ObjectFlags |= OF_Transient;
+ AllServices.Insert(clss->TypeName, obj);
+ }
+ }
+
+ GC::AddMarkerFunc(&MarkServices);
+
LoadAltHudStuff();
InitBotStuff();
diff --git a/wadsrc/static/zscript/engine/base.zs b/wadsrc/static/zscript/engine/base.zs
index cd2269661..43b998541 100644
--- a/wadsrc/static/zscript/engine/base.zs
+++ b/wadsrc/static/zscript/engine/base.zs
@@ -181,6 +181,7 @@ struct Vector3
struct _ native // These are the global variables, the struct is only here to avoid extending the parser for this.
{
native readonly Array<class> AllClasses;
+ native internal readonly Map<Name , Service> AllServices;
native readonly bool multiplayer;
native @KeyBindings Bindings;
native @KeyBindings AutomapBindings;
diff --git a/wadsrc/static/zscript/engine/service.zs b/wadsrc/static/zscript/engine/service.zs
index 5f834a809..50981ad80 100644
--- a/wadsrc/static/zscript/engine/service.zs
+++ b/wadsrc/static/zscript/engine/service.zs
@@ -54,6 +54,10 @@ class Service abstract
{
return null;
}
+
+ static Service Find(class<Service> serviceName){
+ return AllServices.GetIfExists(serviceName.GetClassName());
+ }
}
/**
@@ -88,54 +92,27 @@ class ServiceIterator
static ServiceIterator Find(String serviceName)
{
let result = new("ServiceIterator");
-
- result.mServiceName = serviceName;
- result.mClassIndex = 0;
- result.FindNextService();
-
+ result.mServiceName = serviceName.MakeLower();
+ result.it.Init(AllServices);
return result;
}
/**
* Gets the service and advances the iterator.
*
- * @returns service instance, or NULL if no more servers found.
- *
- * @note Each ServiceIterator will return new instances of services.
+ * @returns service instance, or NULL if no more services found.
*/
Service Next()
{
- uint classesNumber = AllClasses.Size();
- Service result = (mClassIndex == classesNumber)
- ? NULL
- : Service(new(AllClasses[mClassIndex]));
-
- ++mClassIndex;
- FindNextService();
-
- return result;
- }
-
- private void FindNextService()
- {
- uint classesNumber = AllClasses.size();
- while (mClassIndex < classesNumber && !ServiceNameContains(AllClasses[mClassIndex], mServiceName))
+ while(it.Next())
{
- ++mClassIndex;
+ String cName = it.GetKey();
+ if(cName.MakeLower().IndexOf(mServiceName) != -1);
+ return it.GetValue();
}
+ return null;
}
- private static bool ServiceNameContains(class aClass, String substring)
- {
- if (!(aClass is "Service")) return false;
-
- String className = aClass.GetClassName();
- String lowerClassName = className.MakeLower();
- String lowerSubstring = substring.MakeLower();
- bool result = lowerClassName.IndexOf(lowerSubstring) != -1;
- return result;
- }
-
+ private MapIterator<Name, Service> it;
private String mServiceName;
- private uint mClassIndex;
}
--
2.39.3

View File

@@ -1,25 +0,0 @@
From 3c25b83096cda917250ef3d45dde3af297413ec1 Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Sun, 19 Feb 2023 12:47:16 +0100
Subject: [PATCH 36/51] - fixed typo in string label.
---
src/g_game.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/g_game.cpp b/src/g_game.cpp
index 4a3398fde..c960bab26 100644
--- a/src/g_game.cpp
+++ b/src/g_game.cpp
@@ -2015,7 +2015,7 @@ void G_DoLoadGame ()
}
else
{
- LoadGameError("TXT_IOTHERENGINESG", engine.GetChars());
+ LoadGameError("TXT_OTHERENGINESG", engine.GetChars());
}
return;
}
--
2.39.3

View File

@@ -1,26 +0,0 @@
From e160c86c1fac9fcc1336fd81c772af5ad588be1e Mon Sep 17 00:00:00 2001
From: Rachael Alexanderson <18584402+madame-rachelle@users.noreply.github.com>
Date: Sun, 19 Feb 2023 10:14:36 -0500
Subject: [PATCH 37/51] Update service.zs
remove erroneous semicolon
---
wadsrc/static/zscript/engine/service.zs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/wadsrc/static/zscript/engine/service.zs b/wadsrc/static/zscript/engine/service.zs
index 50981ad80..26102b0a2 100644
--- a/wadsrc/static/zscript/engine/service.zs
+++ b/wadsrc/static/zscript/engine/service.zs
@@ -107,7 +107,7 @@ class ServiceIterator
while(it.Next())
{
String cName = it.GetKey();
- if(cName.MakeLower().IndexOf(mServiceName) != -1);
+ if(cName.MakeLower().IndexOf(mServiceName) != -1)
return it.GetValue();
}
return null;
--
2.39.3

View File

@@ -1,34 +0,0 @@
From 698d335ff71d4ad4c830d566ab445ee43aa7c815 Mon Sep 17 00:00:00 2001
From: John Stebbins <jstebbins@jetheaddev.com>
Date: Thu, 23 Feb 2023 07:32:58 -0700
Subject: [PATCH 38/51] Allow GAMEINFO LOAD to load directories
Addresses part of enhancement issue #2011
---
src/d_main.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/d_main.cpp b/src/d_main.cpp
index 5bf8e8928..b34c480ff 100644
--- a/src/d_main.cpp
+++ b/src/d_main.cpp
@@ -1773,6 +1773,7 @@ static FString ParseGameInfo(TArray<FString> &pwads, const char *fn, const char
FScanner sc;
FString iwad;
int pos = 0;
+ bool isDir;
const char *lastSlash = strrchr (fn, '/');
@@ -1806,7 +1807,7 @@ static FString ParseGameInfo(TArray<FString> &pwads, const char *fn, const char
{
checkpath = sc.String;
}
- if (!FileExists(checkpath))
+ if (!DirEntryExists(checkpath, &isDir))
{
pos += D_AddFile(pwads, sc.String, true, pos, GameConfig);
}
--
2.39.3

View File

@@ -1,21 +0,0 @@
From 5b7dd42431b471113b82b1f72aa0f918bc8da641 Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Sat, 4 Mar 2023 10:46:37 +0100
Subject: [PATCH 39/51] - fixed bad character offset.
---
.../filter/doom.id/fonts/defsmallfont/0419.lmp | Bin 152 -> 152 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0419.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0419.lmp
index c48e80d4f5e61683385155fc0ded67d91f17acf5..a861df892f13a777b2118a848b230b9cc2d595a8 100644
GIT binary patch
delta 15
WcmbQiID?U$gMo{Ifq{7<`$PZ~6ashv
delta 15
VcmbQiID?U$gMo_y2qv;m1OOBW0(AfY
--
2.39.3

View File

@@ -1,26 +0,0 @@
From 9f13bb10d03bac86c19621f828d035b915182faf Mon Sep 17 00:00:00 2001
From: CandiceJoy <candice@candicejoy.com>
Date: Fri, 17 Mar 2023 05:51:06 -0500
Subject: [PATCH 40/51] Fixed incorrect parameter type in
A_CheckForResurrection.
---
src/scripting/vmthunks_actors.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/scripting/vmthunks_actors.cpp b/src/scripting/vmthunks_actors.cpp
index facbc59e3..25b082e23 100644
--- a/src/scripting/vmthunks_actors.cpp
+++ b/src/scripting/vmthunks_actors.cpp
@@ -1627,7 +1627,7 @@ int CheckForResurrection(AActor *self, FState* state, int sound)
DEFINE_ACTION_FUNCTION_NATIVE(AActor, A_CheckForResurrection, CheckForResurrection)
{
PARAM_SELF_PROLOGUE(AActor);
- PARAM_STATE(state);
+ PARAM_POINTER(state, FState);
PARAM_INT(sound);
ACTION_RETURN_BOOL(CheckForResurrection(self, state, sound));
}
--
2.39.3

View File

@@ -1,29 +0,0 @@
From d028abc06403377b564623479bd830d8174455ac Mon Sep 17 00:00:00 2001
From: RaveYard <MrRaveYard@gmail.com>
Date: Sun, 19 Mar 2023 01:43:24 +0100
Subject: [PATCH 41/51] Fix TArray allocating 0 bytes in constructor
---
src/common/utility/tarray.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/common/utility/tarray.h b/src/common/utility/tarray.h
index a7decd4f3..8d7037db2 100644
--- a/src/common/utility/tarray.h
+++ b/src/common/utility/tarray.h
@@ -222,9 +222,9 @@ public:
explicit TArray (size_t max, bool reserve = false)
{
Most = (unsigned)max;
- Count = (unsigned)(reserve? max : 0);
- Array = (T *)M_Malloc (sizeof(T)*max);
- if (reserve && Count > 0)
+ Count = (unsigned)(reserve ? max : 0);
+ Array = max > 0 ? (T *)M_Malloc (sizeof(T)*max) : nullptr;
+ if (Count > 0)
{
ConstructEmpty(0, Count - 1);
}
--
2.39.3

View File

@@ -1,35 +0,0 @@
From e77c9f5a0e8ccc71b726050625082ada156b2672 Mon Sep 17 00:00:00 2001
From: RaveYard <MrRaveYard@gmail.com>
Date: Sun, 19 Mar 2023 03:41:27 +0100
Subject: [PATCH 42/51] Use simpler constructor for TArray in
FBlockThingsIterator
---
src/playsim/p_maputl.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/playsim/p_maputl.cpp b/src/playsim/p_maputl.cpp
index aca40e741..f883cbc91 100644
--- a/src/playsim/p_maputl.cpp
+++ b/src/playsim/p_maputl.cpp
@@ -889,7 +889,7 @@ void FMultiBlockLinesIterator::Reset()
//===========================================================================
FBlockThingsIterator::FBlockThingsIterator(FLevelLocals *l)
-: DynHash(0)
+: DynHash()
{
Level = l;
minx = maxx = 0;
@@ -899,7 +899,7 @@ FBlockThingsIterator::FBlockThingsIterator(FLevelLocals *l)
}
FBlockThingsIterator::FBlockThingsIterator(FLevelLocals *l, int _minx, int _miny, int _maxx, int _maxy)
-: DynHash(0)
+: DynHash()
{
Level = l;
minx = _minx;
--
2.39.3

View File

@@ -1,26 +0,0 @@
From f658338e869b47321af57838518b7346d8d495df Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Wed, 22 Mar 2023 04:54:29 -0300
Subject: [PATCH 43/51] Fix possible memory corruption in
`TArray::Delete(index, count)`
---
src/common/utility/tarray.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/common/utility/tarray.h b/src/common/utility/tarray.h
index 8d7037db2..cc13050b5 100644
--- a/src/common/utility/tarray.h
+++ b/src/common/utility/tarray.h
@@ -453,6 +453,8 @@ public:
void Delete (unsigned int index, int deletecount)
{
+ if(index >= Count) return;
+
if (index + deletecount > Count)
{
deletecount = Count - index;
--
2.39.3

File diff suppressed because it is too large Load Diff

View File

@@ -1,200 +0,0 @@
From 3b52c955b18667bd6ea319f89e762c5331603bc9 Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Sun, 26 Mar 2023 09:27:26 +0200
Subject: [PATCH 45/51] - made D_WriteUserInfoStrings memory safe.
Its callers are anything but for now but this function was the main blocker for refactoring so it had to come first.
---
src/d_net.cpp | 8 +++-
src/d_netinf.h | 2 +-
src/d_netinfo.cpp | 106 +++++++++++++++++++++++-----------------------
src/g_game.cpp | 10 +++--
4 files changed, 65 insertions(+), 61 deletions(-)
diff --git a/src/d_net.cpp b/src/d_net.cpp
index e83b06939..80f43e1a2 100644
--- a/src/d_net.cpp
+++ b/src/d_net.cpp
@@ -1505,7 +1505,9 @@ bool DoArbitrate (void *userdata)
netbuffer[1] = consoleplayer;
netbuffer[9] = data->gotsetup[0];
stream = &netbuffer[10];
- D_WriteUserInfoStrings (consoleplayer, &stream, true);
+ auto str = D_GetUserInfoStrings (consoleplayer, true);
+ memcpy(stream, str.GetChars(), str.Len() + 1);
+ stream += str.Len();
SendSetup (data->playersdetected, data->gotsetup, int(stream - netbuffer));
}
else
@@ -1520,7 +1522,9 @@ bool DoArbitrate (void *userdata)
{
netbuffer[1] = j;
stream = &netbuffer[9];
- D_WriteUserInfoStrings (j, &stream, true);
+ auto str = D_GetUserInfoStrings(j, true);
+ memcpy(stream, str.GetChars(), str.Len() + 1);
+ stream += str.Len();
HSendPacket (i, int(stream - netbuffer));
}
}
diff --git a/src/d_netinf.h b/src/d_netinf.h
index 5e46b7b14..56f955e06 100644
--- a/src/d_netinf.h
+++ b/src/d_netinf.h
@@ -58,7 +58,7 @@ bool D_SendServerInfoChange (FBaseCVar *cvar, UCVarValue value, ECVarType type);
bool D_SendServerFlagChange (FBaseCVar *cvar, int bitnum, bool set, bool silent);
void D_DoServerInfoChange (uint8_t **stream, bool singlebit);
-void D_WriteUserInfoStrings (int player, uint8_t **stream, bool compact=false);
+FString D_GetUserInfoStrings(int pnum, bool compact = false);
void D_ReadUserInfoStrings (int player, uint8_t **stream, bool update);
struct FPlayerColorSet;
diff --git a/src/d_netinfo.cpp b/src/d_netinfo.cpp
index 6c31fbe73..bbcd42168 100644
--- a/src/d_netinfo.cpp
+++ b/src/d_netinfo.cpp
@@ -727,67 +727,65 @@ static int namesortfunc(const void *a, const void *b)
return stricmp(name1->GetChars(), name2->GetChars());
}
-void D_WriteUserInfoStrings (int pnum, uint8_t **stream, bool compact)
+FString D_GetUserInfoStrings(int pnum, bool compact)
{
- if (pnum >= MAXPLAYERS)
+ FString result;
+ if (pnum >= 0 && pnum < MAXPLAYERS)
{
- WriteByte (0, stream);
- return;
- }
-
- userinfo_t *info = &players[pnum].userinfo;
- TArray<TMap<FName, FBaseCVar *>::Pair *> userinfo_pairs(info->CountUsed());
- TMap<FName, FBaseCVar *>::Iterator it(*info);
- TMap<FName, FBaseCVar *>::Pair *pair;
- UCVarValue cval;
+ userinfo_t* info = &players[pnum].userinfo;
+ TArray<TMap<FName, FBaseCVar*>::Pair*> userinfo_pairs(info->CountUsed());
+ TMap<FName, FBaseCVar*>::Iterator it(*info);
+ TMap<FName, FBaseCVar*>::Pair* pair;
+ UCVarValue cval;
- // Create a simple array of all userinfo cvars
- while (it.NextPair(pair))
- {
- userinfo_pairs.Push(pair);
- }
- // For compact mode, these need to be sorted. Verbose mode doesn't matter.
- if (compact)
- {
- qsort(&userinfo_pairs[0], userinfo_pairs.Size(), sizeof(pair), userinfosortfunc);
- // Compact mode is signified by starting the string with two backslash characters.
- // We output one now. The second will be output as part of the first value.
- *(*stream)++ = '\\';
- }
- for (unsigned int i = 0; i < userinfo_pairs.Size(); ++i)
- {
- pair = userinfo_pairs[i];
-
- if (!compact)
- { // In verbose mode, prepend the cvar's name
- *stream += sprintf(*((char **)stream), "\\%s", pair->Key.GetChars());
+ // Create a simple array of all userinfo cvars
+ while (it.NextPair(pair))
+ {
+ userinfo_pairs.Push(pair);
+ }
+ // For compact mode, these need to be sorted. Verbose mode doesn't matter.
+ if (compact)
+ {
+ qsort(&userinfo_pairs[0], userinfo_pairs.Size(), sizeof(pair), userinfosortfunc);
+ // Compact mode is signified by starting the string with two backslash characters.
+ // We output one now. The second will be output as part of the first value.
+ result += '\\';
}
- // A few of these need special handling for compatibility reasons.
- switch (pair->Key.GetIndex())
+ for (unsigned int i = 0; i < userinfo_pairs.Size(); ++i)
{
- case NAME_Gender:
- *stream += sprintf(*((char **)stream), "\\%s",
- *static_cast<FIntCVar *>(pair->Value) == GENDER_FEMALE ? "female" :
- *static_cast<FIntCVar *>(pair->Value) == GENDER_NEUTER ? "neutral" :
- *static_cast<FIntCVar *>(pair->Value) == GENDER_OBJECT ? "other" : "male");
- break;
-
- case NAME_PlayerClass:
- *stream += sprintf(*((char **)stream), "\\%s", info->GetPlayerClassNum() == -1 ? "Random" :
- D_EscapeUserInfo(info->GetPlayerClassType()->GetDisplayName().GetChars()).GetChars());
- break;
-
- case NAME_Skin:
- *stream += sprintf(*((char **)stream), "\\%s", D_EscapeUserInfo(Skins[info->GetSkin()].Name).GetChars());
- break;
-
- default:
- cval = pair->Value->GetGenericRep(CVAR_String);
- *stream += sprintf(*((char **)stream), "\\%s", cval.String);
- break;
+ pair = userinfo_pairs[i];
+
+ if (!compact)
+ { // In verbose mode, prepend the cvar's name
+ result.AppendFormat("\\%s", pair->Key.GetChars());
+ }
+ // A few of these need special handling for compatibility reasons.
+ switch (pair->Key.GetIndex())
+ {
+ case NAME_Gender:
+ result.AppendFormat("\\%s",
+ *static_cast<FIntCVar*>(pair->Value) == GENDER_FEMALE ? "female" :
+ *static_cast<FIntCVar*>(pair->Value) == GENDER_NEUTER ? "neutral" :
+ *static_cast<FIntCVar*>(pair->Value) == GENDER_OBJECT ? "other" : "male");
+ break;
+
+ case NAME_PlayerClass:
+ result.AppendFormat("\\%s", info->GetPlayerClassNum() == -1 ? "Random" :
+ D_EscapeUserInfo(info->GetPlayerClassType()->GetDisplayName().GetChars()).GetChars());
+ break;
+
+ case NAME_Skin:
+ result.AppendFormat("\\%s", D_EscapeUserInfo(Skins[info->GetSkin()].Name).GetChars());
+ break;
+
+ default:
+ cval = pair->Value->GetGenericRep(CVAR_String);
+ result.AppendFormat("\\%s", cval.String);
+ break;
+ }
}
}
- *(*stream)++ = '\0';
+ return result;
}
void D_ReadUserInfoStrings (int pnum, uint8_t **stream, bool update)
diff --git a/src/g_game.cpp b/src/g_game.cpp
index c960bab26..7ac7fd98d 100644
--- a/src/g_game.cpp
+++ b/src/g_game.cpp
@@ -2618,10 +2618,12 @@ void G_BeginRecording (const char *startmap)
{
if (playeringame[i])
{
- StartChunk (UINF_ID, &demo_p);
- WriteByte ((uint8_t)i, &demo_p);
- D_WriteUserInfoStrings (i, &demo_p);
- FinishChunk (&demo_p);
+ StartChunk(UINF_ID, &demo_p);
+ WriteByte((uint8_t)i, &demo_p);
+ auto str = D_GetUserInfoStrings(i);
+ memcpy(demo_p, str.GetChars(), str.Len() + 1);
+ demo_p += str.Len();
+ FinishChunk(&demo_p);
}
}
--
2.39.3

View File

@@ -1,68 +0,0 @@
From 43131effaa913a40fe10c15836e272c484b7c4f7 Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Sun, 26 Mar 2023 09:49:40 +0200
Subject: [PATCH 46/51] - avoid arithmetics with literal null pointers in
ParseCommandLine.
Also avoid using longs.
---
src/m_misc.cpp | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/m_misc.cpp b/src/m_misc.cpp
index 6e40991da..45af80cec 100644
--- a/src/m_misc.cpp
+++ b/src/m_misc.cpp
@@ -74,7 +74,7 @@ CVAR(String, screenshot_type, "png", CVAR_ARCHIVE|CVAR_GLOBALCONFIG);
CVAR(String, screenshot_dir, "", CVAR_ARCHIVE|CVAR_GLOBALCONFIG);
EXTERN_CVAR(Bool, longsavemessages);
-static long ParseCommandLine (const char *args, int *argc, char **argv);
+static size_t ParseCommandLine (const char *args, int *argc, char **argv);
//---------------------------------------------------------------------------
@@ -101,7 +101,7 @@ void M_FindResponseFile (void)
TArray<uint8_t> file;
int argc = 0;
int size;
- long argsize = 0;
+ size_t argsize = 0;
int index;
// Any more response files after the limit will be removed from the
@@ -179,17 +179,19 @@ void M_FindResponseFile (void)
// This is just like the version in c_dispatch.cpp, except it does not
// do cvar expansion.
-static long ParseCommandLine (const char *args, int *argc, char **argv)
+static size_t ParseCommandLine (const char *args, int *argc, char **argv)
{
int count;
+ char* buffstart;
char *buffplace;
count = 0;
- buffplace = NULL;
+ buffstart = NULL;
if (argv != NULL)
{
- buffplace = argv[0];
+ buffstart = argv[0];
}
+ buffplace = buffstart;
for (;;)
{
@@ -257,7 +259,7 @@ static long ParseCommandLine (const char *args, int *argc, char **argv)
{
*argc = count;
}
- return (long)(buffplace - (char *)0);
+ return (buffplace - buffstart);
}
--
2.39.3

View File

@@ -1,69 +0,0 @@
From 08d36a6540644f636466d118f1fa92d23060e24a Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Sat, 1 Apr 2023 12:45:55 +0200
Subject: [PATCH 47/51] - backported RapidJSON fix from Raze.
---
src/common/thirdparty/rapidjson/writer.h | 36 +++++++++++++++---------
1 file changed, 22 insertions(+), 14 deletions(-)
diff --git a/src/common/thirdparty/rapidjson/writer.h b/src/common/thirdparty/rapidjson/writer.h
index 50f6af989..bbc944979 100644
--- a/src/common/thirdparty/rapidjson/writer.h
+++ b/src/common/thirdparty/rapidjson/writer.h
@@ -552,30 +552,38 @@ inline bool Writer<StringBuffer>::WriteUint64(uint64_t u) {
template<>
inline bool Writer<StringBuffer>::WriteDouble(double d) {
+ bool ret = true;
if (internal::Double(d).IsNanOrInf()) {
// Note: This code path can only be reached if (RAPIDJSON_WRITE_DEFAULT_FLAGS & kWriteNanAndInfFlag).
if (!(kWriteDefaultFlags & kWriteNanAndInfFlag))
- return false;
- if (internal::Double(d).IsNan()) {
- PutReserve(*os_, 3);
- PutUnsafe(*os_, 'N'); PutUnsafe(*os_, 'a'); PutUnsafe(*os_, 'N');
- return true;
- }
- if (internal::Double(d).Sign()) {
- PutReserve(*os_, 9);
- PutUnsafe(*os_, '-');
+ {
+ // if we abort here, the writer is left in a broken state, unable to recover, so better write a 0 in addition to returning an error.
+ ret = false;
+ d = 0;
}
else
- PutReserve(*os_, 8);
- PutUnsafe(*os_, 'I'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'f');
- PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 't'); PutUnsafe(*os_, 'y');
- return true;
+ {
+ if (internal::Double(d).IsNan()) {
+ PutReserve(*os_, 3);
+ PutUnsafe(*os_, 'N'); PutUnsafe(*os_, 'a'); PutUnsafe(*os_, 'N');
+ return true;
+ }
+ if (internal::Double(d).Sign()) {
+ PutReserve(*os_, 9);
+ PutUnsafe(*os_, '-');
+ }
+ else
+ PutReserve(*os_, 8);
+ PutUnsafe(*os_, 'I'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'f');
+ PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 't'); PutUnsafe(*os_, 'y');
+ return true;
+ }
}
char *buffer = os_->Push(25);
char* end = internal::dtoa(d, buffer, maxDecimalPlaces_);
os_->Pop(static_cast<size_t>(25 - (end - buffer)));
- return true;
+ return ret;
}
#if defined(RAPIDJSON_SSE2) || defined(RAPIDJSON_SSE42)
--
2.39.3

View File

@@ -1,33 +0,0 @@
From 2990caaa937b96c70124258ed48353587dbcdd4f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sat, 11 Feb 2023 12:51:25 -0300
Subject: [PATCH 48/51] Fix value of `X = Y` when Y is an int constant
---
src/common/scripting/backend/codegen.cpp | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/common/scripting/backend/codegen.cpp b/src/common/scripting/backend/codegen.cpp
index 6cf593fa2..7be3c67c1 100644
--- a/src/common/scripting/backend/codegen.cpp
+++ b/src/common/scripting/backend/codegen.cpp
@@ -2571,7 +2571,15 @@ ExpEmit FxAssign::Emit(VMFunctionBuilder *build)
}
pointer.Free(build);
- return result;
+
+ if(intconst)
+ { //fix int constant return for assignment
+ return Right->Emit(build);
+ }
+ else
+ {
+ return result;
+ }
}
//==========================================================================
--
2.39.3

View File

@@ -1,27 +0,0 @@
From 571637d6ea1f12f7b86ee223f33de1cc0351e17d Mon Sep 17 00:00:00 2001
From: Chris Cowan <agentme49@gmail.com>
Date: Sat, 13 May 2023 21:39:55 -0700
Subject: [PATCH 49/51] Fix BUILD_SHARED_LIBS build option on Windows
This commit fixes the build error "unresolved external symbol GetModuleInformation" when the project is built on Windows with BUILD_SHARED_LIBS enabled.
Gzdoom must be linked against "psapi". When BUILD_SHARED_LIBS is off (default), it gets linked because the discord-rpc library is linked against it and then statically linked into the project. The issue is fixed by making Gzdoom itself explicitly link against "psapi" too.
---
src/CMakeLists.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 911e35dce..889a99dba 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -54,6 +54,7 @@ if( WIN32 )
add_definitions( -D_WIN32 )
set( PROJECT_LIBRARIES
+ psapi
wsock32
winmm
dinput8
--
2.39.3

View File

@@ -1,212 +0,0 @@
From 7e650c79a9b06b509a33be59cda816b6272a670c Mon Sep 17 00:00:00 2001
From: l2ksolkov <jordandare@hotmail.com>
Date: Sun, 28 May 2023 20:29:24 -0700
Subject: [PATCH 50/51] Add missing include guards
---
src/common/console/c_commandbuffer.h | 1 +
src/common/console/c_consolebuffer.h | 1 +
src/common/engine/serializer_internal.h | 1 +
src/common/filesystem/ancientzip.h | 1 +
src/common/platform/win32/winres.h | 1 +
src/common/rendering/hwrenderer/data/hw_viewpointbuffer.h | 2 +-
src/common/scripting/jit/jitintern.h | 2 +-
src/common/textures/animlib.h | 1 +
src/common/textures/hires/hqnx_asm/hqnx_asm_Image.h | 1 +
src/common/utility/weightedlist.h | 1 +
src/d_defcvars.h | 1 +
src/g_pch.h | 1 +
src/g_pch2.h | 1 +
src/gamedata/doomfont.h | 1 +
src/r_data/r_vanillatrans.h | 1 +
src/rendering/hwrenderer/hw_vertexbuilder.h | 2 +-
src/rendering/swrenderer/textures/warpbuffer.h | 1 +
17 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/src/common/console/c_commandbuffer.h b/src/common/console/c_commandbuffer.h
index 179651c45..637027b27 100644
--- a/src/common/console/c_commandbuffer.h
+++ b/src/common/console/c_commandbuffer.h
@@ -1,3 +1,4 @@
+#pragma once
#include <string>
#include "zstring.h"
diff --git a/src/common/console/c_consolebuffer.h b/src/common/console/c_consolebuffer.h
index 58bc0edea..8d4e235d5 100644
--- a/src/common/console/c_consolebuffer.h
+++ b/src/common/console/c_consolebuffer.h
@@ -32,6 +32,7 @@
**---------------------------------------------------------------------------
**
*/
+#pragma once
#include <limits.h>
#include <stdio.h>
diff --git a/src/common/engine/serializer_internal.h b/src/common/engine/serializer_internal.h
index 31cf76c1a..05b6dcad0 100644
--- a/src/common/engine/serializer_internal.h
+++ b/src/common/engine/serializer_internal.h
@@ -1,3 +1,4 @@
+#pragma once
const char* UnicodeToString(const char* cc);
const char* StringToUnicode(const char* cc, int size = -1);
diff --git a/src/common/filesystem/ancientzip.h b/src/common/filesystem/ancientzip.h
index 621505504..6241f775d 100644
--- a/src/common/filesystem/ancientzip.h
+++ b/src/common/filesystem/ancientzip.h
@@ -1,3 +1,4 @@
+#pragma once
#include "files.h"
#include "engineerrors.h"
diff --git a/src/common/platform/win32/winres.h b/src/common/platform/win32/winres.h
index 6d78230d8..a2b8711a6 100644
--- a/src/common/platform/win32/winres.h
+++ b/src/common/platform/win32/winres.h
@@ -10,6 +10,7 @@
// winres.h - Windows resource definitions
// extracted from WINUSER.H and COMMCTRL.H
+#pragma once
#ifdef _AFX_MINREBUILD
#pragma component(minrebuild, off)
diff --git a/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.h b/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.h
index f52af7ebc..8efe61738 100644
--- a/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.h
+++ b/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.h
@@ -1,4 +1,4 @@
-
+#pragma once
#include "tarray.h"
#include "hwrenderer/data/buffers.h"
diff --git a/src/common/scripting/jit/jitintern.h b/src/common/scripting/jit/jitintern.h
index aaf8d70a6..05dfd62df 100644
--- a/src/common/scripting/jit/jitintern.h
+++ b/src/common/scripting/jit/jitintern.h
@@ -1,4 +1,4 @@
-
+#pragma once
#include "jit.h"
#include "types.h"
diff --git a/src/common/textures/animlib.h b/src/common/textures/animlib.h
index 23d0d89da..661f00fb2 100644
--- a/src/common/textures/animlib.h
+++ b/src/common/textures/animlib.h
@@ -24,6 +24,7 @@ Prepared for public release: 03/21/2003 - Charlie Wiederhold, 3D Realms
Modifications for JonoF's port by Jonathon Fowler (jf@jonof.id.au)
*/
//-------------------------------------------------------------------------
+#pragma once
#include <stdint.h>
/////////////////////////////////////////////////////////////////////////////
diff --git a/src/common/textures/hires/hqnx_asm/hqnx_asm_Image.h b/src/common/textures/hires/hqnx_asm/hqnx_asm_Image.h
index 918b904fe..6e2a93108 100644
--- a/src/common/textures/hires/hqnx_asm/hqnx_asm_Image.h
+++ b/src/common/textures/hires/hqnx_asm/hqnx_asm_Image.h
@@ -19,6 +19,7 @@
//#ifdef WIN32
//#define DLL __declspec(dllexport)
//#else
+#pragma once
#define DLL
//#endif
diff --git a/src/common/utility/weightedlist.h b/src/common/utility/weightedlist.h
index cd6a4ba0e..fb956a462 100644
--- a/src/common/utility/weightedlist.h
+++ b/src/common/utility/weightedlist.h
@@ -31,6 +31,7 @@
**---------------------------------------------------------------------------
**
*/
+#pragma once
#include <stdlib.h>
#include <stdint.h>
diff --git a/src/d_defcvars.h b/src/d_defcvars.h
index 73f110c70..8bf3d7c18 100644
--- a/src/d_defcvars.h
+++ b/src/d_defcvars.h
@@ -19,6 +19,7 @@
// defcvars loader split from d_main.cpp
//
//-----------------------------------------------------------------------------
+#pragma once
#define SHOULD_BLACKLIST(name) \
if (#name[0]==CurrentFindCVar[0]) \
diff --git a/src/g_pch.h b/src/g_pch.h
index bad3eda56..cf3dfdbd5 100644
--- a/src/g_pch.h
+++ b/src/g_pch.h
@@ -1,3 +1,4 @@
+#pragma once
#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
diff --git a/src/g_pch2.h b/src/g_pch2.h
index 4cd69197e..f5871488a 100644
--- a/src/g_pch2.h
+++ b/src/g_pch2.h
@@ -1,4 +1,5 @@
// This is separate because the files being compiled with it use different compiler settings which may affect how the header is compiled
+#pragma once
#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
diff --git a/src/gamedata/doomfont.h b/src/gamedata/doomfont.h
index 9b44a480f..b9d14db7d 100644
--- a/src/gamedata/doomfont.h
+++ b/src/gamedata/doomfont.h
@@ -1,6 +1,7 @@
//
// Globally visible constants.
//
+#pragma once
#define HU_FONTSTART uint8_t('!') // the first font characters
#define HU_FONTEND uint8_t('\377') // the last font characters
diff --git a/src/r_data/r_vanillatrans.h b/src/r_data/r_vanillatrans.h
index 702fc8212..d6b6a5d9e 100644
--- a/src/r_data/r_vanillatrans.h
+++ b/src/r_data/r_vanillatrans.h
@@ -30,6 +30,7 @@
**---------------------------------------------------------------------------
**
*/
+#pragma once
void UpdateVanillaTransparency();
diff --git a/src/rendering/hwrenderer/hw_vertexbuilder.h b/src/rendering/hwrenderer/hw_vertexbuilder.h
index 4fbe9916f..0444613be 100644
--- a/src/rendering/hwrenderer/hw_vertexbuilder.h
+++ b/src/rendering/hwrenderer/hw_vertexbuilder.h
@@ -1,4 +1,4 @@
-
+#pragma once
#include "tarray.h"
#include "r_defs.h"
struct vertex_t;
diff --git a/src/rendering/swrenderer/textures/warpbuffer.h b/src/rendering/swrenderer/textures/warpbuffer.h
index 778706850..594903a53 100644
--- a/src/rendering/swrenderer/textures/warpbuffer.h
+++ b/src/rendering/swrenderer/textures/warpbuffer.h
@@ -31,6 +31,7 @@
**---------------------------------------------------------------------------
**
*/
+#pragma once
#include "textures.h"
#include "texturemanager.h"
--
2.39.3

View File

@@ -1,25 +0,0 @@
From d229f9bfaf95dd057f116f72704c74134a511ff6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Wed, 14 Jun 2023 20:33:30 -0300
Subject: [PATCH 51/51] Update service.zs
---
wadsrc/static/zscript/engine/service.zs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/wadsrc/static/zscript/engine/service.zs b/wadsrc/static/zscript/engine/service.zs
index 26102b0a2..8090fff37 100644
--- a/wadsrc/static/zscript/engine/service.zs
+++ b/wadsrc/static/zscript/engine/service.zs
@@ -56,7 +56,7 @@ class Service abstract
}
static Service Find(class<Service> serviceName){
- return AllServices.GetIfExists(serviceName.GetClassName());
+ return AllServices.Get(serviceName.GetClassName());
}
}
--
2.39.3

View File

@@ -1,36 +0,0 @@
From d164cfcde29980c23ece15f0be1b09dac5853843 Mon Sep 17 00:00:00 2001
From: William Breathitt Gray <vilhelm.gray@gmail.com>
Date: Sat, 31 Aug 2019 21:23:23 +0900
Subject: [PATCH] Introduce the BUILD_NONFREE option
This allow users to disable building nonfree components (brightmaps.pk3,
game_support.pk3, and game_widescreen_gfx.pk3) if they so desire.
---
CMakeLists.txt | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9013d8921..77bd703b1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -411,11 +411,14 @@ add_subdirectory( libraries/lzma )
add_subdirectory( tools )
add_subdirectory( libraries/gdtoa )
add_subdirectory( wadsrc )
-add_subdirectory( wadsrc_bm )
add_subdirectory( wadsrc_lights )
-add_subdirectory( wadsrc_extra )
-add_subdirectory( wadsrc_widepix )
add_subdirectory( src )
+option (BUILD_NONFREE "Build nonfree components" ON)
+if( BUILD_NONFREE )
+ add_subdirectory( wadsrc_bm )
+ add_subdirectory( wadsrc_extra )
+ add_subdirectory( wadsrc_widepix )
+endif()
if( NOT CMAKE_CROSSCOMPILING )
export(TARGETS ${CROSS_EXPORTS} FILE "${CMAKE_BINARY_DIR}/ImportExecutables.cmake" )
--
2.33.1