From b77498781a9e0e3e29596005b909d5b5b752fc8f Mon Sep 17 00:00:00 2001 From: Marisa the Magician Date: Mon, 25 Jul 2022 02:07:07 +0200 Subject: [PATCH] Fully functional scripted texture for Sheen HMG. --- animdefs.misc | 1 + gldefs.sheenhmg | 1 + language.version | 4 ++-- models/SheenLED.png | Bin 3676 -> 96 bytes models/SheenLED.xcf | Bin 15958 -> 0 bytes models/SheenLEDBar.png | Bin 0 -> 130 bytes models/SheenLEDBase.png | Bin 0 -> 1382 bytes models/SheenLEDNums.png | Bin 0 -> 8355 bytes models/SheenLEDSpeed.png | Bin 0 -> 1073 bytes shaders/glsl/Subpixel.fp | 2 +- zscript/dlc1/swwm_heavymahsheengun.zsc | 30 +++++++++++++++++++++++++ zscript/swwm_handler.zsc | 8 +++++-- zscript/weapons/swwm_baseweapon.zsc | 5 +++++ 13 files changed, 46 insertions(+), 5 deletions(-) delete mode 100644 models/SheenLED.xcf create mode 100644 models/SheenLEDBar.png create mode 100644 models/SheenLEDBase.png create mode 100644 models/SheenLEDNums.png create mode 100644 models/SheenLEDSpeed.png diff --git a/animdefs.misc b/animdefs.misc index b06d2f36b..d492f931c 100644 --- a/animdefs.misc +++ b/animdefs.misc @@ -1 +1,2 @@ cameratexture LOGOFADE 64 64 +canvastexture SHEENLED 128 128 diff --git a/gldefs.sheenhmg b/gldefs.sheenhmg index 476a779b8..372f8e211 100644 --- a/gldefs.sheenhmg +++ b/gldefs.sheenhmg @@ -1,5 +1,6 @@ HardwareShader Texture "models/SheenLED.png" { Shader "shaders/glsl/Subpixel.fp" + Texture "scrtex" "SHEENLED" Texture "pixtex" "textures/subpixel.png" } diff --git a/language.version b/language.version index 7e93cd81f..9f5ce2e04 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r214 \cu(Mon 25 Jul 02:04:56 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r214 \cu(2022-07-25 02:04:56)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r215 \cu(Mon 25 Jul 02:07:07 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r215 \cu(2022-07-25 02:07:07)\c-"; diff --git a/models/SheenLED.png b/models/SheenLED.png index 43598bf9e65c1aa53d231d7ad98fe034625fc032..9a66e88231d7bbf148d29f45ccee1a1cb9a078de 100644 GIT binary patch delta 78 zcmca3lQ2QTgOQnmf#K(e&m9a549o#OA+8Jz49lx*Z!s`1NO-z9hDb;zORz3Z5b0?O iG~jYOsIkD9fq|oefzhmB)iMSK1_n=8KbLh*2~7Y^`xP$$ literal 3676 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 CJ$!fo diff --git a/models/SheenLEDBar.png b/models/SheenLEDBar.png new file mode 100644 index 0000000000000000000000000000000000000000..092adacd2f18700a575c1e713d07fd10fa15eb94 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0y~yU`SwKVBp|jVqjqCjLnT;U|{g{ba4#vIR5s6B42|6 z1M`7q1D4~)ow?CFx?0A) zKWyPFZqEv>Hl>eZUQE5$tT+V4*_Th^;nRDR&>b69@J)V0@zM(icTQ=0G@+rnTfs>| zL~ycVmkFB^TgaY9X;+ro<{;@_(~BpnFPx8juP=G-|`^8&+%wD-VW#VPec=>d4;2}?dj)oEI`l?oV?^qGBfE2ln0DSd8Yk9iVAgh7b8qN_5+gG=6(_6S z)QP7zZaDCxV&>HTb^pKJ-?MP{?8DA=e;)iUPfLr4dh{bAZ1sa5Gq#!vaq{u6Tz~xS zvc=8Y%yhbYduQ8UyXeWEmFqj$8Sk(>&+D6i|2k&BE<8kZ1Zk!owC!Ln|CnZ)Y&Mpd-smJEX~*braC*T zOuk|E`Lk7_-GiGYb#k}WW~OAU_`>($x4s&0b+xFk!4X*vksG%UKRjUa@wYegpIIgm z(_Cy7o>$5Co!*%CcdF<%U2pyqrF+AfGtPZp5OY0RU-Q2%*8&DE1rZ0v7AB2`00ve8 zt_2KEj3N#i4NM%Y0SpUiBgr~}3C-|^{atPL@pYeC8X2XeRbT1NnX_TfnQz~0nRs|U zd{k~zoLPQw+srvnZf~z<$;dfkP+(zU^W=?>m-fbk5S|$zk?w+f=p% zSy|7Vwd!d70n7CCoZOF3yYrg7>i;cXJayNqMfGZ=E{G`0>Y6x#FKP0=<(?CPinYUJJ?&W*u9w^w&Uviaae*ZzoTemmn25D}(dD^?bE`Iy| z{`=?c|34^uT=x01`tRSH!kK@+zjyKe`Inm7+BLsi?CPBxYUFM|dl_tH^`WZr=cI3C zWo3HiI)QKZ{r_c}fB(|`{=^AhAAcHqd#h&4#r`~VjE$Ff%hrbD>eNTCuN$TR`c%9)prezss@jkzXZGFLva%bu4{zF# z+t-(}!^YQFf=y3cSGU4u%eFX2Rmyf(X_Vm!h2@kz2 z>#y0u3y-gDD=)6y9RV$QRY#Kk3IW85kHCJYD@<);T3K0RZsLZ&?5U literal 0 HcmV?d00001 diff --git a/models/SheenLEDNums.png b/models/SheenLEDNums.png new file mode 100644 index 0000000000000000000000000000000000000000..1156a0104f1caef64557d8a0529478cdf992fc14 GIT binary patch literal 8355 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 literal 0 HcmV?d00001 diff --git a/models/SheenLEDSpeed.png b/models/SheenLEDSpeed.png new file mode 100644 index 0000000000000000000000000000000000000000..fca4d12baec8fdb66d17449ea5d8331af24a344e GIT binary patch literal 1073 zcmeAS@N?(olHy`uVBq!ia0y~yU{GLSU@+idVqjqSf9|~n0|WC9PZ!6Kh{JEEdwXO> zOB~<7db-~w71t#R%8wQ}3afH-#Z8uSX`IpA=IDD$Kr16iY=)Z&cZ<#nHb>7XErKo` zX?9NQpD7&b<)5;`MR4ooZ9&c7WOdfLpEMx?ZYx7x zeXZ(syL|QP)YjtSVsUYCsorHvmo7EY5uSW_vym0J%c zJox<6+}wOcOWhXsEA{)`C;2?{fPwr$@o-dwrx$yFA|ljqn6KSgMab05ENbnwqzyG| z!d_p#Jo#phTd{ceQHBj0HcU8~l4BNaA#{zK@x2{@4h>E@??fd6wkj?_ImrDUj6&`@7}$8cdAVE&=BF;^7Z@IuSXw$eEKwX z`st}(52i2_uYRt z+2<#+GV}2AKD5X)ky`zpnc;vz&-v%^adAus&i`l#dh|0uW6IX8Tjh6iO+EGaA2nAcL57l&k~#C|@87@wcFwk##1I`ez3IO{ecH5dU*DP?4vy`7QoY+YZfp$D5nFuuCBueYyG}hV67F<)cQ-_fjf){C zH+SRBoD!V_20e!#F31#OnP`4pzoW6q%1N5J`>2(j-MJJaZEbB<@k8QA98T5>vo$xK zP4oBl-Ff$&(Cf8IhJP#?GPd5@wQJYIhlz_XMyz?gzB@5LUtg~O`Mj>pJNNEA8|yl? ztFbBW&4ULE!d9EkKAXD#`1+2-%*;*|&nAUU|D)s9Z@ji|NZvcZ|nbv t&OSSBFSpjzS0z^K*RTJ-KIw-r_bbuwRmJPiFfcGMc)I$ztaD0e0sy#g1fl={ literal 0 HcmV?d00001 diff --git a/shaders/glsl/Subpixel.fp b/shaders/glsl/Subpixel.fp index 23cbfced7..f0776c1ff 100644 --- a/shaders/glsl/Subpixel.fp +++ b/shaders/glsl/Subpixel.fp @@ -7,7 +7,7 @@ void SetupMaterial( inout Material mat ) { - mat.Base = getTexel(vTexCoord.st); + mat.Base = texture(scrtex,vec2(vTexCoord.s,1.-vTexCoord.t)); // canvas textures are upside-down when used by models vec2 uv = (vTexCoord.st*vec2(textureSize(tex,0)))/GRIDSZ; mat.Base *= 1.5*texture(pixtex,uv); mat.Normal = ApplyNormalMap(vTexCoord.st); diff --git a/zscript/dlc1/swwm_heavymahsheengun.zsc b/zscript/dlc1/swwm_heavymahsheengun.zsc index 47edd997a..b5dc9a772 100644 --- a/zscript/dlc1/swwm_heavymahsheengun.zsc +++ b/zscript/dlc1/swwm_heavymahsheengun.zsc @@ -12,6 +12,35 @@ Class HeavyMahSheenGun : SWWMWeapon transient ui SmoothDynamicValueInterpolator HeatInter; transient SpreadSlugTracer st; + transient ui Canvas AmmoLed; + ui TextureID AmmoLedBase, AmmoLedBar, AmmoLedSpeed, AmmoLedNums, AmmoLedCam; + + override void RenderTexture( RenderEvent e ) + { + if ( !AmmoLed ) AmmoLed = TexMan.GetCanvas("SHEENLED"); + if ( !AmmoLedBase ) AmmoLedBase = TexMan.CheckForTexture("models/SheenLEDBase.png",TexMan.Type_Any); + if ( !AmmoLedBar ) AmmoLedBar = TexMan.CheckForTexture("models/SheenLEDBar.png",TexMan.Type_Any); + if ( !AmmoLedSpeed ) AmmoLedSpeed = TexMan.CheckForTexture("models/SheenLEDSpeed.png",TexMan.Type_Any); + if ( !AmmoLedNums ) AmmoLedNums = TexMan.CheckForTexture("models/SheenLEDNums.png",TexMan.Type_Any); + int d1 = Ammo1.Amount%10; + int d2 = (Ammo1.Amount/10)%10; + int d3 = (Ammo1.Amount/100)%10; + AmmoLed.DrawTexture(AmmoLedBase,false,0,0); + AmmoLed.DrawTexture(AmmoLedSpeed,false,16,16,DTA_SrcHeight,16,DTA_DestHeight,16,DTA_Color,(firespeed==0)?0xFFFFFFFF:0xFF808080,DTA_LegacyRenderStyle,STYLE_Add); + AmmoLed.DrawTexture(AmmoLedSpeed,false,48,16,DTA_SrcY,16,DTA_SrcHeight,16,DTA_DestHeight,16,DTA_Color,(firespeed==1)?0xFFFFFFFF:0xFF808080,DTA_LegacyRenderStyle,STYLE_Add); + AmmoLed.DrawTexture(AmmoLedSpeed,false,80,16,DTA_SrcY,32,DTA_SrcHeight,16,DTA_DestHeight,16,DTA_Color,(firespeed==2)?0xFFFFFFFF:0xFF808080,DTA_LegacyRenderStyle,STYLE_Add); + if ( incooldown ) + AmmoLed.DrawTexture(AmmoLedNums,false,16,32,DTA_SrcX,64,DTA_SrcY,64,DTA_SrcWidth,96,DTA_SrcHeight,64,DTA_DestWidth,96,DTA_DestHeight,64,DTA_Color,((gametic%8)>=4)?0xFFFF0000:0xFF800000,DTA_LegacyRenderStyle,STYLE_Add); + else + { + AmmoLed.DrawTexture(AmmoLedNums,false,16,32,DTA_SrcX,(d3%8)*32,DTA_SrcY,(d3/8)*64,DTA_SrcWidth,32,DTA_SrcHeight,64,DTA_DestWidth,32,DTA_DestHeight,64,DTA_Color,(!d3)?0xFF808080:0xFFFFFFFF,DTA_LegacyRenderStyle,STYLE_Add); + AmmoLed.DrawTexture(AmmoLedNums,false,48,32,DTA_SrcX,(d2%8)*32,DTA_SrcY,(d2/8)*64,DTA_SrcWidth,32,DTA_SrcHeight,64,DTA_DestWidth,32,DTA_DestHeight,64,DTA_Color,(!d3&&!d2)?0xFF808080:0xFFFFFFFF,DTA_LegacyRenderStyle,STYLE_Add); + AmmoLed.DrawTexture(AmmoLedNums,false,80,32,DTA_SrcX,(d1%8)*32,DTA_SrcY,(d1/8)*64,DTA_SrcWidth,32,DTA_SrcHeight,64,DTA_DestWidth,32,DTA_DestHeight,64,DTA_Color,(!d3&&!d2&&!d1)?0xFF808080:0xFFFFFFFF,DTA_LegacyRenderStyle,STYLE_Add); + } + double ht = barrelheat*.96; + AmmoLed.DrawTexture(AmmoLedBar,false,16,100,DTA_SrcWidth,ht,DTA_DestWidthF,ht,DTA_LegacyRenderStyle,STYLE_Add); + } + override void HudTick() { Super.HudTick(); @@ -266,6 +295,7 @@ Class HeavyMahSheenGun : SWWMWeapon Weapon.AmmoType1 "SheenAmmo"; Weapon.AmmoGive1 30; SWWMWeapon.DropAmmoType "SheenAmmo"; + +SWWMWEAPON.HASSCRTEX; Stamina 100000; Radius 30; Height 28; diff --git a/zscript/swwm_handler.zsc b/zscript/swwm_handler.zsc index a42e763a0..4fee7946e 100644 --- a/zscript/swwm_handler.zsc +++ b/zscript/swwm_handler.zsc @@ -245,8 +245,12 @@ Class SWWMHandler : EventHandler sswl.Destroy(); } // weapon underlays - if ( players[consoleplayer].ReadyWeapon is 'SWWMWeapon' ) - SWWMWeapon(players[consoleplayer].ReadyWeapon).RenderUnderlay(e); + let sw = SWWMWeapon(players[consoleplayer].ReadyWeapon); + if ( sw ) + { + sw.RenderUnderlay(e); + if ( sw.bHASSCRTEX ) sw.RenderTexture(e); + } if ( !statusbar || !(statusbar is 'SWWMStatusBar') ) return; SWWMStatusBar(statusbar).viewpos = e.viewpos; SWWMStatusBar(statusbar).viewrot = (e.viewangle,e.viewpitch,e.viewroll); diff --git a/zscript/weapons/swwm_baseweapon.zsc b/zscript/weapons/swwm_baseweapon.zsc index f21eee589..0d3ca10ab 100644 --- a/zscript/weapons/swwm_baseweapon.zsc +++ b/zscript/weapons/swwm_baseweapon.zsc @@ -19,6 +19,7 @@ Class SWWMWeapon : Weapon abstract FlagDef NoFirstGive : SWeaponFlags, 0; // don't give ammo on first pickup (for weapons with a clip count) FlagDef HideInMenu : SWeaponFlags, 1; // don't show in inventory menu (usually for sister weapons) FlagDef NoSwapWeapon : SWeaponFlags, 2; // weapon is not affected by slot swapping + FlagDef HasScrTex : SWeaponFlags, 3; // weapon model has a scripted texture (calls RenderTexture() from Event Handler) bool IsSwapWeapon( Inventory i ) const { @@ -355,6 +356,10 @@ Class SWWMWeapon : Weapon abstract virtual ui void HudTick() { } + // updating a scripted texture in the model + virtual ui void RenderTexture( RenderEvent e ) + { + } // animations action void A_PlayerFire() {