mirror of
https://github.com/hedge-dev/UnleashedRecomp
synced 2026-06-09 12:46:50 -04:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4545de14c0 | |||
| c5b21af964 | |||
| f6b03f8769 |
@@ -351,8 +351,6 @@ if (UNLEASHED_RECOMP_FLATPAK)
|
|||||||
"GAME_INSTALL_DIRECTORY=\"/var/data\""
|
"GAME_INSTALL_DIRECTORY=\"/var/data\""
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_compile_definitions(UnleashedRecomp PRIVATE $<$<CONFIG:Debug>:UNLEASHED_RECOMP_DEBUG=1>)
|
|
||||||
|
|
||||||
find_package(CURL REQUIRED)
|
find_package(CURL REQUIRED)
|
||||||
|
|
||||||
|
|||||||
@@ -3145,7 +3145,7 @@ static GuestTexture* CreateTexture(uint32_t width, uint32_t height, uint32_t dep
|
|||||||
|
|
||||||
g_textureDescriptorSet->setTexture(texture->descriptorIndex, texture->texture, RenderTextureLayout::SHADER_READ, texture->textureView.get());
|
g_textureDescriptorSet->setTexture(texture->descriptorIndex, texture->texture, RenderTextureLayout::SHADER_READ, texture->textureView.get());
|
||||||
|
|
||||||
#ifdef UNLEASHED_RECOMP_DEBUG
|
#ifdef _DEBUG
|
||||||
texture->texture->setName(fmt::format("Texture {:X}", g_memory.MapVirtual(texture)));
|
texture->texture->setName(fmt::format("Texture {:X}", g_memory.MapVirtual(texture)));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -3162,7 +3162,7 @@ static GuestBuffer* CreateVertexBuffer(uint32_t length)
|
|||||||
auto buffer = g_userHeap.AllocPhysical<GuestBuffer>(ResourceType::VertexBuffer);
|
auto buffer = g_userHeap.AllocPhysical<GuestBuffer>(ResourceType::VertexBuffer);
|
||||||
buffer->buffer = g_device->createBuffer(RenderBufferDesc::VertexBuffer(length, GetBufferHeapType(), RenderBufferFlag::INDEX));
|
buffer->buffer = g_device->createBuffer(RenderBufferDesc::VertexBuffer(length, GetBufferHeapType(), RenderBufferFlag::INDEX));
|
||||||
buffer->dataSize = length;
|
buffer->dataSize = length;
|
||||||
#ifdef UNLEASHED_RECOMP_DEBUG
|
#ifdef _DEBUG
|
||||||
buffer->buffer->setName(fmt::format("Vertex Buffer {:X}", g_memory.MapVirtual(buffer)));
|
buffer->buffer->setName(fmt::format("Vertex Buffer {:X}", g_memory.MapVirtual(buffer)));
|
||||||
#endif
|
#endif
|
||||||
return buffer;
|
return buffer;
|
||||||
@@ -3175,7 +3175,7 @@ static GuestBuffer* CreateIndexBuffer(uint32_t length, uint32_t, uint32_t format
|
|||||||
buffer->dataSize = length;
|
buffer->dataSize = length;
|
||||||
buffer->format = ConvertFormat(format);
|
buffer->format = ConvertFormat(format);
|
||||||
buffer->guestFormat = format;
|
buffer->guestFormat = format;
|
||||||
#ifdef UNLEASHED_RECOMP_DEBUG
|
#ifdef _DEBUG
|
||||||
buffer->buffer->setName(fmt::format("Index Buffer {:X}", g_memory.MapVirtual(buffer)));
|
buffer->buffer->setName(fmt::format("Index Buffer {:X}", g_memory.MapVirtual(buffer)));
|
||||||
#endif
|
#endif
|
||||||
return buffer;
|
return buffer;
|
||||||
@@ -3213,7 +3213,7 @@ static GuestSurface* CreateSurface(uint32_t width, uint32_t height, uint32_t for
|
|||||||
surface->descriptorIndex = g_textureDescriptorAllocator.allocate();
|
surface->descriptorIndex = g_textureDescriptorAllocator.allocate();
|
||||||
g_textureDescriptorSet->setTexture(surface->descriptorIndex, surface->textureHolder.get(), RenderTextureLayout::SHADER_READ, surface->textureView.get());
|
g_textureDescriptorSet->setTexture(surface->descriptorIndex, surface->textureHolder.get(), RenderTextureLayout::SHADER_READ, surface->textureView.get());
|
||||||
|
|
||||||
#ifdef UNLEASHED_RECOMP_DEBUG
|
#ifdef _DEBUG
|
||||||
surface->texture->setName(fmt::format("{} {:X}", desc.flags & RenderTextureFlag::RENDER_TARGET ? "Render Target" : "Depth Stencil", g_memory.MapVirtual(surface)));
|
surface->texture->setName(fmt::format("{} {:X}", desc.flags & RenderTextureFlag::RENDER_TARGET ? "Render Target" : "Depth Stencil", g_memory.MapVirtual(surface)));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -5857,7 +5857,7 @@ static void MakePictureData(GuestPictureData* pictureData, uint8_t* data, uint32
|
|||||||
|
|
||||||
if (LoadTexture(texture, data, dataSize, {}))
|
if (LoadTexture(texture, data, dataSize, {}))
|
||||||
{
|
{
|
||||||
#ifdef UNLEASHED_RECOMP_DEBUG
|
#ifdef _DEBUG
|
||||||
texture.texture->setName(reinterpret_cast<char*>(g_memory.Translate(pictureData->name + 2)));
|
texture.texture->setName(reinterpret_cast<char*>(g_memory.Translate(pictureData->name + 2)));
|
||||||
#endif
|
#endif
|
||||||
XXH64_hash_t hash = XXH3_64bits(data, dataSize);
|
XXH64_hash_t hash = XXH3_64bits(data, dataSize);
|
||||||
|
|||||||
@@ -203,7 +203,7 @@ uint32_t XamShowMessageBoxUI(uint32_t dwUserIndex, be<uint16_t>* wszTitle, be<ui
|
|||||||
{
|
{
|
||||||
*pResult = cButtons ? cButtons - 1 : 0;
|
*pResult = cButtons ? cButtons - 1 : 0;
|
||||||
|
|
||||||
#if UNLEASHED_RECOMP_DEBUG
|
#if _DEBUG
|
||||||
assert("XamShowMessageBoxUI encountered!" && false);
|
assert("XamShowMessageBoxUI encountered!" && false);
|
||||||
#elif _WIN32
|
#elif _WIN32
|
||||||
// This code is Win32-only as it'll most likely crash, misbehave or
|
// This code is Win32-only as it'll most likely crash, misbehave or
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
#define LOG_WARNING(str) LOG_IMPL(Warning, __func__, str)
|
#define LOG_WARNING(str) LOG_IMPL(Warning, __func__, str)
|
||||||
#define LOG_ERROR(str) LOG_IMPL(Error, __func__, str)
|
#define LOG_ERROR(str) LOG_IMPL(Error, __func__, str)
|
||||||
|
|
||||||
#if UNLEASHED_RECOMP_DEBUG
|
#if _DEBUG
|
||||||
#define LOG_UTILITY(str) LOG_IMPL(Utility, __func__, str)
|
#define LOG_UTILITY(str) LOG_IMPL(Utility, __func__, str)
|
||||||
#else
|
#else
|
||||||
#define LOG_UTILITY(str)
|
#define LOG_UTILITY(str)
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
#define LOGF_WARNING(str, ...) LOGF_IMPL(Warning, __func__, str, __VA_ARGS__)
|
#define LOGF_WARNING(str, ...) LOGF_IMPL(Warning, __func__, str, __VA_ARGS__)
|
||||||
#define LOGF_ERROR(str, ...) LOGF_IMPL(Error, __func__, str, __VA_ARGS__)
|
#define LOGF_ERROR(str, ...) LOGF_IMPL(Error, __func__, str, __VA_ARGS__)
|
||||||
|
|
||||||
#if UNLEASHED_RECOMP_DEBUG
|
#if _DEBUG
|
||||||
#define LOGF_UTILITY(str, ...) LOGF_IMPL(Utility, __func__, str, __VA_ARGS__)
|
#define LOGF_UTILITY(str, ...) LOGF_IMPL(Utility, __func__, str, __VA_ARGS__)
|
||||||
#else
|
#else
|
||||||
#define LOGF_UTILITY(str, ...)
|
#define LOGF_UTILITY(str, ...)
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
#define LOGN_WARNING(str) LOG_IMPL(Warning, "*", str)
|
#define LOGN_WARNING(str) LOG_IMPL(Warning, "*", str)
|
||||||
#define LOGN_ERROR(str) LOG_IMPL(Error, "*", str)
|
#define LOGN_ERROR(str) LOG_IMPL(Error, "*", str)
|
||||||
|
|
||||||
#if UNLEASHED_RECOMP_DEBUG
|
#if _DEBUG
|
||||||
#define LOGN_UTILITY(str) LOG_IMPL(Utility, "*", str)
|
#define LOGN_UTILITY(str) LOG_IMPL(Utility, "*", str)
|
||||||
#else
|
#else
|
||||||
#define LOGN_UTILITY(str)
|
#define LOGN_UTILITY(str)
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
#define LOGFN_WARNING(str, ...) LOGF_IMPL(Warning, "*", str, __VA_ARGS__)
|
#define LOGFN_WARNING(str, ...) LOGF_IMPL(Warning, "*", str, __VA_ARGS__)
|
||||||
#define LOGFN_ERROR(str, ...) LOGF_IMPL(Error, "*", str, __VA_ARGS__)
|
#define LOGFN_ERROR(str, ...) LOGF_IMPL(Error, "*", str, __VA_ARGS__)
|
||||||
|
|
||||||
#if UNLEASHED_RECOMP_DEBUG
|
#if _DEBUG
|
||||||
#define LOGFN_UTILITY(str, ...) LOGF_IMPL(Utility, "*", str, __VA_ARGS__)
|
#define LOGFN_UTILITY(str, ...) LOGF_IMPL(Utility, "*", str, __VA_ARGS__)
|
||||||
#else
|
#else
|
||||||
#define LOGFN_UTILITY(str, ...)
|
#define LOGFN_UTILITY(str, ...)
|
||||||
|
|||||||
@@ -193,3 +193,29 @@ PPC_FUNC(sub_824EE620)
|
|||||||
|
|
||||||
ctx.r3.u32 = PersistentStorageManager::ShouldDisplayDLCMessage(true);
|
ctx.r3.u32 = PersistentStorageManager::ShouldDisplayDLCMessage(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This is a constructor for some struct that constructed inside CTownManContext::CTownManContext()
|
||||||
|
// and within the calls contained in CTownManBase::ProcMsgSetTownManRetryTimeTable().
|
||||||
|
//
|
||||||
|
// Within the constructor of the CTownManContext, the second member of this struct is initialized to -1
|
||||||
|
// after this call happens inside CTownManContext::CTownManContext() at pretty much the very of that function call.
|
||||||
|
//
|
||||||
|
// This initialization of the member variable is however not executed when this constructor for the struct
|
||||||
|
// is called from someplace else in the game's code, as such it remains with unitialized data for that field.
|
||||||
|
//
|
||||||
|
// Ensuring that this member variable is initialized to 0 anytime this constructor is called fixes an issue with
|
||||||
|
// Tails not disappearing when giving you the camera after Rooftop Run Act 1 (Night). This setting of it to 0 won't
|
||||||
|
// break the behaviour created by the call to it from CTownManContext::CTownManContext() as that itself sets it to -1 later on.
|
||||||
|
// It only affects other instance of the call.
|
||||||
|
//
|
||||||
|
// NOTE: ctx.r3.u32 + 0 is also unitialized by this constructor, however both instances of this function being called
|
||||||
|
// initialized the said variable later on before being used.
|
||||||
|
//
|
||||||
|
// NOTE: ctx.r3.u32 + 20 is also unitialized, however I could not find any uses for this. Since this is already
|
||||||
|
// quite a big change due to the amount of NPCs in the game, I would rather not touch this unless an issue is found.
|
||||||
|
PPC_FUNC_IMPL(__imp__sub_8297C630);
|
||||||
|
PPC_FUNC(sub_8297C630)
|
||||||
|
{
|
||||||
|
PPC_STORE_U32(ctx.r3.u32 + 4, 0);
|
||||||
|
__imp__sub_8297C630(ctx, base);
|
||||||
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
#define UNLEASHED_RECOMP_VERSION_BIN @WIN32_VERSION_BINARY@
|
#define UNLEASHED_RECOMP_VERSION_BIN @WIN32_VERSION_BINARY@
|
||||||
#define UNLEASHED_RECOMP_VERSION_STR "@WIN32_VERSION_STRING@"
|
#define UNLEASHED_RECOMP_VERSION_STR "@WIN32_VERSION_STRING@"
|
||||||
|
|
||||||
#ifdef UNLEASHED_RECOMP_DEBUG
|
#ifdef _DEBUG
|
||||||
#define UNLEASHED_RECOMP_FILE_FLAGS VS_FF_DEBUG
|
#define UNLEASHED_RECOMP_FILE_FLAGS VS_FF_DEBUG
|
||||||
#else
|
#else
|
||||||
#define UNLEASHED_RECOMP_FILE_FLAGS 0
|
#define UNLEASHED_RECOMP_FILE_FLAGS 0
|
||||||
|
|||||||
@@ -817,7 +817,7 @@ void Config::Load()
|
|||||||
{
|
{
|
||||||
def->ReadValue(toml);
|
def->ReadValue(toml);
|
||||||
|
|
||||||
#if UNLEASHED_RECOMP_DEBUG
|
#if _DEBUG
|
||||||
LOGFN_UTILITY("{} (0x{:X})", def->GetDefinition().c_str(), (intptr_t)def->GetValue());
|
LOGFN_UTILITY("{} (0x{:X})", def->GetDefinition().c_str(), (intptr_t)def->GetValue());
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user