ios compilation

This commit is contained in:
2026-05-05 18:20:20 +03:00
parent 386c2fc045
commit c5aef33171
23 changed files with 71 additions and 41 deletions

View File

@@ -6,7 +6,6 @@ auto szTarget = Target_t::DefaultTarget().GetTriplet();
auto szOutputDir = CUtlString("build/funnygame/%s/game", szTarget.GetString()); auto szOutputDir = CUtlString("build/funnygame/%s/game", szTarget.GetString());
ADD_DEPENDENCY_BUILD_FILE(cfg, "buildcfg.cpp"); ADD_DEPENDENCY_BUILD_FILE(cfg, "buildcfg.cpp");
ADD_DEPENDENCY_BUILD_FILE(launcher, "launcher/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(engine, "engine/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(engine, "engine/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(ms, "materialsystem/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(ms, "materialsystem/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(fs, "external/funnystdlib/stdfilesystems/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(fs, "external/funnystdlib/stdfilesystems/build.cpp");
@@ -15,6 +14,7 @@ ADD_DEPENDENCY_BUILD_FILE(fsc, "shadercompiler/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(server, "game/server/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(server, "game/server/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(client, "game/client/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(client, "game/client/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(rapier, "rapier/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(rapier, "rapier/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(launcher, "launcher/build.cpp");
#define EXTERNAL "external/" #define EXTERNAL "external/"
DECLARE_BUILD_STAGE(install_game) DECLARE_BUILD_STAGE(install_game)
@@ -35,6 +35,9 @@ DECLARE_BUILD_STAGE(install_game)
if ( GET_PROJECT_VALUE(config, "steam") == "true" ) { if ( GET_PROJECT_VALUE(config, "steam") == "true" ) {
filesystem2->CopyFile(szOutputDir, GET_PROJECT_OBJECT(config, "steam_lib")); filesystem2->CopyFile(szOutputDir, GET_PROJECT_OBJECT(config, "steam_lib"));
} }
if ( GET_PROJECT_VALUE(config, "bundle") == "true" ) {
return 0;
}
filesystem2->CopyFile(szOutputDir, GET_PROJECT_OBJECT(launcher, "launcher")); filesystem2->CopyFile(szOutputDir, GET_PROJECT_OBJECT(launcher, "launcher"));
filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "funnyassets/maps"); filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "funnyassets/maps");
filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "funnyassets/models"); filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "funnyassets/models");

View File

@@ -8,24 +8,22 @@ DECLARE_BUILD_STAGE(config)
{ {
ADD_OUTPUT_VALUE("static", "true"); ADD_OUTPUT_VALUE("static", "true");
ADD_OUTPUT_VALUE("steam", "false"); ADD_OUTPUT_VALUE("steam", "false");
ADD_OUTPUT_VALUE("bundle", "true");
} }
else
if (Target_t::DefaultTarget().GetTriplet() == "x86_64-unknown-linux")
{ {
if (Target_t::DefaultTarget().GetTriplet() == "x86_64-unknown-linux")
{
ADD_OUTPUT_VALUE("steam", "true");
ADD_OUTPUT_OBJECT("steam_lib", EXTERNAL"steamworks/redistributable_bin/linux64/libsteam_api.so");
}
else if (Target_t::DefaultTarget().kernel == TARGET_KERNEL_WINDOWS)
{
ADD_OUTPUT_VALUE("steam", "true");
ADD_OUTPUT_OBJECT("steam_lib", EXTERNAL"steamworks/redistributable_bin/win64/steam_api64.dll");
}
else {
ADD_OUTPUT_VALUE("steam", "false");
}
ADD_OUTPUT_VALUE("static", "false"); ADD_OUTPUT_VALUE("static", "false");
ADD_OUTPUT_VALUE("bundle", "false");
ADD_OUTPUT_VALUE("steam", "true");
ADD_OUTPUT_OBJECT("steam_lib", EXTERNAL"steamworks/redistributable_bin/linux64/libsteam_api.so");
}
if (Target_t::DefaultTarget().kernel == TARGET_KERNEL_WINDOWS)
{
ADD_OUTPUT_VALUE("static", "false");
ADD_OUTPUT_VALUE("bundle", "false");
ADD_OUTPUT_VALUE("steam", "true");
ADD_OUTPUT_OBJECT("steam_lib", EXTERNAL"steamworks/redistributable_bin/win64/steam_api64.dll");
} }
ADD_OUTPUT_VALUE("static", "true");
return 0; return 0;
} }

View File

@@ -22,13 +22,17 @@ DECLARE_BUILD_STAGE(engine)
"cvar.cpp", "cvar.cpp",
"localnetwork.cpp", "localnetwork.cpp",
"socketnetwork.cpp", "socketnetwork.cpp",
"steamnetwork.cpp",
"humandevice.cpp", "humandevice.cpp",
"sv_dll.cpp", "sv_dll.cpp",
"cl_dll.cpp", "cl_dll.cpp",
}; };
if ( GET_PROJECT_VALUE(config, "static") == "true" )
{
compileProject.files.AppendTail("steamnetwork.cpp");
}
compileProject.includeDirectories = { compileProject.includeDirectories = {
"../public", "../public",
"../external/SDL/include", "../external/SDL/include",

View File

@@ -36,10 +36,12 @@ static void CallAxisEvent( EInputDeviceType eDevice, EInputAxis eAxis, float fVa
g_pHumanDeviceManager->AxisEventRelative(eDevice, eAxis, fValue ); g_pHumanDeviceManager->AxisEventRelative(eDevice, eAxis, fValue );
} }
#ifdef STEAM
extern "C" void __cdecl SteamAPIDebug( ESteamNetworkingSocketsDebugOutputType nType, const char *pszMsg ) extern "C" void __cdecl SteamAPIDebug( ESteamNetworkingSocketsDebugOutputType nType, const char *pszMsg )
{ {
V_printf("STEAM: %s\n", pszMsg); V_printf("STEAM: %s\n", pszMsg);
} }
#endif
extern "C" void FunnyMain( int argc, char **argv ) extern "C" void FunnyMain( int argc, char **argv )
{ {

2
external/SDL vendored

2
external/cglm vendored

2
external/slang vendored

2
external/stb vendored

2
external/volk vendored

2
external/xtool vendored

View File

@@ -37,7 +37,9 @@ uint32_t NET_ServerCallback( NetCallback_t *pCallback )
if (pCallback->m_eType == NET_SERVER_READY_TO_USE) if (pCallback->m_eType == NET_SERVER_READY_TO_USE)
{ {
V_printf("//--- LAUNCHED SERVER AT ---\n"); V_printf("//--- LAUNCHED SERVER AT ---\n");
#ifdef STEAM
V_printf("// %llu\n", SteamGameServer()->GetSteamID().ConvertToUint64()); V_printf("// %llu\n", SteamGameServer()->GetSteamID().ConvertToUint64());
#endif
return 0; return 0;
} }
if (pCallback->m_eType == NET_TRYING_TO_CONNECT) if (pCallback->m_eType == NET_TRYING_TO_CONNECT)

View File

@@ -10,6 +10,7 @@ ADD_DEPENDENCY_BUILD_FILE(engine, "../engine/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(ms, "../materialsystem/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(ms, "../materialsystem/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(fs, "../external/funnystdlib/stdfilesystems/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(fs, "../external/funnystdlib/stdfilesystems/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(tier0, "../external/funnystdlib/tier0/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(tier0, "../external/funnystdlib/tier0/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(tier1, "../external/funnystdlib/tier1/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(server, "../game/server/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(server, "../game/server/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(client, "../game/client/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(client, "../game/client/build.cpp");
@@ -33,8 +34,9 @@ DECLARE_BUILD_STAGE(launcher)
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(engine, "engine")}); ldProject.objects.AppendTail({GET_PROJECT_OBJECT(engine, "engine")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(MaterialSystem, "MaterialSystem")}); ldProject.objects.AppendTail({GET_PROJECT_OBJECT(MaterialSystem, "MaterialSystem")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(RenderSystemVulkan, "RenderSystemVulkan")}); ldProject.objects.AppendTail({GET_PROJECT_OBJECT(RenderSystemVulkan, "RenderSystemVulkan")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(tier0, "tier0")}); ldProject.objects.AppendTail({GET_PROJECT_OBJECT(tier0, "libtier0")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(filesystem_std, "fs")}); ldProject.objects.AppendTail({GET_PROJECT_OBJECT(tier1, "tier1")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(filesystem_std, "libfs")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(shadercompiler, "fs")}); ldProject.objects.AppendTail({GET_PROJECT_OBJECT(shadercompiler, "fs")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(Server, "server")}); ldProject.objects.AppendTail({GET_PROJECT_OBJECT(Server, "server")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(Client, "client")}); ldProject.objects.AppendTail({GET_PROJECT_OBJECT(Client, "client")});
@@ -48,7 +50,20 @@ DECLARE_BUILD_STAGE(launcher)
manifest.SetPackageID("com.kotofyt.funnygame"); manifest.SetPackageID("com.kotofyt.funnygame");
manifest.SetPackageExecutable(outputProject); manifest.SetPackageExecutable(outputProject);
V_printf("%s\n", manifest.m_szPackageName.GetString()); V_printf("%s\n", manifest.m_szPackageName.GetString());
CUtlString szIpa = AppleTool()->BuildPackage( manifest, manifest.BuildManifest() );
CUtlString szOutputDir = manifest.BuildManifest();
filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "../funnyassets/maps");
filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "../funnyassets/models");
filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "../funnyassets/meshes");
filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "../funnyassets/materials");
filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "../funnyassets/textures");
filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "../funnyassets/physics");
filesystem2->CopyFile(CUtlString("%s/core/",szOutputDir.GetString()), "../funnyassets/default.cfg");
filesystem2->CopyDirectory(szOutputDir, "../external/ios/SDL3.framework");
filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "../build/funnygame/assets/shaders");
CUtlString szIpa = AppleTool()->BuildPackage( manifest, szOutputDir );
} }
ADD_OUTPUT_OBJECT("launcher", outputProject); ADD_OUTPUT_OBJECT("launcher", outputProject);
return 0; return 0;

