Added subdirectory support for compilers, so that multiple versions of the same compilers can be used without renaming files

This commit is contained in:
codeimp 2009-03-28 10:22:53 +00:00
parent ed6930c5ab
commit 15573e0fb1
33 changed files with 1658 additions and 9 deletions

View file

@ -3,7 +3,7 @@ compilers
{
// This defines what files a compiler uses
// The setting named "program" defines what .exe to run
hacc
hexen_acc
{
interface = "AccCompiler";
program = "acc.exe";

View file

@ -0,0 +1,17 @@
compilers
{
// This defines what files a compiler uses
// The setting named "program" defines what .exe to run
// The "interface" setting defines what interal interface to use for processing and error feedback
// All others are the required files (the setting names do not matter)
skulltag_acc
{
interface = "AccCompiler";
program = "acc.exe";
zcommon = "zcommon.acs";
zdefs = "zdefs.acs";
zspecial = "zspecial.acs";
zwvars = "zwvars.acs";
}
}

Binary file not shown.

View file

@ -0,0 +1,576 @@
//**************************************************************************
//**
//** zdefs.acs
//**
//** Common definitions for use when compiling ACS scripts for ZDoom
//**
//**************************************************************************
#define TRUE 1
#define FALSE 0
#define ON 1
#define OFF 0
#define YES 1
#define NO 0
#define LINE_FRONT 0
#define LINE_BACK 1
#define SIDE_FRONT 0
#define SIDE_BACK 1
#define TEXTURE_TOP 0
#define TEXTURE_MIDDLE 1
#define TEXTURE_BOTTOM 2
#define GAME_SINGLE_PLAYER 0
#define GAME_NET_COOPERATIVE 1
#define GAME_NET_DEATHMATCH 2
#define GAME_TITLE_MAP 3
// Classes are only useful with Hexen
#define CLASS_FIGHTER 0
#define CLASS_CLERIC 1
#define CLASS_MAGE 2
#define SKILL_VERY_EASY 0
#define SKILL_EASY 1
#define SKILL_NORMAL 2
#define SKILL_HARD 3
#define SKILL_VERY_HARD 4
#define BLOCK_NOTHING 0
#define BLOCK_CREATURES 1
#define BLOCK_EVERYTHING 2
#define BLOCK_RAILING 3
#define SCROLL 0
#define CARRY 1
#define SCROLL_AND_CARRY 2
// Means-of-death for Sector_SetDamage --------------------------------------
#define MOD_UNKNOWN 0
#define MOD_ROCKET 5
#define MOD_R_SPLASH 6
#define MOD_PLASMARIFLE 7
#define MOD_BFG_BOOM 8
#define MOD_BFG_SPLASH 9
#define MOD_CHAINSAW 10
#define MOD_SSHOTGUN 11
#define MOD_WATER 12
#define MOD_SLIME 13
#define MOD_LAVA 14
#define MOD_CRUSH 15
#define MOD_TELEFRAG 16
#define MOD_FALLING 17
#define MOD_SUICIDE 18
#define MOD_BARREL 19
#define MOD_EXIT 20
#define MOD_SPLASH 21
#define MOD_HIT 22
#define MOD_RAILGUN 23
#define MOD_ICE 24
#define MOD_DISINTEGRATE 25
#define MOD_POISON 26
#define MOD_ELECTRIC 27
// Return values for PlayMovie ----------------------------------------------
#define MOVIE_Played 0
#define MOVIE_Played_NoVideo 1
#define MOVIE_Played_Aborted 2
#define MOVIE_Failed -1
// Player properties --------------------------------------------------------
#define PROP_FROZEN 0
#define PROP_NOTARGET 1
#define PROP_INSTANTWEAPONSWITCH 2
#define PROP_FLY 3
#define PROP_TOTALLYFROZEN 4
// The following properties correspond to powers given by certain items
#define PROP_INVULNERABILITY 5
#define PROP_STRENGTH 6
#define PROP_INVISIBILITY 7
#define PROP_RADIATIONSUIT 8
#define PROP_ALLMAP 9
#define PROP_INFRARED 10
#define PROP_WEAPONLEVEL2 11
#define PROP_FLIGHT 12
#define PROP_SPEED 15
// Text colors for hudmessage -----------------------------------------------
#define CR_UNTRANSLATED -1
#define CR_BRICK 0
#define CR_TAN 1
#define CR_GRAY 2
#define CR_GREY 2
#define CR_GREEN 3
#define CR_BROWN 4
#define CR_GOLD 5
#define CR_RED 6
#define CR_BLUE 7
#define CR_ORANGE 8
#define CR_WHITE 9
#define CR_YELLOW 10
// HUD message types --------------------------------------------------------
#define HUDMSG_PLAIN 0
#define HUDMSG_FADEOUT 1
#define HUDMSG_TYPEON 2
#define HUDMSG_FADEINOUT 3
// OR this with one of the above to log the hudmessage to the console.
// i.e. instead of HUDMSG_PLAIN, you can use HUDMSG_PLAIN | HUDMSG_LOG
#define HUDMSG_LOG 0x80000000
// "Scripted" Marine weapon types -------------------------------------------
#define MARINEWEAPON_Dummy 0
#define MARINEWEAPON_Fist 1
#define MARINEWEAPON_BerserkFist 2
#define MARINEWEAPON_Chainsaw 3
#define MARINEWEAPON_Pistol 4
#define MARINEWEAPON_Shotgun 5
#define MARINEWEAPON_SuperShotgun 6
#define MARINEWEAPON_Chaingun 7
#define MARINEWEAPON_RocketLauncher 8
#define MARINEWEAPON_PlasmaRifle 9
#define MARINEWEAPON_Railgun 10
#define MARINEWEAPON_BFG 11
// Actor properties you can get/set -----------------------------------------
#define APROP_Health 0
#define APROP_Speed 1
#define APROP_Damage 2
#define APROP_Alpha 3
#define APROP_RenderStyle 4
#define APROP_Ambush 10
#define APROP_Invulnerable 11
#define APROP_SeeSound 5 // Sounds can only be set, not gotten
#define APROP_AttackSound 6
#define APROP_PainSound 7
#define APROP_DeathSound 8
#define APROP_ActiveSound 9
// Render Styles ------------------------------------------------------------
#define STYLE_None 0 // Do not draw
#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_Translucent 64 // Draw translucent
#define STYLE_Add 65 // Draw additive
// Properties you can use with GetLevelInfo() -------------------------------
#define LEVELINFO_PAR_TIME 0
#define LEVELINFO_CLUSTERNUM 1
#define LEVELINFO_LEVELNUM 2
#define LEVELINFO_TOTAL_SECRETS 3
#define LEVELINFO_FOUND_SECRETS 4
#define LEVELINFO_TOTAL_ITEMS 5
#define LEVELINFO_FOUND_ITEMS 6
#define LEVELINFO_TOTAL_MONSTERS 7
#define LEVELINFO_KILLED_MONSTERS 8
#define LEVELINFO_SUCK_TIME 9
// Shared spawnable things from Hexen. You can spawn these in the other -----
// games if you provide sprites for them, otherwise they'll be invisible. ---
#define T_ROCK1 41
#define T_ROCK2 42
#define T_ROCK3 43
#define T_DIRT1 44
#define T_DIRT2 45
#define T_DIRT3 46
#define T_DIRT4 47
#define T_DIRT5 48
#define T_DIRT6 49
#define T_STAINEDGLASS1 54
#define T_STAINEDGLASS2 55
#define T_STAINEDGLASS3 56
#define T_STAINEDGLASS4 57
#define T_STAINEDGLASS5 58
#define T_STAINEDGLASS6 59
#define T_STAINEDGLASS7 60
#define T_STAINEDGLASS8 61
#define T_STAINEDGLASS9 62
#define T_STAINEDGLASS0 63
// Doom Spawnable things (used for thingcount() and thing spawners) ---------
#define T_NONE 0
#define T_SHOTGUY 1
#define T_CHAINGUY 2
#define T_BARON 3
#define T_ZOMBIE 4
#define T_IMP 5
#define T_ARACHNOTRON 6
#define T_SPIDERMASTERMIND 7
#define T_DEMON 8
#define T_SPECTRE 9
#define T_IMPFIREBALL 10
#define T_CLIP 11
#define T_SHELLS 12
#define T_CACODEMON 19
#define T_REVENANT 20
#define T_BRIDGE 21
#define T_ARMORBONUS 22
#define T_STIMPACK 23
#define T_MEDKIT 24
#define T_SOULSPHERE 25
#define T_SHOTGUN 27
#define T_CHAINGUN 28
#define T_ROCKETLAUNCHER 29
#define T_PLASMAGUN 30
#define T_BFG 31
#define T_CHAINSAW 32
#define T_SUPERSHOTGUN 33
#define T_PLASMABOLT 51
#define T_TRACER 53
#define T_GREENARMOR 68
#define T_BLUEARMOR 69
#define T_CELL 75
#define T_BLUEKEYCARD 85
#define T_REDKEYCARD 86
#define T_YELLOWKEYCARD 87
#define T_YELLOWSKULLKEY 88
#define T_REDSKULLKEY 89
#define T_BLUESKULLKEY 90
#define T_TEMPLARGEFLAME 98
#define T_STEALTHBARON 100
#define T_STEALTHKNIGHT 101
#define T_STEALTHZOMBIE 102
#define T_STEALTHSHOTGUY 103
#define T_LOSTSOUL 110
#define T_VILE 111
#define T_MANCUBUS 112
#define T_HELLKNIGHT 113
#define T_CYBERDEMON 114
#define T_PAINELEMENTAL 115
#define T_WOLFSS 116
#define T_STEALTHARACHNOTRON 117
#define T_STEALTHVILE 118
#define T_STEALTHCACODEMON 119
#define T_STEALTHCHAINGUY 120
#define T_STEALTHSERGEANT 121
#define T_STEALTHIMP 122
#define T_STEALTHMANCUBUS 123
#define T_STEALTHREVENANT 124
#define T_BARREL 125
#define T_CACODEMONSHOT 126
#define T_ROCKET 127
#define T_BFGSHOT 128
#define T_ARACHNOTRONPLASMA 129
#define T_BLOOD 130
#define T_PUFF 131
#define T_MEGASPHERE 132
#define T_INVULNERABILITY 133
#define T_BERSERK 134
#define T_INVISIBILITY 135
#define T_IRONFEET 136
#define T_COMPUTERMAP 137
#define T_LIGHTAMP 138
#define T_AMMOBOX 139
#define T_ROCKETAMMO 140
#define T_ROCKETBOX 141
#define T_BATTERY 142
#define T_SHELLBOX 143
#define T_BACKPACK 144
#define T_GUTS 145
#define T_BLOODPOOL 146
#define T_BLOODPOOL1 147
#define T_BLOODPOOL2 148
#define T_FLAMINGBARREL 149
#define T_BRAINS 150
#define T_SCRIPTEDMARINE 151
#define T_HEALTHBONUS 152
#define T_MANCUBUSSHOT 153
#define T_BARONBALL 154
// Heretic Spawnable things (used for thingcount() and thing spawners) ------
#define T_CLINK 1
#define T_MUMMYLEADER 2
#define T_BEAST 3
#define T_MUMMY 4
//#define T_IMP 5 // Defined above
#define T_KNIGHT 6
#define T_IMPLEADER 7
#define T_MUMMYGHOST 8
#define T_MUMMYLEADERGHOST 9
//#define T_IMPFIREBALL 10
#define T_WIMPYWANDAMMO 11
#define T_HEFTYWANDAMMO 12
#define T_ITEMEGG 14
#define T_ITEMFLIGHT 15
#define T_ITEMTELEPORT 18
#define T_WIZARD 19
#define T_IRONLICH 20
#define T_ITEMHEALTHPOTION 23
#define T_ITEMHEALTHFLASH 24
#define T_ITEMHEALTHFULL 25
#define T_CROSSBOW 27
#define T_BLASTER 28
#define T_PHOENIXROD 29
#define T_SKULLROD 30
#define T_MACE 31
#define T_GAUNTLETS 32
#define T_WIMPYCROSSBOWAMMO 33
#define T_HEFTYCROSSBOWAMMO 34
#define T_WIMPYMACEAMMO 35
#define T_HEFTYMACEAMMO 36
#define T_WIMPYBLASTERAMMO 37
#define T_HEFTYBLASTERAMMO 38
#define T_MORPHBLAST 40
#define T_SHIELD1 68
#define T_SHIELD2 69
#define T_ITEMTIMEBOMB 72
#define T_ITEMTORCH 73
#define T_BLUEKEY 85
#define T_GREENKEY 86
#define T_YELLOWKEY 87
#define T_SOUND_WIND 110
#define T_SOUND_WATERFALL 111
#define T_BEASTBALL 120
#define T_FEATHER 121
#define T_CHICKEN 122
#define T_VOLCANOBALL 123
#define T_TINYVOLCANOBALL 124
#define T_POD 125
#define T_PODGENERATOR 126
#define T_KNIGHTAXE 127
#define T_KNIGHTBLOODAXE 128
#define T_KNIGHTGHOST 129
#define T_MUMMYHEAD 131
#define T_SNAKE 132
#define T_ITEMINVULNERABILITY 133
#define T_ITEMTOME 134
#define T_ITEMINVISIBILITY 135
#define T_ITEMBAGOFHOLDING 136
#define T_ITEMALLMAP 137
#define T_SNAKEPROJECTILE 138
#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
#define T_SERPENTFIREBALL 144
#define T_DSPARILBLUESHOT 145
#define T_DSPARILWIZARDSPAWNER 146
#define T_CROSSBOWMAINBLAST 147
#define T_CROSSBOWMINIBLAST 148
#define T_CROSSBOWPOWERBLAST 149
#define T_VOLCANO 150
#define T_POWERWANDMINIBLAST 151
#define T_POWERWANDBIGGERBLAST 152
#define T_DEATHBALL 153
#define T_NOGRAVITYMACEBALL 154
#define T_BOUNCYMACEBALL 155
#define T_HEAVYMACEBALL 156
#define T_RIPPER 157
#define T_WIMPYSKULLRODAMMO 158
#define T_HEFTYSKULLRODAMMO 159
#define T_SKULLRODBLAST 160
#define T_WIMPYPHOENIXRODAMMO 161
#define T_HEFTYPHOENIXRODAMMO 162
#define T_PHOENIXSHOT 163
#define T_IRONLICHBLUESHOT 164
#define T_WHIRLWIND 165
#define T_REDTELEGLITTER 166
#define T_BLUETELEGLITTER 167
// Events when you have input grabbed
#define EV_KeyDown 1 // data1: unshifted ASCII, data2: shifted ASCII
#define EV_KeyRepeat 2 // data1: unshifted ASCII, data2: shifted ASCII
#define EV_KeyUp 3 // data1: unshifted ASCII, data2: shifted ASCII
#define EV_Char 4 // data1: translated character for text input
#define EV_MouseMove 5 // data1: x, data2: y
#define EV_LButtonDown 6
#define EV_LButtonUp 7
#define EV_LButtonDblClick 8
#define EV_MButtonDown 9
#define EV_MButtonUp 10
#define EV_MButtonDblClick 11
#define EV_RButtonDown 12
#define EV_RButtonUp 13
#define EV_RButtonDblClick 14
#define EV_WheelDown 15
#define EV_WheelUp 16
// Key modifiers (or'd with event type)
#define GKM_SHIFT 256
#define GKM_CTRL 512
#define GKM_ALT 1024
// Button modifiers are only valid for EV_MouseMove events
#define GKM_LBUTTON 2048
#define GKM_MBUTTON 4096
#define GKM_RBUTTON 8192
// Special codes for some GUI keys, including a few real ASCII codes.
#define GK_PGDN 1
#define GK_PGUP 2
#define GK_HOME 3
#define GK_END 4
#define GK_LEFT 5
#define GK_RIGHT 6
#define GK_ALERT 7 // ASCII bell
#define GK_BACKSPACE 8 // ASCII
#define GK_TAB 9 // ASCII
#define GK_LINEFEED 10 // ASCII
#define GK_DOWN 10
#define GK_VTAB 11 // ASCII
#define GK_UP 11
#define GK_FORMFEED 12 // ASCII
#define GK_RETURN 13 // ASCII
#define GK_F1 14
#define GK_F2 15
#define GK_F3 16
#define GK_F4 17
#define GK_F5 18
#define GK_F6 19
#define GK_F7 20
#define GK_F8 21
#define GK_F9 22
#define GK_F10 23
#define GK_F11 24
#define GK_F12 25
#define GK_DEL 26
#define GK_ESCAPE 27 // ASCII
#define GK_FREE1 28
#define GK_FREE2 29
#define GK_FREE3 30
#define GK_CESCAPE 31 // color escape
// ==========================================================================
// Skulltag Definitions
// ==========================================================================
#define BLOCK_PLAYER 4
// Skulltag Teams -----------------------------------------------------------
#define TEAM_BLUE 0
#define TEAM_RED 1
#define NO_TEAM 2
// Skulltag Invasion --------------------------------------------------------
#define IS_WAITINGFORPLAYERS 0
#define IS_FIRSTCOUNTDOWN 1
#define IS_INPROGRESS 2
#define IS_BOSSFIGHT 3
#define IS_WAVECOMPLETE 4
#define IS_COUNTDOWN 5
#define T_GRENADE 216
#define T_BFG10KSHOT 217
#define T_DARKIMPFIREBALL 218
#define T_CACOLANTERNSHOT 219
#define T_ABADDONSHOT 221
// Skulltag Monsters --------------------------------------------------------
#define T_DARKIMP 155
#define T_BLOODDEMON 156
#define T_SSGGUY 157
#define T_HECTEBUS 158
#define T_CACOLANTERN 159
#define T_BELPHEGOR 215
#define T_ABADDON 220
// Skulltag Weapons ---------------------------------------------------------
#define T_PISTOL 162
#define T_GRENADELAUNCHER 163
#define T_RAILGUN 164
#define T_BFG10000 165
#define T_MINIGUN 214
// Skulltag Armor/Health Items ----------------------------------------------
#define T_MAXHEALTHBONUS 166
#define T_MASARMORBONUS 167
#define T_REDARMOR 168
// Skulltag Powerups --------------------------------------------------------
#define T_TURBOSPHERE 169
#define T_ANTIGRAVBELT 170
#define T_TIMEFREEZER 171
#define T_INFRAGOGGLES 172
#define T_INFRATRACKER 173
#define T_TRANSLUCENCY 174
#define T_DOOMSPHERE 175
#define T_RANDOMPOWERUP 176
// Skulltag Flags -----------------------------------------------------------
#define T_BLUEFLAG 177
#define T_REDFLAG 178
#define T_WHITEFLAG 179
// Skulltag Runes -----------------------------------------------------------
#define T_STRENGTH 180
#define T_RAGE 181
#define T_DRAIN 182
#define T_SPREAD 183
#define T_RESISTANCE 184
#define T_REGENERATION 185
#define T_PROSPERITY 186
#define T_REFLECTION 187
#define T_HIGHJUMP 188
#define T_HASTE 189
// Skulltag Dead Things -----------------------------------------------------
#define T_DEADCYBERDEMON 190
// Skulltag Misc ------------------------------------------------------------
#define T_BOBBINGSKULLINFLAMES 191
// Skulltag Impaling Things -------------------------------------------------
#define T_IMPALINGSPIKE 192
#define T_IMPALINGSPIKECGUN 193
#define T_IMPALINGSPIKEZOMB 194
// Skulltag Statues ---------------------------------------------------------
#define T_IMPSTATUE 195
#define T_DEMONSTATUE 196
#define T_ARCHSTATUE 197
#define T_BARONSTATUE 198
#define T_CYBERDEMONSTATUE 199
#define T_MASSMOUTHSTATUE 200
// More Skulltag Misc -------------------------------------------------------
#define T_GREYSTALAGMITE 201
#define T_SHORTGREYPILLAR 202
#define T_TALLGREYPILLAR 203
#define T_GREYPILLARHEART 204
#define T_TALLGOTHICPILLAR 205
#define T_REVENANTHAND 206
#define T_IMPHEAD 207
#define T_HISSY 208
// Skulltag Score Pillars ---------------------------------------------------
#define T_HELLPILLAR 209
#define T_GOTHICPILLAR 210
#define T_STARBASEPILLAR 211
#define T_MILITARYPILLAR 212
#define T_LABORTORYPILLAR 213

View file

@ -0,0 +1,196 @@
//**************************************************************************
//**
//** zspecials.acs
//**
//**************************************************************************
special
80:ACS_Execute(2,5),
81:ACS_Suspend(2),
82:ACS_Terminate(2),
83:ACS_LockedExecute(5),
85:ACS_LockedExecuteDoor(5),
42:Ceiling_CrushAndRaise(3),
44:Ceiling_CrushStop(1),
43:Ceiling_LowerAndCrush(3),
40:Ceiling_LowerByValue(3),
41:Ceiling_RaiseByValue(3),
45:Ceiling_CrushRaiseAndStay(3),
69:Ceiling_MoveToValueTimes8(4),
10:Door_Close(2),
11:Door_Open(2,3),
12:Door_Raise(3,4),
13:Door_LockedRaise(4,5),
20:Floor_LowerByValue(3),
36:Floor_LowerByValueTimes8(3),
66:Floor_LowerInstant(3),
68:Floor_MoveToValueTimes8(4),
21:Floor_LowerToLowest(2),
22:Floor_LowerToNearest(2),
28:Floor_RaiseAndCrush(3),
23:Floor_RaiseByValue(3),
35:Floor_RaiseByValueTimes8(3),
67:Floor_RaiseInstant(3),
24:Floor_RaiseToHighest(2),
25:Floor_RaiseToNearest(2),
95:FloorAndCeiling_LowerByValue(3),
96:FloorAndCeiling_RaiseByValue(3),
46:Floor_CrushStop(1),
109:Light_ForceLightning(1),
110:Light_RaiseByValue(2),
111:Light_LowerByValue(2),
112:Light_ChangeToValue(2),
113:Light_Fade(3),
114:Light_Glow(4),
115:Light_Flicker(3),
116:Light_Strobe(5),
117:Light_Stop(1),
29:Pillar_Build(3),
94:Pillar_BuildAndCrush(4),
30:Pillar_Open(4),
62:Plat_DownWaitUpStay(3),
63:Plat_DownByValue(4),
64:Plat_UpWaitDownStay(3),
65:Plat_UpByValue(4),
60:Plat_PerpetualRaise(3),
61:Plat_Stop(1),
6:Polyobj_MoveTimes8(4),
4:Polyobj_Move(4),
2:Polyobj_RotateLeft(3),
3:Polyobj_RotateRight(3),
7:Polyobj_DoorSwing(4),
8:Polyobj_DoorSlide(5),
93:Polyobj_OR_MoveTimes8(4),
92:Polyobj_OR_Move(4),
90:Polyobj_OR_RotateLeft(3),
91:Polyobj_OR_RotateRight(3),
120:Radius_Quake(5),
140:Sector_ChangeSound(2),
26:Stairs_BuildDown(5),
27:Stairs_BuildUp(5),
31:Stairs_BuildDownSync(4),
32:Stairs_BuildUpSync(4),
70:Teleport(1,3),
71:Teleport_NoFog(1,3),
74:Teleport_NewMap(2,3),
75:Teleport_EndGame(0),
72:ThrustThing(2,4),
73:DamageThing(1),
130:Thing_Activate(1),
131:Thing_Deactivate(1),
133:Thing_Destroy(1,2),
134:Thing_Projectile(5),
136:Thing_ProjectileGravity(5),
132:Thing_Remove(1),
135:Thing_Spawn(3,4),
137:Thing_SpawnNoFog(3,4),
138:Floor_Waggle(5),
9:Line_Horizon(0),
14:Door_Animated(3),
15:Autosave(0),
33:ForceField(0),
34:ClearForceField(1),
38:Ceiling_Waggle(5),
39:Teleport_ZombieChanger(2),
49:GlassBreak(0,1),
76:TeleportOther(3),
77:TeleportGroup(5),
78:TeleportInSector(4,5),
84:ACS_ExecuteWithResult(1,4),
119:Thing_Damage(2,3),
125:Thing_Move(2),
127:Thing_SetSpecial(5),
128:ThrustThingZ(4),
139:Thing_SpawnFacing(2,4),
172:Plat_UpNearestWaitDownStay(3),
173:NoiseAlert(2),
174:SendToCommunicator(4),
175:Thing_ProjectileIntercept(5),
176:Thing_ChangeTID(2),
177:Thing_Hate(2,3),
178:Thing_ProjectileAimed(4,5),
179:ChangeSkill(1),
180:Thing_SetTranslation(2),
// 181:Plane_Align,
182:Line_Mirror(0),
183:Line_AlignCeiling(2),
184:Line_AlignFloor(2),
185:Sector_SetRotation(3),
186:Sector_SetCeilingPanning(5),
187:Sector_SetFloorPanning(5),
188:Sector_SetCeilingScale(5),
189:Sector_SetFloorScale(5),
191:SetPlayerProperty(3),
192:Ceiling_LowerToHighestFloor(2),
193:Ceiling_LowerInstant(3),
194:Ceiling_RaiseInstant(3),
195:Ceiling_CrushRaiseAndStayA(4),
196:Ceiling_CrushAndRaiseA(4),
197:Ceiling_CrushAndRaiseSilentA(4),
198:Ceiling_RaiseByValueTimes8(3),
199:Ceiling_LowerByValueTimes8(3),
200:Generic_Floor(5),
201:Generic_Ceiling(5),
202:Generic_Door(5),
203:Generic_Lift(5),
204:Generic_Stairs(5),
205:Generic_Crusher(5),
206:Plat_DownWaitUpStayLip(4,5),
207:Plat_PerpetualRaiseLip(4),
208:TranslucentLine(2,3),
// 209:Transfer_Heights,
// 210:Transfer_FloorLight,
// 211:Transfer_CeilingLight,
212:Sector_SetColor(4,5),
213:Sector_SetFade(4),
214:Sector_SetDamage(3),
215:Teleport_Line(2),
216:Sector_SetGravity(3),
217:Stairs_BuildUpDoom(5),
218:Sector_SetWind(4),
219:Sector_SetFriction(2),
220:Sector_SetCurrent(4),
221:Scroll_Texture_Both(5),
// 222:Scroll_Texture_Model,
223:Scroll_Floor(4),
224:Scroll_Ceiling(4),
// 225:Scroll_Texture_Offsets,
226:ACS_ExecuteAlways(2,5),
// 227:PointPush_SetForce,
228:Plat_RaiseAndStayTx0(2),
229:Thing_SetGoal(3),
230:Plat_UpByValueStayTx(3),
231:Plat_ToggleCeiling(1),
232:Light_StrobeDoom(3),
233:Light_MinNeighbor(1),
234:Light_MaxNeighbor(1),
235:Floor_TransferTrigger(1),
236:Floor_TransferNumeric(1),
237:ChangeCamera(3),
238:Floor_RaiseToLowestCeiling(2),
239:Floor_RaiseByValueTxTy(3),
240:Floor_RaiseByTexture(2),
241:Floor_LowerToLowestTxTy(2),
242:Floor_LowerToHighest(3),
243:Exit_Normal(1),
244:Exit_Secret(1),
245:Elevator_RaiseToNearest(2),
246:Elevator_MoveToFloor(2),
247:Elevator_LowerToNearest(2),
248:HealThing(1,2),
249:Door_CloseWaitOpen(3),
250:Floor_Donut(3),
251:FloorAndCeiling_LowerRaise(3),
252:Ceiling_RaiseToNearest(2),
253:Ceiling_LowerToLowest(2),
254:Ceiling_LowerToFloor(2),
255:Ceiling_CrushRaiseAndStaySilA(4),
// Skulltag Functions
143:Player_RemoveItem(2),
144:Player_GiveItem(2),
145:Player_SetTeam(1),
152:Team_Score(2),
153:Team_GivePoints(3),
154:Teleport_NoStop(1,3);

View file

@ -5,7 +5,7 @@ compilers
// The setting named "program" defines what .exe to run
// The "interface" setting defines what interal interface to use for processing and error feedback
// All others are the required files (the setting names do not matter)
acc
zdoom_acc
{
interface = "AccCompiler";
program = "acc.exe";

Binary file not shown.

View file

@ -0,0 +1,15 @@
//**************************************************************************
//**
//** zcommon.acs
//**
//**************************************************************************
// If you are not using the -h command line switch and do not want to use
// WadAuthor's error checker, you can uncomment the following line to shave
// a few bytes off the size of compiled scripts.
//#nowadauthor
#include "zspecial.acs"
#include "zdefs.acs"
#include "zwvars.acs"

View file

@ -0,0 +1,8 @@
//**************************************************************************
//**
//** zwvars.acs
//**
//**************************************************************************
// include your world-variable declarations here.

View file

@ -298,7 +298,7 @@ maplumpnames
{
required = false;
nodebuild = false;
script = "ZDoom_ACS.cfg";
script = "Skulltag_ACS.cfg";
}
}

View file

@ -0,0 +1,834 @@
/*******************************************************************\
Doom Builder Script highlighting definitions for ACS
\*******************************************************************/
// Compiler settings
compiler = "skulltag_acc";
parameters = "-I \"%PT\" -I \"%PS\" %FI %FO";
resultlump = "BEHAVIOR";
// Editor settings
description = "Skulltag ACS script";
codepage = 0;
extensions = "acs";
casesensitive = false;
insertcase = 0; // 0=Normal, 1=Lowercase, 2=Uppercase
lexer = 35; // CPP-style, case-insensitive
functionopen = "(";
functionclose = ")";
argumentdelimiter = ",";
terminator = ";";
keywordhelp = "http://www.zdoom.org/wiki/index.php?title=%K";
keywords
{
Spaced.Function = "Spaced Function(with, args)";
#Define = "#Define identifier expression";
#EncryptStrings = "Encrypts the strings so that they can't be read in a hex editor";
#Import = "#Import";
#Include = "#Include";
#Library = "#Library";
#LibDefine = "#libdefine identifier expression";
#NoCompact = "Vanilla Hexen-compatible scripts";
#NoWadAuthor = "Removes ability to allow WadAuthor to error check";
#WadAuthor = "default, makes scripts WadAuthor error check-compatible";
ACS_Execute = "ACS_Execute(script, map, arg1, arg2, arg3)";
ACS_ExecuteAlways = "ACS_ExecuteAlways(script, map, arg1, arg2, arg3)";
ACS_ExecuteWait = "ACS_ExecuteWait(script, map, arg1, arg2, arg3)";
ACS_ExecuteWithResult = "ACS_ExecuteWithResult(script, s_arg1, s_arg2, s_arg3)";
ACS_LockedExecute = "ACS_LockedExecute(script, map, arg1, arg2, lock)";
ACS_LockedExecuteDoor = "ACS_LockedExecuteDoor(script, map, arg1, arg2, lock)";
ACS_Suspend = "ACS_Suspend(script, map)";
ACS_Terminate = "ACS_Terminate(script, map)";
ActivatorSound = "ActivatorSound(name, volume)";
ActivatorTID = "ActivatorTID()";
AmbientSound = "AmbientSound(name, volume)";
Autosave = "Autosave()";
Bool = "Bool expression";
Break = "Break";
Return = "Return";
CancelFade = "CancelFade()";
Case = "Case expression:";
Ceiling_CrushAndRaise = "Ceiling_CrushAndRaise(tag, speed, crush)";
Ceiling_CrushAndRaiseA = "Ceiling_CrushAndRaiseA(tag, dspeed, uspeed, crush)";
Ceiling_CrushAndRaiseSilentA = "Ceiling_CrushAndRaiseSilentA(tag, dspeed, uspeed, crush)";
Ceiling_CrushRaiseAndStay = "Ceiling_CrushRaiseAndStay(tag, speed, crush)";
Ceiling_CrushRaiseAndStayA = "Ceiling_CrushRaiseAndStayA(tag, dspeed, uspeed, crush)";
Ceiling_CrushRaiseAndStaySilA = "Ceiling_CrushRaiseAndStaySilA(tag, dspeed, uspeed, crush)";
Ceiling_CrushStop = "Ceiling_CrushStop(tag)";
Ceiling_LowerAndCrush = "Ceiling_LowerAndCrush(tag, speed, crush)";
Ceiling_LowerByValue = "Ceiling_LowerByValue(tag, speed, height)";
Ceiling_LowerByValueTimes8 = "Ceiling_LowerByValueTimes8(tag, speed, height)";
Ceiling_LowerInstant = "Ceiling_LowerInstant(tag, arg1, height)";
Ceiling_LowerToFloor = "Ceiling_LowerToFloor(tag, speed)";
Ceiling_LowerToHighestFloor = "Ceiling_LowerToHighestFloor(tag, speed)";
Ceiling_LowerToLowest = "Ceiling_LowerToLowest(tag, speed)";
Ceiling_MoveToValueTimes8 = "Ceiling_MoveToValueTimes8(tag, speed, height, neg)";
Ceiling_RaiseByValue = "Ceiling_RaiseByValue(tag, speed, height)";
Ceiling_RaiseByValueTimes8 = "Ceiling_RaiseByValueTimes8(tag, speed, height)";
Ceiling_RaiseInstant = "Ceiling_RaiseInstant(tag, arg1, height)";
Ceiling_RaiseToNearest = "Ceiling_RaiseToNearest(tag, speed)";
Ceiling_Waggle = "Ceiling_Waggle(tag, amp, freq, offset, time)";
ChangeCamera = "ChangeCamera(tid, who, revert)";
ChangeCeiling = "ChangeCeiling(tag, flat)";
ChangeFloor = "ChangeFloor(tag, flat)";
ChangeLevel = "ChangeLevel(mapname, position, flags, skill)";
ChangeSkill = "ChangeSkill(skill)";
CheckActorInventory = "CheckActorInventory(tid, type)";
CheckInventory = "CheckInventory(type)";
CheckWeapon = "CheckWeapon(weapon)";
ClearActorInventory = "ClearActorInventory(tid)";
ClearInventory = "ClearInventory()";
ClearLineSpecial = "ClearLineSpecial()";
Const = "Const";
Continue = "Continue";
cos = "cos(angle)";
CreateTranslation = "CreateTranslation(transnumber, translation, translation, translation, ...)";
DamageThing = "DamageThing(amount)";
Death = "Script expression Death";
Default = "Default:";
Delay = "Delay(tics)";
Disconnect = "Script expression Disconnect";
Do = "Do";
Door_Close = "Door_Close(tag, speed)";
Door_CloseWaitOpen = "Door_CloseWaitOpen(tag, speed, delay)";
Door_LockedRaise = "Door_LockedRaise(tag, speed, delay, lock)";
Door_Open = "Door_Open(tag, speed)";
Door_Raise = "Door_Raise(tag, speed, delay)";
Elevator_LowerToNearest = "Elevator_LowerToNearest(tag, speed)";
Elevator_MoveToFloor = "Elevator_MoveToFloor(tag, speed)";
Elevator_RaiseToNearest = "Elevator_RaiseToNearest(tag, speed)";
Else = "Else";
Enter = "Script expression Enter";
Exit_Normal = "Exit_Normal(pos)";
Exit_Secret = "Exit_Secret(pos)";
FadeRange = "FadeRange(red1, green1, blue1, red2, green2, blue2, amount, seconds)";
FadeTo = "FadeTo(red, green, blue, amount, seconds)";
FixedDiv = "FixedDiv(fa, fb)";
FixedMul = "FixedMul(fa, fb)";
Floor_CrushStop = "Floor_CrushStop(tag)";
Floor_Donut = "Floor_Donut(ptag, pspeed, sspeed)";
Floor_LowerByValue = "Floor_LowerByValue(tag, speed, height)";
Floor_LowerByValueTimes8 = "Floor_LowerByValueTimes8(tag, speed, height)";
Floor_LowerInstant = "Floor_LowerInstant(tag, arg1, height)";
Floor_LowerToHighest = "Floor_LowerToHighest(tag, speed, adjust)";
Floor_LowerToLowest = "Floor_LowerToLowest(tag, speed)";
Floor_LowerToLowestTxTy = "Floor_LowerToLowestTxTy(tag, speed)";
Floor_LowerToNearest = "Floor_LowerToNearest(tag, speed)";
Floor_MoveToValueTimes8 = "Floor_MoveToValueTimes8(tag, speed, height, neg)";
Floor_RaiseAndCrush = "Floor_RaiseAndCrush(tag, speed, crush)";
Floor_RaiseByTexture = "Floor_RaiseByTexture(tag, speed)";
Floor_RaiseByValue = "Floor_RaiseByValue(tag, speed, height)";
Floor_RaiseByValueTimes8 = "Floor_RaiseByValueTimes8(tag, speed, height)";
Floor_RaiseByValueTxTy = "Floor_RaiseByValueTxTy(tag, speed, height)";
Floor_RaiseInstant = "Floor_RaiseInstant(tag, arg1, height)";
Floor_RaiseToHighest = "Floor_RaiseToHighest(tag, speed)";
Floor_RaiseToLowestCeiling = "Floor_RaiseToLowestCeiling(tag, speed)";
Floor_RaiseToNearest = "Floor_RaiseToNearest(tag, speed)";
Floor_TransferNumeric = "Floor_TransferNumeric(tag)";
Floor_TransferTrigger = "Floor_TransferTrigger(tag)";
Floor_Waggle = "Floor_Waggle(tag, amp, freq, offset, time)";
FloorAndCeiling_LowerByValue = "FloorAndCeiling_LowerByValue(tag, speed, height)";
FloorAndCeiling_LowerRaise = "FloorAndCeiling_LowerRaise(tag, fspeed, cspeed)";
FloorAndCeiling_RaiseByValue = "FloorAndCeiling_RaiseByValue(tag, speed, height)";
For = "For(initialization, condition, iteration)";
Function = "Function Void expression (Void)";
GameSkill = "GameSkill()";
GameType = "GameType()";
Generic_Ceiling = "Generic_Ceiling(tag, speed, height, target, flag)";
Generic_Crusher = "Generic_Crusher(tag, dspeed, uspeed, silent, crush)";
Generic_Door = "Generic_Door(tag, speed, kind, delay, lock)";
Generic_Floor = "Generic_Floor(tag, speed, height, target, flags)";
Generic_Lift = "Generic_Lift(tag, speed, delay, type, height)";
Generic_Stairs = "Generic_Stairs(tag, speed, height, flags, reset)";
GetLevelInfo = "GetLevelInfo(infotype)";
GetActorAngle = "GetActorAngle(tid)";
GetActorCeilingZ = "GetActorCeilingZ(tid)";
GetActorFloorZ = "GetActorFloorZ(tid)";
GetActorPitch = "GetActorPitch(tid)";
GetActorProperty = "GetActorProperty(tid, property)";
GetActorX = "GetActorX(tid)";
GetActorY = "GetActorY(tid)";
GetActorZ = "GetActorZ(tid)";
GetCVar = "GetCVar(name)";
GetPlayerInfo = "GetPlayerInfo(playernumber, infotype)";
GetScreenHeight = "GetScreenHeight()";
GetScreenWidth = "GetScreenWidth()";
GetSectorCeilingZ = "GetSectorCeilingZ(tag, x, y)";
GetSectorFloorZ = "GetSectorFloorZ(tag, x, y)";
GiveActorInventory = "GiveActorInventory(tid, type, amount)";
GiveInventory = "GiveInventory(type, amount)";
Global = "Global Int expression:identifier";
Goto = "Goto";
HealThing = "HealThing(amount)";
HudMessage = "HudMessage(text; type, id, color, x, y, holdtime)";
HudMessageBold = "HudMessageBold(text; type, id, color, x, y, holdtime)";
If = "If(expression)";
Int = "Int expression";
Light_ChangeToValue = "Light_ChangeToValue(tag, value)";
Light_Fade = "Light_Fade(tag, value, tics)";
Light_Flicker = "Light_Flicker(tag, upper, lower)";
Light_ForceLightning = "Light_ForceLightning()";
Light_Glow = "Light_Glow(tag, upper, lower, tics)";
Light_LowerByValue = "Light_LowerByValue(tag, value)";
Light_MaxNeighbor = "Light_MaxNeighbor(tag)";
Light_MinNeighbor = "Light_MinNeighbor(tag)";
Light_RaiseByValue = "Light_RaiseByValue(tag, value)";
Light_Stop = "Light_Stop(tag)";
Light_Strobe = "Light_Strobe(tag, upper, lower, u-tics, l-tics)";
Light_StrobeDoom = "Light_StrobeDoom(tag, u-tics, l-tics)";
Lightning = "Script expression Lightning";
Line_AlignCeiling = "Line_AlignCeiling(lineid, side)";
Line_AlignFloor = "Line_AlignFloor(lineid, side)";
LineSide = "LineSide()";
LocalAmbientSound = "LocalAmbientSound(name, volume)";
LocalSetMusic = "LocalSetMusic(song, pattern, transition)";
Log = "Log(type:expression)";
Net = "Script expression Net";
Open = "Script expression Open";
Pillar_Build = "Pillar_Build(tag, speed, height)";
Pillar_BuildAndCrush = "Pillar_BuildAndCrush(tag, speed, height, crush)";
Pillar_Open = "Pillar_Open(tag, speed, fdist, cdist)";
Plat_DownByValue = "Plat_DownByValue(tag, speed, delay, height)";
Plat_DownWaitUpStay = "Plat_DownWaitUpStay(tag, speed, delay)";
Plat_DownWaitUpStayLip = "Plat_DownWaitUpStayLip(tag, speed, delay, lip)";
Plat_PerpetualRaise = "Plat_PerpetualRaise(tag, speed, delay)";
Plat_PerpetualRaiseLip = "Plat_PerpetualRaiseLip(tag, speed, delay, lip)";
Plat_RaiseAndStayTx0 = "Plat_RaiseAndStayTx0(tag, speed)";
Plat_Stop = "Plat_Stop(tag)";
Plat_ToggleCeiling = "Plat_ToggleCeiling(tag)";
Plat_UpByValue = "Plat_UpByValue(tag, speed, delay, height)";
Plat_UpByValueStayTx = "Plat_UpByValueStayTx(tag, speed, height)";
Plat_UpWaitDownStay = "Plat_UpWaitDownStay(tag, speed, delay)";
Player_GiveItem = "Player_GiveItem(item, message)";
Player_RemoveItem = "Player_RemoveItem(item, message)";
Player_SetTeam = "Player_SetTeam(team)";
PlayerClass = "PlayerClass(player_number)";
PlayerCount = "PlayerCount()";
PlayerFrags = "PlayerFrags()";
PlayerInGame = "PlayerInGame(player_number)";
PlayerIsBot = "PlayerIsBot(player_number)";
PlayerNumber = "PlayerNumber()";
PlayMovie = "PlayMovie(moviename)";
Polyobj_DoorSlide = "Polyobj_DoorSlide(po, speed, angle, dist, delay)";
Polyobj_DoorSwing = "Polyobj_DoorSwing(po, speed, angle, delay)";
Polyobj_Move = "Polyobj_Move(po, speed, angle, dist)";
Polyobj_MoveTimes8 = "Polyobj_MoveTimes8(po, speed, angle, dist)";
Polyobj_OR_Move = "Polyobj_OR_Move(po, speed, angle, distance)";
Polyobj_OR_MoveTimes8 = "Polyobj_OR_MoveTimes8(po, speed, angle, distance)";
Polyobj_OR_RotateLeft = "Polyobj_OR_RotateLeft(po, speed)";
Polyobj_OR_RotateRight = "Polyobj_OR_RotateRight(po, speed, angle)";
Polyobj_RotateLeft = "Polyobj_RotateLeft(po, speed, angle)";
Polyobj_RotateRight = "Polyobj_RotateRight(po, speed, angle)";
PolyWait = "PolyWait(po)";
Print = "Print(type:expression)";
PrintBold = "PrintBold(type:expression)";
Radius_Quake = "Radius_Quake(intensity, duration, damrad, tremrad, tid)";
Random = "Random(low, high)";
ReplaceTextures = "ReplaceTextures(oldtexture, newtexture, flags)";
Respawn = "Script expression Respawn";
Restart = "Restart";
Script = "Script expression (Void)";
ScriptWait = "ScriptWait(scriptid)";
Scroll_Ceiling = "Scroll_Ceiling(tag, scrollbits, 0, xmove, ymove)";
Scroll_Floor = "Scroll_Floor(tag, scrollbits, method xmove, ymove)";
Scroll_Texture_Both = "Scroll_Texture_Both(lineid, left, right, down, up)";
Sector_ChangeSound = "Sector_ChangeSound(tag, newsequence)";
Sector_SetCeilingPanning = "Sector_SetCeilingPanning(tag, u-int, u-frac, v-int, v-frac)";
Sector_SetCeilingScale = "Sector_SetCeilingScale(tag, u-int, u-frac, v-int, v-frac)";
Sector_SetColor = "Sector_SetColor(tag, r, g, b)";
Sector_SetDamage = "Sector_SetDamage(tag, amount, mod)";
Sector_SetFade = "Sector_SetFade(tag, r, g, b)";
Sector_SetFloorPanning = "Sector_SetFloorPanning(tag, u-int, u-frac, v-int, v-frac)";
Sector_SetFloorScale = "Sector_SetFloorScale(tag, u-int, u-frac, v-int, v-frac)";
Sector_SetFriction = "Sector_SetFriction(tag, amount)";
Sector_SetGravity = "Sector_SetGravity(tag, ipart, fpart)";
Sector_SetPlaneReflection = "Sector_SetPlaneReflection(tag, floor, ceiling)";
Sector_SetRotation = "Sector_SetRotation(tag, floor-angle, ceiling-angle)";
SectorDamage = "SectorDamage(tag, amount, type, protection-item, flags)";
SectorSound = "SectorSound(name, volume)";
SetActorAngle = "SetActorAngle(tid, angle)";
SetAirControl = "SetAirControl(amount)";
SetActorPitch = "SetActorPitch(tid, angle)";
SetActorPosition = "SetActorPosition(tid, x, y, z, fog)";
SetActorProperty = "SetActorProperty(tid, property, value)";
SetActorState = "SetActorState(tid, state, exact)";
SetCameraToTexture = "SetCameraToTexture(tag, texture, fov)";
SetCeilingTrigger = "SetCeilingTrigger(tag, height, special, arg1, arg2, arg3, arg4, arg5)";
SetFloorTrigger = "SetFloorTrigger(tag, height, special, arg1, arg2, arg3, arg4, arg5)";
SetFont = "SetFont(fontname)";
SetGravity = "SetGravity(amount)";
SetHudSize = "SetHudSize(width, height, statusbar)";
SetLineBlocking = "SetLineBlocking(line, blocking)";
SetLineMonsterBlocking = "SetLineMonsterBlocking(line, blocking)";
SetLineSpecial = "SetLineSpecial(line, special, arg1, arg2, arg3, arg4, arg5)";
SetLineTexture = "SetLineTexture(line, side, position, texture)";
SetMarineSprite = "SetMarineSprite(tid, actorclass)";
SetMarineWeapon = "SetMarineWeapon(tid, weapon)";
SetMugShotState = "SetMugShotState(state)";
SetMusic = "SetMusic(song, pattern, transition)";
SetPlayerProperty = "SetPlayerProperty(who, set, which)";
SetResultValue = "SetResultValue(value)";
SetThingSpecial = "SetThingSpecial(tid, special, arg1, arg2, arg3, arg4, arg5)";
SetWeapon = "SetWeapon(weaponname)";
sin = "sin(angle)";
SoundSequence = "SoundSequence(name)";
Spawn = "Spawn(type, x, y, z, thingid, angle)";
SpawnProjectile = "SpawnProjectile(tid, type, angle, speed, vspeed, gravity, newtid)";
SpawnSpot = "SpawnSpot(type, spotid, thingid, angle)";
SpawnSpotFacing = "SpawnSpotFacing(type, spotid, thingid)";
Special = "Special";
Stairs_BuildDown = "Stairs_BuildDown(tag, speed, height, delay, reset)";
Stairs_BuildDownSync = "Stairs_BuildDownSync(tag, speed, height, reset)";
Stairs_BuildUp = "Stairs_BuildUp(tag, speed, height, delay, reset)";
Stairs_BuildUpDoom = "Stairs_BuildUpDoom(tag, speed, height, delay, reset)";
Stairs_BuildUpSync = "Stairs_BuildUpSync(tag, speed, height, reset)";
StartConversation = "StartConversation(tid, facing)";
Str = "Str expression";
strlen = "strlen(string)";
Suspend = "Suspend";
Switch = "Switch(expression)";
TagWait = "TagWait(tag)";
TakeActorInventory = "TakeActorInventory(tid, type, amount)";
TakeInventory = "TakeInventory(type, amount)";
Team_Score = "Team_Score(amount, nogrin)";
Teleport = "Teleport(tid, tag, nosourcefog)";
Teleport_EndGame = "Teleport_EndGame()";
Teleport_Line = "Teleport_Line(thisid, destid, flip)";
Teleport_NewMap = "Teleport_NewMap(map, pos)";
Teleport_NoFog = "Teleport_NoFog(tid)";
TeleportGroup = "TeleportGroup(groupid, sourceid, destinationid, movesource, fog)";
TeleportInSector = "TeleportInSector(tag, sourceid, destinationid, fog, groupid)";
TeleportOther = "TeleportOther(tid, destinationid, fog)";
Terminate = "Terminate";
Thing_Activate = "Thing_Activate(tid)";
Thing_ChangeTID = "Thing_ChangeTID(oldtid, newtid)";
Thing_Damage = "Thing_Damage(tid, amount, mod)";
Thing_Damage2 = "Thing_Damage2(tid, amount, type)";
Thing_Deactivate = "Thing_Deactivate(tid)";
Thing_Destroy = "Thing_Destroy(tid, extreme)";
Thing_Hate = "Thing_Hate(hater, hatee, type)";
Thing_Move = "Thing_Move(tid, destid, nofog)";
Thing_Projectile = "Thing_Projectile(tid, type, angle, speed, vspeed)";
Thing_Projectile2 = "Thing_Projectile2(tid, type, angle, speed, vspeed, gravity, newtid)";
Thing_ProjectileAimed = "Thing_ProjectileAimed(tid, type, speed, target, newtid)";
Thing_ProjectileGravity = "Thing_ProjectileGravity(tid, type, angle, speed, vspeed)";
Thing_ProjectileIntercept = "Thing_ProjectileIntercept(tid, type, speed, target, newtid)";
Thing_Raise = "Thing_Raise(tid)";
Thing_Remove = "Thing_Remove(tid)";
Thing_SetFrame = "Thing_SetFrame(tid, frame)";
Thing_SetGoal = "Thing_SetGoal(tid, goal, delay, ignore)";
Thing_SetSpecial = "Thing_SetSpecial(tid, special, arg1, arg2, arg3)";
Thing_SetTranslation = "Thing_SetTranslation(tid, translation)";
Thing_Spawn = "Thing_Spawn(tid, type, angle, newtid)";
Thing_SpawnFacing = "Thing_SpawnFacing(tid, type, nofog, newtid)";
Thing_SpawnNoFog = "Thing_SpawnNoFog(tid, type, angle, newtid)";
Thing_Stop = "Thing_Stop(tid)";
ThingCount = "ThingCount(type, id)";
ThingCountName = "ThingCountName(type, tid)";
ThingSound = "ThingSound(thingid, name, volume)";
ThrustThing = "ThrustThing(angle, force, limit, tid)";
ThrustThingZ = "ThrustThingZ(tid, speed, upordown, addorset)";
Timer = "Timer()";
TranslucentLine = "TranslucentLine(lineid, amount, additive)";
Unloading = "Script expression Unloading";
Until = "Until(expression)";
UsePuzzleItem = "UsePuzzleItem(item, script)";
VectorAngle = "VectorAngle(x, y)";
Void = "Void";
While = "While(expression)";
World = "World Int expression:identifier";
}
constants
{
TRUE;
FALSE;
ON;
OFF;
YES;
NO;
CARRY;
SCROLL;
SCROLL_AND_CARRY;
APROP_ActiveSound;
APROP_Alpha;
APROP_Ambush;
APROP_AttackSoun;
APROP_Damage;
APROP_DeathSound;
APROP_Health;
APROP_Invulnerable;
APROP_JumpZ;
APROP_PainSound;
APROP_RenderStyle;
APROP_SeeSound;
APROP_SpawnHealth;
APROP_Speed;
BLOCK_CREATURES;
BLOCK_EVERYTHING;
BLOCK_NOTHING;
CLASS_CLERIC;
CLASS_FIGHTER;
CLASS_MAGE;
CR_BLACK;
CR_BLUE;
CR_BRICK;
CR_BROWN;
CR_CREAM;
CR_DARKBROWN;
CR_DARKGRAY;
CR_DARKGREEN;
CR_DARKRED;
CR_GOLD;
CR_GRAY;
CR_GREEN;
CR_GREY;
CR_LIGHTBLUE;
CR_OLIVE;
CR_ORANGE;
CR_PURPLE;
CR_RED;
CR_TAN;
CR_UNTRANSLATED;
CR_WHITE;
CR_YELLOW;
DAMAGE_IN_AIR;
DAMAGE_NONPLAYERS;
DAMAGE_PLAYERS;
DAMAGE_SUBCLASSES_PROTECT;
GAME_NET_COOPERATIVE;
GAME_NET_DEATHMATCH;
GAME_NET_TEAMGAME;
GAME_SINGLE_PLAYER;
HUDMSG_COLORSTRING;
HUDMSG_FADEINOUT;
HUDMSG_FADEOUT;
HUDMSG_LOG;
HUDMSG_PLAIN;
HUDMSG_TYPEON;
LEVELINFO_CLUSTERNUM;
LEVELINFO_FOUND_ITEMS;
LEVELINFO_FOUND_SECRETS;
LEVELINFO_KILLED_MONSTERS;
LEVELINFO_LEVELNUM;
LEVELINFO_PAR_TIME;
LEVELINFO_SUCK_TIME;
LEVELINFO_TOTAL_ITEMS;
LEVELINFO_TOTAL_MONSTERS;
LEVELINFO_TOTAL_SECRETS;
LINE_BACK;
LINE_FRONT;
MARINEWEAPON_BerserkFis;
MARINEWEAPON_BFG;
MARINEWEAPON_Chaingun;
MARINEWEAPON_Chainsaw;
MARINEWEAPON_Dummy;
MARINEWEAPON_Fist;
MARINEWEAPON_Pistol;
MARINEWEAPON_PlasmaRifl;
MARINEWEAPON_Railgun;
MARINEWEAPON_RocketLaunche;
MARINEWEAPON_Shotgun;
MARINEWEAPON_SuperShotgu;
MOD_BARREL;
MOD_BFG_BOOM;
MOD_BFG_SPLASH;
MOD_CHAINGUN;
MOD_CHAINSAW;
MOD_CRUSH;
MOD_EXIT;
MOD_FALLING;
MOD_FIST;
MOD_HIT;
MOD_LAVA;
MOD_PISTOL;
MOD_PLASMARIFLE;
MOD_R_SPLASH;
MOD_ROCKET;
MOD_SHOTGUN;
MOD_SLIME;
MOD_SPLASH;
MOD_SSHOTGUN;
MOD_SUICIDE;
MOD_TELEFRAG;
MOD_UNKNOWN;
MOD_WATER;
MOVIE_Failed;
MOVIE_Played;
MOVIE_Played_Aborted;
MOVIE_Played_NoVideo;
NOT_BOTTOM;
NOT_CEILING;
NOT_FLOOR;
NOT_MIDDLE;
NOT_TOP;
PLAYERINFO_AIMDIST;
PLAYERINFO_COLOR;
PLAYERINFO_GENDER;
PLAYERINFO_MOVEBOB;
PLAYERINFO_NEVERSWITCH;
PLAYERINFO_PLAYERCLASS;
PLAYERINFO_STILLBOB;
PLAYERINFO_TEAM;
PROP_FLY;
PROP_FROZEN;
PROP_INSTANTWEAPONSWITCH;
PROP_NOTARGET;
PROP_TOTALLYFROZEN;
SIDE_BACK;
SIDE_FRONT;
SKILL_EASY;
SKILL_HARD;
SKILL_NORMAL;
SKILL_VERY_EASY;
SKILL_VERY_HARD;
STYLE_Add;
STYLE_Fuzzy;
STYLE_None;
STYLE_Normal;
STYLE_OptFuzzy;
STYLE_SoulTrans;
STYLE_Translucent;
T_AMMOBOX;
T_AMULETOFWARDING;
T_ANTIGRAVBELT;
T_ARACHNOTRON;
T_ARACHNOTRONPLASMA;
T_ARCHSTATUE;
T_ARMORBONUS;
T_ARROW;
T_AXEKEY;
T_BACKPACK;
T_BARON;
T_BARONBALL;
T_BARONSTATUE;
T_BARREL;
T_BATTERY;
T_BEAST;
T_BEASTBALL;
T_BELPHEGOR;
T_BERSERK;
T_BFG;
T_BFG10000;
T_BFGSHOT;
T_BISHOP;
T_BLADE;
T_BLASTER;
T_BLOOD;
T_BLOODDEMON;
T_BLOODPOOL;
T_BLOODPOOL1;
T_BLOODPOOL2;
T_BLUEARMOR;
T_BLUEFLAG;
T_BLUEKEY;
T_BLUEKEYCARD;
T_BLUESKULLKEY;
T_BLUETELEGLITTER;
T_BOBBINGSKULLINFLAMES;
T_BOUNCYMACEBALL;
T_BRAINS;
T_BRIDGE;
T_CACODEMON;
T_CACODEMONSHOT;
T_CACOLANTERN;
T_CELL;
T_CENTAUR;
T_CENTAUR_MASH;
T_CENTAURLEADER;
T_CHAINGUN;
T_CHAINGUY;
T_CHAINSAW;
T_CHICKEN;
T_CLERICHOLY1;
T_CLERICHOLY2;
T_CLERICHOLY3;
T_CLERICSTAFF;
T_CLINK;
T_CLIP;
T_COMPUTERMAP;
T_CROSSBOW;
T_CROSSBOWMAINBLAST;
T_CROSSBOWMINIBLAST;
T_CROSSBOWPOWERBLAST;
T_CYBERDEMON;
T_CYBERDEMONSTATUE;
T_DARKIMP;
T_DART;
T_DEADCYBERDEMON;
T_DEATHBALL;
T_DEMON;
T_DEMON_MASH;
T_DEMON1;
T_DEMON2_MASH;
T_DEMONSTATUE;
T_DIRT1;
T_DIRT2;
T_DIRT3;
T_DIRT4;
T_DIRT5;
T_DIRT6;
T_DOOMSPHERE;
T_DRAGONSKINBRACERS;
T_DRAIN;
T_DSPARILALONE;
T_DSPARILBLUESHOT;
T_DSPARILONSERPENT;
T_DSPARILTELEPORTDEST;
T_DSPARILWIZARDSPAWNER;
T_EMERALDKEY;
T_ETTIN;
T_ETTIN_MASH;
T_FALCONSHIELD;
T_FEATHER;
T_FIGHTERAXE;
T_FIGHTERHAMMER;
T_FIGHTERSWORD1;
T_FIGHTERSWORD2;
T_FIGHTERSWORD3;
T_FIREBALL1;
T_FIREGARGOYLE;
T_FIREKEY;
T_FLAME_LARGE;
T_FLAME_SMALL;
T_FLAMINGBARREL;
T_FLESH_DRIP1;
T_FLESH_DRIP2;
T_GAUNTLETS;
T_GOTHICPILLAR;
T_GREENARMOR;
T_GREENKEY;
T_GRENADE;
T_GRENADELAUNCHER;
T_GREYPILLARHEART;
T_GREYSTALAGMITE;
T_GUTS;
T_HASTE;
T_HEALTHBONUS;
T_HEAVYMACEBALL;
T_HECTEBUS;
T_HEFTYBLASTERAMMO;
T_HEFTYCROSSBOWAMMO;
T_HEFTYMACEAMMO;
T_HEFTYPHOENIXRODAMMO;
T_HEFTYSKULLRODAMMO;
T_HEFTYWANDAMMO;
T_HELLKNIGHT;
T_HELLPILLAR;
T_HIGHJUMP;
T_HISSY;
T_HORNKEY;
T_ICEGOLEM;
T_ICESHARD;
T_IMP;
T_IMPALINGSPIKE;
T_IMPALINGSPIKECGUN;
T_IMPALINGSPIKEZOMB;
T_IMPFIREBALL;
T_IMPHEAD;
T_IMPLEADER;
T_IMPSTATUE;
T_INFRAGOGGLES;
T_INFRATRACKER;
T_INVISIBILITY;
T_INVULNERABILITY;
T_IRONFEET;
T_IRONLICH;
T_IRONLICHBLUESHOT;
T_ITEMALLMAP;
T_ITEMBAGOFHOLDING;
T_ITEMBOOSTMANA;
T_ITEMBOOTS;
T_ITEMEGG;
T_ITEMFLECHETTE;
T_ITEMFLIGHT;
T_ITEMHEALTHFLASH;
T_ITEMHEALTHFLASK;
T_ITEMHEALTHFULL;
T_ITEMHEALTHPOTION;
T_ITEMINVISIBILITY;
T_ITEMINVULNERABILITY;
T_ITEMREPULSION;
T_ITEMSUMMON;
T_ITEMTELEPORT;
T_ITEMTIMEBOMB;
T_ITEMTOME;
T_ITEMTORCH;
T_ITEMTPORTOTHER;
T_KNIGHT;
T_KNIGHTAXE;
T_KNIGHTBLOODAXE;
T_KNIGHTGHOST;
T_LABORTORYPILLAR;
T_LIGHTAMP;
T_LOSTSOUL;
T_MACE;
T_MACEKEY;
T_MAGESHARDS;
T_MAGESTAFF1;
T_MAGESTAFF2;
T_MAGESTAFF3;
T_MANA1;
T_MANA2;
T_MANA3;
T_MANCUBUS;
T_MANCUBUSSHOT;
T_MASARMORBONUS;
T_MASSMOUTHSTATUE;
T_MAXHEALTHBONUS;
T_MEDKIT;
T_MEGASPHERE;
T_MESHARMOR;
T_METALKEY;
T_MILITARYPILLAR;
T_MINIGUN;
T_MORPHBLAST;
T_MUMMY;
T_MUMMYGHOST;
T_MUMMYHEAD;
T_MUMMYLEADER;
T_MUMMYLEADERGHOST;
T_NOGRAVITYMACEBALL;
T_NONE;
T_PAINELEMENTAL;
T_PERMLARGEFLAME;
T_PERMSMALLFLAME;
T_PHOENIXROD;
T_PHOENIXSHOT;
T_PISTOL;
T_PLASMABOLT;
T_PLASMAGUN;
T_PLATINUMHELM;
T_POD;
T_PODGENERATOR;
T_POISONDART;
T_POWERWANDBIGGERBLAST;
T_POWERWANDMINIBLAST;
T_PROSPERITY;
T_PUFF;
T_PUZZBOOK1;
T_PUZZBOOK2;
T_PUZZGEMBIG;
T_PUZZGEMBLUE1;
T_PUZZGEMBLUE2;
T_PUZZGEMGREEN1;
T_PUZZGEMGREEN2;
T_PUZZGEMRED;
T_PUZZSKULL;
T_RAGE;
T_RAILGUN;
T_RANDOMPOWERUP;
T_REDARMOR;
T_REDFLAG;
T_REDKEYCARD;
T_REDSKULLKEY;
T_REDTELEGLITTER;
T_REFLECTION;
T_REGENERATION;
T_RESISTANCE;
T_REVENANT;
T_REVENANTHAND;
T_RIPPER;
T_RIPPERBALL;
T_ROCK1;
T_ROCK2;
T_ROCK3;
T_ROCKET;
T_ROCKETAMMO;
T_ROCKETBOX;
T_ROCKETLAUNCHER;
T_RUSTYKEY;
T_SAUSAGEHEAD;
T_SAUSAGESPITTER;
T_SCRIPTEDMARINE;
T_SERPENTFIREBALL;
T_SERPENTKEY;
T_SHELLBOX;
T_SHELLS;
T_SHIELD1;
T_SHIELD2;
T_SHORTGREYPILLAR;
T_SHOTGUN;
T_SHOTGUY;
T_SILVERKEY;
T_SKULLROD;
T_SKULLRODBLAST;
T_SMALLMETALKEY;
T_SNAKE;
T_SNAKEPROJECTILE;
T_SNAKEPROJECTILEBIG;
T_SOULSPHERE;
T_SOUND_WATERFALL;
T_SOUND_WIND;
T_SPARK_DRIP;
T_SPECTRE;
T_SPIDERMASTERMIND;
T_SPREAD;
T_SSGGUY;
T_STAINEDGLASS0;
T_STAINEDGLASS1;
T_STAINEDGLASS2;
T_STAINEDGLASS3;
T_STAINEDGLASS4;
T_STAINEDGLASS5;
T_STAINEDGLASS6;
T_STAINEDGLASS7;
T_STAINEDGLASS8;
T_STAINEDGLASS9;
T_STARBASEPILLAR;
T_STEALTHARACHNOTRON;
T_STEALTHBARON;
T_STEALTHCACODEMON;
T_STEALTHCHAINGUY;
T_STEALTHIMP;
T_STEALTHKNIGHT;
T_STEALTHMANCUBUS;
T_STEALTHREVENANT;
T_STEALTHSERGEANT;
T_STEALTHSHOTGUY;
T_STEALTHVILE;
T_STEALTHZOMBIE;
T_STIMPACK;
T_STRENGTH;
T_SUPERSHOTGUN;
T_TALLGOTHICPILLAR;
T_TALLGREYPILLAR;
T_TEMPLARGEFLAME;
T_TEMPSMALLFLAME;
T_THRUSTSPIKEDOWN;
T_THRUSTSPIKEUP;
T_TIMEFREEZER;
T_TINYVOLCANOBALL;
T_TRACER;
T_TRANSLUCENCY;
T_TURBOSPHERE;
T_VILE;
T_VOLCANO;
T_VOLCANOBALL;
T_WATERDRIP;
T_WATERLURKER;
T_WATERLURKERLEADER;
T_WHIRLWIND;
T_WHITEFLAG;
T_WIMPYBLASTERAMMO;
T_WIMPYCROSSBOWAMMO;
T_WIMPYMACEAMMO;
T_WIMPYPHOENIXRODAMMO;
T_WIMPYSKULLRODAMMO;
T_WIMPYWANDAMMO;
T_WIZARD;
T_WIZARDSHOT;
T_WOLFSS;
T_WRAITH;
T_WRAITHBURIED;
T_YELLOWKEY;
T_YELLOWKEYCARD;
T_YELLOWSKULLKEY;
T_ZOMBIE;
TEAM_BLUE;
TEAM_RED;
TEXTURE_BOTTOM;
TEXTURE_MIDDLE;
TEXTURE_TOP;
}

View file

@ -3,7 +3,7 @@
\*******************************************************************/
// Compiler settings
compiler = "acc";
compiler = "zdoom_acc";
parameters = "-I \"%PT\" -I \"%PS\" %FI %FO";
resultlump = "BEHAVIOR";

View file

@ -133,7 +133,7 @@ namespace CodeImp.DoomBuilder.Compilers
// Copy files
foreach(string f in info.Files)
{
string sourcefile = Path.Combine(General.CompilersPath, f);
string sourcefile = Path.Combine(info.Path, f);
string targetfile = Path.Combine(tempdir.FullName, f);
if(!File.Exists(sourcefile)) General.ErrorLogger.Add(ErrorType.Error, "The file '" + f + "' required by the '" + info.Name + "' compiler is missing.");
File.Copy(sourcefile, targetfile, true);

View file

@ -42,6 +42,7 @@ namespace CodeImp.DoomBuilder.Config
private string name;
private string programfile;
private string programinterface;
private string path;
private List<string> files;
#endregion
@ -49,6 +50,7 @@ namespace CodeImp.DoomBuilder.Config
#region ================== Properties
public string Name { get { return name; } }
public string Path { get { return path; } }
public string ProgramFile { get { return programfile; } }
public string ProgramInterface { get { return programinterface; } }
public List<string> Files { get { return files; } }
@ -58,13 +60,14 @@ namespace CodeImp.DoomBuilder.Config
#region ================== Constructor / Disposer
// Constructor
internal CompilerInfo(string filename, string name, Configuration cfg)
internal CompilerInfo(string filename, string name, string path, Configuration cfg)
{
IDictionary cfgfiles;
General.WriteLogLine("Registered compiler configuration '" + name + "' from '" + filename + "'");
// Initialize
this.path = path;
this.name = name;
this.files = new List<string>();

View file

@ -339,7 +339,7 @@ namespace CodeImp.DoomBuilder
nodebuilders = new List<NodebuilderInfo>();
// Go for all cfg files in the compilers directory
filenames = Directory.GetFiles(compilerspath, "*.cfg", SearchOption.TopDirectoryOnly);
filenames = Directory.GetFiles(compilerspath, "*.cfg", SearchOption.AllDirectories);
foreach(string filepath in filenames)
{
try
@ -454,7 +454,7 @@ namespace CodeImp.DoomBuilder
compilers = new List<CompilerInfo>();
// Go for all cfg files in the compilers directory
filenames = Directory.GetFiles(compilerspath, "*.cfg", SearchOption.TopDirectoryOnly);
filenames = Directory.GetFiles(compilerspath, "*.cfg", SearchOption.AllDirectories);
foreach(string filepath in filenames)
{
try
@ -479,7 +479,7 @@ namespace CodeImp.DoomBuilder
if(de.Value is IDictionary)
{
// Make compiler info
compilers.Add(new CompilerInfo(Path.GetFileName(filepath), de.Key.ToString(), cfg));
compilers.Add(new CompilerInfo(Path.GetFileName(filepath), de.Key.ToString(), Path.GetDirectoryName(filepath), cfg));
}
}
}