From 2206c2468390c5e1af100edcc3218d2311322aef Mon Sep 17 00:00:00 2001
From: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com>
Date: Fri, 29 Jul 2022 17:41:50 +0200
Subject: [PATCH] Add worldsize.h
---
r5dev/public/include/worldsize.h | 43 +++++++++++++++++++++++++++
r5dev/vproj/clientsdk.vcxproj | 1 +
r5dev/vproj/clientsdk.vcxproj.filters | 3 ++
r5dev/vproj/dedicated.vcxproj | 1 +
r5dev/vproj/dedicated.vcxproj.filters | 3 ++
r5dev/vproj/gamesdk.vcxproj | 1 +
r5dev/vproj/gamesdk.vcxproj.filters | 3 ++
7 files changed, 55 insertions(+)
create mode 100644 r5dev/public/include/worldsize.h
diff --git a/r5dev/public/include/worldsize.h b/r5dev/public/include/worldsize.h
new file mode 100644
index 00000000..141dc173
--- /dev/null
+++ b/r5dev/public/include/worldsize.h
@@ -0,0 +1,43 @@
+//========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//
+//=============================================================================//
+// worldsize.h -- extent of world and resolution/size of coordinate messages used in engine
+
+#ifndef WORLDSIZE_H
+#define WORLDSIZE_H
+#pragma once
+
+
+// These definitions must match the coordinate message sizes in coordsize.h
+
+// Following values should be +16384, -16384, +15/16, -15/16
+// NOTE THAT IF THIS GOES ANY BIGGER THEN DISK NODES/LEAVES CANNOT USE SHORTS TO STORE THE BOUNDS
+#define MAX_COORD_INTEGER (16384)
+#define MIN_COORD_INTEGER (-MAX_COORD_INTEGER)
+#define MAX_COORD_FRACTION (1.0-(1.0/16.0))
+#define MIN_COORD_FRACTION (-1.0+(1.0/16.0))
+
+#define MAX_COORD_FLOAT (16384.0f)
+#define MIN_COORD_FLOAT (-MAX_COORD_FLOAT)
+
+// Width of the coord system, which is TOO BIG to send as a client/server coordinate value
+#define COORD_EXTENT (2*MAX_COORD_INTEGER)
+
+// Maximum traceable distance ( assumes cubic world and trace from one corner to opposite )
+// COORD_EXTENT * sqrt(3)
+#define MAX_TRACE_LENGTH ( 1.732050807569 * COORD_EXTENT )
+
+// This value is the LONGEST possible range (limited by max valid coordinate number, not 2x)
+#define MAX_COORD_RANGE (MAX_COORD_INTEGER)
+
+#define TEST_COORD( v ) (((v).x>=MIN_COORD_INTEGER*2) && ((v).x<=MAX_COORD_INTEGER*2) && \
+ ((v).y>=MIN_COORD_INTEGER*2) && ((v).y<=MAX_COORD_INTEGER*2) && \
+ ((v).z>=MIN_COORD_INTEGER*2) && ((v).z<=MAX_COORD_INTEGER*2))
+
+#define ASSERT_COORD( v ) Assert( TEST_COORD( v ) );
+
+#endif // WORLDSIZE_H
diff --git a/r5dev/vproj/clientsdk.vcxproj b/r5dev/vproj/clientsdk.vcxproj
index 88fbc354..e3120545 100644
--- a/r5dev/vproj/clientsdk.vcxproj
+++ b/r5dev/vproj/clientsdk.vcxproj
@@ -261,6 +261,7 @@
+
diff --git a/r5dev/vproj/clientsdk.vcxproj.filters b/r5dev/vproj/clientsdk.vcxproj.filters
index cbb1591a..d9f4b512 100644
--- a/r5dev/vproj/clientsdk.vcxproj.filters
+++ b/r5dev/vproj/clientsdk.vcxproj.filters
@@ -1658,6 +1658,9 @@
sdk\tier1
+
+ sdk\public\include
+
diff --git a/r5dev/vproj/dedicated.vcxproj b/r5dev/vproj/dedicated.vcxproj
index 087b6919..7b395608 100644
--- a/r5dev/vproj/dedicated.vcxproj
+++ b/r5dev/vproj/dedicated.vcxproj
@@ -231,6 +231,7 @@
+
diff --git a/r5dev/vproj/dedicated.vcxproj.filters b/r5dev/vproj/dedicated.vcxproj.filters
index f44177e0..0f1e94bb 100644
--- a/r5dev/vproj/dedicated.vcxproj.filters
+++ b/r5dev/vproj/dedicated.vcxproj.filters
@@ -1188,6 +1188,9 @@
sdk\tier1
+
+ sdk\public\include
+
diff --git a/r5dev/vproj/gamesdk.vcxproj b/r5dev/vproj/gamesdk.vcxproj
index 7a7424ff..39edabf5 100644
--- a/r5dev/vproj/gamesdk.vcxproj
+++ b/r5dev/vproj/gamesdk.vcxproj
@@ -288,6 +288,7 @@
+
diff --git a/r5dev/vproj/gamesdk.vcxproj.filters b/r5dev/vproj/gamesdk.vcxproj.filters
index 2f5f468a..796ae3a2 100644
--- a/r5dev/vproj/gamesdk.vcxproj.filters
+++ b/r5dev/vproj/gamesdk.vcxproj.filters
@@ -1751,6 +1751,9 @@
sdk\tier1
+
+ sdk\public\include
+