@@ -16,7 +16,7 @@ import (
16
16
)
17
17
18
18
//var session *ggthx.SyncTestBackend
19
- var session * ggthx.Peer2PeerBackend
19
+ var session ggthx.Peer2PeerBackend
20
20
var player1 Player
21
21
var player2 Player
22
22
var game * Game
@@ -42,7 +42,10 @@ type Player struct {
42
42
43
43
func (g * Game ) Update () error {
44
44
now = int (time .Now ().UnixMilli ())
45
- ggthx .Idle (session , int (math .Max (0 , float64 (next - now - 1 ))))
45
+ //ggthx.Idle(session, int(math.Max(0, float64(next-now-1))))
46
+ fmt .Println ("Idling " )
47
+ session .DoPoll (int (math .Max (0 , float64 (next - now - 1 ))))
48
+ fmt .Println ("Idling Complete" )
46
49
if now >= next {
47
50
g .RunFrame ()
48
51
next = now + 1000 / 60
@@ -54,22 +57,35 @@ func (g *Game) RunFrame() {
54
57
input := g .ReadInputs ()
55
58
buffer := encodeInputs (input )
56
59
57
- result := ggthx .AddLocalInput (session , ggthx .PlayerHandle (currentPlayer ), buffer , len (buffer ))
60
+ fmt .Println ("Attempting to add local inputs" )
61
+ //result := ggthx.AddLocalInput(session, ggthx.PlayerHandle(currentPlayer), buffer, len(buffer))
62
+ result := session .AddLocalInput (ggthx .PlayerHandle (currentPlayer ), buffer , len (buffer ))
63
+ fmt .Println ("Attempt to add local inputs complete" )
58
64
if result == nil {
65
+ fmt .Println ("Attempt to add local inputs was successful" )
59
66
var values [][]byte
60
67
disconnectFlags := 0
61
68
62
- values , result = ggthx .SynchronizeInput (session , & disconnectFlags )
69
+ fmt .Println ("Attempting to synchronize inputs" )
70
+ //values, result = ggthx.SynchronizeInput(session, &disconnectFlags)
71
+ values , result = session .SyncInput (& disconnectFlags )
63
72
if result == nil {
73
+ fmt .Println ("Attempt synchronize inputs was sucessful" )
74
+
64
75
inputs := decodeInputs (values )
65
76
g .AdvanceFrame (inputs , disconnectFlags )
77
+ } else {
78
+ fmt .Println ("Attempt synchronize inputs was unsucessful" )
66
79
}
80
+ } else {
81
+ fmt .Println ("Attempt to add local inputs unsuccessful" )
67
82
}
68
83
}
69
84
70
85
func (g * Game ) AdvanceFrame (inputs []Input , disconnectFlags int ) {
71
86
g .UpdateByInputs (inputs )
72
- err := ggthx .AdvanceFrame (session )
87
+ //err := ggthx.AdvanceFrame(session)
88
+ err := session .IncrementFrame ()
73
89
if err != nil {
74
90
panic (err )
75
91
}
@@ -191,11 +207,13 @@ func freeBuffer(buffer []byte) {
191
207
}
192
208
193
209
func advanceFrame (flags int ) bool {
210
+ fmt .Println ("Advancing frame. " )
194
211
var discconectFlags int
195
212
196
213
// Make sure we fetch the inputs from GGPO and use these to update
197
214
// the game state instead of reading from the keyboard.
198
- inputs , result := ggthx .SynchronizeInput (session , & discconectFlags )
215
+ //inputs, result := ggthx.SynchronizeInput(session, &discconectFlags)
216
+ inputs , result := session .SyncInput (& discconectFlags )
199
217
if result != nil {
200
218
log .Fatal ("Error from GGTHXSynchronizeInput" )
201
219
}
@@ -242,19 +260,27 @@ func GameInit(localPort int, numPlayers int, players []ggthx.Player, numSpectato
242
260
callbacks .OnEvent = onEvent
243
261
callbacks .SaveGameState = saveGameState
244
262
245
- session = ggthx .StartSession (& callbacks , "Test" , numPlayers , inputSize , localPort )
263
+ //session = ggthx.StartSession(&callbacks, "Test", numPlayers, inputSize, localPort)
264
+ session = ggthx .NewPeer2PeerBackend (& callbacks , "Test" , localPort , numPlayers , inputSize )
265
+ session .SetDisconnectTimeout (3000 )
266
+ session .SetDisconnectNotifyStart (1000 )
246
267
247
- ggthx .SetDisconnectTimeout (session , 3000 )
248
- ggthx .SetDisconnectNotifyStart (session , 1000 )
268
+ // ggthx.SetDisconnectTimeout(session, 3000)
269
+ // ggthx.SetDisconnectNotifyStart(session, 1000)
249
270
250
271
for i := 0 ; i < numPlayers + numSpectators ; i ++ {
251
272
var handle ggthx.PlayerHandle
252
- result = ggthx .AddPlayer (session , & players [i ], & handle )
273
+ //result = ggthx.AddPlayer(session, &players[i], &handle)
274
+ result = session .AddPlayer (& players [i ], & handle )
275
+ if players [i ].PlayerType == ggthx .PlayerTypeLocal {
276
+ currentPlayer = int (handle )
277
+ }
253
278
if result != nil {
254
279
log .Fatalf ("There's an issue from AddPlayer" )
255
280
}
256
281
if players [i ].PlayerType == ggthx .PlayerTypeLocal {
257
- ggthx .SetFrameDelay (session , handle , FRAME_DELAY )
282
+ //ggthx.SetFrameDelay(session, handle, FRAME_DELAY)
283
+ session .SetFrameDelay (handle , FRAME_DELAY )
258
284
259
285
}
260
286
}
0 commit comments