had to commit cuz i was getting bombed

This commit is contained in:
2026-05-24 02:49:36 +03:00
parent c55a34f33c
commit a9766d6dd6
22 changed files with 389 additions and 116 deletions

View File

@@ -29,7 +29,7 @@ DECLARE_BUILD_STAGE(engine)
"miniaudio.cpp", "miniaudio.cpp",
"kotgui.cpp", "kottui.cpp",
}; };
if ( GET_PROJECT_VALUE(config, "steam") == "true" ) if ( GET_PROJECT_VALUE(config, "steam") == "true" )

View File

@@ -1,31 +0,0 @@
#include "kotgui/kotgui.h"
class CKotUIManager: public IKotUIManager
{
public:
virtual void BeginDrawing() = 0;
virtual void EndDrawing() = 0;
virtual IRenderContext *GetContext() = 0;
virtual IShader *GetShader( EKotUIShader eShader ) = 0;
virtual IRenderCommandList *GetCommandList() = 0;
};
namespace kotgui
{
void DrawText(
Alignment_t position,
Alignment_t offset,
float fRotation,
Color4 color,
uint32_t *pText,
uint32_t uSize,
IRenderFont *pFont,
float fTextSize
)
{
}
}

23
engine/kottui.cpp Normal file
View File

@@ -0,0 +1,23 @@
#include "kottui/kottui.h"
class CKotUIBuffer: public IKotUIBuffer
{
public:
virtual void SetColor( char c ) = 0;
virtual void SetPosition( int iY, int iX ) = 0;
virtual void Printf(const char *szFormat, ...) = 0;
virtual void PutChar( char c ) = 0;
virtual void Clear( char c ) = 0;
};
class CKotUIManager: public IKotUIManager
{
public:
virtual void SetTextSize( int iY, int iX ) = 0;
virtual void SetTextFont( IRenderFont *pFont ) = 0;
virtual void CreateBuffer( int iWidth, int iHeight, int iY, int iX ) = 0;
virtual void Draw( IRenderContext *pRenderContext );
};
IKotUIManager *KotUIManager();

2
external/SDL vendored

1
external/SPIRV-Tools vendored Submodule

Submodule external/SPIRV-Tools added at 0436c4b055

2
external/slang vendored

2
external/stb vendored

2
external/volk vendored

2
external/xtool vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 804 KiB

View File

