mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2025-01-31 04:40:55 +00:00
Added partial "LightMode" MAPINFO property support. Currently only "Standard" and "Doom" light modes are supported.
Updated Zandronum acc. Updated Zandronum_ACS.cfg.
This commit is contained in:
parent
cb1eb1de83
commit
2627a5bb39
8 changed files with 913 additions and 387 deletions
Binary file not shown.
|
@ -1,4 +1,3 @@
|
|||
|
||||
//**************************************************************************
|
||||
//**
|
||||
//** zdefs.acs
|
||||
|
@ -214,6 +213,12 @@
|
|||
// HUD message.
|
||||
#define HUDMSG_ADDBLEND 0x20000000
|
||||
|
||||
// OR this with one of the above to use the extra alpha parameter
|
||||
#define HUDMSG_ALPHA 0x10000000
|
||||
|
||||
// Or this with one of the above to not wrap lines
|
||||
#define HUDMSG_NOWRAP 0x08000000
|
||||
|
||||
// HUD message layers; these are not flags
|
||||
#define HUDMSG_LAYER_OVERHUD 0x00000000
|
||||
#define HUDMSG_LAYER_UNDERHUD 0x00001000
|
||||
|
@ -277,6 +282,13 @@
|
|||
#define APROP_Mass 32
|
||||
#define APROP_Accuracy 33
|
||||
#define APROP_Stamina 34
|
||||
#define APROP_Height 35
|
||||
#define APROP_Radius 36
|
||||
#define APROP_Reactiontime 37
|
||||
#define APROP_MeleeRange 38
|
||||
#define APROP_ViewHeight 39
|
||||
#define APROP_AttackZOffset 40
|
||||
#define APROP_StencilColor 41
|
||||
|
||||
// Render Styles ------------------------------------------------------------
|
||||
|
||||
|
@ -284,12 +296,14 @@
|
|||
#define STYLE_Normal 1 // Normal; just copy the image to the screen
|
||||
#define STYLE_Fuzzy 2 // Draw silhouette using "fuzz" effect
|
||||
#define STYLE_SoulTrans 3 // Draw translucent with amount in r_transsouls
|
||||
#define STYLE_OptFuzzy 4 // Draw as fuzzy or translucent, based on user preference
|
||||
#define STYLE_OptFuzzy 4 // Draw as fuzzy, translucent or shadow, based on user preference
|
||||
#define STYLE_Stencil 5 // Draw as solid color
|
||||
#define STYLE_Translucent 64 // Draw translucent
|
||||
#define STYLE_Add 65 // Draw additive
|
||||
#define STYLE_Shaded 66 //
|
||||
#define STYLE_TranslucentStencil 67
|
||||
#define STYLE_Shadow 68 // Draw dark translucent stencil
|
||||
#define STYLE_Subtract 69 // Draw subtractive
|
||||
|
||||
// Properties you can use with GetLevelInfo() -------------------------------
|
||||
|
||||
|
@ -666,6 +680,46 @@
|
|||
#define SECSEQ_FULLHEIGHT 3
|
||||
#define SECSEQ_INTERIOR 4
|
||||
|
||||
// Channels for PlaySound and StopSound
|
||||
|
||||
#define CHAN_AUTO 0
|
||||
#define CHAN_WEAPON 1
|
||||
#define CHAN_VOICE 2
|
||||
#define CHAN_ITEM 3
|
||||
#define CHAN_BODY 4
|
||||
|
||||
// Modifier flags for PlaySound
|
||||
|
||||
#define CHAN_LISTENERZ 8
|
||||
#define CHAN_MAYBE_LOCAL 16
|
||||
#define CHAN_UI 32
|
||||
#define CHAN_NOPAUSE 64
|
||||
|
||||
// Standard attenuation values for PlaySound
|
||||
|
||||
#define ATTN_NONE 0 // full volume the entire level
|
||||
#define ATTN_NORM 1.0
|
||||
#define ATTN_IDLE 1.001
|
||||
#define ATTN_STATIC 3.0 // dimish very rapidly with distance
|
||||
|
||||
// Identifiers for PlayActorSound
|
||||
|
||||
#define SOUND_See 0
|
||||
#define SOUND_Attack 1
|
||||
#define SOUND_Pain 2
|
||||
#define SOUND_Death 3
|
||||
#define SOUND_Active 4
|
||||
#define SOUND_Use 5
|
||||
#define SOUND_Bounce 6
|
||||
#define SOUND_WallBounce 7
|
||||
#define SOUND_CrushPain 8
|
||||
#define SOUND_Howl 9
|
||||
|
||||
// Flags for SpawnDecal
|
||||
|
||||
#define SDF_ABSANGLE 1
|
||||
#define SDF_PERMANENT 2
|
||||
|
||||
// Actor pointer selectors
|
||||
|
||||
#DEFINE AAPTR_DEFAULT 0
|
||||
|
@ -694,6 +748,22 @@
|
|||
#DEFINE PTROP_UNSAFEMASTER 2
|
||||
#DEFINE PTROP_NOSAFEGUARDS PTROP_UNSAFETARGET |PTROP_UNSAFEMASTER
|
||||
|
||||
// Line activation flags
|
||||
|
||||
#define SPAC_Cross 1 // when player crosses line
|
||||
#define SPAC_Use 2 // when player uses line
|
||||
#define SPAC_MCross 4 // when monster crosses line
|
||||
#define SPAC_Impact 8 // when projectile hits line
|
||||
#define SPAC_Push 16 // when player pushes line
|
||||
#define SPAC_PCross 32 // when projectile crosses line
|
||||
#define SPAC_UseThrough 64 // when player uses line (doesn't block)
|
||||
#define SPAC_AnyCross 128 // when anything without the TELEPORT flag crosses the line
|
||||
#define SPAC_MUse 256 // monsters can use
|
||||
#define SPAC_MPush 512 // monsters can push
|
||||
#define SPAC_UseBack 1024 // can be used from the back side
|
||||
|
||||
#define SPAC_None 0
|
||||
|
||||
// ==========================================================================
|
||||
// Skulltag Definitions
|
||||
// ==========================================================================
|
||||
|
@ -703,6 +773,26 @@
|
|||
#define TEAM_RED 1
|
||||
#define NO_TEAM 2
|
||||
|
||||
// Team properties ----------------------------------------------------------
|
||||
#define TPROP_Name 0
|
||||
#define TPROP_Score 1
|
||||
#define TPROP_IsValid 2
|
||||
#define TPROP_NumPlayers 3
|
||||
#define TPROP_NumLivePlayers 4
|
||||
#define TPROP_TextColor 5
|
||||
#define TPROP_PlayerStartNum 6
|
||||
#define TPROP_Spread 7
|
||||
#define TPROP_Carrier 8
|
||||
#define TPROP_Assister 9
|
||||
#define TPROP_FragCount 10
|
||||
#define TPROP_DeathCount 11
|
||||
#define TPROP_WinCount 12
|
||||
#define TPROP_PointCount 13
|
||||
#define TPROP_ReturnTics 14
|
||||
#define TPROP_TeamItem 15
|
||||
#define TPROP_WinnerTheme 16
|
||||
#define TPROP_LoserTheme 17
|
||||
|
||||
// Skulltag Invasion --------------------------------------------------------
|
||||
#define IS_WAITINGFORPLAYERS 0
|
||||
#define IS_FIRSTCOUNTDOWN 1
|
||||
|
@ -766,6 +856,9 @@
|
|||
#define T_HIGHJUMP 188
|
||||
#define T_HASTE 189
|
||||
|
||||
// Zandronum database additions ---------------------------------------------
|
||||
#define DB_ORDER_ASC 0
|
||||
#define DB_ORDER_DESC 1
|
||||
|
||||
// Events when you have input grabbed
|
||||
|
||||
|
@ -840,6 +933,7 @@
|
|||
#define CHANGELEVEL_CHANGESKILL 8
|
||||
#define CHANGELEVEL_NOINTERMISSION 16
|
||||
#define CHANGELEVEL_RESETHEALTH 32
|
||||
#define CHANGELEVEL_PRERAISEWEAPON 64
|
||||
|
||||
#define NO_CHANGE 32767.0
|
||||
|
||||
|
@ -857,6 +951,7 @@
|
|||
#define BLOCKF_RAILING 64
|
||||
#define BLOCKF_USE 128
|
||||
#define BLOCKF_SIGHT 256
|
||||
#define BLOCKF_HITSCAN 512
|
||||
|
||||
#define FOGP_DENSITY 0
|
||||
#define FOGP_OUTSIDEDENSITY 1
|
||||
|
@ -869,21 +964,13 @@
|
|||
#define CSF_NOFAKEFLOORS 1
|
||||
#define CSF_NOBLOCKALL 2
|
||||
|
||||
#define TPROP_Name 0
|
||||
#define TPROP_Score 1
|
||||
#define TPROP_IsValid 2
|
||||
#define TPROP_NumPlayers 3
|
||||
#define TPROP_NumLivePlayers 4
|
||||
#define TPROP_TextColor 5
|
||||
#define TPROP_PlayerStartNum 6
|
||||
#define TPROP_Spread 7
|
||||
#define TPROP_Carrier 8
|
||||
#define TPROP_Assister 9
|
||||
#define TPROP_FragCount 10
|
||||
#define TPROP_DeathCount 11
|
||||
#define TPROP_WinCount 12
|
||||
#define TPROP_PointCount 13
|
||||
#define TPROP_ReturnTics 14
|
||||
#define TPROP_TeamItem 15
|
||||
#define TPROP_WinnerTheme 16
|
||||
#define TPROP_LoserTheme 17
|
||||
#define FHF_NORANDOMPUFFZ 1
|
||||
|
||||
// [TP] For GetTimeProperty
|
||||
#define TM_SECOND 0
|
||||
#define TM_MINUTE 1
|
||||
#define TM_HOUR 2
|
||||
#define TM_DAY 3
|
||||
#define TM_MONTH 4
|
||||
#define TM_YEAR 5
|
||||
#define TM_WEEKDAY 6
|
||||
|
|
|
@ -14,11 +14,11 @@ special
|
|||
7:Polyobj_DoorSwing(4),
|
||||
8:Polyobj_DoorSlide(5),
|
||||
9:Line_Horizon(0),
|
||||
10:Door_Close(2),
|
||||
10:Door_Close(2,3),
|
||||
11:Door_Open(2,3),
|
||||
12:Door_Raise(3,4),
|
||||
13:Door_LockedRaise(4,5),
|
||||
14:Door_Animated(3),
|
||||
14:Door_Animated(3,4),
|
||||
15:Autosave(0),
|
||||
// 16:Transfer_WallLight
|
||||
17:Thing_Raise(1),
|
||||
|
@ -75,7 +75,7 @@ special
|
|||
68:Floor_MoveToValueTimes8(4),
|
||||
69:Ceiling_MoveToValueTimes8(4),
|
||||
70:Teleport(1,3),
|
||||
71:Teleport_NoFog(1,3),
|
||||
71:Teleport_NoFog(1,4),
|
||||
72:ThrustThing(2,4),
|
||||
73:DamageThing(1,2),
|
||||
74:Teleport_NewMap(2,3),
|
||||
|
@ -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,7 +101,9 @@ special
|
|||
94:Pillar_BuildAndCrush(4,5),
|
||||
95:FloorAndCeiling_LowerByValue(3),
|
||||
96:FloorAndCeiling_RaiseByValue(3),
|
||||
|
||||
97:Ceiling_LowerAndCrushDist(3,5),
|
||||
98:Sector_SetTranslucent(3,4),
|
||||
99:Floor_RaiseAndCrushDoom(3,4),
|
||||
// 100:Scroll_Texture_Left
|
||||
// 101:Scroll_Texture_Right
|
||||
// 102:Scroll_Texture_Up
|
||||
|
@ -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),
|
||||
|
@ -146,11 +148,12 @@ special
|
|||
154:Teleport_NoStop(2, 3),
|
||||
|
||||
157:SetGlobalFogParameter(2), // GZDoom only!
|
||||
158:FS_Execute(1,4), // GZDoom only!
|
||||
158:FS_Execute(1,4),
|
||||
159:Sector_SetPlaneReflection(3), // GZDoom only!
|
||||
// 160:Sector_Set3DFloor // GZDoom/Vavoom
|
||||
// 161:Sector_SetContents // Vavoom
|
||||
// 160:Sector_Set3DFloor
|
||||
// 161:Sector_SetContents
|
||||
|
||||
168:Ceiling_CrushAndRaiseDist(3,5),
|
||||
169:Generic_Crusher2(5),
|
||||
170:Sector_SetCeilingScale2(3),
|
||||
171:Sector_SetFloorScale2(3),
|
||||
|
@ -209,7 +212,7 @@ special
|
|||
// 225:Scroll_Texture_Offsets,
|
||||
226:ACS_ExecuteAlways(2,5),
|
||||
// 227:PointPush_SetForce,
|
||||
228:Plat_RaiseAndStayTx0(2),
|
||||
228:Plat_RaiseAndStayTx0(2,3),
|
||||
229:Thing_SetGoal(3,4),
|
||||
230:Plat_UpByValueStayTx(3),
|
||||
231:Plat_ToggleCeiling(1),
|
||||
|
@ -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),
|
||||
|
@ -232,7 +235,7 @@ special
|
|||
248:HealThing(1,2),
|
||||
249:Door_CloseWaitOpen(3, 4),
|
||||
250:Floor_Donut(3),
|
||||
251:FloorAndCeiling_LowerRaise(3),
|
||||
251:FloorAndCeiling_LowerRaise(3,4),
|
||||
252:Ceiling_RaiseToNearest(2),
|
||||
253:Ceiling_LowerToLowest(2),
|
||||
254:Ceiling_LowerToFloor(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,7 +276,53 @@ special
|
|||
-32:SoundSequenceOnPolyobj(2),
|
||||
-33:GetPolyobjX(1),
|
||||
-34:GetPolyobjY(1),
|
||||
-35:CheckSight(3),
|
||||
-36:SpawnForced(4,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,5),
|
||||
-45:ACS_NamedExecuteAlways(2,5),
|
||||
-46:UniqueTID(0,2),
|
||||
-47:IsTIDUsed(1),
|
||||
-48:Sqrt(1),
|
||||
-49:FixedSqrt(1),
|
||||
-50:VectorLength(2),
|
||||
-51:SetHUDClipRect(4,5),
|
||||
-52:SetHUDWrapWidth(1),
|
||||
-53:SetCVar(2),
|
||||
-54:GetUserCVar(2),
|
||||
-55:SetUserCVar(3),
|
||||
-56:GetCVarString(1),
|
||||
-57:SetCVarString(2),
|
||||
-58:GetUserCVarString(2),
|
||||
-59:SetUserCVarString(3),
|
||||
-60:LineAttack(4,8),
|
||||
-61:PlaySound(2,6),
|
||||
-62:StopSound(1,2),
|
||||
-63:strcmp(2,3),
|
||||
-64:stricmp(2,3),
|
||||
-64:strcasecmp(2,3), // an alias for stricmp
|
||||
-65:StrLeft(2),
|
||||
-66:StrRight(2),
|
||||
-67:StrMid(3),
|
||||
-68:GetActorClass(1),
|
||||
-69:GetWeapon(0),
|
||||
-70:SoundVolume(3),
|
||||
-71:PlayActorSound(2,6),
|
||||
-72:SpawnDecal(2,6),
|
||||
-73:CheckFont(1),
|
||||
-74:DropItem(2,4),
|
||||
-75:CheckFlag(2),
|
||||
-76:SetLineActivation(2),
|
||||
-77:GetLineActivation(1),
|
||||
-78:GetActorPowerupTics(2),
|
||||
|
||||
// Zandronum's
|
||||
-100:ResetMap(0),
|
||||
-101:PlayerIsSpectator(1),
|
||||
-102:ConsolePlayerNumber(0),
|
||||
|
@ -281,6 +330,33 @@ special
|
|||
-104:GetPlayerLivesLeft(1),
|
||||
-105:SetPlayerLivesLeft(2),
|
||||
-106:KickFromGame(2),
|
||||
-19620:GetTeamScore(1), //Zdaemon
|
||||
-107:GetGamemodeState(0),
|
||||
-108:SetDBEntry(3),
|
||||
-109:GetDBEntry(2),
|
||||
-110:SetDBEntryString(3),
|
||||
-111:GetDBEntryString(2),
|
||||
-112:IncrementDBEntry(3),
|
||||
-113:PlayerIsLoggedIn(1),
|
||||
-114:GetPlayerAccountName(1),
|
||||
-115:SortDBEntries(4),
|
||||
-116:CountDBResults(1),
|
||||
-117:FreeDBResults(1),
|
||||
-118:GetDBResultKeyString(2),
|
||||
-119:GetDBResultValueString(2),
|
||||
-120:GetDBResultValue(2),
|
||||
-121:GetDBEntryRank(3),
|
||||
-122:RequestScriptPuke(1,5),
|
||||
-123:BeginDBTransaction(0),
|
||||
-124:EndDBTransaction(0),
|
||||
-125:GetDBEntries(1),
|
||||
-126:NamedRequestScriptPuke(1,5),
|
||||
-127:SystemTime(0),
|
||||
-128:GetTimeProperty(2,3),
|
||||
-129:Strftime(2,3),
|
||||
|
||||
// ZDaemon's
|
||||
-19260:GetTeamScore(1),
|
||||
-19261:SetTeamScore(2),
|
||||
|
||||
-100000:__EndOfList__(10);
|
||||
//-1000:__EndOfList__(10);
|
||||
|
||||
|
|
|
@ -57,16 +57,16 @@ keywords
|
|||
ACS_Suspend = "ACS_Suspend(script, map)";
|
||||
ACS_Terminate = "ACS_Terminate(script, map)";
|
||||
ActivatorSound = "void ActivatorSound(str sound, int volume)";
|
||||
ActivatorTID = "int ActivatorTID(void)";
|
||||
ActivatorTID = "int ActivatorTID()";
|
||||
AmbientSound = "void AmbientSound(str sound, int volume)";
|
||||
//AnnouncerSound = "void AnnouncerSound(str sound, int flags)";
|
||||
Autosave = "Autosave(void)";
|
||||
Autosave = "Autosave()";
|
||||
//BlueCount = "BlueCount()";
|
||||
//BlueReturn = "Script expression BlueReturn";
|
||||
//BlueScore = "BlueScore()";
|
||||
//BlueTeamCount = "BlueTeamCount()";
|
||||
//BlueTeamScore = "BlueTeamScore()";
|
||||
CancelFade = "void CancelFade(void)\nIf either FadeTo or FadeRange is currently in progress,\nCancelFade stops it and turns off the palette flash.";
|
||||
CancelFade = "void CancelFade()\nIf either FadeTo or FadeRange is currently in progress,\nCancelFade stops it and turns off the palette flash.";
|
||||
CanRaiseActor = "bool CanRaiseActor(int tid)\nChecks to see if the actor or actors with the specified tid are viable for resurrection.\nIf tid is 0, the check is done on the activator of the script.";
|
||||
Ceiling_CrushAndRaise = "Ceiling_CrushAndRaise(tag, speed, crush, crushmode)";
|
||||
Ceiling_CrushAndRaiseA = "Ceiling_CrushAndRaiseA(tag, dspeed, uspeed, crush, crushmode)";
|
||||
|
@ -116,8 +116,8 @@ keywords
|
|||
ClassifyActor = "int ClassifyActor(int tid)";
|
||||
ClearActorInventory = "void ClearActorInventory(int tid)\nThis function clears the specified actor's inventory.";
|
||||
ClearForceField = "ClearForceField(tag)";
|
||||
ClearInventory = "void ClearInventory(void)\nClears the player's inventory of weapons, ammo, armor and usable items.";
|
||||
ClearLineSpecial = "void ClearLineSpecial(void)\nClears the special of the line that activated the script.";
|
||||
ClearInventory = "void ClearInventory()\nClears the player's inventory of weapons, ammo, armor and usable items.";
|
||||
ClearLineSpecial = "void ClearLineSpecial()\nClears the special of the line that activated the script.";
|
||||
//ConsoleCommand = "void ConsoleCommand(str command)";
|
||||
Cos = "fixed Cos(int angle)";
|
||||
CreateTranslation = "void CreateTranslation(int transnumber, a:b=c:d, ...)";
|
||||
|
@ -168,10 +168,10 @@ keywords
|
|||
FloorAndCeiling_LowerByValue = "FloorAndCeiling_LowerByValue(tag, speed, height)";
|
||||
FloorAndCeiling_LowerRaise = "FloorAndCeiling_LowerRaise(tag, fspeed, cspeed, boomemu)";
|
||||
FloorAndCeiling_RaiseByValue = "FloorAndCeiling_RaiseByValue(tag, speed, height)";
|
||||
ForceField = "ForceField(void)";
|
||||
ForceField = "ForceField()";
|
||||
FS_Execute = "FS_Execute(script, side, keynum, message)";
|
||||
GameSkill = "int GameSkill(void)";
|
||||
GameType = "int GameType(void)";
|
||||
GameSkill = "int GameSkill()";
|
||||
GameType = "int GameType()";
|
||||
Generic_Ceiling = "Generic_Ceiling(tag, speed, height, target, flag)";
|
||||
Generic_Crusher = "Generic_Crusher(tag, dspeed, uspeed, silent, crush)";
|
||||
Generic_Crusher2 = "Generic_Crusher2(tag, dspeed, uspeed, silent, crush)";
|
||||
|
@ -206,7 +206,7 @@ keywords
|
|||
//GetInvasionWave = "GetInvasionWave()";
|
||||
GetLevelInfo = "int GetLevelInfo(int levelinfo)";
|
||||
GetLineActivation = "int GetLineActivation(int lineid)\nlineid: The id of the line of which to get the activation flags.\nReturns SPAC flags as a bitfield";
|
||||
GetLineRowOffset = "int GetLineRowOffset(void)";
|
||||
GetLineRowOffset = "int GetLineRowOffset()";
|
||||
GetLineUDMFFixed = "fixed GetLineUDMFFixed(int lineid, str key)";
|
||||
GetLineUDMFInt = "int GetLineUDMFInt(int lineid, str key)";
|
||||
GetMaxInventory = "int GetMaxInventory(int tid, str inventory)";
|
||||
|
@ -214,8 +214,8 @@ keywords
|
|||
GetPlayerInput = "int GetPlayerInput(int player, int input)";
|
||||
GetPolyobjX = "fixed GetPolyobjX(int polyid)";
|
||||
GetPolyobjY = "fixed GetPolyobjY(int polyid)";
|
||||
GetScreenHeight = "int GetScreenHeight(void)";
|
||||
GetScreenWidth = "int GetScreenWidth(void)";
|
||||
GetScreenHeight = "int GetScreenHeight()";
|
||||
GetScreenWidth = "int GetScreenWidth()";
|
||||
GetSectorCeilingZ = "int GetSectorCeilingZ(int tag, int x, int y)";
|
||||
GetSectorFloorZ = "fixed GetSectorFloorZ(int tag, int x, int y)";
|
||||
GetSectorLightLevel = "int GetSectorLightLevel(int tag)";
|
||||
|
@ -223,22 +223,22 @@ keywords
|
|||
GetSectorUDMFInt = "int GetSectorUDMFInt(int tag, str key)";
|
||||
GetSideUDMFFixed = "fixed GetSideUDMFFixed(int lineid, bool side, str key)";
|
||||
GetSideUDMFInt = "int GetSideUDMFInt(int lineid, bool side, str key)";
|
||||
GetSigilPieces = "int GetSigilPieces(void)\nReturns the number of Sigil pieces that are held by the player";
|
||||
GetSigilPieces = "int GetSigilPieces()\nReturns the number of Sigil pieces that are held by the player";
|
||||
GetThingUDMFFixed = "fixed GetThingUDMFFixed(int thingid, str key)";
|
||||
GetThingUDMFInt = "int GetThingUDMFInt(int thingid, str key)";
|
||||
GetUserArray = "void GetUserArray(int tid, str name, int pos)";
|
||||
GetUserCVar = "int GetUserCVar(int playernumber, str cvar)";
|
||||
GetUserCVarString = "str GetUserCVarString(int playernumber, str cvar)";
|
||||
GetUserVariable = "int GetUserVariable(int tid, str name)";
|
||||
GetWeapon = "str GetWeapon(void)\nReturns the class name of the weapon currently equipped by the player as a string";
|
||||
GetWeapon = "str GetWeapon()\nReturns the class name of the weapon currently equipped by the player as a string";
|
||||
GiveActorInventory = "void GiveActorInventory(int tid, str inventory_item, int amount)\nThis function will give the amount of items to the specifed actor.\nThis function does not treat tid 0 as the activator of the script";
|
||||
GiveInventory = "void GiveInventory(str inventory_item, int amount)\nThis function will give the number of items specified to the activator.";
|
||||
GlassBreak = "GlassBreak(dontspawnjunk)";
|
||||
HealThing = "HealThing(amount)";
|
||||
HudMessage = "void hudmessage(s:text; int type, int id, int color, fixed x, fixed y, fixed holdTime)";
|
||||
HudMessageBold = "void HudMessageBold(s:text; int type, int id, int color, fixed x, fixed y, fixed holdTime)";
|
||||
//IsMultiplayer = "int IsMultiplayer(void)";
|
||||
//IsOneFlagCTF = "int IsOneFlagCTF(void)";
|
||||
//IsMultiplayer = "int IsMultiplayer()";
|
||||
//IsOneFlagCTF = "int IsOneFlagCTF()";
|
||||
IsPointerEqual = "bool IsPointerEqual(int ptr_select1, int ptr_select2[, int tid1[, int tid2]])";
|
||||
IsTIDUsed = "bool IsTIDUsed(int tid)";
|
||||
Light_ChangeToValue = "Light_ChangeToValue(tag, value)";
|
||||
|
@ -260,7 +260,7 @@ keywords
|
|||
Line_SetPortalTarget = "Line_SetPortalTarget(sourcelineid, targetlineid)";
|
||||
Line_SetTextureOffset = "Line_SetTextureOffset(lineid, x, y, side, flags)";
|
||||
Line_SetTextureScale = "Line_SetTextureScale(lineid, x, y, side, flags)";
|
||||
LineSide = "int LineSide(void)";
|
||||
LineSide = "int LineSide()";
|
||||
LocalAmbientSound = "void LocalAmbientSound(str sound, int volume)";
|
||||
LocalSetMusic = "void LocalSetMusic(str song[, int order[, int unused]])";
|
||||
Log = "void Log(type:expression)\nLog will print something in the log area of the screen (top left), as well as logging it to the console.\nIt uses the same parameter format as the Print function.";
|
||||
|
@ -286,11 +286,11 @@ keywords
|
|||
Plat_UpWaitDownStay = "Plat_UpWaitDownStay(tag, speed, delay)";
|
||||
PlayActorSound = "void PlayActorSound(int tid, int sound, int channel, fixed volume, bool looping, fixed attenuation)";
|
||||
PlayerClass = "int PlayerClass(int playernumber)";
|
||||
PlayerCount = "int PlayerCount(void)\nReturns the number of players currently in the game";
|
||||
PlayerFrags = "int PlayerFrags(void)";
|
||||
PlayerCount = "int PlayerCount()\nReturns the number of players currently in the game";
|
||||
PlayerFrags = "int PlayerFrags()";
|
||||
PlayerInGame = "bool PlayerInGame(int playernumber)\nReturns true if the player [0..7] is in the game";
|
||||
PlayerIsBot = "bool PlayerIsBot(int playernumber)\nReturns TRUE if the player [0..7] is a bot and FALSE if not";
|
||||
PlayerNumber = "int PlayerNumber(void)\nReturns the player number for the player who activated the script, starting at 0.\nFor scripts that were not activated by a player, PlayerNumber will return -1.";
|
||||
PlayerNumber = "int PlayerNumber()\nReturns the player number for the player who activated the script, starting at 0.\nFor scripts that were not activated by a player, PlayerNumber will return -1.";
|
||||
PlaySound = "void PlaySound(int tid, str sound[, int channel = CHAN_BODY[, fixed volume = 1.0[, bool looping = false[, fixed attenuation = ATTN_NORM]]]])";
|
||||
Polyobj_DoorSlide = "Polyobj_DoorSlide(po, speed, angle, dist, delay)";
|
||||
Polyobj_DoorSwing = "Polyobj_DoorSwing(po, speed, angle, delay)";
|
||||
|
@ -425,7 +425,7 @@ keywords
|
|||
TakeActorInventory = "void TakeActorInventory(int tid, str inventory_item, int amount)\nThis function will take the amount of items from the specified actor.\nTakeActorInventory can remove items that are flagged as undroppable.";
|
||||
TakeInventory = "void TakeInventory(str inventory_item, int amount)\nThis function will take the number of items specified from the activator.\nTakeInventory can remove items that are flagged as undroppable.";
|
||||
Teleport = "Teleport(tid, tag, nosourcefog)";
|
||||
Teleport_EndGame = "Teleport_EndGame(void)";
|
||||
Teleport_EndGame = "Teleport_EndGame()";
|
||||
Teleport_NewMap = "Teleport_NewMap(map, pos, face)";
|
||||
Teleport_NoFog = "Teleport_NoFog(tid, useangle, tag)";
|
||||
Teleport_NoStop = "Teleport_NoStop(tid, tag, nofog)";
|
||||
|
@ -463,7 +463,7 @@ keywords
|
|||
ThingSound = "void ThingSound(int tid, str sound, int volume)\nPlays a sound at a thing.\nThis is a point sound, so anyone far away will not hear it as loudly";
|
||||
ThrustThing = "ThrustThing(angle, force, nolimit, tid)";
|
||||
ThrustThingZ = "ThrustThingZ(tid, speed, up_or_down, add_or_set)";
|
||||
Timer = "int Timer(void)";
|
||||
Timer = "int Timer()";
|
||||
TranslucentLine = "TranslucentLine(lineid, amount, additive, moreflags)";
|
||||
UniqueTID = "int UniqueTID([int tid[, int limit]])";
|
||||
UnMorphActor = "int UnMorphActor(int tid[, bool force])";
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -8,6 +8,21 @@ namespace CodeImp.DoomBuilder.GZBuilder.Data
|
|||
{
|
||||
public sealed class MapInfo
|
||||
{
|
||||
#region ================== Enums
|
||||
|
||||
public enum GZDoomLightMode
|
||||
{
|
||||
STANDARD,
|
||||
BRIGHT,
|
||||
DOOM,
|
||||
DARK,
|
||||
LEGACY,
|
||||
SOFTWARE,
|
||||
UNDEFINED
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Variables
|
||||
|
||||
private bool isdefined;
|
||||
|
@ -27,6 +42,7 @@ namespace CodeImp.DoomBuilder.GZBuilder.Data
|
|||
|
||||
private bool evenlighting;
|
||||
private bool smoothlighting;
|
||||
private GZDoomLightMode lightmode;
|
||||
private int vertwallshade;
|
||||
private int horizwallshade;
|
||||
|
||||
|
@ -51,6 +67,7 @@ namespace CodeImp.DoomBuilder.GZBuilder.Data
|
|||
|
||||
public bool EvenLighting { get { return evenlighting; } internal set { evenlighting = value; isdefined = true; } }
|
||||
public bool SmoothLighting { get { return smoothlighting; } internal set { smoothlighting = value; isdefined = true; } }
|
||||
public GZDoomLightMode LightMode { get { return lightmode; } internal set { lightmode = value; isdefined = true; } }
|
||||
public int VertWallShade { get { return vertwallshade; } internal set { vertwallshade = value; isdefined = true; } }
|
||||
public int HorizWallShade { get { return horizwallshade; } internal set { horizwallshade = value; isdefined = true; } }
|
||||
|
||||
|
@ -64,6 +81,7 @@ namespace CodeImp.DoomBuilder.GZBuilder.Data
|
|||
horizwallshade = -16;
|
||||
fogdensity = 255;
|
||||
outsidefogdensity = 255;
|
||||
lightmode = GZDoomLightMode.UNDEFINED;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#region ================== Namespaces
|
||||
|
||||
using System;
|
||||
using CodeImp.DoomBuilder.GZBuilder.Data;
|
||||
using CodeImp.DoomBuilder.Map;
|
||||
using CodeImp.DoomBuilder.Geometry;
|
||||
|
||||
|
@ -89,7 +90,16 @@ namespace CodeImp.DoomBuilder.Rendering
|
|||
public int CalculateBrightness(int level)
|
||||
{
|
||||
// Simulate doom light levels
|
||||
if((level < 192) && General.Map.Config.DoomLightLevels)
|
||||
bool usedoomlightlevels = General.Map.Config.DoomLightLevels; //mxd
|
||||
|
||||
//mxd. Very limited LightMode support...
|
||||
switch(General.Map.Data.MapInfo.LightMode)
|
||||
{
|
||||
case MapInfo.GZDoomLightMode.DOOM: usedoomlightlevels = true; break;
|
||||
case MapInfo.GZDoomLightMode.STANDARD: usedoomlightlevels = false; break;
|
||||
}
|
||||
|
||||
if(level < 192 && usedoomlightlevels)
|
||||
level = (int)(192.0f - (192 - level) * 1.5f);
|
||||
|
||||
byte blevel = (byte)General.Clamp(level, 0, 255);
|
||||
|
|
|
@ -464,6 +464,10 @@ namespace CodeImp.DoomBuilder.ZDoom
|
|||
mapinfo.SmoothLighting = true;
|
||||
break;
|
||||
|
||||
case "lightmode":
|
||||
if(!ParseLightMode()) return false;
|
||||
break;
|
||||
|
||||
case "}": return true; // Block end
|
||||
|
||||
case "{": // Skip inner blocks
|
||||
|
@ -652,16 +656,11 @@ namespace CodeImp.DoomBuilder.ZDoom
|
|||
|
||||
private bool ParseFogDensity(string densitytype)
|
||||
{
|
||||
SkipWhitespace(true);
|
||||
if(!NextTokenIs("=")) return false; // New format only
|
||||
SkipWhitespace(true);
|
||||
string token = ReadToken();
|
||||
|
||||
// New format
|
||||
if(token == "=")
|
||||
{
|
||||
SkipWhitespace(true);
|
||||
token = ReadToken();
|
||||
}
|
||||
|
||||
int val;
|
||||
if(!int.TryParse(token, NumberStyles.Integer, CultureInfo.InvariantCulture, out val))
|
||||
{
|
||||
|
@ -670,7 +669,6 @@ namespace CodeImp.DoomBuilder.ZDoom
|
|||
return false;
|
||||
}
|
||||
|
||||
val = Math.Max(0, val);
|
||||
if(densitytype == "fogdensity") mapinfo.FogDensity = val;
|
||||
else mapinfo.OutsideFogDensity = val;
|
||||
|
||||
|
@ -678,6 +676,28 @@ namespace CodeImp.DoomBuilder.ZDoom
|
|||
return true;
|
||||
}
|
||||
|
||||
private bool ParseLightMode()
|
||||
{
|
||||
SkipWhitespace(true);
|
||||
if(!NextTokenIs("=")) return false; // New format only
|
||||
SkipWhitespace(true);
|
||||
string token = ReadToken();
|
||||
|
||||
int val;
|
||||
if(!int.TryParse(token, NumberStyles.Integer, CultureInfo.InvariantCulture, out val))
|
||||
{
|
||||
// Not numeric!
|
||||
ReportError("Expected LightMode value, but got \"" + token + "\"");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Store
|
||||
mapinfo.LightMode = (MapInfo.GZDoomLightMode)val;
|
||||
|
||||
// All done here
|
||||
return true;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue