Documentation ¶
Overview ¶
Package dem processes Quake DEM files.
Index ¶
- Constants
- Variables
- type Block
- type BlockHeader
- type Demo
- type Entity
- type Message
- type MsgCameraOrientation
- type MsgCameraPos
- type MsgClientState
- type MsgDisconnect
- type MsgFinale
- type MsgFrags
- type MsgIntermission
- type MsgLightStyle
- type MsgNop
- type MsgPlaySound
- type MsgPlayerName
- type MsgPlayerState
- type MsgSpawnBaseline
- type MsgTime
- type MsgUpdate
- type ServerInfo
- type SoundEvent
- type State
- type Vertex
Constants ¶
View Source
const ( SU_VIEWHEIGHT = 0x0001 SU_IDEALPITCH = 0x0002 SU_PUNCH1 = 0x0004 SU_PUNCH2 = 0x0008 SU_PUNCH3 = 0x0010 SU_VELOCITY1 = 0x0020 SU_VELOCITY2 = 0x0040 SU_VELOCITY3 = 0x0080 SU_AIMENT = 0x0100 SU_ITEMS = 0x0200 SU_ONGROUND = 0x0400 SU_INWATER = 0x0800 SU_WEAPONFRAME = 0x1000 SU_ARMOR = 0x2000 SU_WEAPON = 0x4000 U_MOREBITS = 0x0001 U_ORIGIN1 = 0x0002 U_ORIGIN2 = 0x0004 U_ORIGIN3 = 0x0008 U_ANGLE2 = 0x0010 // read angle U_NOLERP = 0x0020 // don't interpolate movement U_FRAME = 0x0040 // read one more U_SIGNAL = 0x0080 U_ANGLE1 = 0x0100 // read angle U_ANGLE3 = 0x0200 // read angle U_MODEL = 0x0400 // read byte U_COLORMAP = 0x0800 U_SKIN = 0x1000 U_EFFECTS = 0x2000 U_LONGENTITY = 0x4000 // Effects EF_MUZZLEFLASH = 0x2 TE_SPIKE = 0 TE_SUPERSPIKE = 1 TE_GUNSHOT = 2 TE_EXPLOSION = 3 TE_TAREXPLOSION = 4 TE_LIGHTNING1 = 5 TE_LIGHTNING2 = 6 TE_WIZSPIKE = 7 TE_KNIGHTSPIKE = 8 TE_LIGHTNING3 = 9 TE_LAVASPLASH = 10 TE_TELEPORT = 11 TE_EXPLOSION2 = 12 TE_BEAM = 13 TE_IMPLOSION = 14 TE_RAILTRAIL = 15 )
Variables ¶
View Source
var (
Verbose = false
)
Functions ¶
This section is empty.
Types ¶
type Block ¶
type Block struct { Header BlockHeader // contains filtered or unexported fields }
func (*Block) DecodeMessage ¶
type BlockHeader ¶
type Demo ¶
type MsgCameraOrientation ¶
type MsgCameraOrientation struct {
X, Y, Z float32
}
func (MsgCameraOrientation) Apply ¶
func (m MsgCameraOrientation) Apply(s *State)
type MsgCameraPos ¶
type MsgCameraPos struct {
Entity uint16
}
func (MsgCameraPos) Apply ¶
func (m MsgCameraPos) Apply(s *State)
type MsgClientState ¶
type MsgClientState struct {
State uint8
}
func (MsgClientState) Apply ¶
func (m MsgClientState) Apply(s *State)
type MsgDisconnect ¶
type MsgDisconnect struct{}
func (MsgDisconnect) Apply ¶
func (m MsgDisconnect) Apply(s *State)
type MsgIntermission ¶
type MsgIntermission struct {
Text string
}
func (*MsgIntermission) Apply ¶
func (m *MsgIntermission) Apply(s *State)
type MsgLightStyle ¶
func (MsgLightStyle) Apply ¶
func (m MsgLightStyle) Apply(s *State)
type MsgPlaySound ¶
type MsgPlaySound struct { Sound int X, Y, Z float32 Channel int // Auto, weapon, voice, item, body Entity uint16 EntityChannel int Volume int Attenuation int }
func (MsgPlaySound) Apply ¶
func (m MsgPlaySound) Apply(s *State)
type MsgPlayerName ¶
func (MsgPlayerName) Apply ¶
func (m MsgPlayerName) Apply(s *State)
type MsgPlayerState ¶
func (MsgPlayerState) Apply ¶
func (m MsgPlayerState) Apply(s *State)
type MsgSpawnBaseline ¶
type MsgSpawnBaseline struct { Entity uint16 X, Y, Z float32 A, B, C float32 Model, Frame, Color, Skin uint8 }
func (MsgSpawnBaseline) Apply ¶
func (m MsgSpawnBaseline) Apply(s *State)
type MsgUpdate ¶
type ServerInfo ¶
type ServerInfo struct { // Protocol version of the server. Quake uses the version value 15 and it is not likely, that this will change. ServerVersion uint32 MaxClients uint8 // maximum number of clients in this recording. It is 1 in single player recordings or the number after the -listen command line parameter. GameType uint8 Level string Models []string Sounds []string }
func (*ServerInfo) Apply ¶
func (si *ServerInfo) Apply(s *State)
type SoundEvent ¶
type SoundEvent struct { Time float64 Sound MsgPlaySound }
type State ¶
type State struct { Time float64 Entities []Entity SeenEntity map[uint16]bool // 2 Means render 3D. ClientState int CameraEnt int CameraViewAngle Vertex CameraSetViewAngle bool // If CameraOrientation has been set, ignore header. ViewAngle Vertex ServerInfo ServerInfo Level *bsp.BSP Sounds []SoundEvent }
Click to show internal directories.
Click to hide internal directories.