Getting somewhere lol

This commit is contained in:
2025-01-19 21:23:47 +01:00
parent 0f56916295
commit bb01dccf2b
6 changed files with 286 additions and 51 deletions

37
main.go
View File

@ -11,20 +11,21 @@ import (
)
func main() {
local := flag.Bool("local", false, "Use local server instead of remote")
addr := flag.String("addr", "boner.be:6969", "Server address (hostname:port or hostname)")
// Parse command line flags
local := flag.Bool("local", false, "Connect to local server")
addr := flag.String("addr", "", "Server address (host or host:port)")
flag.Parse()
if *local && *addr != "boner.be:6969" {
log.Fatal("Cannot use both -local and -addr flags")
}
// Set server address based on flags
if *local {
if *addr != "" {
log.Fatal("Cannot use -local and -addr together")
}
network.SetServerAddr("localhost:6969")
} else if *addr != "" {
// If only hostname is provided, append default port
// If port is not specified, append default port
if !strings.Contains(*addr, ":") {
*addr = *addr + ":6969"
*addr += ":6969"
}
network.SetServerAddr(*addr)
}
@ -32,36 +33,24 @@ func main() {
rl.InitWindow(1024, 768, "GoonScape")
rl.SetExitKey(0)
defer rl.CloseWindow()
rl.InitAudioDevice()
defer rl.CloseAudioDevice()
rl.SetTargetFPS(60)
game := game.New()
if err := game.LoadAssets(); err != nil {
log.Fatalf("Failed to load assets: %v", err)
}
defer game.Cleanup()
conn, playerID, err := network.ConnectToServer()
if err != nil {
log.Fatalf("Failed to connect to server: %v", err)
}
defer conn.Close()
game.Player.ID = playerID
modelIndex := int(playerID) % len(game.Models)
game.Player.Model = game.Models[modelIndex].Model
game.Player.Texture = game.Models[modelIndex].Texture
go network.HandleServerCommunication(conn, playerID, game.Player, game.OtherPlayers, game.QuitChan)
rl.PlayMusicStream(game.Music)
rl.SetMusicVolume(game.Music, 0.5)
rl.SetTargetFPS(60)
for !rl.WindowShouldClose() {
rl.UpdateMusicStream(game.Music)
deltaTime := rl.GetFrameTime()
rl.UpdateMusicStream(game.Music)
game.Update(deltaTime)
game.Render()
}