using System.Numerics; using Raylib_cs; namespace OnekoOnline; static class OnekoOnline { public static readonly ConfigFile Config = new("config.conf"); const ConfigFlags raylibConfFlags = //ConfigFlags.FLAG_WINDOW_UNDECORATED | //ConfigFlags.FLAG_WINDOW_TRANSPARENT | //ConfigFlags.FLAG_WINDOW_MOUSE_PASSTHROUGH | //ConfigFlags.FLAG_WINDOW_TOPMOST | //ConfigFlags.FLAG_WINDOW_RESIZABLE | ConfigFlags.FLAG_VSYNC_HINT; public static void Main() { Raylib.SetConfigFlags(raylibConfFlags); Raylib.InitWindow(640, 480, "OnekoOnline"); Raylib.SetTargetFPS(30); //Raylib.MaximizeWindow(); Oneko LocalOneko = new(); RenderTexture2D RenderTexture = Raylib.LoadRenderTexture(320,240); int port = Config.GetValue("ServerPort", 42069); if (Config.GetValue("HostServer", false)) { Net.Server.Init(port); Net.Client.Init("127.0.0.1", port); } else { Net.Client.Init(Config.GetValue("ServerIP", "pond.sarahduck.ca"), port); } while (!Raylib.WindowShouldClose()) { Raylib.BeginTextureMode(RenderTexture); Raylib.ClearBackground(Color.GRAY); Raylib.DrawText("Oneko Online",12, 12, 8, Color.WHITE); Drawable.DrawAll(); Raylib.EndTextureMode(); Raylib.BeginDrawing(); Raylib.DrawTexturePro(RenderTexture.Texture, new Rectangle(0f,0f,320,-240), new Rectangle(0,0,640,480), Vector2.Zero,0f,Color.WHITE); Raylib.EndDrawing(); } Drawable.DisposeAll(); Raylib.CloseWindow(); Config.SaveFile(); } }