View Issue Details

IDProjectCategoryView StatusLast Update
0005193DarkRadiantGUIpublic08.11.2020 18:35
ReporterDragofer Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityalways
Status closedResolutionfixed 
Product Version2.7.0 
Target Version2.8.0Fixed in Version2.8.0 
Summary0005193: Removing a Stim/Response entry can break the remaining entries
DescriptionSay I have 2 entries in the Response tab in the S/R editor:
# 1 is Trigger
# 2 is Frob

If # 1 is removed, Frob will remain # 2 and no longer works ingame.
Steps To Reproduce1) Create a stagecoach model and set "frobable" "1"
2) Open the S/R editor -> switch to Response tab
3) Add a response to Trigger (# 1) and a response to Frob (# 2)
4) For Frob (# 2), add an effect to remove _SELF
5) Test this ingame -> frobbing the stagecoach will remove it

5) Remove Trigger (# 1) -> Frob is still # 2
6) Load the map ingame again -> frobbing the stagecoach no longer does anything.

Deleting and redoing Frob so that it becomes # 1 will make it work again.
TagsNo tags attached.

Activities

greebo

greebo

26.03.2020 04:32

administrator   ~0012311

frob_to_remove_coach.map (6,675 bytes)   
Version 2
// entity 0
{
"classname" "worldspawn"
"editor_drLastCameraPos" "0 0 0"
"editor_drLastCameraAngle" "-6.9 7.2 0"
// primitive 0
{
brushDef3
{
( 0 0 1 -352 ) ( ( 0.002083333441987634 0 0.4666666686534882 ) ( 0 0.001388888922519982 0.2000000029802322 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 1 0 -256 ) ( ( 0.001388888922519982 0 0.800000011920929 ) ( 0 0.0625 22 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 1 0 0 -576 ) ( ( 0.002083333441987634 0 0.4666666686534882 ) ( 0 0.0625 22 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 -1 0 -224 ) ( ( 0.001388888922519982 0 0.2000000029802322 ) ( 0 0.0625 22 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( -1 0 0 -144 ) ( ( 0.002083333441987634 0 0.5333333611488342 ) ( 0 0.0625 22 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 0 -1 336 ) ( ( 0.002083333441987634 0 0.4666666686534882 ) ( 0 0.001388888922519982 0.800000011920929 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
}
}
// primitive 1
{
brushDef3
{
( 0 0 1 -336 ) ( ( 0.0625 0 112 ) ( 0 0.001388888922519982 0.2000000029802322 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 1 0 -272 ) ( ( 0.001388888922519982 0 0.800000011920929 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 1 0 0 -576 ) ( ( 0.0625 0 112 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 0 -1 -96 ) ( ( 0.0625 0 112 ) ( 0 0.001388888922519982 0.800000011920929 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( -1 0 0 -144 ) ( ( 0.0625 0 17 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 -1 0 256 ) ( ( 0.001388888922519982 0 0.2000000029802322 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
}
}
// primitive 2
{
brushDef3
{
( 0 0 1 -336 ) ( ( 0.002083333441987634 0 0.4666666686534882 ) ( 0 0.0625 220 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 1 0 -256 ) ( ( 0.0625 0 37 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 1 0 0 -592 ) ( ( 0.002083333441987634 0 0.4666666686534882 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 0 -1 -96 ) ( ( 0.002083333441987634 0 0.4666666686534882 ) ( 0 0.0625 37 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 -1 0 -224 ) ( ( 0.0625 0 92 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( -1 0 0 576 ) ( ( 0.002083333441987634 0 0.5333333611488342 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
}
}
// primitive 3
{
brushDef3
{
( 0 1 0 -256 ) ( ( 0.001388888922519982 0 0.800000011920929 ) ( 0 0.0625 250 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 1 0 0 -576 ) ( ( 0.002083333441987634 0 0.4666666686534882 ) ( 0 0.0625 250 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 0 -1 -112 ) ( ( 0.002083333441987634 0 0.4666666686534882 ) ( 0 0.001388888922519982 0.800000011920929 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 -1 0 -224 ) ( ( 0.001388888922519982 0 0.2000000029802322 ) ( 0 0.0625 250 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( -1 0 0 -144 ) ( ( 0.002083333441987634 0 0.5333333611488342 ) ( 0 0.0625 250 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 0 1 96 ) ( ( 0.002083333441987634 0 0.4666666686534882 ) ( 0 0.001388888922519982 0.2000000029802322 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
}
}
// primitive 4
{
brushDef3
{
( 0 0 1 -336 ) ( ( 0.0625 0 15 ) ( 0 0.001388888922519982 0.2000000029802322 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 1 0 0 -576 ) ( ( 0.0625 0 15 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 0 -1 -96 ) ( ( 0.0625 0 15 ) ( 0 0.001388888922519982 0.800000011920929 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 -1 0 -240 ) ( ( 0.001388888922519982 0 0.2000000029802322 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( -1 0 0 -144 ) ( ( 0.0625 0 114 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 1 0 224 ) ( ( 0.001388888922519982 0 0.800000011920929 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
}
}
// primitive 5
{
brushDef3
{
( 0 0 1 -336 ) ( ( 0.002083333441987634 0 0.4666666686534882 ) ( 0 0.0625 10 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 1 0 -256 ) ( ( 0.0625 0 119 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 0 -1 -96 ) ( ( 0.002083333441987634 0 0.4666666686534882 ) ( 0 0.0625 247 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 0 -1 0 -224 ) ( ( 0.0625 0 10 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( -1 0 0 -160 ) ( ( 0.002083333441987634 0 0.5333333611488342 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
( 1 0 0 144 ) ( ( 0.002083333441987634 0 0.4666666686534882 ) ( 0 0.002314814832061529 0.7777777910232544 ) ) "textures/darkmod/plaster/framed_with_bricks01" 0 0 0
}
}
}
// entity 1
{
"classname" "func_static"
"name" "func_static_1"
"origin" "368 0 -95.8695"
"rotation" "1 0 0 0 1 0 0 0 1"
"model" "models/darkmod/misc/carriages/stagecoach.lwo"
"sr_class_1" "R"
"sr_type_1" "STIM_TRIGGER"
"sr_state_1" "1"
"sr_effect_1_1" "effect_remove"
"sr_effect_1_1_arg1" "_SELF"
"sr_class_2" "R"
"sr_type_2" "STIM_FROB"
"sr_state_2" "1"
"sr_effect_2_1" "effect_remove"
"sr_effect_2_1_arg1" "_SELF"
"frobable" "1"
}
// entity 2
{
"classname" "info_player_start"
"name" "info_player_start_1"
"origin" "64 0 -96"
"angle" "0.000000"
}
// entity 3
{
"classname" "light"
"name" "light_1"
"origin" "176 176 -64"
"light_center" "0 0 0"
"light_radius" "480 544 320"
"_color" "1.000 0.667 0.216"
"parallel" "0"
"nospecular" "0"
"nodiffuse" "0"
"noshadows" "0"
}
// entity 4
{
"classname" "light"
"name" "light_2"
"origin" "480 -176 -64"
"light_center" "0 0 0"
"light_radius" "480 544 320"
"_color" "1.000 0.667 0.216"
"parallel" "0"
"nospecular" "0"
"nodiffuse" "0"
"noshadows" "0"
}
frob_to_remove_coach.map (6,675 bytes)   

Related Changesets

DarkRadiant: master f77c78dc

2020-03-27 19:48:22

greebo

Details Diff
S/R Editor: Change the internal data structure from map to list, to allow for convenient index changes. Refactor the rest of the code.
This resolves issue 0005193, as S/R indices keep forming a proper sequence without any gaps after removal.
Affected Issues
0005193
mod - plugins/dm.stimresponse/SREntity.cpp Diff File
mod - plugins/dm.stimresponse/SREntity.h Diff File
mod - plugins/dm.stimresponse/SRPropertyLoader.cpp Diff File
mod - plugins/dm.stimresponse/SRPropertyLoader.h Diff File

Issue History

Date Modified Username Field Change
25.03.2020 17:16 Dragofer New Issue
25.03.2020 17:16 Dragofer Description Updated View Revisions
25.03.2020 17:16 Dragofer Description Updated View Revisions
25.03.2020 17:16 Dragofer Steps to Reproduce Updated View Revisions
25.03.2020 17:16 Dragofer Steps to Reproduce Updated View Revisions
26.03.2020 03:58 greebo Status new => acknowledged
26.03.2020 04:32 greebo Note Added: 0012311
26.03.2020 04:32 greebo File Added: frob_to_remove_coach.map
26.03.2020 04:34 greebo Summary Removing Stim/Response entries can break remaining entries => Removing first Stim/Response entry can break the remaining entries
26.03.2020 06:21 greebo Status acknowledged => confirmed
26.03.2020 18:53 greebo Summary Removing first Stim/Response entry can break the remaining entries => Removing a Stim/Response entry can break the remaining entries
27.03.2020 19:48 greebo Assigned To => greebo
27.03.2020 19:48 greebo Status confirmed => assigned
27.03.2020 19:48 greebo Changeset attached => DarkRadiant master f77c78dc
27.03.2020 19:48 greebo Target Version => 2.8.0
27.03.2020 19:50 greebo Status assigned => resolved
27.03.2020 19:50 greebo Resolution open => fixed
27.03.2020 19:50 greebo Fixed in Version => 2.8.0
08.11.2020 18:35 greebo Status resolved => closed