Initial commit

This commit is contained in:
Your Name
2026-03-09 03:02:10 -05:00
commit 36b61c6b68
9 changed files with 10738 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
# Build output
out/
# Generated recomp code
generated/
# Game assets (user-supplied)
assets/
# VS local settings
.vs/
# Copilot and debugging workflow
.github/instructions/
# CMake user presets (machine-local)
CMakeUserPresets.json
+4
View File
@@ -0,0 +1,4 @@
[submodule "thirdparty/rexglue-sdk"]
path = thirdparty/rexglue-sdk
url = https://github.com/rapidsamphire/rexglue-sdk.git
branch = ac6recomp-fixes
+18
View File
@@ -0,0 +1,18 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "AC6Recomp (RelWithDebInfo)",
"type": "cppvsdbg",
"request": "launch",
"program": "C:\\Users\\Zalamander\\AC6Recomp\\out\\build\\win-amd64-relwithdebinfo\\ac6recomp.exe",
"args": [
"C:\\Users\\Zalamander\\AC6Recomp\\assets",
"--enable_console=false",
"--log_level=info"
],
"cwd": "${workspaceFolder}",
"console": "integratedTerminal"
}
]
}
+26
View File
@@ -0,0 +1,26 @@
# ac6recomp - ReXGlue Recompiled Project
#
# This file is yours to edit. 'rexglue migrate' will NOT overwrite it.
# SDK boilerplate lives in generated/rexglue.cmake.
cmake_minimum_required(VERSION 3.25)
project(ac6recomp LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(generated/rexglue.cmake)
# Sources
set(AC6RECOMP_SOURCES
src/main.cpp
)
if(WIN32)
add_executable(ac6recomp WIN32 ${AC6RECOMP_SOURCES})
else()
add_executable(ac6recomp ${AC6RECOMP_SOURCES})
endif()
rexglue_setup_target(ac6recomp)
+86
View File
@@ -0,0 +1,86 @@
{
"version": 6,
"cmakeMinimumRequired": { "major": 3, "minor": 25, "patch": 0 },
"configurePresets": [
{
"name": "windows-base",
"hidden": true,
"generator": "Ninja",
"binaryDir": "${sourceDir}/out/build/${presetName}",
"cacheVariables": {
"CMAKE_C_COMPILER": "clang",
"CMAKE_CXX_COMPILER": "clang++",
"CMAKE_C_FLAGS": "-march=x86-64-v3",
"CMAKE_CXX_FLAGS": "-march=x86-64-v3",
"REXSDK_DIR": "${sourceDir}/thirdparty/rexglue-sdk"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "linux-base",
"hidden": true,
"generator": "Ninja",
"binaryDir": "${sourceDir}/out/build/${presetName}",
"cacheVariables": {
"CMAKE_C_COMPILER": "clang-20",
"CMAKE_CXX_COMPILER": "clang++-20",
"CMAKE_C_FLAGS": "-march=x86-64-v3",
"CMAKE_CXX_FLAGS": "-march=x86-64-v3",
"REXSDK_DIR": "${sourceDir}/thirdparty/rexglue-sdk"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Linux"
}
},
{
"name": "win-amd64-debug",
"displayName": "Windows AMD64 Debug",
"inherits": "windows-base",
"cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" }
},
{
"name": "win-amd64-release",
"displayName": "Windows AMD64 Release",
"inherits": "windows-base",
"cacheVariables": { "CMAKE_BUILD_TYPE": "Release" }
},
{
"name": "linux-amd64-debug",
"displayName": "Linux AMD64 Debug",
"inherits": "linux-base",
"cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" }
},
{
"name": "linux-amd64-release",
"displayName": "Linux AMD64 Release",
"inherits": "linux-base",
"cacheVariables": { "CMAKE_BUILD_TYPE": "Release" }
},
{
"name": "win-amd64-relwithdebinfo",
"displayName": "Windows AMD64 RelWithDebInfo",
"inherits": "windows-base",
"cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo" }
},
{
"name": "linux-amd64-relwithdebinfo",
"displayName": "Linux AMD64 RelWithDebInfo",
"inherits": "linux-base",
"cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo" }
}
],
"buildPresets": [
{ "name": "win-amd64-debug", "configurePreset": "win-amd64-debug" },
{ "name": "win-amd64-release", "configurePreset": "win-amd64-release" },
{ "name": "win-amd64-relwithdebinfo", "configurePreset": "win-amd64-relwithdebinfo" },
{ "name": "linux-amd64-debug", "configurePreset": "linux-amd64-debug" },
{ "name": "linux-amd64-release", "configurePreset": "linux-amd64-release" },
{ "name": "linux-amd64-relwithdebinfo", "configurePreset": "linux-amd64-relwithdebinfo" }
]
}
+10543
View File
File diff suppressed because it is too large Load Diff
+33
View File
@@ -0,0 +1,33 @@
// ac6recomp - ReXGlue Recompiled Project
//
// This file is yours to edit. 'rexglue migrate' will NOT overwrite it.
// Customize your app by overriding virtual hooks from rex::ReXApp.
#pragma once
#include <rex/cvar.h>
#include <rex/rex_app.h>
REXCVAR_DECLARE(bool, vfetch_index_rounding_bias);
class Ac6recompApp : public rex::ReXApp {
public:
using rex::ReXApp::ReXApp;
static std::unique_ptr<rex::ui::WindowedApp> Create(
rex::ui::WindowedAppContext& ctx) {
return std::unique_ptr<Ac6recompApp>(new Ac6recompApp(ctx, "ac6recomp",
PPCImageConfig));
}
protected:
void OnPreSetup(rex::RuntimeConfig& config) override {
// Fix black triangles caused by vertex fetch index precision (RCP).
REXCVAR_SET(vfetch_index_rounding_bias, true);
}
// void OnPostSetup() override {}
// void OnCreateDialogs(rex::ui::ImGuiDrawer* drawer) override {}
// void OnShutdown() override {}
// void OnConfigurePaths(rex::PathConfig& paths) override {}
};
+10
View File
@@ -0,0 +1,10 @@
// ac6recomp - ReXGlue Recompiled Project
//
// This file is yours to edit. 'rexglue migrate' will NOT overwrite it.
#include "generated/ac6recomp_config.h"
#include "generated/ac6recomp_init.h"
#include "ac6recomp_app.h"
REX_DEFINE_APP(ac6recomp, Ac6recompApp::Create)
Vendored Submodule
+1
Submodule thirdparty/rexglue-sdk added at a1aea56528