From a169cba54203e12597bd6eeb77259cc64c322a30 Mon Sep 17 00:00:00 2001 From: Kiri Date: Sun, 27 Aug 2023 18:28:31 -0700 Subject: [PATCH] Stream work. --- Sprite-0002.aseprite | Bin 8706 -> 8985 bytes TODO.md | 6 + gldefs.txt | 24 +++ sounds/kirigretchencounter_click.ogg | Bin 3617 -> 3612 bytes source_data/Makefile | 55 ++++++ .../gretchencounter_weaponsprite.aseprite | Bin 0 -> 9673 bytes sprites/bright_kgcma0.png | Bin 0 -> 1497 bytes sprites/bright_kgcmb0.png | Bin 0 -> 1876 bytes sprites/kgcma0.png | Bin 6197 -> 6198 bytes sprites/kgcmb0.png | Bin 0 -> 6197 bytes sprites/kgcnb0.png | Bin 0 -> 1274 bytes zscript.zs | 169 ++++++++++++------ 12 files changed, 201 insertions(+), 53 deletions(-) create mode 100644 TODO.md create mode 100644 gldefs.txt create mode 100644 source_data/Makefile create mode 100644 source_data/gretchencounter_weaponsprite.aseprite create mode 100644 sprites/bright_kgcma0.png create mode 100644 sprites/bright_kgcmb0.png create mode 100644 sprites/kgcmb0.png create mode 100644 sprites/kgcnb0.png diff --git a/Sprite-0002.aseprite b/Sprite-0002.aseprite index cfedf8e7834bd45a902a98f31a70fb5872b1437a..d85f5b47fde0db8341ec11abf5d63c872940eb12 100644 GIT binary patch delta 374 zcmZp2nd!zZsm#FeU@6l?_DbHl3JeUtK1wm9FfcGkZS38{#mKbTi+exc<+8!(jSZ~iCE!dCx>5u}qFtdkq4TLOq#fu^Z5C^P&A%E16c zoRPtT!3~Qz6N3XoJr;3h21hjUr$7T)6<8QD7^X1%XJVKvA$6@@A1ubkP{1$;BnAa6 z3|w%BGbkzaG9D6?VDMeSEC6u|J3~6dWGq&4Fz5gc!gM+(gD*oE7I7{HjUa|7EE3!d JX$*-d;s9aOH~jzr delta 79 zcmV-V0I>g=MuJ2K0wMqa;H3eP2YC&GApijS@f!eS0000Rv5mY6ljI5#vs(+U4wH=` l<&y~-`4 diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..e3dc686 --- /dev/null +++ b/TODO.md @@ -0,0 +1,6 @@ +x Makefile for building assets +x On/Off switch +- README file +- Pickup sprites +- Battery usage +x Brightmaps diff --git a/gldefs.txt b/gldefs.txt new file mode 100644 index 0000000..c0f247c --- /dev/null +++ b/gldefs.txt @@ -0,0 +1,24 @@ +brightmap sprite kgcma0 +{ + map "sprites/bright_kgcma0.png" + disablefullbright +} + +brightmap sprite kgcmb0 +{ + map "sprites/bright_kgcmb0.png" + disablefullbright +} + +brightmap sprite kgcna0 +{ + map "sprites/bright_kgcma0.png" + disablefullbright +} + +brightmap sprite kgcnb0 +{ + map "sprites/bright_kgcmb0.png" + disablefullbright +} + diff --git a/sounds/kirigretchencounter_click.ogg b/sounds/kirigretchencounter_click.ogg index 049ca4dcec2c59e2597e26b584c4f7ee02810ffd..b5cff5a61841e2713bc56c2d59f7c27cd21422ee 100644 GIT binary patch delta 299 zcmZ1|Ge<_sKRrE|fr$YM1WZ!5gP8uSE_|OTrN;x}GXnVys*iFuhFs#Q2MK^w$6tAI zkJZ3XLs#!l%1Vxt~qy+CoLtd*bI>*B|zL zyXW*Se}*p^9=g+vOlDU(y((C{U0FFogF*G>$w15dmvr1WXaBz*bfQn=>s+4of0ypP z9-J;ID*GiPa=nEK{{jw%1uW$v=k}j67x4-fDYIJ}9h2w!&3;d@X4|zzlWprP|D+sn zeYh(0{B8~A8)v-!O;WGiv+np=DchrIUl#tV+pX>+(S9=R6Pxm0Iq t{xS}4$pbH+-w!L^)A4Zo|1I^mD{70PtYr3AZn~DGA(^%7+^W^9*Z`G~hk*b9 delta 304 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

