mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2024-11-26 13:51:40 +00:00
GZDoom Builder 1.07a:
Updated to Doom Builder 2 SVN rev. 1554 Updated ZDoom ACC to SVN rev. 3428, updated ZDoom_ACS.cfg and Game configs accordingly.
This commit is contained in:
parent
a4abafc6fc
commit
4c54ed8cce
9 changed files with 870 additions and 608 deletions
Binary file not shown.
|
@ -28,6 +28,7 @@
|
|||
#define TEXFLAG_TOP 1
|
||||
#define TEXFLAG_MIDDLE 2
|
||||
#define TEXFLAG_BOTTOM 4
|
||||
#define TEXFLAG_ADDOFFSET 8
|
||||
|
||||
#define GAME_SINGLE_PLAYER 0
|
||||
#define GAME_NET_COOPERATIVE 1
|
||||
|
@ -251,6 +252,15 @@
|
|||
#define APROP_Notrigger 23
|
||||
#define APROP_DamageFactor 24
|
||||
#define APROP_MasterTID 25
|
||||
#define APROP_TargetTID 26
|
||||
#define APROP_TracerTID 27
|
||||
#define APROP_Waterlevel 28
|
||||
#define APROP_ScaleX 29
|
||||
#define APROP_ScaleY 30
|
||||
#define APROP_Dormant 31
|
||||
#define APROP_Mass 32
|
||||
#define APROP_Accuracy 33
|
||||
#define APROP_Stamina 34
|
||||
|
||||
// Render Styles ------------------------------------------------------------
|
||||
|
||||
|
@ -501,9 +511,6 @@
|
|||
#define T_SNAKEPROJECTILEBIG 139
|
||||
#define T_WIZARDSHOT 140
|
||||
|
||||
// All D'Sparil teleport destinations must be spawned before D'Sparil alone.
|
||||
// D'Sparil can be spawned alone manually, and he is also spawned automatically
|
||||
// when he "dies" on his serpent.
|
||||
#define T_DSPARILTELEPORTDEST 141
|
||||
#define T_DSPARILONSERPENT 142
|
||||
#define T_DSPARILALONE 143
|
||||
|
@ -638,6 +645,34 @@
|
|||
#define SECSEQ_FULLHEIGHT 3
|
||||
#define SECSEQ_INTERIOR 4
|
||||
|
||||
// Actor pointer selectors
|
||||
|
||||
#DEFINE AAPTR_DEFAULT 0
|
||||
#DEFINE AAPTR_NULL 0x1
|
||||
#DEFINE AAPTR_TARGET 0x2
|
||||
#DEFINE AAPTR_MASTER 0x4
|
||||
#DEFINE AAPTR_TRACER 0x8
|
||||
|
||||
#DEFINE AAPTR_PLAYER_GETTARGET 0x10
|
||||
#DEFINE AAPTR_PLAYER_GETCONVERSATION 0x20
|
||||
|
||||
#DEFINE AAPTR_PLAYER1 0x40
|
||||
#DEFINE AAPTR_PLAYER2 0x80
|
||||
#DEFINE AAPTR_PLAYER3 0x100
|
||||
#DEFINE AAPTR_PLAYER4 0x200
|
||||
#DEFINE AAPTR_PLAYER5 0x400
|
||||
#DEFINE AAPTR_PLAYER6 0x800
|
||||
#DEFINE AAPTR_PLAYER7 0x1000
|
||||
#DEFINE AAPTR_PLAYER8 0x2000
|
||||
|
||||
#DEFINE AAPTR_FRIENDPLAYER 0x4000
|
||||
|
||||
// Actor pointer operation flags
|
||||
|
||||
#DEFINE PTROP_UNSAFETARGET 1
|
||||
#DEFINE PTROP_UNSAFEMASTER 2
|
||||
#DEFINE PTROP_NOSAFEGUARDS PTROP_UNSAFETARGET |PTROP_UNSAFEMASTER
|
||||
|
||||
// ==========================================================================
|
||||
// Skulltag Definitions
|
||||
// ==========================================================================
|
||||
|
@ -789,6 +824,8 @@
|
|||
|
||||
#define SECF_SILENT 1
|
||||
#define SECF_NOFALLINGDAMAGE 2
|
||||
#define SECF_FLOORDROP 4
|
||||
#define SECF_NORESPAWN 8
|
||||
|
||||
#define BLOCKF_CREATURES 1
|
||||
#define BLOCKF_MONSTERS 2
|
||||
|
@ -798,6 +835,7 @@
|
|||
#define BLOCKF_EVERYTHING 32
|
||||
#define BLOCKF_RAILING 64
|
||||
#define BLOCKF_USE 128
|
||||
#define BLOCKF_SIGHT 256
|
||||
|
||||
#define FOGP_DENSITY 0
|
||||
#define FOGP_OUTSIDEDENSITY 1
|
||||
|
@ -807,4 +845,5 @@
|
|||
#define PRINTNAME_LEVEL -2
|
||||
#define PRINTNAME_SKILL -3
|
||||
|
||||
|
||||
#define CSF_NOFAKEFLOORS 1
|
||||
#define CSF_NOBLOCKALL 2
|
||||
|
|
|
@ -83,12 +83,12 @@ special
|
|||
76:TeleportOther(3),
|
||||
77:TeleportGroup(5),
|
||||
78:TeleportInSector(4,5),
|
||||
|
||||
79:Thing_SetConversation(2),
|
||||
80:ACS_Execute(2,5),
|
||||
81:ACS_Suspend(2),
|
||||
82:ACS_Terminate(2),
|
||||
83:ACS_LockedExecute(5),
|
||||
84:ACS_ExecuteWithResult(1,4),
|
||||
84:ACS_ExecuteWithResult(1,5),
|
||||
85:ACS_LockedExecuteDoor(5),
|
||||
86:Polyobj_MoveToSpot(3),
|
||||
87:Polyobj_Stop(1),
|
||||
|
@ -101,6 +101,8 @@ special
|
|||
94:Pillar_BuildAndCrush(4,5),
|
||||
95:FloorAndCeiling_LowerByValue(3),
|
||||
96:FloorAndCeiling_RaiseByValue(3),
|
||||
97:Ceiling_LowerAndCrushDist(3,5),
|
||||
98:Sector_SetTranslucent(3,4),
|
||||
|
||||
// 100:Scroll_Texture_Left
|
||||
// 101:Scroll_Texture_Right
|
||||
|
@ -129,7 +131,7 @@ special
|
|||
130:Thing_Activate(1),
|
||||
131:Thing_Deactivate(1),
|
||||
132:Thing_Remove(1),
|
||||
133:Thing_Destroy(1,2),
|
||||
133:Thing_Destroy(1,3),
|
||||
134:Thing_Projectile(5),
|
||||
135:Thing_Spawn(3,4),
|
||||
136:Thing_ProjectileGravity(5),
|
||||
|
@ -151,6 +153,7 @@ special
|
|||
// 160:Sector_Set3DFloor // GZDoom/Vavoom
|
||||
// 161:Sector_SetContents // Vavoom
|
||||
|
||||
168:Ceiling_CrushAndRaiseDist(3,5),
|
||||
169:Generic_Crusher2(5),
|
||||
170:Sector_SetCeilingScale2(3),
|
||||
171:Sector_SetFloorScale2(3),
|
||||
|
@ -223,7 +226,7 @@ special
|
|||
239:Floor_RaiseByValueTxTy(3),
|
||||
240:Floor_RaiseByTexture(2),
|
||||
241:Floor_LowerToLowestTxTy(2),
|
||||
242:Floor_LowerToHighest(3),
|
||||
242:Floor_LowerToHighest(3,4),
|
||||
243:Exit_Normal(1),
|
||||
244:Exit_Secret(1),
|
||||
245:Elevator_RaiseToNearest(2),
|
||||
|
@ -250,7 +253,7 @@ special
|
|||
-9:GetActorVelX(1),
|
||||
-10:GetActorVelY(1),
|
||||
-11:GetActorVelZ(1),
|
||||
-12:SetActivator(1),
|
||||
-12:SetActivator(1,2),
|
||||
-13:SetActivatorToTarget(1),
|
||||
-14:GetActorViewHeight(1),
|
||||
-15:GetChar(2),
|
||||
|
@ -273,6 +276,17 @@ special
|
|||
-32:SoundSequenceOnPolyobj(2),
|
||||
-33:GetPolyobjX(1),
|
||||
-34:GetPolyobjY(1),
|
||||
-35:CheckSight(3),
|
||||
-36:SpawnForced(6),
|
||||
-37:AnnouncerSound(2),
|
||||
-38:SetPointer(2,4),
|
||||
-39:ACS_NamedExecute(2,5),
|
||||
-40:ACS_NamedSuspend(2),
|
||||
-41:ACS_NamedTerminate(2),
|
||||
-42:ACS_NamedLockedExecute(5),
|
||||
-43:ACS_NamedLockedExecuteDoor(5),
|
||||
-44:ACS_NamedExecuteWithResult(1,4),
|
||||
-45:ACS_NamedExecuteAlways(2,5),
|
||||
|
||||
-1000:__EndOfList__(10);
|
||||
|
||||
|
|
|
@ -1319,6 +1319,21 @@ thing
|
|||
title = "Thing Tag";
|
||||
type = 14;
|
||||
}
|
||||
arg1
|
||||
{
|
||||
title = "Extreme";
|
||||
enum
|
||||
{
|
||||
0 = "No";
|
||||
1 = "Yes";
|
||||
}
|
||||
}
|
||||
arg2
|
||||
{
|
||||
title = "Sector Tag";
|
||||
type = 13;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
134
|
||||
|
|
|
@ -932,6 +932,15 @@ zdoom
|
|||
{
|
||||
title = "Adjust Target Height";
|
||||
}
|
||||
arg3
|
||||
{
|
||||
title = "Force Adjust";
|
||||
enum
|
||||
{
|
||||
0 = "No";
|
||||
1 = "Yes";
|
||||
}
|
||||
}
|
||||
}
|
||||
250
|
||||
{
|
||||
|
@ -1114,6 +1123,44 @@ zdoom
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
97
|
||||
{
|
||||
title = "Ceiling Lower And Crush Dist";
|
||||
arg0
|
||||
{
|
||||
title = "Sector Tag";
|
||||
type = 13;
|
||||
}
|
||||
|
||||
arg1
|
||||
{
|
||||
title = "Movement Speed";
|
||||
}
|
||||
|
||||
arg2
|
||||
{
|
||||
title = "Crush Damage";
|
||||
}
|
||||
|
||||
arg3
|
||||
{
|
||||
title = "Stop Distance";
|
||||
}
|
||||
|
||||
arg4
|
||||
{
|
||||
title = "Crush Mode";
|
||||
type = 11;
|
||||
enum
|
||||
{
|
||||
0 = "Compatibility";
|
||||
1 = "Doom mode";
|
||||
2 = "Hexen mode";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
45 // Ceiling Crush Once and Open
|
||||
{
|
||||
arg3
|
||||
|
@ -1908,6 +1955,19 @@ zdoom
|
|||
type = 14;
|
||||
}
|
||||
}
|
||||
79
|
||||
{
|
||||
title = "Thing Set Conversation";
|
||||
arg0
|
||||
{
|
||||
title = "Thing Tag";
|
||||
type = 14;
|
||||
}
|
||||
arg1
|
||||
{
|
||||
title = "Conversation ID";
|
||||
}
|
||||
}
|
||||
119
|
||||
{
|
||||
title = "Thing Damage";
|
||||
|
@ -2232,6 +2292,10 @@ zdoom
|
|||
{
|
||||
title = "Script Argument 3";
|
||||
}
|
||||
arg4
|
||||
{
|
||||
title = "Script Argument 4";
|
||||
}
|
||||
}
|
||||
85
|
||||
{
|
||||
|
@ -2696,6 +2760,38 @@ zdoom
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
98
|
||||
{
|
||||
title = "Sector Set Translucent";
|
||||
arg0
|
||||
{
|
||||
title = "Sector Tag";
|
||||
type = 13;
|
||||
}
|
||||
arg1
|
||||
{
|
||||
title = "Floor / Ceiling";
|
||||
type = 11;
|
||||
enum = "floorceiling";
|
||||
}
|
||||
arg2
|
||||
{
|
||||
title = "Translucency";
|
||||
type = 13;
|
||||
}
|
||||
arg3
|
||||
{
|
||||
title = "Translucency type";
|
||||
type = 11;
|
||||
enum
|
||||
{
|
||||
0 = "Normal";
|
||||
1 = "Additive";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
54
|
||||
{
|
||||
title = "Sector Change Flags";
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -29,4 +29,4 @@ using System.Runtime.InteropServices;
|
|||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("2.1.2.1551")]
|
||||
[assembly: AssemblyVersion("2.1.2.1556")]
|
|
@ -76,11 +76,13 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
BlockMap<BlockEntry> blockmap = BuilderPlug.Me.ErrorCheckForm.BlockMap;
|
||||
int progress = 0;
|
||||
int stepprogress = 0;
|
||||
float maxradius = 0;
|
||||
|
||||
foreach (ThingTypeInfo tti in General.Map.Data.ThingTypes)
|
||||
{
|
||||
if (tti.Radius > maxradius) maxradius = tti.Radius;
|
||||
}
|
||||
|
||||
// List of things that have been checked for being stuck in other things,
|
||||
// so that they don't show up twice
|
||||
List<Thing> checkedthings = new List<Thing>();
|
||||
|
||||
// Go for all the things
|
||||
foreach(Thing t in General.Map.Map.Things)
|
||||
{
|
||||
|
@ -94,11 +96,13 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
{
|
||||
// Make square coordinates from thing
|
||||
float blockingsize = t.Size - ALLOWED_STUCK_DISTANCE;
|
||||
Vector2D lt = new Vector2D(t.Position.x - blockingsize, t.Position.y + blockingsize);
|
||||
Vector2D rb = new Vector2D(t.Position.x + blockingsize, t.Position.y - blockingsize);
|
||||
Vector2D lt = new Vector2D(t.Position.x - blockingsize, t.Position.y - blockingsize);
|
||||
Vector2D rb = new Vector2D(t.Position.x + blockingsize, t.Position.y + blockingsize);
|
||||
Vector2D bmlt = new Vector2D(t.Position.x - maxradius, t.Position.y - maxradius);
|
||||
Vector2D bmrb = new Vector2D(t.Position.x + maxradius, t.Position.y + maxradius);
|
||||
|
||||
// Go for all the lines to see if this thing is stuck
|
||||
List<BlockEntry> blocks = blockmap.GetSquareRange(new RectangleF(lt.x, lt.y, (rb.x - lt.x), (lt.y - rb.y)));
|
||||
List<BlockEntry> blocks = blockmap.GetSquareRange(new RectangleF(bmlt.x, bmlt.y, (bmrb.x - bmlt.x), (bmrb.y - bmlt.y)));
|
||||
Dictionary<Linedef, Linedef> doneblocklines = new Dictionary<Linedef, Linedef>(blocks.Count * 3);
|
||||
|
||||
foreach(BlockEntry b in blocks)
|
||||
|
@ -132,29 +136,26 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
}
|
||||
|
||||
// Check if thing is stuck in other things
|
||||
foreach (Thing ot in b.Things)
|
||||
{
|
||||
// Don't compare the thing with itself
|
||||
if (t.Index == ot.Index) continue;
|
||||
|
||||
// Don't check things that have already been found to be stuck in
|
||||
// other things
|
||||
if (checkedthings.Contains(t)) continue;
|
||||
|
||||
// need to compare the flags
|
||||
Dictionary<string, bool> flags1 = t.GetFlags();
|
||||
Dictionary<string, bool> flags2 = ot.GetFlags();
|
||||
|
||||
// Make square coordinates from the other thing
|
||||
float bsot = ot.Size /* - ALLOWED_STUCK_DISTANCE */;
|
||||
Vector2D ltot = new Vector2D(ot.Position.x - bsot, ot.Position.y + bsot);
|
||||
Vector2D rbot = new Vector2D(ot.Position.x + bsot, ot.Position.y - bsot);
|
||||
|
||||
if (ThingsOverlap(t, ot))
|
||||
if(info.Blocking != ThingTypeInfo.THING_BLOCKING_NONE) {
|
||||
foreach (Thing ot in b.Things)
|
||||
{
|
||||
stuck = true;
|
||||
stucktype = StuckType.Thing;
|
||||
checkedthings.Add(ot);
|
||||
// Don't compare the thing with itself
|
||||
if (t.Index == ot.Index) continue;
|
||||
|
||||
// Only check of items that can block
|
||||
if (General.Map.Data.GetThingInfo(ot.Type).Blocking == ThingTypeInfo.THING_BLOCKING_NONE) continue;
|
||||
|
||||
// need to compare the flags
|
||||
/* TODO: skill settings
|
||||
Dictionary<string, bool> flags1 = t.GetFlags();
|
||||
Dictionary<string, bool> flags2 = ot.GetFlags();
|
||||
*/
|
||||
|
||||
if (ThingsOverlap(t, ot))
|
||||
{
|
||||
stuck = true;
|
||||
stucktype = StuckType.Thing;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -217,7 +218,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
// Point in rect?
|
||||
private bool PointInRect(Vector2D lt, Vector2D rb, Vector2D p)
|
||||
{
|
||||
return (p.x >= lt.x) && (p.x <= rb.x) && (p.y >= lt.y) && (p.y <= rb.y);
|
||||
return (p.x >= lt.x) && (p.x <= rb.x) && (p.y <= lt.y) && (p.y >= rb.y);
|
||||
}
|
||||
|
||||
// Checks if two things overlap
|
||||
|
@ -225,12 +226,12 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
{
|
||||
Vector3D p1 = t1.Position;
|
||||
Vector3D p2 = t2.Position;
|
||||
|
||||
|
||||
// simple bounding box collision detection
|
||||
if ( p1.x + t1.Size < p2.x - t2.Size ||
|
||||
p1.x - t1.Size > p2.x + t2.Size ||
|
||||
p1.y - t1.Size > p2.y + t2.Size ||
|
||||
p1.y + t1.Size < p2.y - t2.Size)
|
||||
if ( p1.x + t1.Size - ALLOWED_STUCK_DISTANCE < p2.x - t2.Size + ALLOWED_STUCK_DISTANCE ||
|
||||
p1.x - t1.Size + ALLOWED_STUCK_DISTANCE > p2.x + t2.Size - ALLOWED_STUCK_DISTANCE ||
|
||||
p1.y - t1.Size + ALLOWED_STUCK_DISTANCE > p2.y + t2.Size - ALLOWED_STUCK_DISTANCE ||
|
||||
p1.y + t1.Size - ALLOWED_STUCK_DISTANCE < p2.y - t2.Size + ALLOWED_STUCK_DISTANCE)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
|
|
@ -107,9 +107,7 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
|||
public override void OnClosePreferences(PreferencesController controller)
|
||||
{
|
||||
base.OnClosePreferences(controller);
|
||||
|
||||
if(General.Map != null) //mxd
|
||||
ApplyUserColors();
|
||||
ApplyUserColors();
|
||||
}
|
||||
|
||||
// This is called when the plugin is terminated
|
||||
|
@ -131,10 +129,14 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
|||
// This applies user-defined appearance colors to the palettes
|
||||
private void ApplyUserColors()
|
||||
{
|
||||
// Override special palette indices with user-defined colors
|
||||
for (int i = 0; i < palettes.Length; i++) {
|
||||
palettes[i].SetColor(Tile.POINT_VOID_B, General.Colors.Background.WithAlpha(0).ToInt());
|
||||
}
|
||||
if(palettes != null)
|
||||
{
|
||||
// Override special palette indices with user-defined colors
|
||||
for(int i = 0; i < palettes.Length; i++)
|
||||
{
|
||||
palettes[i].SetColor(Tile.POINT_VOID_B, General.Colors.Background.WithAlpha(0).ToInt());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// This returns a unique temp filename
|
||||
|
|
Loading…
Reference in a new issue