diff options
-rw-r--r-- | client_conn.go | 1 | ||||
-rw-r--r-- | content.go | 18 | ||||
-rw-r--r-- | server_conn.go | 5 |
3 files changed, 23 insertions, 1 deletions
diff --git a/client_conn.go b/client_conn.go index fdd4d19..45e8b3b 100644 --- a/client_conn.go +++ b/client_conn.go @@ -486,6 +486,7 @@ func handleClt(cc *clientConn) { if _, ok := cmd.Pointed.(*mt.PointedAO); ok { cc.server().swapAOID(&cmd.Pointed.(*mt.PointedAO).ID) } + cc.server().SendCmd(cmd) } } @@ -430,6 +430,24 @@ func muxContent(userName string) (itemDefs []mt.ItemDef, aliases []struct{ Alias return } +func (sc *serverConn) globalParam0(p0 *mt.Content) { + if sc.client() != nil && sc.client().p0Map != nil { + if sc.client().p0Map[sc.name] != nil { + *p0 = sc.client().p0Map[sc.name][*p0] + } + } +} + +func (cc *clientConn) srvParam0(p0 *mt.Content) string { + if cc.p0SrvMap != nil { + srv := cc.p0SrvMap[*p0] + *p0 = srv.param0 + return srv.name + } + + return "" +} + func isDefaultTexture(s string) bool { list := []string{ "", diff --git a/server_conn.go b/server_conn.go index ee17978..4b1a246 100644 --- a/server_conn.go +++ b/server_conn.go @@ -364,7 +364,10 @@ func handleSrv(sc *serverConn) { } else if cmd.Type == mt.InitPlayers { cmd.Type = mt.AddPlayers } - + sc.client().SendCmd(cmd) + case *mt.ToCltSpawnParticle: + prependTexture(sc.name, &cmd.Texture) + sc.globalParam0(&cmd.NodeParam0) sc.client().SendCmd(cmd) } } |