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());
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(ms, "materialsystem/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(client, "game/client/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(rapier, "rapier/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(launcher, "launcher/build.cpp");
#define EXTERNAL "external/"
DECLARE_BUILD_STAGE(install_game)
@@ -35,6 +35,9 @@ DECLARE_BUILD_STAGE(install_game)
if ( GET_PROJECT_VALUE(config, "steam") == "true" ) {
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->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "funnyassets/maps");
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("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("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;
}

View File

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

View File

@@ -36,10 +36,12 @@ static void CallAxisEvent( EInputDeviceType eDevice, EInputAxis eAxis, float fVa
g_pHumanDeviceManager->AxisEventRelative(eDevice, eAxis, fValue );
}
#ifdef STEAM
extern "C" void __cdecl SteamAPIDebug( ESteamNetworkingSocketsDebugOutputType nType, const char *pszMsg )
{
V_printf("STEAM: %s\n", pszMsg);
}
#endif
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)
{
V_printf("//--- LAUNCHED SERVER AT ---\n");
#ifdef STEAM
V_printf("// %llu\n", SteamGameServer()->GetSteamID().ConvertToUint64());
#endif
return 0;
}
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(fs, "../external/funnystdlib/stdfilesystems/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(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(MaterialSystem, "MaterialSystem")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(RenderSystemVulkan, "RenderSystemVulkan")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(tier0, "tier0")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(filesystem_std, "fs")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(tier0, "libtier0")});
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(Server, "server")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(Client, "client")});
@@ -48,7 +50,20 @@ DECLARE_BUILD_STAGE(launcher)
manifest.SetPackageID("com.kotofyt.funnygame");
manifest.SetPackageExecutable(outputProject);
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);
return 0;

View File

@@ -16,7 +16,7 @@
#include "TargetConditionals.h"
#if TARGET_OS_IPHONE
// iOS
#include "SDL3/SDL_main.h"
//#include "SDL3/SDL_main.h"
#else
// macOS
#endif
@@ -38,9 +38,11 @@ void *pTier0Lib = NULL;
typedef void (*EngineMainFn)(int argc, char** argv);
EngineMainFn pEngineMain;
//extern "C" void FunnyMain( int argc, char **argv );
extern "C" void FunnyMain( int argc, char **argv );
int main( int argc, char **argv ) {
printf("HIIII!\n");
return 0;
#ifdef __linux__
readlink("/proc/self/exe",szLauncherPath, MAX_PATH);
dirname(szLauncherPath);
@@ -50,11 +52,11 @@ int main( int argc, char **argv ) {
snprintf(szSteamPath, MAX_PATH, "%s/libsteam_api.so", szLauncherPath);
#endif
#ifdef __APPLE__
uint32_t pathSize = sizeof(szLauncherPath);
int pathResult = _NSGetExecutablePath(szLauncherPath, &pathSize);
char *szLauncherPath2 = dirname(szLauncherPath);
snprintf(szEnginePath, MAX_PATH, "%s/libengine.dylib", szLauncherPath2);
snprintf(szTier0Path, MAX_PATH, "%s/libtier0.dylib", szLauncherPath2);
//uint32_t pathSize = sizeof(szLauncherPath);
//int pathResult = _NSGetExecutablePath(szLauncherPath, &pathSize);
//char *szLauncherPath2 = dirname(szLauncherPath);
//snprintf(szEnginePath, MAX_PATH, "%s/libengine.dylib", szLauncherPath2);
//snprintf(szTier0Path, MAX_PATH, "%s/libtier0.dylib", szLauncherPath2);
#endif
#ifndef __WIN32__
if ( !dlopen(szSteamPath, RTLD_NOW ))
@@ -100,5 +102,6 @@ int main( int argc, char **argv ) {
SetCurrentDirectoryA(szLauncherPath);
pEngineMain(argc, argv);
#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 = {
"materialsystem.cpp",
"compiledshader.cpp",
};
CUtlVector<CUtlString> RenderContextVulkan_CompiledFiles = {
"compiledshader.cpp",
@@ -43,6 +42,10 @@ DECLARE_BUILD_STAGE(MaterialSystem)
LinkProject_t ldProject = {};
compileProject.m_szName = "MaterialSystem";
if ( GET_PROJECT_VALUE(config, "static") != "true" )
{
MaterialSystem_CompiledFiles.AppendTail("compiledshader.cpp");
}
compileProject.files = MaterialSystem_CompiledFiles;
compileProject.includeDirectories = {
"../public",
@@ -92,6 +95,7 @@ DECLARE_BUILD_STAGE(RenderSystemVulkan)
EXTERNAL"Vulkan-Headers/include",
EXTERNAL"Vulkan-Utility-Libraries/include",
EXTERNAL"VulkanMemoryAllocator/include",
EXTERNAL"SPIRV-Headers/include",
EXTERNAL"volk",
EXTERNAL,
};

View File

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

Binary file not shown.

Binary file not shown.

Binary file not shown.