From 91fa319fe078cb7a70d876cd4b3948ab008aa6a5 Mon Sep 17 00:00:00 2001 From: Kiri Date: Sat, 26 Aug 2023 10:22:04 -0700 Subject: [PATCH] Working on indicators. --- graphics/jmpr_reticle1.png | Bin 0 -> 1270 bytes graphics/jmpr_reticle2.png | Bin 0 -> 1270 bytes graphics/jmpr_reticle3.png | Bin 0 -> 1269 bytes source_data/Makefile | 31 +++++++ source_data/jmpr_reticle.aseprite | Bin 0 -> 3293 bytes {sprites => source_data}/jmpra0.aseprite | Bin {sprites => source_data}/kit.aseprite | Bin {sprites => source_data}/povsprite.aseprite | Bin 11035 -> 11068 bytes sprites/jmpka0.png | Bin 1284 -> 1331 bytes sprites/jmppa0.png | Bin 0 -> 4540 bytes sprites/jmppb0.png | Bin 0 -> 4547 bytes sprites/jmppc0.png | Bin 0 -> 4539 bytes sprites/jmpra0.png | Bin 1609 -> 1589 bytes textures.txt | 20 ++++ zscript.zs | 96 ++++++++++++++++---- 15 files changed, 131 insertions(+), 16 deletions(-) create mode 100644 graphics/jmpr_reticle1.png create mode 100644 graphics/jmpr_reticle2.png create mode 100644 graphics/jmpr_reticle3.png create mode 100644 source_data/Makefile create mode 100644 source_data/jmpr_reticle.aseprite rename {sprites => source_data}/jmpra0.aseprite (100%) rename {sprites => source_data}/kit.aseprite (100%) rename {sprites => source_data}/povsprite.aseprite (65%) create mode 100644 sprites/jmppa0.png create mode 100644 sprites/jmppb0.png create mode 100644 sprites/jmppc0.png diff --git a/graphics/jmpr_reticle1.png b/graphics/jmpr_reticle1.png new file mode 100644 index 0000000000000000000000000000000000000000..f1d3aeb79a8c363bca2db084c1b824090bf6e62c GIT binary patch literal 1270 zcmd^8|BKsX7=QLfa$C6dv|!LEIS5)X?lS2?z?|fExsjdK%e)LT2$GE;1@l9csQDqo zuobOm!6-#4#Is<92$ic+p+eCf9@rl$JETYl{h@~wid5-j%J!3wxe5LgzP#`Azyr_c z`MmGv^KPD7S7whtcpLy`*UqkPBzgJZ%p6JLR_n@dNjl_iC@Zji?V(=*j=;HR&Yww& z3`J5YBA3e{B2Cljbebedf*^Q-VYw8=5Ge{&kyEm)#L?Jl-LBVf)oPPUWgLd1VsYsE zeb?>TcGt2xhSApbrm8j+C6=U`C`Q?Ah37+#E3s^WVFH@=D9TNz?NlmHk|seI1fdax z3ZMYU05}=pjXn;$*l*)r6T2~XB5aqjS-4&Ir!{vR*`u;GC>eVNtrw^rKi71Xx+B+Y zDYC@S6pDH_(0EVfY$apLtR^uzftGkG%cVIsHJwh!X|u5m-Cur<^)~NY7$>9SfQsC?3`yxc`a)woGP+%mi7b7arL~d z8kVBzqM~Lcg%hL0w)A59Y_2^j_frT{kp z1^_*P4nPwi28aMk00DptkOwdT63G(1#$)Vuv0le8MAt=4LqSMfl)xlAfk`kDfTX(s zU;}6eb0@5C$~+X=#GDzKrv*06(_}K@u9ZXp9)Ja)0FokLRmO1+{iGH5V6O_119oiN*M6CO zI{6py>c+bE@2~@g|Eu-iwdLz~yyU4qTw6VT{=%ET|CBqiGe2|mob$s6OE1+I-`V_Y zckz`UFXa#OCm(z3)QR`kzI%LTZhm>6UA_zd^5_E# zgNgO$u}8iEf92Wjop%zm+OeU<$B_2!|aCx}lO??t+?dFthFiLIU1y-%IJ^W67* z`i-qWu3QZlFMsy4^>A?EW_te&Mw*pTC@Ngtas4tJ^CVul@tZ CE}B6A literal 0 HcmV?d00001 diff --git a/graphics/jmpr_reticle2.png b/graphics/jmpr_reticle2.png new file mode 100644 index 0000000000000000000000000000000000000000..15e264517b080d2826b1adc09ee0ab00598ba9a4 GIT binary patch literal 1270 zcmd^9-;3i^6h8YyGP`BAqXmOT$w1J8aVIMs2pA=^lUcH3buvyCvXF=D8l(>qqD0I? z#IPIOG8T-|hYE2lSRq1TDpaUYwSxl|sm!<(=|UemxplP3?T#|G$87rMGq*4Y!=men> zgaRM~NB}q);mtk{yV!5zeiOSfb|P$-u^HT{d()aTj;vAH9F+9^K<)WT$ICYzxo%4} zON>k*H29*H^Ht7OSWC_t5~GTAo~J~P%&{4kNl&NK@pwEMjfTTvzu)imdfjff)9JKY zt!A@Xuh-)^u2!p+N~K&bmrA7|2z=jnUDvj4%d$+<)OB6cG(}NlS(YS85Cop*IgZO_ zvkb$yXxr05VPqKln%+^=hMcd8QkfS6j(1qjWU?wnOC*^~XP8uqBsy`}sumj+KMvh$ z(T;qp?3pD;4=l|y71zkynp99lBhPD6P8GRoV1}+5Sb5hF3u;c6Sw&!^9Oe0@?Pvu{ z(M?&^1X;<6GRuouL}xP825o6K;u;6xNLI4mSu<8X-WHbxP89vTLUBGNPhOaX2J z3;=on9e^f43=jd70DJ%kpa7r)B$6e1jmOySV!e)Gh>nA*iaejVD1k|40+V1Q07-QK zU;(Iyyptgg+SrY->0wRBP(Yu$?T`~YJu0LJMyjU~y9%^qXh`?^!~tRxF+{WwWkd!M zViBr5lsPCei8-?pNAXOCqf!aQJu3+S8~_7A0whVms)XY_dPynn!+sSa8?4x}_I{at zE_oO5`o^02FWF&-|Euxev85Y#-Q=o1SY0`L;o{rB|Cm3uGe2{D-TwaimoL>9-`V_Y zck#9BmkUR^(@$JGbL#!oZ=Rf)n_oI$mL7n)kBx%|H!lBuU;JM0b7J9a>7&P=KK{_c zU}FAx;<2y5TYh1C=iN&iv!5;8SV?{HM)SxsPZ6Kc?#onT^USMX6I(m2`=333_r-6y z%v)Q3T)7%9zWM3T=A-__Tk+`+{jC#o^S81GNB4dx{dDb>?~;!KVD;SE%J%Z5tN#E> Cb(}l^ literal 0 HcmV?d00001 diff --git a/graphics/jmpr_reticle3.png b/graphics/jmpr_reticle3.png new file mode 100644 index 0000000000000000000000000000000000000000..938377df2d8f2ac7af2bf869dd0e1257e9c1816e GIT binary patch literal 1269 zcmd^8QH$JE6h6D#l6Av6VvwM*q$Q;z1`Ie4c?fK3vo*V&b+c>=DdZtykU;`QjW|e@ z=tdc2gb4F6)*yk-!#oUhg{clQ$Q1i94^ukYv5q(oW7*;;QyEJiwie--t>B;Va_>2C z;C$bA?|1G;Tbt_g(i2Mnu)Myux}D~e2WN31ji0yPzn!KzZ(BVD7q30}JHP^LZJa%w z7Fn94Gekb0M?{8UD2gIUk{}2{WH~-VvqXjlP2$xYC-V%pTKkR0-CAv0txlq7Tq=!x zf8cpN$LZR3$28l9(bTkERjtc%O_JhVt||x-&zCtaWZ8gWiZty}l#|I6NYWw*lOS}0 z&;V2b1pudG+#BGii-R`yo7k;mC&qRKo8f-LpVhoc?2Ie+ux$22y%%U5Ki~A!hO5*Z zIku(95=%xd(1oJLJ8ITaI9+D*A|nfQj;DAoGn>sOlgW5I9*stW!Jyacb-Ue8r_*Y+ zn$2dT(Wuw!Ns?5n)k>vOE|9UZ7c2v|uCttMWf}S%~UXwT_$M}KmdPc#~ zOk33rN!4<)%8POq(VLEpVOzNp3%foWn^Z|5JRVZ7aWukq8{-&#A1w=I8CezqW&nEt zLx3JY2cQX12Z#a600DppPyjFiQp-}mCKK#-vC+UNLeE28M^Q|tD1}LP3X@`_0BLs! z-~i|cywed5+t`h<>0`~rNWy@*>(Ns;GcII?7TGh1D;l&^*i|0r#35o6F+y|@RYVRE z>M|rER0Jq->2PKhfe|@MV91o>!6-=p0ssd<1EfX3M8QcO{j?SP&`%(C!KpjWwOh+) z(tiPOZg1-Uk{u}gU#4$RFTTA4pS2gmLoe)ZU6zgn*?eZArT^5~`CUb&!ra`TOE zR-R9`u9IJ6f4H@Dd-22#nC`rA={-keE>qsg`>z{c-T7>BVd8)H&^yfc;Ro!?e?NP3 y_&EF2y|pW)r&oTwQ#u^{{Ow=E^C?X*|4e`F-6L-|wvVO~Vg2;x>cvwp?)(D?J)D66 literal 0 HcmV?d00001 diff --git a/source_data/Makefile b/source_data/Makefile new file mode 100644 index 0000000..2151423 --- /dev/null +++ b/source_data/Makefile @@ -0,0 +1,31 @@ + +all : \ + ../sprites/jmpka0.png \ + ../sprites/jmpra0.png \ + ../sprites/jmppa0.png \ + ../sprites/jmppb0.png \ + ../sprites/jmppc0.png \ + ../graphics/jmpr_reticle.png + +../sprites/jmpka0.png : kit.aseprite + aseprite -b $^ --save-as $@ + +../sprites/jmpra0.png : jmpra0.aseprite + aseprite -b $^ --save-as $@ + +# Base sprite with no numerical indicator, but anim frames (0,1,2) for +# status light. +../sprites/jmppa0.png ../sprites/jmppb0.png ../sprites/jmppc0.png : povsprite.aseprite + aseprite -b $^ \ + --ignore-layer "numberindicatorleft" \ + --ignore-layer "numberindicatorright" \ + --frame-range 0,2 --save-as $@ + + # Correct Aseprite's automatic naming to Doom's. (Number at the + # end is for rotations, letters are for frame numbers.) + mv ../sprites/jmppa1.png ../sprites/jmppb0.png + mv ../sprites/jmppa2.png ../sprites/jmppc0.png + +../graphics/jmpr_reticle.png : jmpr_reticle.aseprite + aseprite -b $^ \ + --frame-range 0,2 --save-as $@ diff --git a/source_data/jmpr_reticle.aseprite b/source_data/jmpr_reticle.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..b2267a4ba0bef931c76a441fea4aaa7be5ae103c GIT binary patch literal 3293 zcmds(QD|FL7{_n7b(zap2NAO^LhFK72^cj>9sI-h3Gn|7$wZA70M{HmO8g?ZpYvEwPHc=%?G`qzn$IO zd(ZjKIsf0y#ch`L{i%)CK0aHl9?P;0@VD;h>5-Gx4nF_JF|^gPt}ofNR~sGN!JlnF zyIj}Z?#-69Ye0v`S+njNZE~XDX@|}}8;nFE&~R9m%jJR&hXdN}a*fR<*LeN?(Cz7i z&VD)5=adIW10ERmxna;F_nL_bcy(+HE{~4Fg^>|BU#-H~av63D1vrz-!FDDCr&1}{ zN+jT9JPw=DC>#%mVIvrXqk#ad`FwE1>xEU1^j>jG@1=ejVNu7QcRFe3w2Dlhj5)2f zB(;`=GNz2`^n{fmrCFHedNVg8>`n=1CWX^Y;Z#G|stG5Dh0PMYI#z&-qd7QVlZs}C zrJ_zH0jEnb*e*&%twIDgb5hq>HUvjAQe7<-fYqcQmg7EHj7g38sMMGV55ipDht9mBegp^(%Y z&~^0trBbi1P;0iWxXuNWn@j0ZSR_y^xB+ zd@=&Faj7C5lQASCGKP4_2V+4mte528YCZ-_8M!{6lq=IQxh4_zz-U0m8S=?E3q`p; zo0DGB8R;dFk{V<201QXvuAtuK4-V2cCI=U~a(!n~Msl_${f-yzIzgC?1jw&u%dg569-?jLBf^5r zm7#x}V@<=lRfAbe#?~OATQ^$PraxZ{yaadyi2jX1{8%65<9lR}>CrrnNATEP)IKqR z)G<0b$K{9|i=%M-jl3~8+Q!)k8(X7lJdLC=GjxnP!7I9Hkby@;1~phT~G^N zK`Iypo!}Bgf<;gW{y-j>18v|8gn=zY6()xyFa&zQ4Tu3Nh!QxE0VY5LH~;~VevLk% zC-KCcthabav1Kp{BESxLTd-(CL7Q0&mFu+T7Ua)yOqj5mmNCv z{DDKM{fDzdA8=Lg0N^kiR{yp1m*J6XU;<&3jv~ohcVjJap{4;McErZa%%IUEf=*Tv|Hbv%_4tb?Qd>=j732 z7nUpU)PMc`-K(~bTAyCJ>3RChwdAt%)s>fic$h)<@@sJ?pT9;dzg3T%Og&?jdhI(O zx4yV$-(o%4t)918U!A}E#BbbleQAUK;*=u)e^p;u*d{ z7El?B0@LId+?tF`n}v9m^RZVkGBB_zaBcn|RmsT6JvmEeDkIM%*+53#$w9IY82Kg} z%cU{$Pm&d#yk4%7-2kYcRY73#0V&PR8uCGmllQB!F>*~_pd!x7&EUe&Kly-?=;Vtk zV$8e@E|VM7L>c)esftVTGk7vgW%v)Y2nLLx<}@m3Z?;kNA=?~Xs5$*gYMWh^qZkRg cg^_==glZ~L>b|L^6Q%B&22tuJZ_`Qz0GpC{ApigX delta 565 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 literal 0 HcmV?d00001 diff --git a/sprites/jmppc0.png b/sprites/jmppc0.png new file mode 100644 index 0000000000000000000000000000000000000000..95066d9b3048117eed0f98f68461ce51c9345e53 GIT binary patch literal 4539 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 literal 0 HcmV?d00001 diff --git a/sprites/jmpra0.png b/sprites/jmpra0.png index 42665d7a2336eb58b8ddf3d194e2e7c8570bb48c..1208da4baf4fb0db08a9d101083017ad7f38ac41 100644 GIT binary patch delta 10 RcmX@fvz2Fp!A2KWHUJhp16Ke5 delta 29 jcmdnWbCPF*fe-^ndXZxi0|NsG5cBM=%Ievu$Ib=-Z(#=* diff --git a/textures.txt b/textures.txt index 2cfad22..c9ef819 100644 --- a/textures.txt +++ b/textures.txt @@ -2,14 +2,17 @@ sprite JMPRA0, 49, 43 { offset 24, 21 patch JMPRA0,0,0 { } } + sprite JMPRB0, 49, 43 { offset 24, 21 patch JMPRA0,0,0 { translation "112:120=160:167" } } + sprite JMPRC0, 49, 43 { offset 24, 21 patch JMPRA0,0,0 { translation "112:120=32:47" } } + sprite JMPRD0, 49, 43 { offset 24, 21 patch JMPRA0,0,0 { translation "112:120=96:111" } @@ -20,3 +23,20 @@ sprite JMPKA0, 48, 32 { patch JMPKA0,0,0 { } } + +sprite JMPPA0, 320, 200 { + offset 0, 32 + patch JMPPA0,0,0 { } +} + +sprite JMPPB0, 320, 200 { + offset 0, 32 + patch JMPPB0,0,0 { } +} + +sprite JMPPC0, 320, 200 { + offset 0, 32 + patch JMPPC0,0,0 { } +} + + diff --git a/zscript.zs b/zscript.zs index 0adb64a..381cb98 100644 --- a/zscript.zs +++ b/zscript.zs @@ -243,6 +243,8 @@ class JumperCablesDeployed : HDUPK class JumperCablesUsable : HDWeapon { + int lastIndicatorStatus; + default { +weapon.wimpy_weapon; @@ -277,6 +279,29 @@ class JumperCablesUsable : HDWeapon return GetSpareWeaponRegular(newowner,reverse,doselect); } + override void DrawSightPicture( + HDStatusBar statusBar, + HDWeapon weapon, + HDPlayerPawn playerPawn, + bool sightbob, + Vector2 bob, + double fov, + bool scopeview, + Actor hpc, + String whichdot) + { + // int cx,cy,cw,ch; + // [cx,cy,cw,ch]=screen.GetClipRect(); + // statusBar.SetClipRect(cx,cy,cw,ch); + + String filename = String.Format("graphics/jmpr_reticle%d.png", lastIndicatorStatus + 1); + console.printf("blep, %s %d\n", filename, frame); + statusBar.drawImage( + filename, + (0, 0) + bob, + statusBar.DI_SCREEN_CENTER | statusBar.DI_ITEM_TOP, + scale : (0.5, 0.5)); + } states { @@ -286,11 +311,11 @@ class JumperCablesUsable : HDWeapon stop; select: - TNT1 A 0; + JMPP A 0; goto super::select; ready: - TNT1 A 1 { + JMPP # 1 { if(PressingFire()) { SetWeaponState("deploy"); } @@ -299,25 +324,38 @@ class JumperCablesUsable : HDWeapon FLineTraceData linetraceData; DoLineTrace(HDPlayerPawn(invoker.owner), linetraceData); + Vector3 hitPos; if(linetraceData.hitType != TRACE_HitNone) { - Vector3 hitPos = linetraceData.hitLocation - Vec3Offset(0, 0, 0); - SpawnParticleForLineTrace( - HDPlayerPawn(invoker.owner), - linetraceData); + hitPos = linetraceData.hitLocation - Vec3Offset(0, 0, 0); } + + SpawnParticleForLineTrace( + HDPlayerPawn(invoker.owner), + linetraceData); + + // console.printf("blep, %d\n", frame); + + //player.getpsprite(PSP_WEAPON).frame = randompick(0, 1, 2); + + // invoker.lastIndicatorStatus += 1; + // invoker.lastIndicatorStatus %= 3; } goto readyend; + readyend: + #### # 0 A_ReadyEnd(); + #### # 0 A_Jump(256,"ready"); + deploy: - TNT1 AA 1; - TNT1 AAAA 1; - TNT1 AAAA 1; + JMPP AA 1; + #### #### 1; + #### #### 1; - TNT1 A 0 A_JumpIf(!pressingfire(),"ready"); - TNT1 A 4 A_StartSound("weapons/pismagclick",CHAN_WEAPON); - TNT1 A 2 A_StartSound("derp/crawl",CHAN_WEAPON,CHANF_OVERLAP); + #### # 0 A_JumpIf(!pressingfire(),"ready"); + #### # 4 A_StartSound("weapons/pismagclick",CHAN_WEAPON); + #### # 2 A_StartSound("derp/crawl",CHAN_WEAPON,CHANF_OVERLAP); - TNT1 A 1 { + #### # 1 { // invoker.owner.A_Log("Blep"); A_WeaponReady(WRF_NOFIRE | WRF_ALLOWRELOAD | WRF_ALLOWUSER4); AttachCables(HDPlayerPawn(invoker.owner)); @@ -325,7 +363,7 @@ class JumperCablesUsable : HDWeapon goto ready; user3: - #### A 0 A_MagManager("HDBattery"); + #### # 0 A_MagManager("HDBattery"); goto ready; } @@ -348,6 +386,30 @@ class JumperCablesUsable : HDWeapon if(LineTraceFindbrokenLine(linetraceData)) { particleColor = "green"; + + // Found somethine we can fix! + player.getpsprite(PSP_WEAPON).frame = 1; + + } else { + + if(linetraceData.hitType == TRACE_HitNone) { + + // Didn't hit anything (yellow light). + player.getpsprite(PSP_WEAPON).frame = 0; + + } else{ + + // Hit something, but it's not broken (green light). + player.getpsprite(PSP_WEAPON).frame = 2; + + } + + } + + invoker.lastIndicatorStatus = player.getpsprite(PSP_WEAPON).frame; + + if(linetraceData.hitType == TRACE_HitNone) { + return; } Vector3 hitPos = linetraceData.hitLocation - Vec3Offset(0, 0, 0); @@ -407,8 +469,10 @@ class JumperCablesUsable : HDWeapon pawn.angle, 48, pawn.pitch, - flags : TRF_THRUACTORS, - offsetz : pawn.height * 0.8, + flags : TRF_THRUACTORS | TRF_ABSOFFSET, + offsetz : pawn.gunPos.z, // * 0.8, + offsetforward : pawn.gunPos.x, + offsetside : pawn.gunPos.y, data : linetraceData); }