Pārlūkot izejas kodu

Core update fixes

Kajetan Johannes Hammerle 11 mēneši atpakaļ
vecāks
revīzija
668cce48fd
4 mainītis faili ar 18 papildinājumiem un 16 dzēšanām
  1. 1 1
      CMakeLists.txt
  2. 11 9
      src/Network.c
  3. 3 3
      src/Window.c
  4. 3 3
      test/modules/NetworkTests.c

+ 1 - 1
CMakeLists.txt

@@ -1,5 +1,5 @@
 cmake_minimum_required(VERSION 3.25)
-project(gaming_core)
+project(gaming_core C)
 
 add_subdirectory(glfw SYSTEM)
 

+ 11 - 9
src/Network.c

@@ -434,9 +434,9 @@ void coreServerStop(void) {
     if(server.server != nullptr) {
         CoreHashMapIterator i;
         coreInitHashMapIterator(&i, &server.clients);
-        while(coreHashMapHasNext(&i)) {
-            CoreHashMapNode* n = coreHashMapNext(&i);
-            enet_peer_reset(coreHashMapValue(n, ENetPeer*));
+        while(coreHasNextHashMapNode(&i)) {
+            CoreHashMapNode* n = coreNextHashMapNode(&i);
+            enet_peer_reset(*(ENetPeer**)n->value);
         }
         enet_host_destroy(server.server);
         server.server = nullptr;
@@ -460,8 +460,10 @@ static CoreClient getId(ENetPeer* peer) {
 
 static void handleConnect(ENetEvent* e) {
     CoreClient id = server.idCounter++;
-    assert(!coreHashMapContains(&server.clients, CoreClient, id));
-    coreHashMapPut(&server.clients, CoreClient, id, ENetPeer*, e->peer);
+    assert(coreSearchTypedHashMapKey(&server.clients, CoreClient, id, void*) ==
+           nullptr);
+    corePutTypedHashMapPair(&server.clients, CoreClient, id, ENetPeer*,
+                            e->peer);
     writeId(e->peer, id);
     server.onConnect(id);
 }
@@ -476,7 +478,7 @@ static void handlePacket(ENetEvent* e) {
 static void handleDisconnect(ENetEvent* e) {
     CoreClient id = getId(e->peer);
     server.onDisconnect(id);
-    coreHashMapRemove(&server.clients, CoreClient, id);
+    coreRemoveTypedHashMapKey(&server.clients, CoreClient, id);
 }
 
 void coreServerTick(void) {
@@ -516,7 +518,7 @@ void coreServerSend(CoreClient clientId, const CoreOutPacket* p,
     if(server.server == nullptr) {
         return;
     }
-    ENetPeer** peer = coreHashMapSearchPointer(&server.clients, &clientId);
+    ENetPeer** peer = coreSearchHashMapKey(&server.clients, &clientId);
     if(peer != nullptr) {
         enet_uint8 index = (enet_uint8)mode;
         enet_peer_send(*peer, index, fromBuffer(&p->data, index));
@@ -528,7 +530,7 @@ void coreServerTimeout(CoreClient clientId, u32 timeout, u32 timeoutMin,
     if(server.server == nullptr) {
         return;
     }
-    ENetPeer** peer = coreHashMapSearchPointer(&server.clients, &clientId);
+    ENetPeer** peer = coreSearchHashMapKey(&server.clients, &clientId);
     if(peer != nullptr) {
         enet_peer_timeout(*peer, timeout, timeoutMin, timeoutMax);
     }
@@ -538,7 +540,7 @@ void coreServerDisconnect(CoreClient clientId) {
     if(server.server == nullptr) {
         return;
     }
-    ENetPeer** peer = coreHashMapSearchPointer(&server.clients, &clientId);
+    ENetPeer** peer = coreSearchHashMapKey(&server.clients, &clientId);
     if(peer != nullptr) {
         enet_peer_disconnect(*peer, 0);
     }

+ 3 - 3
src/Window.c

@@ -235,7 +235,7 @@ void coreWindowNanosPerTick(i64 nanos) {
 }
 
 static i64 updateClock(Clock* c) {
-    i64 nanos = coreNanos();
+    i64 nanos = coreGetNanos();
     if(nanos < 0) {
         CORE_LOG_WARNING("Cannot get nanos, using default");
         nanos = 10000000 + c->last;
@@ -320,8 +320,8 @@ static void tick() {
 
 void coreWindowRun(void) {
     glfwMakeContextCurrent(window);
-    tps.last = coreNanos();
-    fps.last = coreNanos();
+    tps.last = coreGetNanos();
+    fps.last = coreGetNanos();
     i64 lag = 0;
     while(runHandler(runHandlerData)) {
         lag += updateClock(&fps);

+ 3 - 3
test/modules/NetworkTests.c

@@ -385,7 +385,7 @@ static void testServerClosesOnConnected(void) {
     coreClientTimeout(500, 500, 500);
     for(int i = 0; i < 500 && coreClientIsConnected(); i++) {
         coreClientTick();
-        coreSleep(10000000);
+        coreSleepNanos(10000000);
     }
     CORE_TEST_FALSE(coreClientIsConnected());
     CORE_TEST_TRUE(clientDisconnected);
@@ -413,7 +413,7 @@ static void testServerDisconnectsClient(void) {
     for(int i = 0; i < 500 && coreClientIsConnected(); i++) {
         coreClientTick();
         coreServerTick();
-        coreSleep(10000000);
+        coreSleepNanos(10000000);
     }
     CORE_TEST_FALSE(coreClientIsConnected());
     CORE_TEST_TRUE(clientDisconnected);
@@ -443,7 +443,7 @@ static void testClientClosesOnConnected(void) {
 #endif
     for(int i = 0; i < 500 && !serverDisconnect; i++) {
         coreServerTick();
-        coreSleep(10000000);
+        coreSleepNanos(10000000);
     }
     CORE_TEST_TRUE(serverDisconnect);
     coreServerStop();