Skip to content

Commit

Permalink
Generated and added some more wow constants
Browse files Browse the repository at this point in the history
  • Loading branch information
paalgyula committed May 31, 2023
1 parent 67a3102 commit a8730bc
Show file tree
Hide file tree
Showing 24 changed files with 879 additions and 284 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
bin/
./dbc/*
/dbc/
lib
server
**/__debug_bin
Expand Down
7 changes: 4 additions & 3 deletions pkg/summit/world/character.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ func (gc *GameClient) CreateCharacter(data wow.PacketData) {

// fmt.Printf("%s %+v\n", characerName, req)

// TODO: #2 when the DBC reader is ready this should be re-written
loc := player.WorldLocation{
X: 10311.3,
Y: 832.463,
Expand All @@ -61,9 +62,9 @@ func (gc *GameClient) CreateCharacter(data wow.PacketData) {

p := player.Player{
Name: characerName,
Race: player.PlayerRace(req.Race),
Class: player.PlayerClass(req.Class),
Gender: player.PlayerGender(req.Gender),
Race: wow.PlayerRace(req.Race),
Class: wow.PlayerClass(req.Class),
Gender: wow.PlayerGender(req.Gender),
Skin: req.Skin,
Face: req.Face,
HairStyle: req.HairStyle,
Expand Down
20 changes: 20 additions & 0 deletions pkg/summit/world/object/gameobject.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package object

type GameObject struct {
*Object
}

func NewGameObject() *GameObject {
gobject := &GameObject{
Object: NewObject(),
}

// m_objectType |= TYPEMASK_GAMEOBJECT
// m_objectTypeId = TYPEID_GAMEOBJECT
// 2.3.2 - 0x58
// m_updateFlag = (UPDATEFLAG_LOWGUID | UPDATEFLAG_HIGHGUID | UPDATEFLAG_HAS_POSITION)

// m_valuesCount = GAMEOBJECT_END

return gobject
}
49 changes: 45 additions & 4 deletions pkg/summit/world/object/object.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package object

import "github.com/paalgyula/summit/pkg/wow"
import (
"github.com/paalgyula/summit/pkg/wow"
)

// 1973 in MoP? Seems 1326 in wotlk
const dataLength int = int(wow.NumMsgTypes)
Expand All @@ -10,12 +12,51 @@ type Object struct {

UpdateData []wow.Packet
UpdateMask *UpdateMask

movementFlags wow.MovementFlag

objectTypeID wow.TypeID
objectType wow.TypeMask

isInWorld bool
isUpdated bool

uint32Values int
valuesCount int

updateFlags wow.ObjectUpdateFlags
}

func (o *Object) GetGuid() uint64 {
return uint64(o.guid)
func NewObject() *Object {
return &Object{
objectTypeID: wow.TypeIDObject,
objectType: wow.TypeMaskObject,

isInWorld: false,
isUpdated: false,
uint32Values: 0,
}
}

func (o *Object) Update() {
func (o *Object) AddUpdateFlags(flags ...wow.ObjectUpdateFlags) {
for _, ouf := range flags {
o.updateFlags |= ouf
}
}

func (o *Object) UpdateFlags() wow.ObjectUpdateFlags {
return o.updateFlags
}

func (o *Object) MovementFlags() wow.MovementFlag {
return o.movementFlags
}

func (o *Object) GameObjectType() wow.GameObjectType {
// return wow.GameObjectTypeObject
return wow.GameObjectTypeGeneric
}

func (o *Object) Guid() wow.GUID {
return o.guid
}
5 changes: 0 additions & 5 deletions pkg/summit/world/object/player/fields.go

This file was deleted.

25 changes: 25 additions & 0 deletions pkg/summit/world/object/player/movement.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package player

import "github.com/paalgyula/summit/pkg/wow"

// Movement info
type Movement struct {
MoveFlags wow.MovementFlag
MoveFlags2 uint8
Time uint32 // time in millisecond
Position WorldLocation

TransportGuid uint64
TransportPos WorldLocation
TransportTime uint32

SwimmingPitch float32
FallTime uint32

JumpVelocity float32
JumpSinAngle float32
JumpCosAngle float32
JumpXyspeed float32

Spline float32
}
Loading

0 comments on commit a8730bc

Please sign in to comment.