@@ -0,0 +1,297 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 77;
objects = {
/* Begin PBXAggregateTarget section */
244BC7BC2FAA596A0029019D /* funnygame */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 244BC7BD2FAA596A0029019D /* Build configuration list for PBXAggregateTarget "funnygame" */;
buildPhases = (
);
dependencies = (
244BC7C52FAA5A320029019D /* PBXTargetDependency */,
);
name = funnygame;
packageProductDependencies = (
);
productName = funnygame;
};
/* End PBXAggregateTarget section */
/* Begin PBXContainerItemProxy section */
244BC7C42FAA5A320029019D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 24BD88E82FAA3AD800C64B4B /* Project object */;
proxyType = 1;
remoteGlobalIDString = 244BC7C02FAA5A230029019D;
remoteInfo = funnygame_exe;
};
/* End PBXContainerItemProxy section */
/* Begin PBXGroup section */
24BD88E72FAA3AD800C64B4B = {
isa = PBXGroup;
children = (
);
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXLegacyTarget section */
244BC7C02FAA5A230029019D /* funnygame_exe */ = {
isa = PBXLegacyTarget;
buildArgumentsString = build;
buildConfigurationList = 244BC7C12FAA5A230029019D /* Build configuration list for PBXLegacyTarget "funnygame_exe" */;
buildPhases = (
);
buildToolPath = "/Volumes/mnt/rtt/funnystdlib/build/tools/fpc/x86_64-apple-darwin/fpc";
buildWorkingDirectory = "";
dependencies = (
);
name = funnygame_exe;
packageProductDependencies = (
);
passBuildSettingsInEnvironment = 1;
productName = funnygame_exe;
};
/* End PBXLegacyTarget section */
/* Begin PBXProject section */
24BD88E82FAA3AD800C64B4B /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = 1;
LastUpgradeCheck = 2640;
TargetAttributes = {
244BC7BC2FAA596A0029019D = {
CreatedOnToolsVersion = 26.4;
};
244BC7C02FAA5A230029019D = {
CreatedOnToolsVersion = 26.4;
};
};
};
buildConfigurationList = 24BD88EB2FAA3AD800C64B4B /* Build configuration list for PBXProject "funnygame" */;
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 24BD88E72FAA3AD800C64B4B;
minimizedProjectReferenceProxies = 1;
preferredProjectObjectVersion = 77;
projectDirPath = "";
projectRoot = "";
targets = (
244BC7BC2FAA596A0029019D /* funnygame */,
244BC7C02FAA5A230029019D /* funnygame_exe */,
);
};
/* End PBXProject section */
/* Begin PBXTargetDependency section */
244BC7C52FAA5A320029019D /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 244BC7C02FAA5A230029019D /* funnygame_exe */;
targetProxy = 244BC7C42FAA5A320029019D /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
244BC7BE2FAA596A0029019D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = QU3M3RV4XD;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
244BC7BF2FAA596A0029019D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = QU3M3RV4XD;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
244BC7C22FAA5A230029019D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEBUGGING_SYMBOLS = YES;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = QU3M3RV4XD;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
244BC7C32FAA5A230029019D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = QU3M3RV4XD;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
24BD88ED2FAA3AD800C64B4B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = QU3M3RV4XD;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
};
name = Debug;
};
24BD88EE2FAA3AD800C64B4B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = QU3M3RV4XD;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
244BC7BD2FAA596A0029019D /* Build configuration list for PBXAggregateTarget "funnygame" */ = {
isa = XCConfigurationList;
buildConfigurations = (
244BC7BE2FAA596A0029019D /* Debug */,
244BC7BF2FAA596A0029019D /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
244BC7C12FAA5A230029019D /* Build configuration list for PBXLegacyTarget "funnygame_exe" */ = {
isa = XCConfigurationList;
buildConfigurations = (
244BC7C22FAA5A230029019D /* Debug */,
244BC7C32FAA5A230029019D /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
24BD88EB2FAA3AD800C64B4B /* Build configuration list for PBXProject "funnygame" */ = {
isa = XCConfigurationList;
buildConfigurations = (
24BD88ED2FAA3AD800C64B4B /* Debug */,
24BD88EE2FAA3AD800C64B4B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 24BD88E82FAA3AD800C64B4B /* Project object */;
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View File

View File

View File

@@ -9,7 +9,7 @@
#include "networkbase.h" #include "networkbase.h"
#include "iphysics.h" #include "iphysics.h"
#include "ihumandevice.h" #include "ihumandevice.h"
#include "kotgui/kotgui.h" #include "kottui/kottui.h"
class CEngineVars class CEngineVars
{ {
@@ -40,8 +40,6 @@ extern EngineConsts_t *g_pEngineConstants;
extern IPhysics *g_pPhysics; extern IPhysics *g_pPhysics;
extern IPhysicsWorld *g_pPhysicsWorld; extern IPhysicsWorld *g_pPhysicsWorld;
extern IKotUIManager *g_pKotUI;
#define FUNNY_SECURE_PORT 27015 #define FUNNY_SECURE_PORT 27015
#define FUNNY_QUERY_PORT 27016 #define FUNNY_QUERY_PORT 27016

View File

@@ -1,72 +0,0 @@
#ifndef KOTGUI_H
#define KOTGUI_H
#include "../materialsystem/imaterialsystem.h"
#include "../materialsystem/igamewindow.h"
#include "tier2/iappsystem.h"
abstract_class IRenderFont
{
public:
virtual IImage *GetAtlas();
virtual bool IsLetterPresent( uint32_t letter );
virtual float GetLetterX( uint32_t letter );
virtual float GetLetterY( uint32_t letter );
virtual float GetWidthX( uint32_t letter );
virtual float GetWidthY( uint32_t letter );
};
struct Alignment_t
{
int iX;
int iY;
float fX;
float fY;
};
struct Color3
{
float R;
float G;
float B;
};
struct Color4
{
float R;
float G;
float B;
};
enum EKotUIShader
{
k_eKotGUI_Text,
k_eKotGUI_Widget,
};
abstract_class IKotUIManager: public IAppSystem2
{
public:
virtual void BeginDrawing() = 0;
virtual void EndDrawing() = 0;
virtual void DrawText(
Alignment_t position,
Alignment_t offset,
float fRotation,
Color4 color,
uint32_t *pText,
uint32_t uSize,
IRenderFont *pFont,
float fTextSize
) = 0;
};
IKotUIManager *KotUIManager();
#define KOT_UI_INTEFACE_VERSION "KotUI001"
#endif

48
public/kottui/kottui.h Normal file
View File

@@ -0,0 +1,48 @@
#ifndef KOTTUI_H
#define KOTTUI_H
#include "../materialsystem/imaterialsystem.h"
#include "../materialsystem/igamewindow.h"
#include "tier2/iappsystem.h"
abstract_class IRenderFont
{
public:
virtual IImage *GetAtlas();
virtual bool IsLetterPresent( uint32_t letter );
virtual float GetLetterX( uint32_t letter );
virtual float GetLetterY( uint32_t letter );
virtual float GetWidthX( uint32_t letter );
virtual float GetWidthY( uint32_t letter );
};
abstract_class IKotUIBuffer
{
public:
virtual void SetPosition( int iY, int iX ) = 0;
virtual void Move( int iY, int iX ) = 0;
virtual void SetColor( char c ) = 0;
virtual void Clear( char c ) = 0;
virtual void PutChar( char c ) = 0;
virtual void Printf(const char *szFormat, ...) = 0;
virtual void Draw( IRenderContext *pRenderContext );
virtual void SetTextSize( int iY, int iX ) = 0;
virtual void SetTextFont( IRenderFont *pFont ) = 0;
};
abstract_class IKotUIManager: public IAppSystem
{
public:
virtual void CreateBuffer( int iWidth, int iHeight ) = 0;
};
IKotUIManager *KotUIManager();
#define KOT_UI_INTEFACE_VERSION "KotUI001"
#endif

2
utils/Makefile Normal file
View File

@@ -0,0 +1,2 @@
deploy_on_ios_from_xcode:
cd ../ && fpc build -os ios -arch aarch64