
Differences between Reflex and id Tech entities

    Reflex uses a right-handed coordinate system and id Tech uses a left-handed 
    system so many positions and angles must take this into account when being 
    converted.

    
    Position of Players and Pickups are stored differently in Reflex.  Player 
    positions are stored at a players feet, while in id Tech, at the center of 
    the character.  Converting from Reflex requires the vertical component of 
    position to be offset by 32 units.  Similarly, pickups must be offset by 
    two units.


    Entity attributes are often implicit; i.e. if an attribute is required but 
    unspecified, a default is used
        -All game modes are enabled by default and attributes are used to 
         disable undesired modes or to set 2v2
        -Entities without a position are implicitly at the origin
        -PointLights without a color default to white


    Attributes set in a WorldSpawn are used by all the entities it contains.
        -id Tech maps have a maximum of one WorldSpawn.  Many are allowed
         in Reflex
        -WorldSpawns often group PlayerSpawns by game mode


    Angles
        -Can be stored as a Vector3, since rotation about any axis is possible
        -Keyword angle is also supported (rotation about the vertical axis)
 

    Race Entities
        -Unlike id Tech games, is limited by not having checkpoint brushes
        -CTS only




Reflex entity types and all known attributes
    
    * is used to denote unsupported attributes and entity types
    ** For parsing purposes, is handled differently than other entities

    **WorldSpawn
        *String32 targetGameOverCamera
        *Float timeOfDay
        *Float skyAngle
        *UInt8 playersMin
        *UInt8 playersMax
        Bool8 modeFFA
        Bool8 modeTDM
        Bool8 modeCTF
        Bool8 mode1v1
        Bool8 modeRace
        Bool8 mode2v2

    Pickup 
    (pickupType Required)
        Vector3 position
        Vector3 angles
        UInt8 pickupType  -  See list of pickup IDs in this document

    PlayerSpawn
        Vector3 position 
        Vector3 angles
        Vector3 angle
        bool8 teamA
        bool8 teamB
        Bool8 modeFFA
        Bool8 modeTDM
        Bool8 modeCTF
        Bool8 mode1v1
        Bool8 modeRace
        *Bool8 mode2v2

    JumpPad
        String32 target
        brush

    Teleporter
        String32 target
        brush


    Target
    (name Required)
        Vector3 position
        Vector3 angles
        Vector3 angle
        String32 name

    RaceStart
        brush

    RaceFinish
        brush

    PointLight
        Vector3 position
        ColourXRGB32 color  -  ARGB, alpha channel always full for PointLights
        Float nearAttenuation
        Float farAttenuation

    *Prefab
        Vector3 position
        String64 prefabName

    *CameraPath
    (No direct id Tech equivalent)
        UInt8 posLerp
        Uint8angleLerp

    *Effect
        Vector3 position
        Vector3 angles
        String64 effectName
        String256 material0Name
        ColourARGB32 material0Albedo




Pickup IDs (of pickups suitable for conversion)

    Burst Gun (spawn weapon)
        This entity will not have a pickupType field.

    Weapons
        If the player doesn't have the weapon, then s/he will acquire it.
        If it is present, the player gains some ammo respective to the gun.
            pickupType 1 = Shotgun
            pickupType 2 = Grenade Launcher
            pickupType 3 = Plasma Rifle
            pickupType 4 = Rocket Launcher
            pickupType 5 = Ion Cannon
            pickupType 6 = Bolt Rifle
        
    Ammo
        Ammunition for weapons gained on pickup.
            pickupType 20 = Burst Gun Ammo
            pickupType 21 = Shotgun Ammo
            pickupType 22 = Grenade launcher Ammo
            pickupType 23 = Plasma Rifle Ammo
            pickupType 24 = Rocket Launcher Ammo
            pickupType 25 = Ion Cannon Ammo
            pickupType 26 = Bolt Rifle Ammo

    Power Up
        A temporary buff granted to the player.
            pickupType 60 = Carnage (increases a player's outgoing damage)
            pickupType 62 = Resist (decreases a player's incoming damage)

    Flags
        For use in Capture the Flag
            pickupType 70 = Team Alpha Flag (red team)
            pickupType 71 = Team Zeta Flag (blue team)

    Health 
        Restores the player's hitpoints.
            pickupType 40 = Small health
            pickupType 41 = Medium health
            pickupType 42 = large health
            pickupType 43 = Mega Health

    Armor
        Restores the player's armor.
        Reflex has a tiered Armor system.
        Green absorbs the least damage, and Red absorbs the most.
            pickupType 50 = Armor shard
            pickupType 51 = Green Armor
            pickupType 52 = Yellow Armor
            pickupType 53 = Red Armor

