From 3413403ad04231724a6abbad83ff1e6ee66311e0 Mon Sep 17 00:00:00 2001 From: Brad Harding Date: Tue, 27 Aug 2024 17:30:05 +1000 Subject: [PATCH] Generate weapon silhouettes for alt HUD based on pickup sprites Still need to position vertically, and stop being drawn off right edge, but it's a start. --- res/DRHUDWP0.png | Bin 959 -> 0 bytes res/DRHUDWP1.png | Bin 1002 -> 1105 bytes res/DRHUDWP2.png | Bin 1012 -> 0 bytes res/DRHUDWP3.png | Bin 1021 -> 0 bytes res/DRHUDWP4.png | Bin 1016 -> 0 bytes res/DRHUDWP5.png | Bin 1017 -> 0 bytes res/DRHUDWP6.png | Bin 1075 -> 0 bytes res/DRHUDWP7.png | Bin 1038 -> 0 bytes res/DRHUDWP8.png | Bin 1024 -> 0 bytes res/DRHUDWPA.png | Bin 1243 -> 0 bytes res/DRHUDWPB.png | Bin 1270 -> 0 bytes res/doomretro.wad | Bin 4831884 -> 4816978 bytes src/d_items.c | 9 ++++++ src/d_items.h | 2 ++ src/hu_stuff.c | 80 ++++++++++------------------------------------ src/v_video.c | 54 +++++++++++++++++++++++++++++++ src/v_video.h | 2 ++ 17 files changed, 83 insertions(+), 64 deletions(-) delete mode 100644 res/DRHUDWP0.png delete mode 100644 res/DRHUDWP2.png delete mode 100644 res/DRHUDWP3.png delete mode 100644 res/DRHUDWP4.png delete mode 100644 res/DRHUDWP5.png delete mode 100644 res/DRHUDWP6.png delete mode 100644 res/DRHUDWP7.png delete mode 100644 res/DRHUDWP8.png delete mode 100644 res/DRHUDWPA.png delete mode 100644 res/DRHUDWPB.png diff --git a/res/DRHUDWP0.png b/res/DRHUDWP0.png deleted file mode 100644 index c8bdd41bd221a52365750e983517ea6b2d58a93f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 959 zcmW+#F^Jn{6n>Yas6BBQ>OoKqG6?E|3c8%G2%K(zkm9O!E#-XDMc{Ejs5v`#Kg0DjNtcTYY5xD5}#xjZ9%j-iv)ObyolGX9(Wt7b!C+99WlFjO_L;v zq9_Og-}gPwa~#LEZPPS$UDq^CQ50F0MNw=vn>^1)7zDdkYwfyo+nJcwP&W!y>&j{> z%Ap{7eA8k%jbWr(ou_Grnv~h7Xb*cynMFlA$P>RCd!5ipeLMEd$Tb36Ygwvm$hIa~ zs#v667FnrpM6TMhBu5uah1VoDPP`zrTfXUdx@9Z6DXF?3t4+jkyRw&K?PV?wV=i~< zZH)>AAX?*Uh2t^iImR)%E~+YW90KeBUIQ!vW&jg_3ZMkY0XhH)0I^jIzyTnV5xq7W zoKA5tz%0WsM9V^1CN3g0z3|$f0JTYfe6Iq$Bi!4n>ytk49AOi3J z3|RqUax6657#I^M&S73a9)Mr^{;Piuz9!H6=cgx^KmF-FCiN}Y`?vY`&Bnm_*@M&H IzI^=4{{^#k0{{R3 diff --git a/res/DRHUDWP1.png b/res/DRHUDWP1.png index a680d99cd1f7cc1638d04ba5c16112fae6cd4627..1122afd1b91e68c2f7f8c38297a6c4763ebb8592 100644 GIT binary patch delta 199 zcmV;&0672Z2hj+SV+jZw2M#94Y8K|PY%~LZoJmAMRCwBbkjoOoAP7ZSNdGfUG?5GV z|GT1TJDuinT!@|-yhy2ImW}|4`c{j;R3T-_6&^HT%}cka>-Htj&oT-?Wa(B#T~&Es z%#ROF3FPxM&4sCTqOAdH-iQ)`$#X8%V($;q8|Fw9omoW$8fP9?Ka9+QwqA)HEFmH? z8PUf2KXzCj(8+&Hb4-}MOg&v3Ln>}1CnO{$9$+bO6pLY4uM#1(Uq>;M zjp@>fyra78Upe(WL(cNtU<}-(b7gvJgC`S%fhDtT*6W*g3_#%N>gTe~DWM4fAvz#w diff --git a/res/DRHUDWP2.png b/res/DRHUDWP2.png deleted file mode 100644 index 3e3b8b75c499cd9f16ce54aaeb5864fb4452dcf6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1012 zcmW+#L5Sm282;CBHagj{Vh?dQU<(0@Mo4EeOJH+|V`j{baVDb~h>}Bg4MSO?W-$X5 z0~XAoNWmPc^pHcq9tvAtL3aFK;&<@fEv```cg9^dyr z_`dh~{+_nFa$yAkR(CFMy-m78>fBRHWdGCu>Tl9sIof{bNd4&W>d`g-!~DUu4-R3M z9M+}$>xb{<*Nf|7e(mC=jg3ne*Yf;Yu~>ZZ;KCn-M;-0#Zc~3Pubf?aVQXz~hd@tX zzx-|hKtK1W&fNa((}x6nvb4Fo3Gi)9KfJmOumt;W9&8gl$IwiM(sdmXS(eRavouXp z6eUPGj?XYTD#L&w^P0#hJd54#{dW6avpH`xW^p{NRwrRN3WA~M4P3Wx+da$b7{;-t zwG^c(%ZVs91R>`68plPsT!m%J3=?FtUM5qbX@{b0iZUt60MGzb0Gvo>p*F z&Qx-`#3}+K@>!nCEEbE|Y&M-vCzHu&G#U6Lqh7Dq zYPBeeDwRsPT=sq6^E}seZQHgi%P^P>^!-JtGL(Si9=f%_jyx-Ljk2Tr zmRd3uN0%&BG!-F@+_-E;o?dp8k}296Z^)b~vSG#b1FPg2wyT+ztQn%B@sd(N4CWJS z+*5BR!f}{O>}*w~0v?FhIGJFthe?8Ah>nAbg1H<5ECB8Ri~)uKeSi)?3m^fg0aO4; ztV#ej0I`htHJjmJfbBNMF$MveCQ1@X5s@K_$Pf)8K-dw02Vg#$JD=dVhl2z=AvSG{ zWvsCG0%q=Krlri-p@$ZA(}1o9$LiyE;ux`m7$bU!8X|`XEd^2u>H<_b63&7uuo9OQ zSelG@93>e*0N?-^@&!o9F;#J)a17>)#pIHQ0V|K7ZrKpT8)c{pH!)|299VzW-kl_n&z6 a!I{)vKELtL*KZLi*xBCO`sTGOpZyOG(~XD# diff --git a/res/DRHUDWP3.png b/res/DRHUDWP3.png deleted file mode 100644 index f2013d87b0992dbe6a952fd90280fae6ac7bca6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1021 zcmW+#QHUE=6us?so$ih$r2z+=j|4`^$4FucfNcOU0* z&V6vs`}pb=_0;@}^8j#aZFTu=(l3%aeR78EH*bA-pR`wYS2lN*_jk5;Z@9P88#mtD zfpv0Nl+thPTu(19EQ;xK7cQMYf9b-jY5v^8!b0;WYmxA%-L>@<>aW@P=Vo5G{PzQ& zKy$ZO-|+zGGf(T-uYY{>gn%dVOY2JjcO&}A_AI~*Tzzw6h2SZMW)f5`mqSFBWs}Jy zP16)b2~vvV6HJOqFra05Rpexz#a8Qaqw%O#n^Y>}C>j-uL*MUvUe9s5w%sw!wqZ0i zZC_REvRun%V^ORKLd5eWjtf(%fMp8|<0X?$B9W(Qi=s@5(kV&h*fHTCG$n z<#M@HDurPf1VN!ta9!7N9NV@{(=-f2(==686-CKrvyvnUf{@8%IF2iz>rV6ek!2ki zW=GTa)m&9p%90!klE(`+m(kgj!Z2bY$A zRatJ`?WmxKPOf0dd0jMBUdwWd$ohfpdPd&SOk35Btg4B!%1d$v z(VGm7L0h>O3;TX5Hj_n#@^~O#<8X-WHpVgfK3W#aGNw`pFahI~n4jjolcV zKGsZ(vKX+BJZ9o1M)}0RqI(8)PlJ{U`^vL-;sCLU7$G`{Dk6snbs4G>lm#eqB%B#V zU?naourwL*EJ|4b0e}Nw$QK|X$Et$k9QuTc2XIh@*afHVI6pr;b(vhRt}QQZd~j%Q zZEbCD-+|LJd*9zVHn(;1?q|n;{O!Ts!^Qt@zI2V&s8RIQ#YCYtO^)XXd`!{CDyL(S)^?E6d-!zP0y1LRXS1 diff --git a/res/DRHUDWP4.png b/res/DRHUDWP4.png deleted file mode 100644 index 0e2f171510b54efa8aa7c8300caacb8ae1888f3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1016 zcmW+#L1^1n82;O=Qx-LInGXup!5(6GLoITm6+u-dG9^_rFIAZWS`kd?L@+^Y8dJa< z8WU77Qw-6;8{Q_04?g%{SUSuw!w189@P=Vw^})36FtlSHgkrWHdMW&SExiBzkMHq) z|AX&)H?CaP78g!00KnqLrM34+e~Z+q`8l$G{_}-AX=nD<-``U|-MO~6>wTQv+Wlw; zHpyW{%3j?0FuRgp5wpwZ&cAu?{PJ>^U(VQq4P(VbMWz*?2 zP16)b2~vjRQ%r_RF`&!5CUOeTVyE+@)q31$9Mx*mIG&Wt;~*IN{=jwnj?=TOu4%S) z{Xo;2iqeqfL=6^rYMV|42seLGyoLEE)P}1hjvU)k*%U)VDCxYb z$;|Cs;bJeEJ>0e2)SI2pJvE7TRWDk+g5`Mlt8IfKop3?rt}98EJ+uNimh<%3$-j7#;hmxOLLa4NnPxn|(# zCA;96YSB>af@G?qp$PTJiAzT07D~2KG(=0|b(vE|HV7ThH;b-rIhtY0nl36DFDW@h z|7dKEy6WvjI0!O{l`gB4&jaxq$7AevF-b58(6&)gFq1)m8Nfq;5x@YT2hav+0we$x zfDnMhst8~K5X*>P(<%1**lJ-Mqwk|(pd^tL5gD?G4ACG0gdG960LHVqM`Ijyv7cZ& zz=nmfj3N8jXO6toq?j7n^uVNU>(J5QKz;sB93i$5V?-BGL*x*lsX$$VssLq{EQk5x8DI%z;8cZu%jVjCo zjTxqcDL$y+gAY3R;DHZ@X2T4_eDI(fE|@KBW;4_bA6oE64nFiy7=?eYh4;Vz@jbrp zfAD?p!L_S;YUSM(07z|L+4_|9OQg;%FOvPvy{~>IZS^R>cck4vJUF`T-^=dazIzBe z9SuMU;~7U9|_yLp0h49%peLZN_&EX!sx8Jeak ziV|gx7t#zzr5P|3L6>+{V6oeM*>1mRHc#vISsYI*l}Q+mf?()*1J~`_cF(dphH4b|}iGD3hWL03ARBz|$!{8{uStqaL1g zaL~ejg1s7cqL=M(-VA1mH?6tjs(lif!?Mv23!Ol3`&!de6IY2HxnfCWQ!E*Rr{^4v zH&w16v#Q8QLPp@z^Z9%>n@y+F$z(DbjfTVFU@++S``vE0)9JL^?N+PRXf*2edaYKg zR;y7ImCNN)spR{<=XtK{+O}<3mSGsWu4|g6D2go0qA2EaIiBZB==<|xaq2iHmfbhZ zW4+K&wVJF(q8tdK%jZm%(-=ldXLy=ssD3N%HY&&Uaw{%1Dt=P-YN1;V?8vi1*C;s! z-_nYv>J(&4lT1}?L~dL%Bd<_$)S@Zbx?m{0Cb41J^#iNu8MdpNmZBSystdB3LkvzQ z*0`rVPQ>GoOYBTVqXGel*EpGAuZKy3VTg`{s)`(k0CRw60Aqk5Kp&t3&;m#RssLpG z600JB4L~d-e$8e$7+|}Nag0HLrirplQbc6PA~HmS2oQDz-~pJg=blb*+`~bFoe-Ng z#tN3%7XfqXr>DjA*rA6O_1J)}4#(P?cj6eagBT-vh&m#V2rU&FGSoz<@Fbi$O=M+0 zBeFCZ@g_r#S=JbK;nbf^1R=kr#>dvTiaWkyI($aZ)DHx zJzUuQ^U2ePsh=*Se!aE&*0OT_$-=EW?s<#d-`}?GKL3SXf3TE4|ND>Mz5l_@9}eW` g+oPRFm(Hc&v(@GN-hcmoLG)lde|788hc~|YAJ-&`zW@LL diff --git a/res/DRHUDWP6.png b/res/DRHUDWP6.png deleted file mode 100644 index 39a592f209d0581170ae4b5794f0a89f03bf394c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1075 zcmW+!QD_@=82?7Q-CXDb&BKZ3O!S02+~C^X^t4fr?%LhDw7u%pUfnUXdX!KPJ>3;D z8}z`SQG*_mhX{v6$U_)mmJ&1%!9^`2Lcj=_L<}X94f4>3JPawq^z+}r_wm8+!oI*5Uls zjmQ}xqMDnLGZT}~L?)k`I{WO@gb?8-CnhG|Jvx4t@TkqXg<0wzHA+2oOx#zJ*sT&75OoEInuElA2&BoEl?gfl0fj?dVBMHB3d*V~Q$B3MWcY zL}$OJckA-5&u^#0z7fjGl*0k>8hbsg*U|SeoyJ50B?-e}1Q-I440Qoo01bdDKpDUX z$N{(jBvwfP1AtgY{2C0f*~Cf(Jr5lRH4R0Pq=?9nA~HmS2oQD#zyi{|HLk0712Yq5EVog5y}!2Mac7zWl1=r zGS7%?h-U)i#KS1X0C)fvfCeBSU{S_F9Mgn~ZD<$4x4|k~*01-*E|T>Jb2HP+*Z#b9 zduRN|$nlY-j~}3TF!jgl*DuZ=TmAdVtt+Ft(%Zml_wzItcupKF)B(f3z>|F87X zFU_5C_sx~h@Qu0s_V=|_<jjW*>xz{GUybi zFv5TV=Oc9UF=9UQF<_7&`3M*^LXe0Ni-r=|79$N9C17169wJpE5acg_id3Sbw^PLS? zBZmcX_O*?-XBXxcQnT}yuDpEd%EIMYetvFl?(c6FKP5P7dv$Gv`s>W}qo)^dm;3*a z(PLXzZ@2*T6A$XtPrrR|LWYlIm)4d5z6j})TW0{K;QAZuD`cKvXeLHwG8sfvnCsV_9v(Xz6-G zRqKjUm842K9i>twK?r%iz;Qt$kz-kpVcdA!j>WPxZBmp$Q5r?501AK%fa4(^^>EO^ zUJLgd*r{SW!d4L*!Ew!>RNPTy4~tg6VC)B4H>bA!Ov6=bj$E;&$V!K%nAcM|P4HCS zR+6U7X;LC1vXa20_&CqSCX>l%G#Uvg-`PN&mux0}soqtU3Un%rd%F~*EkqptA$a7zK^Dfl7xu_0!#po0Qvx3fHpt_pb8KH z6aaDnBvx4f1AtgY{2Gn0)4^H|!w_8;H4R0Pq=?XvMQ8{IAt2}gzy{DB=#B^2Z(%3G zhL05k!!+jD`z|wfV#92#Z_-_z+Et;cKwWj)XHQ z3#`b+1(qff52KU@5CAv;hI|1MaxBX@%Ail6xDWefh#au1wte@Hnb*nnjn(C)_4j|d z_jBtUJpSa=!MXp?S^Vhs^1+=|>-T5tXK$WA{BGuj`L8Y}_wHRdd?}XM`Fcy(I{x*? z;ON_rpSgQ#)8Ct$KT-bl{O9C5KXBh4{%h{;urD5ba(bmWbK(4#d#?}?SY5fc{Q0Xl GKl~p{37o0` diff --git a/res/DRHUDWP8.png b/res/DRHUDWP8.png deleted file mode 100644 index ec6a5ba3268f8767bdadabbb66584c7662404251..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1024 zcmW-gL5SmI6vv;gW7Y|?MT-Osm}-zRWH2)m*DM<(j+rq#c4sqe2I7)K9K%qSpjpg7 zg{%hbp-P1uiWUq~q=$$_2koIk!6JJoSlGeop{!-?VO^?@(8ChmlkH3T!u&Jy0I;xmVf`}kFB3a+`V_g%A2^Y?rTvXJ_qF%-cK5IP@8)){zOx5g z0C}&SzccLV)vCQ$)ol+w>GFh=jI=Obm_DIUi_GZ zp15}5N&rAV^}rrEy8YpO5`3(NStG6CPNhp1w>?7Hk-}T zG)+;ID094!VK^$ofT0Mw#H#{}ozA^h>!jH{uGgn=JgHR1VK@wef#>yIw`bd3%W50O zfv%^j+EkQ8lIo%u3qqCW%N!T6Y>8olY}U(UiZty|luc14MHv7(fChla6TCCTaUX|W zJZxh>#a@El8n(;#TH&l2OcQTXb4OMCuxt(@qZbz1f!^}9rl%&Z5<7Cmk|I+q8G@(h z9gR0tt{}6j$Vfs~;4`z?Y&xAzCX?}aJRA-OgF(OF@AZ0}PN&^&w_2?r zDfpIFG*zb{Tbg95Vx#QFC9~`mN{(7IC0iE^h1VoDj9fpkik@M+x@jr8A*s3`t9iuW zcx;Wj+Kog!2)V@0Rx~OQfXo`lW9)V@NiYo2aZpu};}Bp5a0g%nFaYQQv;k6p1c0y> z0T8T;05$*_8JX8~iv2#eS{TO|1ZbKl%Y-5#Lk^K48bp9(mjOJ2`h&X1V;ps{pI|%0 zrj4Y`c|=H6Xvk0#p~4e5^P0%Y zd{$&>QsN;>3IN$D9)KY$Kp@A4hSLIuBoz1y?*LL3j?aQN; zGmty2{iC-R#{?+D>OIN<$)4mb@*%|(HJM$^M`17kDJb&}AMEU&L p#gpfn7q9>F_w3)&(yec=!}j{z;@$TCT_Ovc8<*CPt! diff --git a/res/DRHUDWPA.png b/res/DRHUDWPA.png deleted file mode 100644 index 2f69a448aef2ffd4d0de44becc702c28e22c25f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1243 zcmd^8QH$eL6h6D7q)wRaE@8=P7AhOHV9=~o%tOF9W`=C7I~gVeL83&-L(!lSvRENv zz<_1xLmmnij7!BnSso!(w*wd$fIeGnAQhMO+ zOE38VG`Xgk6Y%jT=ScCs>gMH5fUjcupV#gOScBac_qR#Cz|w4h5 z6eUUpUdXcrD$jy03tEX+1P%v-qi*+Zr?YIe7I8eU*Rvp)`u@aq$Br|ytf6W4b-kx) zsiJgbIVqJ|q8JN8gXg0{A>_Ck%lZuC=JQpWwkgV@D1)MO01ZF|z~vn8Ofehdbclz2 z9H%%+aM;9tbkq%29e>HAvOQ#-DbIC5-Db+Z&2VoeuZt!S&f zp%f|-r-*DxU<5wDTCEm~#e6=`vTQn?P9~G_csv@727^Jr-|u$2X_~g%?N+PRY&IK> zMifP17}jbv&+}Z@bsWdCEYmb~UDq^CRaIG*B}o!Ru~;nfJYPf4TUD!b+ded{k#6*~ zN?TEzk`jrMFNh9bG`NDwvZXx3(=ac}N2!`TqW3HAf*SQyI~ za(8`p>E-9u{LH2&CUv00K!cuo%oAsbeZ&~iMbr>^L`W5AOVAXd&J%MMRgsf;M&xKR z;@Ci`R2c{CH;a$oXFzf4%bQ&+4rQ z-+cVW`8Td!c>TRx^IPUQW diff --git a/res/DRHUDWPB.png b/res/DRHUDWPB.png deleted file mode 100644 index 050eed78d750a0bc937f1390dfe45c80db9c496c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1270 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 S9vV#Cm=&PxyN$%I$o~Nxbk*hn delta 16127 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 0 - && lumpinfo[lump]->wadfile->type == PWAD - && !M_StringEndsWith(lumpinfo[i]->wadfile->path, DOOMRETRO_RESOURCEWAD) - && !fixspriteoffsets) - { - weaponschanged = true; - break; - } - } + const int weaponthing = weaponinfo[i].weaponthing; - if (weaponschanged) - for (int i = 0; i < NUMWEAPONS; i++) - { - M_snprintf(buffer, sizeof(buffer), "DRHUDWP%i", i); - - if (W_GetNumLumps(buffer) > 1) - { - weaponschanged = false; - break; - } - } - - if (!weaponschanged) + if (weaponthing == MT_NULL) + weaponinfo[i].weaponpatch = NULL; + else { - for (int i = 0; i < NUMWEAPONS; i++) - { - M_snprintf(buffer, sizeof(buffer), "DRHUDWP%i", i); - altweapons[i].patch = W_CacheLumpName(buffer); - } + state_t *state = &states[mobjinfo[weaponthing].spawnstate]; - if (ID1) - { - altweapons[wp_plasma].patch = W_CacheLumpName("DRHUDWPA"); - altweapons[wp_plasma].offset = 0; - altweapons[wp_bfg].patch = W_CacheLumpName("DRHUDWPB"); - altweapons[wp_bfg].offset = 1; - } + weaponinfo[i].weaponpatch = W_CacheLumpNum(firstspritelump + + sprites[state->sprite].spriteframes[state->frame].lump[0]); } } + if (!weaponinfo[wp_pistol].weaponpatch) + weaponinfo[wp_pistol].weaponpatch = W_CacheLumpName("DRHUDWP1"); + gray = nearestcolors[GRAY1]; darkgray = nearestcolors[DARKGRAY1]; } @@ -1312,8 +1264,8 @@ static void HU_DrawAltHUD(void) else althudfunc(ALTHUD_RIGHT_X, ALTHUD_Y + 13, altrightpatch, WHITE, color, tinttab60); - if ((patch = altweapons[weapon].patch)) - althudfunc(ALTHUD_RIGHT_X + 108, ALTHUD_Y + altweapons[weapon].offset, patch, WHITE, color, tinttab60); + if ((patch = weaponinfo[weapon].weaponpatch)) + hudweaponfunc(ALTHUD_RIGHT_X + 108, ALTHUD_Y, patch, tinttab60); for (int i = 1; i <= NUMCARDS; i++) for (int j = 0; j < NUMCARDS; j++) diff --git a/src/v_video.c b/src/v_video.c index b89d30441c..633729ce31 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -1020,6 +1020,60 @@ void V_DrawTranslucentHUDNumberPatch(int x, int y, patch_t *patch, const byte *t } } +void V_DrawHUDWeaponPatch(int x, int y, patch_t *patch, const byte *tinttab) +{ + const int width = SHORT(patch->width); + byte *desttop = &screens[0][y * SCREENWIDTH + x + width]; + + for (int col = 0; col < width; col++, desttop--) + { + column_t *column = (column_t *)((byte *)patch + LONG(patch->columnoffset[col])); + + // step through the posts in a column + while (column->topdelta != 0xFF) + { + byte *dest = &desttop[column->topdelta * SCREENWIDTH]; + const byte length = column->length; + byte count = length; + + while (count-- > 0) + { + *dest = nearestwhite; + dest += SCREENWIDTH; + } + + column = (column_t *)((byte *)column + length + 4); + } + } +} + +void V_DrawTranslucentHUDWeaponPatch(int x, int y, patch_t *patch, const byte *tinttab) +{ + const int width = SHORT(patch->width); + byte *desttop = &screens[0][y * SCREENWIDTH + x + width]; + + for (int col = 0; col < width; col++, desttop--) + { + column_t *column = (column_t *)((byte *)patch + LONG(patch->columnoffset[col])); + + // step through the posts in a column + while (column->topdelta != 0xFF) + { + byte *dest = &desttop[column->topdelta * SCREENWIDTH]; + const byte length = column->length; + byte count = length; + + while (count-- > 0) + { + *dest = tinttab[(nearestwhite << 8) + *dest]; + dest += SCREENWIDTH; + } + + column = (column_t *)((byte *)column + length + 4); + } + } +} + void V_DrawAltHUDPatch(int x, int y, patch_t *patch, int from, int to, const byte *tinttab) { byte *desttop = &screens[0][y * SCREENWIDTH + x]; diff --git a/src/v_video.h b/src/v_video.h index a9ef135300..70d8e9030e 100644 --- a/src/v_video.h +++ b/src/v_video.h @@ -102,6 +102,8 @@ void V_DrawHUDPatch(int x, int y, patch_t *patch, const byte *tinttab); void V_DrawHighlightedHUDNumberPatch(int x, int y, patch_t *patch, const byte *tinttab); void V_DrawTranslucentHUDPatch(int x, int y, patch_t *patch, const byte *tinttab); void V_DrawTranslucentHUDNumberPatch(int x, int y, patch_t *patch, const byte *tinttab); +void V_DrawHUDWeaponPatch(int x, int y, patch_t *patch, const byte *tinttab); +void V_DrawTranslucentHUDWeaponPatch(int x, int y, patch_t *patch, const byte *tinttab); void V_DrawTranslucentHighlightedHUDNumberPatch(int x, int y, patch_t *patch, const byte *tinttab); void V_DrawAltHUDPatch(int x, int y, patch_t *patch, int from, int to, const byte *tinttab); void V_DrawTranslucentAltHUDPatch(int x, int y, patch_t *patch, int from, int to, const byte *tinttab);