by Matt » Wed Dec 14, 2016 12:35 am
Graf Zahl wrote:First thing I need is some stripped down test stuff I can use to check behavior. If I do not get that I cannot safely determine which one is old and which one is not.
Would something like this do?
Spoiler:
Code: Select all
actor pitcher:shotgunguy replaces shotgunguy{
states{ //consider replacing "goto testend" with "SPOS F 2 bright A_LogInt(pitch)" to run all at once
see:
SPOS AABBCCDD 4 A_Chase
missile:
SPOS E 1 A_RearrangePointers(AAPTR_TARGET,AAPTR_TARGET,AAPTR_TARGET,PTROP_NOSAFEGUARDS)
//set all pointers to target
goto test1 // *** change this label to one of the following as needed ***
test1:
SPOS E 0 A_CustomMissile("doomimpball",32,0,0,CMF_AIMDIRECTION,-45)
SPOS E 1 A_Log("A_CustomMissile(doomimpball,32,0,0,CMF_AIMDIRECTION,-45)")
goto testend
test2:
SPOS E 0 A_CustomMissile("doomimpball")
SPOS E 1 A_Log("A_CustomMissile(doomimpball)")
goto testend
test3:
SPOS E 0 A_FaceTarget(0,0)
SPOS E 1 A_Log("A_FaceTarget(0,0)")
goto testend
test4:
SPOS E 0 A_FaceTracer(0,0)
SPOS E 1 A_Log("A_FaceTracer(0,0)")
goto testend
test5:
SPOS E 0 A_FaceMaster(0,0)
SPOS E 1 A_Log("A_FaceMaster(0,0)")
goto testend
test6:
SPOS E 0 A_ChangeVelocity(1,0,1,CVF_RELATIVE)
SPOS E 0 A_FaceMovementDirection(0,0,0)
SPOS E 1 A_Log("A_FaceMovementDirection(0,0,0)")
goto testend
test7:
SPOS E 0 A_SetPitch(-70)
SPOS E 0 A_ChangeVelocity(cos(-pitch)*20,0,sin(-pitch)*20,CVF_RELATIVE)
SPOS E 1 A_Log("A_SetPitch(-70); A_ChangeVelocity(cos(pitch)*20,0,sin(-pitch)*20,CVF_RELATIVE)")
goto testend
test8:
SPOS E 0 A_SetPitch(-70)
SPOS E 0 A_SpawnItemEx("doomimpball",0,0,32,cos(-pitch)*20,0,sin(-pitch)*20)
SPOS E 1 A_Log("A_SetPitch(-70); A_SpawnItemEx(doomimpball,0,0,32,cos(pitch)*20,0,sin(-pitch)*20)")
goto testend
test9:
SPOS E 0 A_MonsterRefire(0,"testend")
SPOS E 1 A_Log("A_MonsterRefire(0,testend)")
goto testend
test10:
SPOS E 0 A_BulletAttack
SPOS E 1 A_Log("A_BulletAttack")
goto testend
test11:
SPOS E 0 A_SkullAttack
SPOS E 1 A_Log("A_SkullAttack")
goto testend
test12:
SPOS E 0 A_CheckLOF("test12a")
SPOS E 1 A_Log("A_CheckLOF BLOCKED")
goto testend
test12a:
SPOS E 1 A_Log("A_CheckLOF CLEARED")
goto testend
test13:
SPOS E 0 A_CustomComboAttack("doomimpball",32,1,"baron/melee",true)
SPOS E 1 A_Log("A_CustomComboAttack(doomimpball,32,1,baron/melee,true)")
goto testend
test14:
SPOS E 0 A_BasicAttack(5,"imp/melee","doomimpball",32)
SPOS E 1 A_Log("A_BasicAttack(5,imp/melee,doomimpball,32)")
goto testend
test15:
SPOS E 0 A_MonsterRail
SPOS E 1 A_Log("A_MonsterRail")
goto testend
test16:
SPOS E 0 A_CustomRailgun(10)
SPOS E 1 A_Log("A_CustomRailgun(10)")
goto testend
test17:
SPOS E 0 A_CustomRailgun(10,0,blue,red,RGF_EXPLICITANGLE,0)
SPOS E 1 A_Log("A_CustomRailgun(10,0,blue,red,RGF_EXPLICITANGLE,0)")
goto testend
test18:
SPOS E 0 A_CustomRailgun(10,0,blue,red,RGF_EXPLICITANGLE,1)
SPOS E 1 A_Log("A_CustomRailgun(10,0,blue,red,RGF_EXPLICITANGLE,1)")
goto testend
testend:
SPOS F 2 bright A_LogInt(pitch)
goto see
}
}
[quote="Graf Zahl"]First thing I need is some stripped down test stuff I can use to check behavior. If I do not get that I cannot safely determine which one is old and which one is not.[/quote]Would something like this do?[spoiler][code]actor pitcher:shotgunguy replaces shotgunguy{
states{ //consider replacing "goto testend" with "SPOS F 2 bright A_LogInt(pitch)" to run all at once
see:
SPOS AABBCCDD 4 A_Chase
missile:
SPOS E 1 A_RearrangePointers(AAPTR_TARGET,AAPTR_TARGET,AAPTR_TARGET,PTROP_NOSAFEGUARDS)
//set all pointers to target
goto test1 // *** change this label to one of the following as needed ***
test1:
SPOS E 0 A_CustomMissile("doomimpball",32,0,0,CMF_AIMDIRECTION,-45)
SPOS E 1 A_Log("A_CustomMissile(doomimpball,32,0,0,CMF_AIMDIRECTION,-45)")
goto testend
test2:
SPOS E 0 A_CustomMissile("doomimpball")
SPOS E 1 A_Log("A_CustomMissile(doomimpball)")
goto testend
test3:
SPOS E 0 A_FaceTarget(0,0)
SPOS E 1 A_Log("A_FaceTarget(0,0)")
goto testend
test4:
SPOS E 0 A_FaceTracer(0,0)
SPOS E 1 A_Log("A_FaceTracer(0,0)")
goto testend
test5:
SPOS E 0 A_FaceMaster(0,0)
SPOS E 1 A_Log("A_FaceMaster(0,0)")
goto testend
test6:
SPOS E 0 A_ChangeVelocity(1,0,1,CVF_RELATIVE)
SPOS E 0 A_FaceMovementDirection(0,0,0)
SPOS E 1 A_Log("A_FaceMovementDirection(0,0,0)")
goto testend
test7:
SPOS E 0 A_SetPitch(-70)
SPOS E 0 A_ChangeVelocity(cos(-pitch)*20,0,sin(-pitch)*20,CVF_RELATIVE)
SPOS E 1 A_Log("A_SetPitch(-70); A_ChangeVelocity(cos(pitch)*20,0,sin(-pitch)*20,CVF_RELATIVE)")
goto testend
test8:
SPOS E 0 A_SetPitch(-70)
SPOS E 0 A_SpawnItemEx("doomimpball",0,0,32,cos(-pitch)*20,0,sin(-pitch)*20)
SPOS E 1 A_Log("A_SetPitch(-70); A_SpawnItemEx(doomimpball,0,0,32,cos(pitch)*20,0,sin(-pitch)*20)")
goto testend
test9:
SPOS E 0 A_MonsterRefire(0,"testend")
SPOS E 1 A_Log("A_MonsterRefire(0,testend)")
goto testend
test10:
SPOS E 0 A_BulletAttack
SPOS E 1 A_Log("A_BulletAttack")
goto testend
test11:
SPOS E 0 A_SkullAttack
SPOS E 1 A_Log("A_SkullAttack")
goto testend
test12:
SPOS E 0 A_CheckLOF("test12a")
SPOS E 1 A_Log("A_CheckLOF BLOCKED")
goto testend
test12a:
SPOS E 1 A_Log("A_CheckLOF CLEARED")
goto testend
test13:
SPOS E 0 A_CustomComboAttack("doomimpball",32,1,"baron/melee",true)
SPOS E 1 A_Log("A_CustomComboAttack(doomimpball,32,1,baron/melee,true)")
goto testend
test14:
SPOS E 0 A_BasicAttack(5,"imp/melee","doomimpball",32)
SPOS E 1 A_Log("A_BasicAttack(5,imp/melee,doomimpball,32)")
goto testend
test15:
SPOS E 0 A_MonsterRail
SPOS E 1 A_Log("A_MonsterRail")
goto testend
test16:
SPOS E 0 A_CustomRailgun(10)
SPOS E 1 A_Log("A_CustomRailgun(10)")
goto testend
test17:
SPOS E 0 A_CustomRailgun(10,0,blue,red,RGF_EXPLICITANGLE,0)
SPOS E 1 A_Log("A_CustomRailgun(10,0,blue,red,RGF_EXPLICITANGLE,0)")
goto testend
test18:
SPOS E 0 A_CustomRailgun(10,0,blue,red,RGF_EXPLICITANGLE,1)
SPOS E 1 A_Log("A_CustomRailgun(10,0,blue,red,RGF_EXPLICITANGLE,1)")
goto testend
testend:
SPOS F 2 bright A_LogInt(pitch)
goto see
}
}[/code][/spoiler]