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:
MaxED 2012-06-03 01:10:29 +00:00
parent a4abafc6fc
commit 4c54ed8cce
9 changed files with 870 additions and 608 deletions

Binary file not shown.

View file

@ -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

View file

@ -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);

View file

@ -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

View file

@ -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

View file

@ -29,4 +29,4 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("2.1.2.1551")]
[assembly: AssemblyVersion("2.1.2.1556")]

View file

@ -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;

View file

@ -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