From fa43853e1ac124e17953532bd3c578c61ddc7e1e Mon Sep 17 00:00:00 2001
From: muradbuyukasik <10285764+muradbuyukasik@users.noreply.github.com>
Date: Tue, 14 Apr 2026 00:31:48 +0200
Subject: [PATCH 1/2] Fix: Add missing cstdint and algorithm includes for
modern GCC
---
.gitignore | 3 +-
CMakeLists.txt | 2 +-
README.md | 4 +++
flake.nix | 40 +++++++++++++++++++++++++
src/ImageWriter/CCIWriter/CCIWriter.cpp | 4 ++-
src/ImageWriter/CSOWriter/CSOWriter.cpp | 4 ++-
src/Utils/StringUtils.h | 3 +-
src/XGDLog.h | 2 ++
8 files changed, 57 insertions(+), 5 deletions(-)
create mode 100644 flake.nix
diff --git a/.gitignore b/.gitignore
index a7ea61d..c995920 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,4 +3,5 @@
build
src/Executable/AttachXbe.h
external/CLI
-external/nlohmann
\ No newline at end of file
+.DS_Store
+external/nlohmann
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 783563a..5ec8453 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -170,7 +170,7 @@ elseif(UNIX)
find_package(PkgConfig REQUIRED)
set(ENV{PKG_CONFIG_PATH} "/usr/local/lib/pkgconfig:$ENV{PKG_CONFIG_PATH}")
- pkg_check_modules(LZ4 REQUIRED lz4)
+ pkg_check_modules(LZ4 REQUIRED liblz4)
pkg_check_modules(ZSTD REQUIRED libzstd)
find_package(OpenSSL REQUIRED)
find_package(CURL REQUIRED)
diff --git a/README.md b/README.md
index 0ad2a8c..375cdb3 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,10 @@
# XGDTool
+This is a fork of wiredopposite/XGDTool to make compiling using gnumake easier on Linux.
+
+---
+
XGDTool is an OG Xbox and Xbox 360 disc utility, capable of converting discs to and from any mainstream format. It's available as a GUI or CLI app.
This program is still in initial testing. If you experience an issue, please report it in the Issues tab and help make this program better!
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..3ccf83e
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,40 @@
+{
+ description = "C/C++ Development Environment with wxWidgets and OpenSSL";
+
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+ };
+
+ outputs =
+ { self, nixpkgs }:
+ let
+ system = "x86_64-linux";
+ pkgs = nixpkgs.legacyPackages.${system};
+ in
+ {
+ devShells.${system}.default = pkgs.mkShell {
+
+ # Tools needed to build the project
+ nativeBuildInputs = with pkgs; [
+ pkg-config
+ cmake
+ gnumake
+ ];
+
+ # Libraries needed for linking
+ buildInputs = with pkgs; [
+ lz4
+ zstd
+ openssl
+ curl
+ wxwidgets_3_2
+ ];
+
+ # Optional: A welcome message when you enter the shell
+ shellHook = ''
+ echo "C/C++ development shell active."
+ echo "Compiler toolchain, CMake, and wxWidgets are ready."
+ '';
+ };
+ };
+}
diff --git a/src/ImageWriter/CCIWriter/CCIWriter.cpp b/src/ImageWriter/CCIWriter/CCIWriter.cpp
index 4bb57da..94f9aa3 100644
--- a/src/ImageWriter/CCIWriter/CCIWriter.cpp
+++ b/src/ImageWriter/CCIWriter/CCIWriter.cpp
@@ -3,6 +3,8 @@
#include
+#include
+
#include "ImageWriter/CCIWriter/CCIWriter.h"
#include "AvlTree/AvlIterator.h"
@@ -481,4 +483,4 @@ std::vector CCIWriter::out_paths()
}
return { out_filepath_1_ };
-}
\ No newline at end of file
+}
diff --git a/src/ImageWriter/CSOWriter/CSOWriter.cpp b/src/ImageWriter/CSOWriter/CSOWriter.cpp
index 6f02e59..6a3c44a 100644
--- a/src/ImageWriter/CSOWriter/CSOWriter.cpp
+++ b/src/ImageWriter/CSOWriter/CSOWriter.cpp
@@ -3,6 +3,8 @@
#include "AvlTree/AvlIterator.h"
#include "ImageWriter/CSOWriter/CSOWriter.h"
+#include
+
CSOWriter::CSOWriter(std::shared_ptr image_reader, const ScrubType scrub_type)
: image_reader_(image_reader),
scrub_type_(scrub_type)
@@ -535,4 +537,4 @@ std::vector CSOWriter::out_paths()
}
return { out_filepath_1_ };
-}
\ No newline at end of file
+}
diff --git a/src/Utils/StringUtils.h b/src/Utils/StringUtils.h
index e24343f..e601664 100644
--- a/src/Utils/StringUtils.h
+++ b/src/Utils/StringUtils.h
@@ -3,6 +3,7 @@
#include
#include
+#include
namespace StringUtils {
bool safe_string(const std::string &string);
@@ -14,4 +15,4 @@ namespace StringUtils {
std::string uint32_to_hex_string(uint32_t value);
};
-#endif // _STRING_UTILS_H_
\ No newline at end of file
+#endif // _STRING_UTILS_H_
diff --git a/src/XGDLog.h b/src/XGDLog.h
index 075fcac..0826a6f 100644
--- a/src/XGDLog.h
+++ b/src/XGDLog.h
@@ -1,6 +1,8 @@
#ifndef _XGDLOG_H_
#define _XGDLOG_H_
+#include
+
#include
#include
From b8eed2591aeef4cb0379f87dbca5eb7beb2a296b Mon Sep 17 00:00:00 2001
From: Murad <10285764+muradbu@users.noreply.github.com>
Date: Tue, 14 Apr 2026 00:50:30 +0200
Subject: [PATCH 2/2] Enhance README with image and description
Updated the README to include an image and improved description.
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 375cdb3..1465831 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
# XGDTool
-
-
This is a fork of wiredopposite/XGDTool to make compiling using gnumake easier on Linux.
+
+
---
XGDTool is an OG Xbox and Xbox 360 disc utility, capable of converting discs to and from any mainstream format. It's available as a GUI or CLI app.