mirror of
https://github.com/ZDoom/qzdoom.git
synced 2025-02-27 06:11:46 +00:00
* Allow PFunction to work without a VMFunction being attached. * The Variant for a function must store the prototype itself instead of relying on the VMFunction it points to. Otherwise it would not be possible to reference a prototype during compilation of the function because it does not exist yet. * Give the variant a list of the function's argument's names, because these are also needed to compile the function. * create an anonymous function symbol when the function gets registered to the builder. At this point we have all the needed information to set it up correctly, but later this is no longer the case. This is the most convenient info to have here because it contains everything that's needed to compile the function in the proper context, so it has to be present when starting compilation. * added some preparations to implement special handling for weapons and custom inventory items, which can run action functions in another actor's context. This part is not active yet but the basics are present in SetImplicitArgs.
726 lines
10 KiB
C
726 lines
10 KiB
C
// 'None' must always be the first name.
|
|
xx(None)
|
|
xx(Null)
|
|
|
|
xx(Super)
|
|
xx(Object)
|
|
xx(Actor)
|
|
xx(Class)
|
|
xx(ClassClass)
|
|
|
|
xx(Untranslated)
|
|
|
|
xx(Doom)
|
|
xx(Heretic)
|
|
xx(Hexen)
|
|
xx(Strife)
|
|
xx(Raven)
|
|
|
|
// blood spawning
|
|
xx(Blood)
|
|
xx(BloodSplatter)
|
|
xx(AxeBlood)
|
|
xx(Spray)
|
|
|
|
// Invulnerability types
|
|
xx(Ghost)
|
|
xx(Reflective)
|
|
|
|
// Invisibility types
|
|
xx(Additive)
|
|
xx(Cumulative)
|
|
xx(Fuzzy)
|
|
xx(Opaque)
|
|
xx(Stencil)
|
|
xx(AddStencil)
|
|
|
|
// Render styles
|
|
xx(Normal)
|
|
xx(SoulTrans)
|
|
xx(OptFuzzy)
|
|
xx(Add)
|
|
xx(Shaded)
|
|
xx(AddShaded)
|
|
xx(TranslucentStencil)
|
|
xx(Shadow)
|
|
xx(Subtract)
|
|
xx(Subtractive)
|
|
xx(FillColor)
|
|
|
|
// Healingradius types
|
|
xx(Mana)
|
|
xx(Armor)
|
|
|
|
// Per-actor sound channels
|
|
xx(Auto)
|
|
xx(Weapon)
|
|
xx(Voice)
|
|
xx(Item)
|
|
xx(Body)
|
|
xx(SoundSlot5)
|
|
xx(SoundSlot6)
|
|
xx(SoundSlot7)
|
|
|
|
// Hexen sound sequence names
|
|
xx(Platform)
|
|
xx(PlatformMetal)
|
|
xx(Silence)
|
|
xx(Lava)
|
|
xx(Water)
|
|
xx(Ice)
|
|
xx(Earth)
|
|
xx(PlatformMetal2)
|
|
xx(DoorNormal)
|
|
xx(DoorHeavy)
|
|
xx(DoorMetal)
|
|
xx(DoorCreak)
|
|
xx(DoorMetal2)
|
|
xx(Wind)
|
|
|
|
xx(PointPusher)
|
|
xx(PointPuller)
|
|
|
|
xx(UpperStackLookOnly)
|
|
xx(LowerStackLookOnly)
|
|
|
|
xx(BulletPuff)
|
|
xx(StrifePuff)
|
|
xx(MaulerPuff)
|
|
|
|
// Special bosses A_BossDeath knows about
|
|
xx(Fatso)
|
|
xx(Arachnotron)
|
|
xx(BaronOfHell)
|
|
xx(Cyberdemon)
|
|
xx(SpiderMastermind)
|
|
xx(Ironlich)
|
|
xx(Minotaur)
|
|
xx(Sorcerer2)
|
|
|
|
// P_SpawnMapThing checks for these as health items (I smell a FIXME)
|
|
xx(Berserk)
|
|
xx(Soulsphere)
|
|
xx(Megasphere) // also counts as armor for P_SpawnMapThing
|
|
|
|
// Standard player classes
|
|
xx(DoomPlayer)
|
|
xx(HereticPlayer)
|
|
xx(StrifePlayer)
|
|
xx(FighterPlayer)
|
|
xx(ClericPlayer)
|
|
xx(MagePlayer)
|
|
xx(ChexPlayer)
|
|
xx(ChickenPlayer)
|
|
xx(PigPlayer)
|
|
|
|
// Flechette names for the different Hexen player classes
|
|
xx(ArtiPoisonBag1)
|
|
xx(ArtiPoisonBag2)
|
|
xx(ArtiPoisonBag3)
|
|
|
|
// Strife quests
|
|
xx(QuestItem)
|
|
|
|
// Armor
|
|
xx(BasicArmor)
|
|
|
|
// The Wings of Wrath
|
|
xx(ArtiFly)
|
|
|
|
// Doom ammo types
|
|
xx(Clip)
|
|
xx(Shell)
|
|
xx(RocketAmmo)
|
|
xx(Cell)
|
|
|
|
// Hexen Mana
|
|
xx(Mana1)
|
|
xx(Mana2)
|
|
|
|
// Hexen's fourth weapons
|
|
xx(FWeapQuietus)
|
|
xx(CWeapWraithverge)
|
|
xx(MWeapBloodscourge)
|
|
|
|
// Misc Hexen classes
|
|
xx(LightningZap)
|
|
|
|
// Ammo and weapon names for the Strife status bar
|
|
xx(ClipOfBullets)
|
|
xx(PoisonBolts)
|
|
xx(ElectricBolts)
|
|
xx(HEGrenadeRounds)
|
|
xx(PhosphorusGrenadeRounds)
|
|
xx(MiniMissiles)
|
|
xx(EnergyPod)
|
|
|
|
xx(StrifeCrossbow)
|
|
xx(AssaultGun)
|
|
xx(FlameThrower)
|
|
xx(MiniMissileLauncher)
|
|
xx(StrifeGrenadeLauncher)
|
|
xx(Mauler)
|
|
|
|
xx(AcolyteBlue)
|
|
xx(SpectralLightningV1)
|
|
xx(SpectralLightningV2)
|
|
xx(TeleportDest)
|
|
xx(TeleportDest2)
|
|
|
|
// Strife's spectres
|
|
xx(AlienSpectre1)
|
|
xx(AlienSpectre2)
|
|
xx(AlienSpectre3)
|
|
xx(AlienSpectre4)
|
|
xx(AlienSpectre5)
|
|
xx(Oracle)
|
|
|
|
xx(Chicken)
|
|
xx(Pig)
|
|
|
|
// Standard animator names.
|
|
xx(Spawn)
|
|
xx(See)
|
|
xx(Pain)
|
|
xx(Melee)
|
|
xx(Missile)
|
|
xx(Crash)
|
|
xx(Death)
|
|
xx(Raise)
|
|
xx(Wound)
|
|
xx(Heal)
|
|
xx(Crush)
|
|
xx(Yes)
|
|
xx(No)
|
|
xx(Greetings)
|
|
xx(Idle)
|
|
xx(GenericFreezeDeath)
|
|
xx(GenericCrush)
|
|
|
|
// Bounce state names
|
|
xx(Bounce)
|
|
xx(Wall)
|
|
xx(Floor)
|
|
xx(Ceiling)
|
|
xx(Creature)
|
|
|
|
// Compatible death names for the decorate parser.
|
|
xx(XDeath)
|
|
xx(Burn)
|
|
//xx(Ice) // already defined above
|
|
xx(Disintegrate)
|
|
xx(Brainexplode)
|
|
|
|
// Weapon animator names.
|
|
xx(Select)
|
|
xx(Deselect)
|
|
xx(DeadLowered)
|
|
xx(Ready)
|
|
xx(Fire)
|
|
xx(Hold)
|
|
xx(AltFire)
|
|
xx(AltHold)
|
|
xx(Flash)
|
|
xx(AltFlash)
|
|
xx(Reload)
|
|
xx(Zoom)
|
|
xx(User1)
|
|
xx(User2)
|
|
xx(User3)
|
|
xx(User4)
|
|
|
|
// State names used by ASwitchableDecoration
|
|
xx(Active)
|
|
xx(Inactive)
|
|
|
|
// State names used by ACustomInventory
|
|
xx(Pickup)
|
|
xx(Use)
|
|
xx(Drop)
|
|
|
|
xx(Fist)
|
|
//xx(Berserk)
|
|
xx(Chainsaw)
|
|
xx(Pistol)
|
|
xx(Shotgun)
|
|
xx(SSG)
|
|
xx(Chaingun)
|
|
xx(Rocket)
|
|
xx(Plasma)
|
|
xx(BFG)
|
|
//xx(Railgun)
|
|
xx(Dagger)
|
|
|
|
// Damage types
|
|
//xx(Fire) already defined above
|
|
//xx(Ice)
|
|
//xx(Disintegrate)
|
|
xx(Drowning)
|
|
xx(Slime)
|
|
//xx(Crush)
|
|
xx(Telefrag)
|
|
xx(Falling)
|
|
xx(Suicide)
|
|
xx(Exit)
|
|
xx(Railgun)
|
|
xx(Poison)
|
|
xx(Electric)
|
|
xx(BFGSplash)
|
|
xx(DrainLife) // A weapon like the Sigil that drains your life away.
|
|
xx(Massacre) // For death by a cheater!
|
|
//(Melee) already defined above, so don't define it again
|
|
xx(InstantDeath) // Strife "instant death"
|
|
xx(PoisonCloud) // makes monsters howl.
|
|
xx(Hitscan) // for normal guns and the like
|
|
|
|
// Special death name for getting killed excessively. Could be used as
|
|
// a damage type if you wanted to force an extreme death.
|
|
xx(Extreme)
|
|
xx(MDK)
|
|
xx(Cast) // 'damage type' for the cast call
|
|
|
|
// Special names for thingdef_exp.cpp
|
|
xx(Random)
|
|
xx(FRandom)
|
|
xx(Random2)
|
|
xx(RandomPick)
|
|
xx(FRandomPick)
|
|
xx(Exp)
|
|
xx(Log10)
|
|
xx(Ceil)
|
|
xx(ACos)
|
|
xx(ASin)
|
|
xx(ATan)
|
|
xx(Cos)
|
|
xx(Sin)
|
|
xx(Tan)
|
|
xx(CosH)
|
|
xx(SinH)
|
|
xx(TanH)
|
|
xx(ATan2)
|
|
xx(VectorAngle)
|
|
xx(Alpha)
|
|
xx(Angle)
|
|
xx(Args)
|
|
xx(CeilingZ)
|
|
xx(FloorZ)
|
|
xx(Health)
|
|
xx(Pitch)
|
|
xx(Special)
|
|
xx(TID)
|
|
xx(TIDtoHate)
|
|
xx(WaterLevel)
|
|
xx(X)
|
|
xx(Y)
|
|
xx(Z)
|
|
xx(MomX)
|
|
xx(MomY)
|
|
xx(MomZ)
|
|
xx(Threshold)
|
|
xx(DefThreshold)
|
|
xx(Abs)
|
|
xx(ACS_NamedExecuteWithResult)
|
|
xx(CallACS)
|
|
xx(Sqrt)
|
|
xx(CheckClass)
|
|
xx(IsPointerEqual)
|
|
xx(Pick)
|
|
xx(Mass)
|
|
xx(VelX)
|
|
xx(VelY)
|
|
xx(VelZ)
|
|
xx(Accuracy)
|
|
xx(Stamina)
|
|
xx(Radius)
|
|
xx(ReactionTime)
|
|
xx(MeleeRange)
|
|
xx(Speed)
|
|
xx(Clamp)
|
|
xx(VisibleStartAngle)
|
|
xx(VisibleStartPitch)
|
|
xx(VisibleEndAngle)
|
|
xx(VisibleEndPitch)
|
|
|
|
// Various actor names which are used internally
|
|
xx(MapSpot)
|
|
xx(PatrolPoint)
|
|
xx(PatrolSpecial)
|
|
xx(Communicator)
|
|
|
|
// Textmap properties
|
|
//xx(X)
|
|
//xx(Y)
|
|
xx(ZFloor)
|
|
xx(ZCeiling)
|
|
xx(Height)
|
|
//xx(Tid)
|
|
//xx(Angle)
|
|
xx(Type)
|
|
//xx(Special)
|
|
xx(Arg0)
|
|
xx(Arg1)
|
|
xx(Arg2)
|
|
xx(Arg3)
|
|
xx(Arg4)
|
|
xx(Arg0Str)
|
|
xx(Arg1Str)
|
|
xx(Id)
|
|
xx(MoreIds)
|
|
xx(V1)
|
|
xx(V2)
|
|
|
|
xx(Sidefront)
|
|
xx(Sideback)
|
|
xx(Offsetx)
|
|
xx(Offsety)
|
|
xx(Texturetop)
|
|
xx(Texturebottom)
|
|
xx(Texturemiddle)
|
|
xx(Sector)
|
|
xx(Heightfloor)
|
|
xx(Heightceiling)
|
|
xx(Lightlevel)
|
|
xx(Texturefloor)
|
|
xx(Textureceiling)
|
|
xx(Nodecals)
|
|
|
|
xx(Skill1)
|
|
xx(Skill2)
|
|
xx(Skill3)
|
|
xx(Skill4)
|
|
xx(Skill5)
|
|
xx(Skill6)
|
|
xx(Skill7)
|
|
xx(Skill8)
|
|
xx(Skill9)
|
|
xx(Skill10)
|
|
xx(Skill11)
|
|
xx(Skill12)
|
|
xx(Skill13)
|
|
xx(Skill14)
|
|
xx(Skill15)
|
|
xx(Skill16)
|
|
xx(Medium)
|
|
xx(Hard)
|
|
xx(Ambush)
|
|
xx(Dormant)
|
|
xx(Class0)
|
|
xx(Class1)
|
|
xx(Class2)
|
|
xx(Class3)
|
|
xx(Class4)
|
|
xx(Class5)
|
|
xx(Class6)
|
|
xx(Class7)
|
|
xx(Class8)
|
|
xx(Class9)
|
|
xx(Class10)
|
|
xx(Class11)
|
|
xx(Class12)
|
|
xx(Class13)
|
|
xx(Class14)
|
|
xx(Class15)
|
|
xx(Class16)
|
|
xx(Single)
|
|
xx(Coop)
|
|
xx(Dm)
|
|
xx(Translucent)
|
|
xx(Invisible)
|
|
xx(Friend)
|
|
xx(Strifeally)
|
|
xx(Standing)
|
|
xx(Countsecret)
|
|
xx(Score)
|
|
xx(Roll)
|
|
xx(Scale)
|
|
xx(ScaleX)
|
|
xx(ScaleY)
|
|
xx(Floatbobphase)
|
|
|
|
xx(Blocking)
|
|
xx(Blockmonsters)
|
|
xx(Twosided)
|
|
xx(Dontpegtop)
|
|
xx(Dontpegbottom)
|
|
xx(Secret)
|
|
xx(Blocksound)
|
|
xx(Dontdraw)
|
|
xx(Mapped)
|
|
xx(Monsteractivate)
|
|
xx(Blockplayers)
|
|
xx(Blockeverything)
|
|
xx(Zoneboundary)
|
|
xx(Jumpover)
|
|
xx(Blockfloaters)
|
|
xx(Clipmidtex)
|
|
xx(Wrapmidtex)
|
|
xx(Midtex3d)
|
|
xx(Checkswitchrange)
|
|
xx(Firstsideonly)
|
|
xx(Transparent)
|
|
xx(Passuse)
|
|
xx(Repeatspecial)
|
|
xx(Conversation)
|
|
xx(Locknumber)
|
|
xx(Midtex3dimpassible)
|
|
|
|
xx(Playercross)
|
|
xx(Playeruse)
|
|
xx(Playeruseback)
|
|
xx(Monstercross)
|
|
xx(Impact)
|
|
xx(Playerpush)
|
|
xx(Missilecross)
|
|
xx(Anycross)
|
|
xx(Monsteruse)
|
|
xx(Monsterpush)
|
|
|
|
xx(ZDoom)
|
|
xx(ZDoomTranslated)
|
|
xx(Vavoom)
|
|
|
|
xx(Xpanningfloor)
|
|
xx(Ypanningfloor)
|
|
xx(Xpanningceiling)
|
|
xx(Ypanningceiling)
|
|
xx(Xscalefloor)
|
|
xx(Yscalefloor)
|
|
xx(Xscaleceiling)
|
|
xx(Yscaleceiling)
|
|
xx(Rotationfloor)
|
|
xx(Rotationceiling)
|
|
xx(Lightfloor)
|
|
xx(Lightceiling)
|
|
xx(Lightfloorabsolute)
|
|
xx(Lightceilingabsolute)
|
|
xx(Gravity)
|
|
xx(Lightcolor)
|
|
xx(Fadecolor)
|
|
xx(Desaturation)
|
|
xx(SoundSequence)
|
|
xx(Silent)
|
|
xx(Nofallingdamage)
|
|
xx(Dropactors)
|
|
xx(NoRespawn)
|
|
xx(Alphafloor)
|
|
xx(Alphaceiling)
|
|
xx(Renderstylefloor)
|
|
xx(Renderstyleceiling)
|
|
xx(Waterzone)
|
|
xx(portal_ceil_alpha)
|
|
xx(portal_ceil_blocksound)
|
|
xx(portal_ceil_disabled)
|
|
xx(portal_ceil_nopass)
|
|
xx(portal_ceil_norender)
|
|
xx(portal_ceil_overlaytype)
|
|
xx(portal_ceil_useglobaltex)
|
|
xx(portal_floor_alpha)
|
|
xx(portal_floor_blocksound)
|
|
xx(portal_floor_disabled)
|
|
xx(portal_floor_nopass)
|
|
xx(portal_floor_norender)
|
|
xx(portal_floor_overlaytype)
|
|
xx(portal_floor_useglobaltex)
|
|
|
|
|
|
xx(offsetx_top)
|
|
xx(offsety_top)
|
|
xx(offsetx_mid)
|
|
xx(offsety_mid)
|
|
xx(offsetx_bottom)
|
|
xx(offsety_bottom)
|
|
xx(scalex_top)
|
|
xx(scaley_top)
|
|
xx(scalex_mid)
|
|
xx(scaley_mid)
|
|
xx(scalex_bottom)
|
|
xx(scaley_bottom)
|
|
xx(light)
|
|
xx(lightabsolute)
|
|
xx(lightfog)
|
|
xx(nofakecontrast)
|
|
xx(smoothlighting)
|
|
xx(blockprojectiles)
|
|
xx(blockuse)
|
|
xx(hidden)
|
|
xx(blocksight)
|
|
xx(blockhitscan)
|
|
|
|
xx(Renderstyle)
|
|
|
|
xx(ceilingplane_a)
|
|
xx(ceilingplane_b)
|
|
xx(ceilingplane_c)
|
|
xx(ceilingplane_d)
|
|
xx(floorplane_a)
|
|
xx(floorplane_b)
|
|
xx(floorplane_c)
|
|
xx(floorplane_d)
|
|
xx(damageamount)
|
|
xx(damagetype)
|
|
xx(damageinterval)
|
|
xx(leakiness)
|
|
xx(damageterraineffect)
|
|
xx(damagehazard)
|
|
xx(floorterrain)
|
|
xx(ceilingterrain)
|
|
|
|
// USDF keywords
|
|
xx(Amount)
|
|
xx(Text)
|
|
xx(Displaycost)
|
|
xx(Yesmessage)
|
|
xx(Nomessage)
|
|
xx(Log)
|
|
xx(Giveitem)
|
|
xx(Nextpage)
|
|
xx(Closedialog)
|
|
xx(Cost)
|
|
xx(Page)
|
|
xx(Count)
|
|
xx(Name)
|
|
xx(Panel)
|
|
xx(Dialog)
|
|
xx(Ifitem)
|
|
xx(Choice)
|
|
xx(Link)
|
|
xx(Goodbye)
|
|
|
|
// Special menus
|
|
xx(Mainmenu)
|
|
xx(Episodemenu)
|
|
xx(Playerclassmenu)
|
|
xx(HexenDefaultPlayerclassmenu)
|
|
xx(Skillmenu)
|
|
xx(Startgame)
|
|
xx(StartgameConfirm)
|
|
xx(StartgameConfirmed)
|
|
xx(Loadgamemenu)
|
|
xx(Savegamemenu)
|
|
xx(Readthismenu)
|
|
xx(Optionsmenu)
|
|
xx(Quitmenu)
|
|
xx(Savemenu)
|
|
xx(Playermenu)
|
|
|
|
xx(Playerbox)
|
|
xx(Team)
|
|
xx(Color)
|
|
xx(Red)
|
|
xx(Green)
|
|
xx(Blue)
|
|
xx(Skin)
|
|
xx(Gender)
|
|
xx(Autoaim)
|
|
xx(Switch)
|
|
xx(Playerdisplay)
|
|
xx(Controlmessage)
|
|
xx(Crosshairs)
|
|
xx(Colorpickermenu)
|
|
xx(Mididevices)
|
|
xx(Aldevices)
|
|
xx(CustomizeControls)
|
|
xx(MessageOptions)
|
|
xx(AutomapOptions)
|
|
xx(ScoreboardOptions)
|
|
xx(MapColorMenu)
|
|
xx(GameplayOptions)
|
|
xx(CompatibilityOptions)
|
|
xx(MouseOptions)
|
|
xx(JoystickOptions)
|
|
xx(SoundOptions)
|
|
xx(AdvSoundOptions)
|
|
xx(ModReplayerOptions)
|
|
xx(VideoOptions)
|
|
xx(JoystickConfigMenu)
|
|
xx(VMEnterText)
|
|
xx(VMTestText)
|
|
xx(VideoModeMenu)
|
|
xx(res_0)
|
|
xx(res_1)
|
|
xx(res_2)
|
|
xx(res_3)
|
|
xx(res_4)
|
|
xx(res_5)
|
|
xx(res_6)
|
|
xx(res_7)
|
|
xx(res_8)
|
|
xx(res_9)
|
|
xx(AlwaysRun)
|
|
|
|
// end sequences
|
|
xx(Inter_Chess)
|
|
xx(Inter_Strife)
|
|
xx(Inter_Strife_Good)
|
|
xx(Inter_Strife_Sad)
|
|
xx(Inter_Strife_Bad)
|
|
xx(Inter_Strife_Lose)
|
|
xx(Inter_Strife_MAP03)
|
|
xx(Inter_Strife_MAP10)
|
|
xx(Multiplayer)
|
|
|
|
// more stuff
|
|
xx(ColorSet)
|
|
xx(NeverSwitchOnPickup)
|
|
xx(MoveBob)
|
|
xx(StillBob)
|
|
xx(WBobSpeed)
|
|
xx(PlayerClass)
|
|
xx(Wi_NoAutostartMap)
|
|
|
|
// Decorate compatibility functions
|
|
xx(DecoRandom)
|
|
xx(DecoFRandom)
|
|
xx(DecoCallLineSpecial)
|
|
xx(DecoNameToClass)
|
|
xx(BuiltinFindMultiNameState)
|
|
xx(BuiltinFindSingleNameState)
|
|
xx(DecoHandleRuntimeState)
|
|
xx(Damage)
|
|
|
|
// basic type names
|
|
xx(Default)
|
|
xx(sByte)
|
|
xx(Byte)
|
|
xx(Short)
|
|
xx(uShort)
|
|
xx(Int)
|
|
xx(uInt)
|
|
xx(Bool)
|
|
xx(Float)
|
|
xx(Float32)
|
|
xx(Float64)
|
|
xx(Double)
|
|
xx(String)
|
|
xx(Vector)
|
|
xx(Map)
|
|
xx(Array)
|
|
xx(Sound)
|
|
xx(State)
|
|
xx(Fixed)
|
|
xx(Vector2)
|
|
xx(Vector3)
|
|
|
|
xx(Min)
|
|
xx(Max)
|
|
xx(Min_Normal)
|
|
xx(Min_Denormal)
|
|
xx(Epsilon)
|
|
xx(NaN)
|
|
xx(Infinity)
|
|
xx(Dig)
|
|
xx(Min_Exp)
|
|
xx(Max_Exp)
|
|
xx(Mant_Dig)
|
|
xx(Min_10_Exp)
|
|
xx(Max_10_Exp)
|
|
|
|
// implicit function parameters
|
|
xx(self)
|
|
xx(invoker)
|
|
xx(stateinfo)
|
|
|
|
xx(__decorate_internal_int__)
|
|
xx(__decorate_internal_bool__)
|
|
xx(__decorate_internal_state__)
|
|
xx(__decorate_internal_float__)
|