User Tools

Site Tools


mbbsemu:configuration:softpatch

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
mbbsemu:configuration:softpatch [2023/12/09 21:46] enusbaummbbsemu:configuration:softpatch [2023/12/09 21:55] (current) enusbaum
Line 1: Line 1:
 ====== MBBSEmu SoftPatch ====== ====== MBBSEmu SoftPatch ======
-MBBSEmu suppports a method of modifying the original Major BBS/Worldgroup Modules through a process called SoftPatch, which allows users to apply byte level patches to their favorite games without having to modify the underlying DLL file with hex editors or disassemblers. 
  
-SoftPatch is enabled and used through the [[mbbsemu:configuration:modules.json|modules.json file]]where you specify the SoftPatch information within the Module record under the **Patches** array+MBBSEmu presents an advanced technique, known as SoftPatch, which revolutionizes the process of modifying Major BBS/Worldgroup ModulesThis method stands out as it allows users to implement byte-level adjustments to their preferred games without the traditionalmore complex approach of directly altering the underlying Dynamic Link Library (DLL) files using hex editors or disassemblers.
  
-===== Properties =====+SoftPatch operates through a streamlined process, utilizing the [[mbbsemu:configuration:modules.json|modules.json file]]. This file is the cornerstone of SoftPatch application, where users can input specific SoftPatch details within the Module record, specifically under the Patches array. This method ensures a user-friendly, efficient, and less error-prone process compared to conventional editing techniques.
  
-**Name**: Name of the Patch+===== Detailed Properties of SoftPatch Configuration =====
  
-**Description:** Brief Description of the Patch and what it does+**Name**: This parameter represents the unique identifier of the Patch, facilitating easy recognition and management.
  
-**Address:** The "SEGMENT:OFFSET" address where the patch is to be applied+**Description**: Provides a concise yet comprehensive explanation of the Patch's functionality and its impact on the game or module.
  
-**AbsoluteOffset:** Absolute Offset within the DLL where to apply the patch+**Address**: This field specifies the ''SEGMENT:OFFSET'' address, denoting the exact location within the module where the patch will be applied.
  
-**PatchType:** Valid values are "Text" for applying ASCII characters to the specified locationor "Hex" to apply hex values to the specified location.+**AbsoluteOffset**: Represents the precise offset within the DLLpinpointing where to apply the patch, thereby ensuring accuracy in modifications.
  
-**CRC32:** The CRC32 of the DLL being patchedto ensure the patch is only applied to the appropriate version of that DLL+**PatchType**: This property delineates the nature of the patchoffering two options: ''Text'' for inserting ASCII characters at the designated location, or ''Hex'' for applying hexadecimal values.
  
-**Patch:** The value of the patch to be applied. Depending on what you specified for PatchType, this will be handled as an ASCII **String** or **Hex** value.+**CRC32**: This checksum value of the DLL intended for patching serves as a verification tool. It ensures that the patch is applied exclusively to the correct version of the DLL, thus maintaining integrity and compatibility. 
 + 
 +**Patch**: Dependent on the ''PatchType'' specified, this value is the actual content of the patch, either in ASCII ''Text'' or ''Hex'' format, to be implemented at the designated location.
  
 ===== Example ===== ===== Example =====
Line 43: Line 44:
 ``` ```
 </markdown> </markdown>
 +In this illustrative example, the JSON structure distinctly outlines the application of a SoftPatch. It demonstrates how a module, identified as "EXAMPLE1", located at a specified path, is being modified. The patch, named "Name To Caps", aims to alter the displayed name of the module to all uppercase letters. The precise location for the patch is defined by the "AbsoluteOffset", and the patch type is set as "Text" with the value "PATCHED" being applied. This example serves as a practical guide for users to understand and apply SoftPatch in their own contexts.
mbbsemu/configuration/softpatch.1702158374.txt · Last modified: by enusbaum