Qpthu_!)%TcU;B5!t| z!@CE0JKGWqtZB26{X0|ACt4(H3HQ=Ieh6sL+$@i|na07>wB*6q51+3(m8EpcA$DzSQVSP{#}Zk_ zPhZy9Csl8eOI1eq;YogJV8RP|nlth@hBkW!_7wU1(iwX=&^vFYk`QN}~L|DV|i3E}(&Lk<$LS0E5E71sNka1`0kj)k%4!4+5;s zHE&uHB8Ahc*;WLtj`BsLQ9fKW%%K{T_wrP&R#};kJfgWo;9XH?BCBgnwmo~}i1e9N zHQ(=VF4*_HqL+AMNY!?AXiN8tvJK4@Pb>K+izaWqKCfS*A9DAeFyE+X(qGYAYfBz| znXkT%Nn7yyQoP=x;&|gj%_%=lqD@@ZlONP8X0j_6NZqAH9fAt~JJ=y89wgYqQVbE2 zXo^;)nzXmZx7AJ>o!V)U`G!j6OYjcN6Fzu3KE8(s*H~!p*D0H}ZhDl$kJ_`X##J|r zqSbBF?BcFR6_^PIlhx&XbRNZx7Xu-=@oomS_Vfq$q%cY3ykPCyA$`d~htfx#{-bRf zlnAtaHN)J#W7AzYKOwYr0) z&jbxe(?`l^NPa{3ljmdttI-QOk4<1v9NYcsFhtye8cwLr%lBYgT+M#rW3=(|$M zrX4DA>F4VswB6Y5dQ4wSZ9TQ5{)!H_&W64%S8_t+)yM!ULR&vxg{en@!+1I(UzbZ? z&^G6E6!Srhk=|2rqk6r@_2N;->w*iVcWaDGj>lh_nl0!VGL48(Wm#t866mFLyXk{< z+*cQ%GjHpSQjoWo9q(Y19c6_cbceI&WZP z?z)j1l%DLgd{Sibj$Jo*6GOb3z>@35_cay6zrBwqKs`tp8#^}&;J zZ?&mvt7_}7Ux`nz9%`}n=1s?_-5rWKl+D~0Kc7gJ3E-c^mJYHj_)@kH5LCGOs{k}dbaTS_JP`6ubC$dx9Gc8=X;8oNY3~sCW!&pab*2K(=|3^3o1B^$XMVwd!(%o2tZ$eIrbW)H&I;fBT48YB>`Ttsi{Acmm!3bo7LYK%)0TH%I5@|9 zJc&;#iba>1UNlBw)gf_Ka+$pLP5GW2W=*uhVpn`*bINrG>xsOT#Ebi?`DZa|I#QQ> zSI=0fFNJtCyh~Eo_C32^EI#LHefrSEVFyc&Llee+2AAbTe~2^)9h+5nA52J^t@01+ zzw$V*2BXS)gxc2RY(wMq@D#V4%=&X1j59+uPqIno*@ZGjS^SZHQPe@iJZZhm5xnT* zZn`~DyIqNI6|Ozy*JQc(LAf2f*o{*a-rpCsankufq4qA#j=Y=gENVh$Em1ugY}IGU zxmoClKcfx4D!?P2nSknmUCChSg_rRryp|X_qfRUEm&Bz>L zQU0&B!=4nMy{H&hCs=SQq>j;}oKbdvbc`Iu0v&T$wneE1Qkzk`;Dzv7x-^_Lyw!o# zfqp18Ar~PIAymi*ngUnS^=Ke`U;g)Zw<_?r6i`?jAH0)7J>`A0bJ?4R9Qii+|6zNF zGHV~V#8M)EC4naWl?2in27dnj&KPOs_x9KE-`_g@vgo`#9_ok1${6!&fMC%S) z{rHJ#HR}tm2Co)oL#+CH%I;}}Byik9VDgEfW_!^IUM@9Dq zA)GhA=dGC^j6;lOj6a?IKAkz&c#r#gv#Xauj$8#e~MFex)M-C$nLJ7hAX+l*P z=jNrkCd0b~^VtgJZHvv$u@}fI5AW`*DvB|BE3LZE9c|tmtum75nJ2hyc7EV6*}Cc( zw&o5y0XDG)N{fxY_Unc%v0+jS%J!=X!xEY;nC;&?StCQ!OTnazyp&!@sI+8FzhD1E zMo0`(jh0tlT-Uur(0aa9*Yd=m1o;&Y3bj1^X=U*qcL%2kV}mZ|jSGiwu7)T*_`0!r zgoSDmE#lg|4p%uUP^YvP~ x+iNedp{&Z=eG6K6!MDR&1z##@+(cN1=xJ$6wnsz=5es?l7d2bFV~6Gi{|ky2h^GJm literal 0 HcmV?d00001 diff --git a/sprites/bright_kgcma0.png b/sprites/bright_kgcma0.png new file mode 100644 index 0000000000000000000000000000000000000000..ea27c66f2393efca71211380fc8874b168c46a81 GIT binary patch literal 1497 zcmeHGF{|5F6h0vZm8cI7h6lf!tt&-2}2&?d8O8!2 z00saac6hnLw!zH;*EKd3E(=_Yu+FZg$#D|xi(ohMw?lWG*{jrACT1OxX=qFWz3{c% zQwNTc+H!130qJ>$XzPNh^193^Qdbf?$K!Fo-|u$2wrw|?&1$u3nr69N&gb*GuBX#! zRaIqKj>qHCXfzxSvn)%~G>+pi41*x>ecyFm$8jvnB7_)*p=p|`s{0RfHxmjGLU6~Gdp2B-iE zfFVE%5CQZ7TmUK=)oZ`UrorhH^BkiHZ5vgUx`@KiMPVog1)$j(KmcIB;ytvuU0_pS zo#4d9T*H)q8F7cOv+H-Z9=mdwXBNx}%#7D{;uf(+%n<`bf+!+Fr9-L0NQQw(&Dk?# zUKP7C&r*ulR?+}u01NKY#1f7vKJT{Q7Y7(VO|- bbl}|&&wq6<-W$E3j)k+k=ciBaeD=-XS<=~P literal 0 HcmV?d00001 diff --git a/sprites/bright_kgcmb0.png b/sprites/bright_kgcmb0.png new file mode 100644 index 0000000000000000000000000000000000000000..698b0f32750d1345fde6bc86a1d27c7bd48c6803 GIT binary patch literal 1876 zcmd^9VQf=X6h7^?bfa$FsG~r^4jx#w$lENTV8J(ekmo3@WJRhLSC$v4_%b>vO)TF@@3Kp}(I;spUS(#N@Mx@h47AV-ox^)DlV1rdawgKb%Kx6#rPZMu$?!7t5 z`Mz_{_uadDRW(&OVd?|`D6D#JX$=6ck~??i=WuISF=FL5o~4Fb0!PkFy9$s4t5&RD z#sy^(p+qFmXfy~RsZ=T!i-kg=Kp?SfDLngCHrL06^5sMj- z$RrdR1p#EZgi6m*OPtl4%;+RLQebi!%q zcj)?T+K5#Xv`_&v+0GDNTJ18b+Vo1B4rjFrhLRgeOh?ExDk*_WlnSu|6J@j6bUK|% zrIN{HJRa}s>x;!=kw_#I3I&6~Kp^1v`+Yv2$K!Fk-A<>|;c(b&HkM`0W;4SuG))@} z2EAUd)oLkgS5u{s1IB=Ckfzy~= zCzX*BiBcrSghGiR;&+97ZJi#Q-^Kdc%w8Mgw$e_E!NKUQw3an$%zDzKBa9lAo>b}x z+~=TOtj@t`SR-N5DGiiDtHwyB)M}&67QKnl8fZ$VS5sOgK`B&(93e|4sZWH-Q(nB& zD)Sn|ZKS}W08VR^OrmfYdA-PLMMfhc2qcpsfGofzfCNAvKm;HN;0N#mI00+`7621~ z0f3W?(<_}uu^0*jkjsTE7NpZ5m5Or_2g6MchQr_hxNHXi1E9Oln@OTX7{$COXhrP? z^oB)}F^f_rQNk$f(+f^%Aw)qZ`JhgeKq!ci3n2y}3Ly+3@Dt!ufg6W5j5DX4 z#HA`sj7xoW8re{UBKp=YTch? z_bdEgjlZu=4vew@{99E^pIyE6z_r1}=0N%6%8NzpaQf4V^*67eNNKoxV(YQIJ=;od zPV1;Szh=|T-lklB)8?JG7u+dayO>wU@5yZ~$QKtsTDGEcpS}FQ85r1ZA4~3$Do=c9 zAN$SFu|@t(m$D&u|Eq;`BHfr8`VwQIKXf5FW|JM$Mjnf^9V$@5>R-=%D@-EZCV(Ryhe&tH(QuvU1B zDB%KgY~vw&JhyfHE745;xqtTd=y!J8wf3X-dAz#%{@wY#6N|gHm26x%T2+wGG#%_c zjh$O5ApBkSj@quW;d?_bZ=H2${M~=2$XWaEx7d^PBQHI?t{bo2-#8Xt-&|TS`bBo| z#${GD<01aXE#t?Ynvu75aMy*AxUvVk*f4HQHKuu!PJJM5sPC8)6-F<WFo@+Audf~&r^N6{|< zniv=eYO{!V^Y)Dei1=Q=dHd;W0$ShRHZTL208|n>Icd{yPWI=I0U)^Wt3Qnq0>@XcKibh}GbFE2ECGyk zO8!zL2>{^j+Z;bwAh>Y+13B@ZH}BrOef{RIzv7cO7wQxMt&Pe0agrGT0000 delta 203 zcmV;+05t!$FtsqSNdy7cvq}U@5`Wd}*D=J`uV20T^Znm*fRW@&76=4aeQl4TUjj5S zFc8#c5%K2jo0uTrd;R9^r>_ZUeS6!$3}6CKN$BLHO~X0y$Ll};c=hVln?6_{0=)Se z*%bT(K)Si=YkL$Cf`8QEo;KLJu;4io-^c`j;KHx|eEqtQ76>-@(T+Zwc_W2l31FmC z@|Pk>003{_=J>$^!G+@=$cg{FdH3e+>oJ)*Wjm9da;RFBx002ovPDHLk FV1g=YXt4kQ diff --git a/sprites/kgcmb0.png b/sprites/kgcmb0.png new file mode 100644 index 0000000000000000000000000000000000000000..a0a837ae46ea059326477e7f99155dd2fb4f4d12 GIT binary patch literal 6197 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 V=xuQZ=QR}ASlAzXZ02|Ae*hqt!pHys literal 0 HcmV?d00001 diff --git a/sprites/kgcnb0.png b/sprites/kgcnb0.png new file mode 100644 index 0000000000000000000000000000000000000000..319e80ae3287cd182da4358754e8675a79a00b36 GIT binary patch literal 1274 zcmd^8&x_ku5T5OpsEJriaEhP`bwLmxbP!Yr9duAO+Em@TSuLx84r)%@3Y+v~ty+KSSW?7l)oQU=%;)pjY&MxpMx)ViI2;TH zyJJZnv{6Yc`vWMx$P@$8j7*Q4j>4=ee%yIF4mmrfKTBu4$U8s|2m$r_+|M=pogZ%TSr7zCk zN!7{j>qjm9lgs4bf5;!d-JtG^zg$_r_2OXtr|%|f&ky&nKJdS$AALFA-+VATpdbBQ z{&4r!6*Av^cK7zVm?zI|}|!MWp;x8M3V{HK4y(|4%sn~N_lojJF!?`$1j H`{?dpwbPIB literal 0 HcmV?d00001 diff --git a/zscript.zs b/zscript.zs index 00eede0..45b6810 100644 --- a/zscript.zs +++ b/zscript.zs @@ -28,6 +28,7 @@ class GretchenCounter : HDWeapon float angularVelocity; float needlePosition; int framesSinceLastBeep; + bool onSwitch; override double WeaponBulk() { @@ -52,40 +53,94 @@ class GretchenCounter : HDWeapon // Needle overlay states. needle_indicator: - KGCN A 1; wait; + KGCN # 1; wait; select0: - KGCM A 1; + KGCM # 1 { + updateOverlay(); + } goto select0big; deselect0: - KGCM A 1; + KGCM # 1 { + updateOverlay(); + } goto deselect0big; ready: - KGCM A 1 { + KGCM B 1 { A_Overlay(355, "needle_indicator"); A_OverlayPivotAlign(355, PSPA_CENTER, PSPA_BOTTOM); - UpdateDisplay(); - A_WeaponReady(WRF_NOFIRE | WRF_ALLOWUSER3); // USER3 = MagManager. + // invoker.UpdateDisplay(); + updateOverlay(); + + A_WeaponReady(WRF_ALLOWUSER3); // USER3 = MagManager. } goto readyend; + fire: + KGCM # 1 offset(0, 20) { updateOverlay(); } + KGCM # 1 offset(0, 40) { updateOverlay(); } + KGCM # 1 offset(0, 55) { updateOverlay(); } + + KGCM # 1 { + invoker.onSwitch = !invoker.onSwitch; + console.printf("onswitch: %d", int(invoker.onSwitch)); + // TODO: Play sound. + updateOverlay(); + } + + KGCM # 1 offset(0, 55) { updateOverlay(); } + KGCM # 1 offset(0, 40) { updateOverlay(); } + KGCM # 1 offset(0, 20) { updateOverlay(); } + KGCM # 1 offset(0, 0) { updateOverlay(); } + goto waiting; + + waiting: + KGCM # 1 { updateOverlay(); } + KGCM # 1 { updateOverlay(); } + KGCM # 1 { updateOverlay(); } + KGCM # 1 { updateOverlay(); } + KGCM # 1 { updateOverlay(); } + KGCM # 1 A_Refire("waiting"); + goto ready; + readyend: #### # 0 A_ReadyEnd(); #### # 0 A_Jump(256,"ready"); } - action float GetReadingForType(String type_name, float distance_scale) + action void updateOverlay() + { + float angle_min = -45.0; + float angle_max = 45.0; + A_OverlayRotate(355, + angle_min + (angle_max - angle_min) * (1.0 - invoker.needlePosition)); + + player.getpsprite(PSP_WEAPON).frame = int(invoker.onSwitch); + player.getpsprite(355).frame = int(invoker.onSwitch); + // frame = int(invoker.onSwitch); + } + + float GetReadingForType(String type_name, float distance_scale) { ThinkerIterator iter = ThinkerIterator.Create(type_name); Actor mo; float totalReading = 0.0; + + Actor referenceActor = owner; + if(!referenceActor) { + referenceActor = self; + } + while(mo = Actor(iter.Next())) { - //shardCount++; - float dist = Distance3D(mo); + if(mo.health <= 0) { + continue; + } + + float dist = referenceActor.Distance3D(mo); // Convert to "meters" (with a minimum). if(dist < 32) { @@ -96,26 +151,28 @@ class GretchenCounter : HDWeapon dist *= distance_scale; - console.printf("%s", type_name); + // console.printf("%s", type_name); totalReading += 1.0 / (dist * dist); } return totalReading; } - // override void Tick() - // { - // super.Tick(); - // UpdateDisplay(); - // } - - action void UpdateDisplay() + override void Tick() { - float angle_min = -45.0; - float angle_max = 45.0; + // console.printf("lsjksdjklcmsdlkmcsdlkmslckmlkmsdclkmsdclkmsdc"); + super.Tick(); + UpdateDisplay(); + } + void UpdateDisplay() + { + Actor referenceActor = owner; + if(!referenceActor) { + referenceActor = self; + } - // console.printf("kjsdcsjkdcnsdjkcnsdkjcnsdc"); + console.printf("kjsdcsjkdcnsdjkcnsdkjcnsdc, %d", int(onSwitch)); // ThinkerIterator iter = ThinkerIterator.Create("BFGNecroShard"); // Actor mo; @@ -139,21 +196,24 @@ class GretchenCounter : HDWeapon // shardCount += 1; // } - float totalReading = - GetReadingForType("BFGNecroShard", 1.0) + - GetReadingForType("HDBarrel", 2.0); + float totalReading = 0.0; + if(onSwitch) { + totalReading = + GetReadingForType("BFGNecroShard", 1.0) + + GetReadingForType("HDBarrel", 2.0); + } - // invoker.lastReading = totalReading * 0.01 + invoker.lastReading * 0.99; + // lastReading = totalReading * 0.01 + lastReading * 0.99; - float pct_reading = invoker.lastReading * 2000.0; + float pct_reading = lastReading * 2000.0; - invoker.lastReading = totalReading; + lastReading = totalReading; float r = frandom(0.0, 1.0); - if(r < pct_reading) + if(r < pct_reading && onSwitch) { - console.printf("test: %f %f", r, pct_reading); - A_StartSound("kiri/gretchencounter_click"); + // console.printf("test: %f %f", r, pct_reading); + referenceActor.A_StartSound("kiri/gretchencounter_click"); } @@ -162,15 +222,15 @@ class GretchenCounter : HDWeapon // } - String meter_str = ""; - float k; - for(k = 0.0; k < 1.0; k += 0.02) { - if(k < pct_reading) { - meter_str = meter_str.."#"; - } else { - meter_str = meter_str.."_"; - } - } + // String meter_str = ""; + // float k; + // for(k = 0.0; k < 1.0; k += 0.02) { + // if(k < pct_reading) { + // meter_str = meter_str.."#"; + // } else { + // meter_str = meter_str.."_"; + // } + // } // if(pct_reading > 1.0) { // pct_reading = 1.0; @@ -179,25 +239,28 @@ class GretchenCounter : HDWeapon // angle_min + (angle_max - angle_min) * (1.0 - pct_reading)); - invoker.angularvelocity += pct_reading - invoker.needlePosition; - invoker.angularvelocity *= 0.97; + angularvelocity += pct_reading - needlePosition; + angularvelocity *= 0.97; - bool wasNeedleAtMax = (invoker.needlePosition >= 0.9); + bool wasNeedleAtMax = (needlePosition >= 0.9); - invoker.needlePosition += invoker.angularvelocity * 0.1; - invoker.needlePosition = clamp(invoker.needlePosition, 0.0, 1.0); - - A_OverlayRotate(355, - angle_min + (angle_max - angle_min) * (1.0 - invoker.needlePosition)); - - console.printf("Ang vel %f", invoker.angularvelocity); - console.printf("Shard count: [%s] %f", meter_str, pct_reading); + needlePosition += angularvelocity * 0.1; + needlePosition = clamp(needlePosition, 0.0, 1.0); - invoker.framesSinceLastBeep++; - if((!wasNeedleAtMax || invoker.framesSinceLastBeep > 15) && invoker.needlePosition >= 0.9) { - A_StartSound("kiri/gretchencounter_blip"); - invoker.framesSinceLastBeep = 0; + // console.printf("Ang vel %f", angularvelocity); + // console.printf("Shard count: [%s] %f", meter_str, pct_reading); + + + framesSinceLastBeep++; + // if(onSwitch) + { + if(!wasNeedleAtMax || framesSinceLastBeep > 15) { + if(needlePosition >= 0.9) { + referenceActor.A_StartSound("kiri/gretchencounter_blip"); + framesSinceLastBeep = 0; + } + } } }