More work.
21
GLDEFS.txt
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
brightmap sprite jmppa0
|
||||||
|
{
|
||||||
|
map "sprites/jmpr_brightmap_1.png"
|
||||||
|
disablefullbright
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
brightmap sprite jmppb0
|
||||||
|
{
|
||||||
|
map "sprites/jmpr_brightmap_2.png"
|
||||||
|
disablefullbright
|
||||||
|
}
|
||||||
|
|
||||||
|
brightmap sprite jmppc0
|
||||||
|
{
|
||||||
|
map "sprites/jmpr_brightmap_3.png"
|
||||||
|
disablefullbright
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.3 KiB |
@ -5,7 +5,26 @@ all : \
|
|||||||
../sprites/jmppa0.png \
|
../sprites/jmppa0.png \
|
||||||
../sprites/jmppb0.png \
|
../sprites/jmppb0.png \
|
||||||
../sprites/jmppc0.png \
|
../sprites/jmppc0.png \
|
||||||
../graphics/jmpr_reticle.png
|
../graphics/jmpr_reticle1.png \
|
||||||
|
../graphics/jmpr_reticle2.png \
|
||||||
|
../graphics/jmpr_reticle3.png \
|
||||||
|
../sprites/jmpia0.png \
|
||||||
|
../sprites/jmpib0.png \
|
||||||
|
../sprites/jmpic0.png \
|
||||||
|
../sprites/jmpid0.png \
|
||||||
|
../sprites/jmpie0.png \
|
||||||
|
../sprites/jmpif0.png \
|
||||||
|
../sprites/jmpig0.png \
|
||||||
|
../sprites/jmpja0.png \
|
||||||
|
../sprites/jmpjb0.png \
|
||||||
|
../sprites/jmpjc0.png \
|
||||||
|
../sprites/jmpjd0.png \
|
||||||
|
../sprites/jmpje0.png \
|
||||||
|
../sprites/jmpjf0.png \
|
||||||
|
../sprites/jmpjg0.png \
|
||||||
|
letter_sprites_l \
|
||||||
|
letter_sprites_r \
|
||||||
|
brightmaps
|
||||||
|
|
||||||
../sprites/jmpka0.png : kit.aseprite
|
../sprites/jmpka0.png : kit.aseprite
|
||||||
aseprite -b $^ --save-as $@
|
aseprite -b $^ --save-as $@
|
||||||
@ -17,8 +36,10 @@ all : \
|
|||||||
# status light.
|
# status light.
|
||||||
../sprites/jmppa0.png ../sprites/jmppb0.png ../sprites/jmppc0.png : povsprite.aseprite
|
../sprites/jmppa0.png ../sprites/jmppb0.png ../sprites/jmppc0.png : povsprite.aseprite
|
||||||
aseprite -b $^ \
|
aseprite -b $^ \
|
||||||
--ignore-layer "numberindicatorleft" \
|
--ignore-layer "brightmap_display" \
|
||||||
--ignore-layer "numberindicatorright" \
|
--ignore-layer "brightmap_leds" \
|
||||||
|
--ignore-layer "numberindicatorl" \
|
||||||
|
--ignore-layer "numberindicatorr" \
|
||||||
--frame-range 0,2 --save-as $@
|
--frame-range 0,2 --save-as $@
|
||||||
|
|
||||||
# Correct Aseprite's automatic naming to Doom's. (Number at the
|
# Correct Aseprite's automatic naming to Doom's. (Number at the
|
||||||
@ -26,6 +47,200 @@ all : \
|
|||||||
mv ../sprites/jmppa1.png ../sprites/jmppb0.png
|
mv ../sprites/jmppa1.png ../sprites/jmppb0.png
|
||||||
mv ../sprites/jmppa2.png ../sprites/jmppc0.png
|
mv ../sprites/jmppa2.png ../sprites/jmppc0.png
|
||||||
|
|
||||||
../graphics/jmpr_reticle.png : jmpr_reticle.aseprite
|
../graphics/jmpr_reticle1.png \
|
||||||
|
../graphics/jmpr_reticle2.png \
|
||||||
|
../graphics/jmpr_reticle3.png : jmpr_reticle.aseprite
|
||||||
aseprite -b $^ \
|
aseprite -b $^ \
|
||||||
--frame-range 0,2 --save-as $@
|
--frame-range 0,2 --save-as $@
|
||||||
|
|
||||||
|
../sprites/jmpia0.png \
|
||||||
|
../sprites/jmpib0.png \
|
||||||
|
../sprites/jmpic0.png \
|
||||||
|
../sprites/jmpid0.png \
|
||||||
|
../sprites/jmpie0.png \
|
||||||
|
../sprites/jmpif0.png \
|
||||||
|
../sprites/jmpig0.png \
|
||||||
|
../sprites/jmpja0.png \
|
||||||
|
../sprites/jmpjb0.png \
|
||||||
|
../sprites/jmpjc0.png \
|
||||||
|
../sprites/jmpjd0.png \
|
||||||
|
../sprites/jmpje0.png \
|
||||||
|
../sprites/jmpjf0.png \
|
||||||
|
../sprites/jmpjg0.png : povsprite.aseprite
|
||||||
|
|
||||||
|
aseprite -b $^ \
|
||||||
|
--layer "numberindicatorl" \
|
||||||
|
--frame-range 0,6 --save-as ../sprites/jmpia.png
|
||||||
|
|
||||||
|
aseprite -b $^ \
|
||||||
|
--layer "numberindicatorr" \
|
||||||
|
--frame-range 0,6 --save-as ../sprites/jmpja.png
|
||||||
|
|
||||||
|
mv ../sprites/jmpia1.png ../sprites/jmpia0.png
|
||||||
|
mv ../sprites/jmpia2.png ../sprites/jmpib0.png
|
||||||
|
mv ../sprites/jmpia3.png ../sprites/jmpic0.png
|
||||||
|
mv ../sprites/jmpia4.png ../sprites/jmpid0.png
|
||||||
|
mv ../sprites/jmpia5.png ../sprites/jmpie0.png
|
||||||
|
mv ../sprites/jmpia6.png ../sprites/jmpif0.png
|
||||||
|
mv ../sprites/jmpia7.png ../sprites/jmpig0.png
|
||||||
|
mv ../sprites/jmpja1.png ../sprites/jmpja0.png
|
||||||
|
mv ../sprites/jmpja2.png ../sprites/jmpjb0.png
|
||||||
|
mv ../sprites/jmpja3.png ../sprites/jmpjc0.png
|
||||||
|
mv ../sprites/jmpja4.png ../sprites/jmpjd0.png
|
||||||
|
mv ../sprites/jmpja5.png ../sprites/jmpje0.png
|
||||||
|
mv ../sprites/jmpja6.png ../sprites/jmpjf0.png
|
||||||
|
mv ../sprites/jmpja7.png ../sprites/jmpjg0.png
|
||||||
|
|
||||||
|
|
||||||
|
letter_sprites_% :
|
||||||
|
|
||||||
|
|
||||||
|
aseprite -b povsprite.aseprite \
|
||||||
|
--layer "numberindicator$*" \
|
||||||
|
--frame-range 0,6 --save-as tmp.png
|
||||||
|
|
||||||
|
convert tmp6.png \
|
||||||
|
tmp3.png -composite \
|
||||||
|
tmp5.png -composite \
|
||||||
|
tmp4.png -composite \
|
||||||
|
tmp2.png -composite \
|
||||||
|
tmp1.png -composite \
|
||||||
|
indic_$*_0.png
|
||||||
|
|
||||||
|
convert tmp4.png \
|
||||||
|
tmp5.png -composite \
|
||||||
|
indic_$*_1.png
|
||||||
|
|
||||||
|
convert tmp6.png \
|
||||||
|
tmp7.png -composite \
|
||||||
|
tmp3.png -composite \
|
||||||
|
tmp5.png -composite \
|
||||||
|
tmp2.png -composite \
|
||||||
|
indic_$*_2.png
|
||||||
|
|
||||||
|
convert tmp3.png \
|
||||||
|
tmp4.png -composite \
|
||||||
|
tmp5.png -composite \
|
||||||
|
tmp6.png -composite \
|
||||||
|
tmp7.png -composite \
|
||||||
|
indic_$*_3.png
|
||||||
|
|
||||||
|
convert tmp1.png \
|
||||||
|
tmp4.png -composite \
|
||||||
|
tmp5.png -composite \
|
||||||
|
tmp7.png -composite \
|
||||||
|
indic_$*_4.png
|
||||||
|
|
||||||
|
convert tmp6.png \
|
||||||
|
tmp7.png -composite \
|
||||||
|
tmp3.png -composite \
|
||||||
|
tmp4.png -composite \
|
||||||
|
tmp1.png -composite \
|
||||||
|
indic_$*_5.png
|
||||||
|
|
||||||
|
convert tmp6.png \
|
||||||
|
tmp7.png -composite \
|
||||||
|
tmp3.png -composite \
|
||||||
|
tmp4.png -composite \
|
||||||
|
tmp1.png -composite \
|
||||||
|
tmp2.png -composite \
|
||||||
|
indic_$*_6.png
|
||||||
|
|
||||||
|
convert tmp6.png \
|
||||||
|
tmp5.png -composite \
|
||||||
|
tmp4.png -composite \
|
||||||
|
indic_$*_7.png
|
||||||
|
|
||||||
|
convert tmp6.png \
|
||||||
|
tmp7.png -composite \
|
||||||
|
tmp3.png -composite \
|
||||||
|
tmp5.png -composite \
|
||||||
|
tmp4.png -composite \
|
||||||
|
tmp2.png -composite \
|
||||||
|
tmp1.png -composite \
|
||||||
|
indic_$*_8.png
|
||||||
|
|
||||||
|
convert tmp6.png \
|
||||||
|
tmp7.png -composite \
|
||||||
|
tmp3.png -composite \
|
||||||
|
tmp5.png -composite \
|
||||||
|
tmp4.png -composite \
|
||||||
|
tmp1.png -composite \
|
||||||
|
indic_$*_9.png
|
||||||
|
|
||||||
|
convert tmp6.png \
|
||||||
|
tmp7.png -composite \
|
||||||
|
tmp5.png -composite \
|
||||||
|
tmp4.png -composite \
|
||||||
|
tmp2.png -composite \
|
||||||
|
tmp1.png -composite \
|
||||||
|
indic_$*_a.png
|
||||||
|
|
||||||
|
convert tmp7.png \
|
||||||
|
tmp3.png -composite \
|
||||||
|
tmp4.png -composite \
|
||||||
|
tmp2.png -composite \
|
||||||
|
tmp1.png -composite \
|
||||||
|
indic_$*_b.png
|
||||||
|
|
||||||
|
convert tmp3.png \
|
||||||
|
tmp1.png -composite \
|
||||||
|
tmp2.png -composite \
|
||||||
|
tmp6.png -composite \
|
||||||
|
indic_$*_c.png
|
||||||
|
|
||||||
|
convert tmp7.png \
|
||||||
|
tmp3.png -composite \
|
||||||
|
tmp4.png -composite \
|
||||||
|
tmp2.png -composite \
|
||||||
|
tmp5.png -composite \
|
||||||
|
indic_$*_d.png
|
||||||
|
|
||||||
|
convert tmp6.png \
|
||||||
|
tmp7.png -composite \
|
||||||
|
tmp3.png -composite \
|
||||||
|
tmp2.png -composite \
|
||||||
|
tmp1.png -composite \
|
||||||
|
indic_$*_e.png
|
||||||
|
|
||||||
|
convert tmp6.png \
|
||||||
|
tmp7.png -composite \
|
||||||
|
tmp2.png -composite \
|
||||||
|
tmp1.png -composite \
|
||||||
|
indic_$*_f.png
|
||||||
|
|
||||||
|
mv indic_$*_0.png ../sprites/jmi$*a0.png
|
||||||
|
mv indic_$*_1.png ../sprites/jmi$*b0.png
|
||||||
|
mv indic_$*_2.png ../sprites/jmi$*c0.png
|
||||||
|
mv indic_$*_3.png ../sprites/jmi$*d0.png
|
||||||
|
mv indic_$*_4.png ../sprites/jmi$*e0.png
|
||||||
|
mv indic_$*_5.png ../sprites/jmi$*f0.png
|
||||||
|
mv indic_$*_6.png ../sprites/jmi$*g0.png
|
||||||
|
mv indic_$*_7.png ../sprites/jmi$*h0.png
|
||||||
|
mv indic_$*_8.png ../sprites/jmi$*i0.png
|
||||||
|
mv indic_$*_9.png ../sprites/jmi$*j0.png
|
||||||
|
mv indic_$*_a.png ../sprites/jmi$*k0.png
|
||||||
|
mv indic_$*_b.png ../sprites/jmi$*l0.png
|
||||||
|
mv indic_$*_c.png ../sprites/jmi$*m0.png
|
||||||
|
mv indic_$*_d.png ../sprites/jmi$*n0.png
|
||||||
|
mv indic_$*_e.png ../sprites/jmi$*o0.png
|
||||||
|
mv indic_$*_f.png ../sprites/jmi$*p0.png
|
||||||
|
|
||||||
|
brightmaps : povsprite.aseprite
|
||||||
|
|
||||||
|
aseprite -b $^ \
|
||||||
|
--layer "brightmap_display" \
|
||||||
|
--frame-range 0,0 --save-as brightmap_display.png
|
||||||
|
|
||||||
|
aseprite -b $^ \
|
||||||
|
--layer "brightmap_leds" \
|
||||||
|
--frame-range 0,2 --save-as brightmap_leds.png
|
||||||
|
|
||||||
|
aseprite -b $^ \
|
||||||
|
--layer "brightmap_digits" \
|
||||||
|
--frame-range 0,0 --save-as brightmap_digits.png
|
||||||
|
|
||||||
|
composite brightmap_display.png brightmap_leds1.png -compose screen ../sprites/jmpr_brightmap_1.png
|
||||||
|
composite brightmap_display.png brightmap_leds2.png -compose screen ../sprites/jmpr_brightmap_2.png
|
||||||
|
composite brightmap_display.png brightmap_leds3.png -compose screen ../sprites/jmpr_brightmap_3.png
|
||||||
|
cp brightmap_digits.png ../sprites/bright_jmpr_digits.png
|
||||||
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
@ -24,6 +24,12 @@ sprite JMPKA0, 48, 32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Weapon sprites.
|
||||||
|
//
|
||||||
|
// Note that there's a corresponding offset in the ledd_left_indicator
|
||||||
|
// and ledd_right_indicator states in object itself, which offset the
|
||||||
|
// text into position.
|
||||||
|
|
||||||
sprite JMPPA0, 320, 200 {
|
sprite JMPPA0, 320, 200 {
|
||||||
offset 0, 32
|
offset 0, 32
|
||||||
patch JMPPA0,0,0 { }
|
patch JMPPA0,0,0 { }
|
||||||
@ -39,4 +45,3 @@ sprite JMPPC0, 320, 200 {
|
|||||||
patch JMPPC0,0,0 { }
|
patch JMPPC0,0,0 { }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
110
zscript.zs
@ -295,18 +295,20 @@ class JumperCablesUsable : HDWeapon
|
|||||||
// statusBar.SetClipRect(cx,cy,cw,ch);
|
// statusBar.SetClipRect(cx,cy,cw,ch);
|
||||||
|
|
||||||
String filename = String.Format("graphics/jmpr_reticle%d.png", lastIndicatorStatus + 1);
|
String filename = String.Format("graphics/jmpr_reticle%d.png", lastIndicatorStatus + 1);
|
||||||
console.printf("blep, %s %d\n", filename, frame);
|
// console.printf("blep, %s %d\n", filename, frame);
|
||||||
statusBar.drawImage(
|
statusBar.drawImage(
|
||||||
filename,
|
filename,
|
||||||
(0, 0) + bob,
|
(0, 0) + bob,
|
||||||
statusBar.DI_SCREEN_CENTER | statusBar.DI_ITEM_TOP,
|
statusBar.DI_SCREEN_CENTER | statusBar.DI_ITEM_TOP,
|
||||||
scale : (0.5, 0.5));
|
scale : (0.5, 0.5));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
states
|
states
|
||||||
{
|
{
|
||||||
|
|
||||||
spawn:
|
spawn:
|
||||||
|
JMPP # 0 offset(0, -32);
|
||||||
JMPK A -1;
|
JMPK A -1;
|
||||||
stop;
|
stop;
|
||||||
|
|
||||||
@ -314,8 +316,14 @@ class JumperCablesUsable : HDWeapon
|
|||||||
JMPP A 0;
|
JMPP A 0;
|
||||||
goto super::select;
|
goto super::select;
|
||||||
|
|
||||||
|
ledd_left_indicator:
|
||||||
|
JMIL A 1 offset(0, -32); wait;
|
||||||
|
ledd_right_indicator:
|
||||||
|
JMIR A 1 offset(0, -32); wait;
|
||||||
|
|
||||||
ready:
|
ready:
|
||||||
JMPP # 1 {
|
JMPP # 1 {
|
||||||
|
|
||||||
if(PressingFire()) {
|
if(PressingFire()) {
|
||||||
SetWeaponState("deploy");
|
SetWeaponState("deploy");
|
||||||
}
|
}
|
||||||
@ -329,6 +337,9 @@ class JumperCablesUsable : HDWeapon
|
|||||||
hitPos = linetraceData.hitLocation - Vec3Offset(0, 0, 0);
|
hitPos = linetraceData.hitLocation - Vec3Offset(0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
A_Overlay(355, "ledd_left_indicator");
|
||||||
|
A_Overlay(356, "ledd_right_indicator");
|
||||||
|
|
||||||
SpawnParticleForLineTrace(
|
SpawnParticleForLineTrace(
|
||||||
HDPlayerPawn(invoker.owner),
|
HDPlayerPawn(invoker.owner),
|
||||||
linetraceData);
|
linetraceData);
|
||||||
@ -347,19 +358,37 @@ class JumperCablesUsable : HDWeapon
|
|||||||
#### # 0 A_Jump(256,"ready");
|
#### # 0 A_Jump(256,"ready");
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
JMPP AA 1;
|
JMPP A 1 offset(0, 16);
|
||||||
#### #### 1;
|
JMPP A 1 offset(0, 32);
|
||||||
#### #### 1;
|
JMPP A 1 offset(0, 48);
|
||||||
|
JMPP A 1 offset(0, 64);
|
||||||
|
JMPP A 1 offset(0, 72);
|
||||||
|
JMPP A 1 offset(0, 96);
|
||||||
|
JMPP A 1 offset(0, 128);
|
||||||
|
|
||||||
#### # 0 A_JumpIf(!pressingfire(),"ready");
|
JMPP A 0 A_JumpIf(!pressingfire(),"ready");
|
||||||
#### # 4 A_StartSound("weapons/pismagclick",CHAN_WEAPON);
|
JMPP A 4 A_StartSound("weapons/pismagclick",CHAN_WEAPON);
|
||||||
#### # 2 A_StartSound("derp/crawl",CHAN_WEAPON,CHANF_OVERLAP);
|
JMPP A 2 A_StartSound("derp/crawl",CHAN_WEAPON,CHANF_OVERLAP);
|
||||||
|
|
||||||
#### # 1 {
|
JMPP A 1 {
|
||||||
// invoker.owner.A_Log("Blep");
|
// invoker.owner.A_Log("Blep");
|
||||||
A_WeaponReady(WRF_NOFIRE | WRF_ALLOWRELOAD | WRF_ALLOWUSER4);
|
A_WeaponReady(WRF_NOFIRE | WRF_ALLOWRELOAD | WRF_ALLOWUSER4);
|
||||||
AttachCables(HDPlayerPawn(invoker.owner));
|
AttachCables(HDPlayerPawn(invoker.owner));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JMPP A 1 offset(0, 128);
|
||||||
|
JMPP A 1 offset(0, 96);
|
||||||
|
JMPP A 1 offset(0, 72);
|
||||||
|
JMPP A 1 offset(0, 64);
|
||||||
|
JMPP A 1 offset(0, 48);
|
||||||
|
JMPP A 1 offset(0, 32);
|
||||||
|
JMPP A 1 offset(0, 16);
|
||||||
|
JMPP A 1 offset(0, 0);
|
||||||
|
|
||||||
|
JMPP A 1 {
|
||||||
|
A_WeaponReady(WRF_NOFIRE | WRF_ALLOWRELOAD | WRF_ALLOWUSER4);
|
||||||
|
}
|
||||||
|
|
||||||
goto ready;
|
goto ready;
|
||||||
|
|
||||||
user3:
|
user3:
|
||||||
@ -384,7 +413,9 @@ class JumperCablesUsable : HDWeapon
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if(LineTraceFindbrokenLine(linetraceData)) {
|
Line brokenLine = LineTraceFindbrokenLine(linetraceData);
|
||||||
|
|
||||||
|
if(brokenLine) {
|
||||||
particleColor = "green";
|
particleColor = "green";
|
||||||
|
|
||||||
// Found somethine we can fix!
|
// Found somethine we can fix!
|
||||||
@ -406,20 +437,36 @@ class JumperCablesUsable : HDWeapon
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
invoker.lastIndicatorStatus = player.getpsprite(PSP_WEAPON).frame;
|
int frame_left = random(0, 15);
|
||||||
|
int frame_right = random(0, 15);
|
||||||
|
|
||||||
if(linetraceData.hitType == TRACE_HitNone) {
|
Line lineForDisplay = brokenLine;
|
||||||
return;
|
if(!lineForDisplay) {
|
||||||
|
lineForDisplay = hitLine;
|
||||||
|
}
|
||||||
|
if(lineForDisplay) {
|
||||||
|
JumperCablesMapLoader loader = JumperCablesMapLoader.Get();
|
||||||
|
int originalSpecial = loader.originalLinedefSpecials2.Get(lineForDisplay.index());
|
||||||
|
console.printf("Original special: %d", originalSpecial);
|
||||||
|
frame_right = originalSpecial % 16;
|
||||||
|
frame_left = originalSpecial / 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector3 hitPos = linetraceData.hitLocation - Vec3Offset(0, 0, 0);
|
player.getpsprite(355).frame = frame_left;
|
||||||
// console.printf("hit pos: %f %f %f\n", hitPos.x, hitPos.y, hitPos.z);
|
player.getpsprite(356).frame = frame_right;
|
||||||
A_SpawnParticle(
|
|
||||||
particleColor,
|
invoker.lastIndicatorStatus = player.getpsprite(PSP_WEAPON).frame;
|
||||||
0, 10, 2, 0,
|
|
||||||
hitPos.x,
|
if(linetraceData.hitType != TRACE_HitNone) {
|
||||||
hitPos.y,
|
Vector3 hitPos = linetraceData.hitLocation - Vec3Offset(0, 0, 0);
|
||||||
hitPos.z);
|
// console.printf("hit pos: %f %f %f\n", hitPos.x, hitPos.y, hitPos.z);
|
||||||
|
A_SpawnParticle(
|
||||||
|
particleColor,
|
||||||
|
0, 10, 2, 0,
|
||||||
|
hitPos.x,
|
||||||
|
hitPos.y,
|
||||||
|
hitPos.z);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
action float Vec2Mag(Vector2 v)
|
action float Vec2Mag(Vector2 v)
|
||||||
@ -470,7 +517,7 @@ class JumperCablesUsable : HDWeapon
|
|||||||
48,
|
48,
|
||||||
pawn.pitch,
|
pawn.pitch,
|
||||||
flags : TRF_THRUACTORS | TRF_ABSOFFSET,
|
flags : TRF_THRUACTORS | TRF_ABSOFFSET,
|
||||||
offsetz : pawn.gunPos.z, // * 0.8,
|
offsetz : pawn.gunPos.z - 1, // * 0.8,
|
||||||
offsetforward : pawn.gunPos.x,
|
offsetforward : pawn.gunPos.x,
|
||||||
offsetside : pawn.gunPos.y,
|
offsetside : pawn.gunPos.y,
|
||||||
data : linetraceData);
|
data : linetraceData);
|
||||||
@ -516,18 +563,25 @@ class JumperCablesUsable : HDWeapon
|
|||||||
|
|
||||||
Line secLine = sec.lines[secLineIndex];
|
Line secLine = sec.lines[secLineIndex];
|
||||||
|
|
||||||
// If this is currently special, we don't care about it.
|
// If this is currently special, we don't care about
|
||||||
|
// it (it's working fine, presumably).
|
||||||
if(secLine.special == 0) {
|
if(secLine.special == 0) {
|
||||||
|
|
||||||
// If this *used* to be special, we DO care about it!
|
// If this *used* to be special, we DO care about it!
|
||||||
if(loader.originalLinedefSpecials2.CheckKey(secLine.index())) {
|
if(loader.originalLinedefSpecials2.CheckKey(secLine.index())) {
|
||||||
|
|
||||||
// See if thise is the closest one we've found so far.
|
// Make sure it's actually changed.
|
||||||
float distanceToLine = GetDistanceToLine(
|
int originalSpecial = loader.originalLinedefSpecials2.Get(secLine.index());
|
||||||
secLine, linetraceData.hitLocation);
|
int currentSpecial = secLine.special;
|
||||||
if(distanceToLine <= closestLineDistance) {
|
if(originalSpecial != currentSpecial) {
|
||||||
closestLineInRange = secLine;
|
|
||||||
closestLineDistance = distanceToLine;
|
// See if this is the closest one we've found so far.
|
||||||
|
float distanceToLine = GetDistanceToLine(
|
||||||
|
secLine, linetraceData.hitLocation);
|
||||||
|
if(distanceToLine <= closestLineDistance) {
|
||||||
|
closestLineInRange = secLine;
|
||||||
|
closestLineDistance = distanceToLine;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|