Skip to content

Gibbed.MadMax-1.6.0

Latest

Choose a tag to compare

@gigaHours gigaHours released this 12 Mar 17:27

Highlights

This release migrates the entire solution to .NET 8.0, adds ADF serialization (import) support, and introduces two new command-line tools for modding workflows.

What's New

.NET 8.0 Migration

  • All projects now target net8.0, replacing the legacy .NET Framework 4.8 / multi-target builds.
  • Removed legacy AssemblyInfo.cs files and app.config files in favor of SDK-style project conventions.
  • Added Directory.Build.props for unified output path configuration.
  • Solution file cleaned up and modernized.

ADF Serializer (Import Support)

  • AdfFile.Serialize() is now fully implemented — ADF files can be written back to binary, enabling round-trip editing workflows.
  • ConvertAdf import mode is no longer a stub — XML-to-ADF conversion is fully functional.
  • Type definitions are now exported to and imported from XML (<typedefs> section).
  • Instance metadata (nameHash, typeHash) is preserved in XML output for lossless round-trips.
  • RuntimeTypeLibrary gained GetTypeDefinitionByName() for type lookups during import.

New Tool: Gibbed.MadMax.BinarySearch

  • Search for byte patterns across game archive files with support for little-endian, big-endian, or both.
  • Multi-threaded search with configurable patterns.

New Tool: Gibbed.MadMax.ResolveHashes

  • Resolve hash values in XML files using project hash lists.
  • Supports in-place replacement with optional comment annotations showing original hashes.

Bug Fixes

  • BytesVariant.Parse(): Fixed off-by-one iteration bug (i += 2i++) that skipped every other byte when parsing comma-separated byte values.
  • BytesVariant.Parse(): Added null/empty string handling to avoid crashes on empty byte arrays.
  • SmallUnpack: Replaced deprecated Assembly.CodeBase with Assembly.Location for .NET 8.0 compatibility.
  • ProjectData: Added PlatformNotSupportedException handling for cross-platform compatibility.
  • ConvertAdf export: Output path now appends .xml instead of replacing the extension, preserving original filenames like file.adf.xml.