View File

@@ -16,7 +16,7 @@
#include "TargetConditionals.h" #include "TargetConditionals.h"
#if TARGET_OS_IPHONE #if TARGET_OS_IPHONE
// iOS // iOS
#include "SDL3/SDL_main.h" //#include "SDL3/SDL_main.h"
#else #else
// macOS // macOS
#endif #endif
@@ -38,9 +38,11 @@ void *pTier0Lib = NULL;
typedef void (*EngineMainFn)(int argc, char** argv); typedef void (*EngineMainFn)(int argc, char** argv);
EngineMainFn pEngineMain; EngineMainFn pEngineMain;
//extern "C" void FunnyMain( int argc, char **argv ); extern "C" void FunnyMain( int argc, char **argv );
int main( int argc, char **argv ) { int main( int argc, char **argv ) {
printf("HIIII!\n");
return 0;
#ifdef __linux__ #ifdef __linux__
readlink("/proc/self/exe",szLauncherPath, MAX_PATH); readlink("/proc/self/exe",szLauncherPath, MAX_PATH);
dirname(szLauncherPath); dirname(szLauncherPath);
@@ -50,11 +52,11 @@ int main( int argc, char **argv ) {
snprintf(szSteamPath, MAX_PATH, "%s/libsteam_api.so", szLauncherPath); snprintf(szSteamPath, MAX_PATH, "%s/libsteam_api.so", szLauncherPath);
#endif #endif
#ifdef __APPLE__ #ifdef __APPLE__
uint32_t pathSize = sizeof(szLauncherPath); //uint32_t pathSize = sizeof(szLauncherPath);
int pathResult = _NSGetExecutablePath(szLauncherPath, &pathSize); //int pathResult = _NSGetExecutablePath(szLauncherPath, &pathSize);
char *szLauncherPath2 = dirname(szLauncherPath); //char *szLauncherPath2 = dirname(szLauncherPath);
snprintf(szEnginePath, MAX_PATH, "%s/libengine.dylib", szLauncherPath2); //snprintf(szEnginePath, MAX_PATH, "%s/libengine.dylib", szLauncherPath2);
snprintf(szTier0Path, MAX_PATH, "%s/libtier0.dylib", szLauncherPath2); //snprintf(szTier0Path, MAX_PATH, "%s/libtier0.dylib", szLauncherPath2);
#endif #endif
#ifndef __WIN32__ #ifndef __WIN32__
if ( !dlopen(szSteamPath, RTLD_NOW )) if ( !dlopen(szSteamPath, RTLD_NOW ))
@@ -100,5 +102,6 @@ int main( int argc, char **argv ) {
SetCurrentDirectoryA(szLauncherPath); SetCurrentDirectoryA(szLauncherPath);
pEngineMain(argc, argv); pEngineMain(argc, argv);
#endif #endif
//FunnyMain(argc, argv); FunnyMain(argc, argv);
return 0;
}; };

View File

@@ -13,7 +13,6 @@ ADD_DEPENDENCY_BUILD_FILE(gen, "vulkan/generate.build.cpp");
CUtlVector<CUtlString> MaterialSystem_CompiledFiles = { CUtlVector<CUtlString> MaterialSystem_CompiledFiles = {
"materialsystem.cpp", "materialsystem.cpp",
"compiledshader.cpp",
}; };
CUtlVector<CUtlString> RenderContextVulkan_CompiledFiles = { CUtlVector<CUtlString> RenderContextVulkan_CompiledFiles = {
"compiledshader.cpp", "compiledshader.cpp",
@@ -43,6 +42,10 @@ DECLARE_BUILD_STAGE(MaterialSystem)
LinkProject_t ldProject = {}; LinkProject_t ldProject = {};
compileProject.m_szName = "MaterialSystem"; compileProject.m_szName = "MaterialSystem";
if ( GET_PROJECT_VALUE(config, "static") != "true" )
{
MaterialSystem_CompiledFiles.AppendTail("compiledshader.cpp");
}
compileProject.files = MaterialSystem_CompiledFiles; compileProject.files = MaterialSystem_CompiledFiles;
compileProject.includeDirectories = { compileProject.includeDirectories = {
"../public", "../public",
@@ -92,6 +95,7 @@ DECLARE_BUILD_STAGE(RenderSystemVulkan)
EXTERNAL"Vulkan-Headers/include", EXTERNAL"Vulkan-Headers/include",
EXTERNAL"Vulkan-Utility-Libraries/include", EXTERNAL"Vulkan-Utility-Libraries/include",
EXTERNAL"VulkanMemoryAllocator/include", EXTERNAL"VulkanMemoryAllocator/include",
EXTERNAL"SPIRV-Headers/include",
EXTERNAL"volk", EXTERNAL"volk",
EXTERNAL, EXTERNAL,
}; };

View File

@@ -12,7 +12,6 @@ ADD_DEPENDENCY_BUILD_FILE(tier1, FUNNYSTDLIB"tier1/build.cpp");
DECLARE_BUILD_STAGE(rapier) DECLARE_BUILD_STAGE(rapier)
{ {
Target_t target = Target_t::DefaultTarget(); Target_t target = Target_t::DefaultTarget();
target.abi = TARGET_ABI_GNU;
CUtlString rapier_lib; CUtlString rapier_lib;
CUtlString szTarget = target.GetTriplet(); CUtlString szTarget = target.GetTriplet();
if (CommandLine()->CheckParam("-norust")) if (CommandLine()->CheckParam("-norust"))

Binary file not shown.

Binary file not shown.

Binary file not shown.