Skip to content
SuperSonic16 edited this page Jun 19, 2021 · 1 revision

This page will explain some useful information on preparing your mod to be-able to be updated using HedgeModManager.

Table of Contents

Introduction

HedgeModManager uses a custom mod updater which is also backwards compatible with SonicGMI.

To get started, before releasing your mod, you will need folder access to a HTTP location for your mod. From here this folder will be referred as the update server.

GitHub can be used as an update server but has some limitations for files over 100MB. Please keep this in mind. Examples repositories: https://github.com/Sajidur78/DllMods and https://github.com/PTKickass/ModUpdates

In your mod.ini file, add a field under the [Main] section called UpdateServer and set the value to the URL of your mod update folder including the forward slash at the end. Example:

UpdateServer="https://raw.githubusercontent.com/PTKickass/ModUpdates/master/SonicGenerations/SonicUnleashedHUD/"

Preparing the server

On your server create a folder for the mod you want to allow updating for and create two files mod_files.txt which will be blank for now and a file called mod_version.ini This file will contain the information about the update and the changelog for SonicGMI users.

The mod_version.ini file

Here is an example of a mod_version.ini for HedgeModManager and SonicGMI:

[Main]
VersionString="2.0"
DownloadSizeString="0.7 MB"
Markdown="changelog.md"

[Changelog]
StringCount=1
String0="Updated for GCL v2.1"

The following is a list of values that can be used in a mod_version.ini file:

Main

VersionString The version of the mod you will be publishing.

DownloadSizeString The size of the mod update that will be shown to the SonicGMI users.

Markdown The name of the file on the update server containing markdown code for showing information about the mod update like the changelog. This value is optional, if this is defined then HedgeModManager will use the markdown code to show the information instead, if not the information in [Changelog] will be used instead.

Changelog

StringCount The amount of strings to show to the user. Tip: Set this to the last string number + 1.

String? Line about a change that was made in the mod that is going to be updated. You can have many of these by changing the ? to a sequential number starting from 0. e.g. String0, String1, String2, String3

If you have not made an update just yet then I would recommend:

  • Setting VersionString to the current version of the mod
  • Setting DownloadSizeString to "0 MB"
  • Setting StringCount to 0
  • Creating a blank file called mod_files.txt in the update server
  • Including a blank file in Markdown (If you want markdown support)

Once you have made an update, you will be modifying all these.

Preparing to publish an update

Once you have made some changes to your mod and have pick out the files you have changed (Do not include files that are untouched from the first release to the current!)

Now you can start moving the files into your update server folder (next to the mod_version.ini and mod_files.txt file) and record down the changes in your mod_files.txt file

The mod_files.txt file

The mod_files.txt file is a simple file containing commands for HedgeModManager and SonicGMI to follow to push your update to all the users.

Currently the mod_files.txt format contains two commands:

  • add Downloads a file from the update server into the mod folder on the user's machine
  • delete Deletes a file from the user's mod folder, Use this if you nolonger need the file being replaced.

Here is an example of a mod_files.txt

add UnleashedHUD.ini
add UnleashedHUD.dll
add disk/bb/SonicActionCommonHud.ar.00
add disk/bb/SonicActionCommonHud.ar.01
add disk/bb/SonicActionCommonHud.arl
add disk/bb/SonicActionCommon.ar.00
add disk/bb/SonicActionCommon.arl
add disk/bb/SystemCommon.ar.00
add disk/bb/SystemCommon.arl
add disk/bb/Languages/English/SonicActionCommonHud.ar.00
add disk/bb/Languages/English/SonicActionCommonHud.arl
add disk/bb/Languages/French/SonicActionCommonHud.ar.00
add disk/bb/Languages/French/SonicActionCommonHud.arl
add disk/bb/Languages/German/SonicActionCommonHud.ar.00
add disk/bb/Languages/German/SonicActionCommonHud.arl
add disk/bb/Languages/Italian/SonicActionCommonHud.ar.00
add disk/bb/Languages/Italian/SonicActionCommonHud.arl
add disk/bb/Languages/Japanese/SonicActionCommonHud.ar.00
add disk/bb/Languages/Japanese/SonicActionCommonHud.arl
add disk/bb/Languages/Spanish/SonicActionCommonHud.ar.00
add disk/bb/Languages/Spanish/SonicActionCommonHud.arl
add disk/bb3/SonicActionCommonHud.ar.00
add disk/bb3/SonicActionCommonHud.arl
add disk/bb3/SonicActionCommon.ar.00
add disk/bb3/SonicActionCommon.ar.01
add disk/bb3/SonicActionCommon.arl
add disk/bb2/HowTo.ar.00
add disk/bb2/HowTo.arl
add disk/bb2/pam_cmn.ar.00
add disk/bb2/pam_cmn.arl
add disk/bb3/Application.ar.00
add disk/bb3/Application.arl
delete disk/bb/SonicActionCommon.ar.01
add mod.ini

Placing the add mod.ini command on the bottom is recommended in the case an update fails allowing the user to restart it.

Once you have finished recording your mod_files.txt file, you can now start modifying your mod_version.ini file that you have created at the start.

Setting up the mod_version.ini file

In your mod_version.ini file you would want to perform the following changes:

  • Set VersionString to the new version of the mod
  • Add up all the files that will be downloaded and set DownloadSizeString to the file size e.g. "48 MB"
  • Write your changelog under [Changelog] using the format stated above

After writing your changes in mod_version.ini you can now start writing your changelog in markdown (This is if you want to have a markdown changelog for HedgeModManager users)

Here is an example of a markdown changelog:

## Sonic Unleashed HUD v1.3.2
Unleashed Menu Sounds fixes:
- Fixed press start volume. Now it's full stereo on it's own without relying on two Synths;
- Fixed stage title reveal sound. Sonic Team used two synths to make the sound stereo, so now it's real stereo with only one sound.

## Sonic Unleashed HUD v1.3.1
- *forgot to include the Bumper Textures woops...*

## Sonic Unleashed HUD v1.3
- Remade PlayStation buttons to be higher res and have even better alignement;
- Overhauled menu sounds by Mario Tainaka.

## Sonic Unleashed HUD v1.2.1
- Adjusted PlayStation bumper alignement/size.

## Sonic Unleashed HUD v1.2
- Added support for PlayStation button prompts. Please edit the "UnleashedHUD.ini" file in the mod's root directory.

## Sonic Unleashed HUD v1.1.3
- Fixed **AGAIN** the broken "Ready GO!" intro animation when the game is set to English.

## Sonic Unleashed HUD v1.1.2
- Fixed broken "Ready GO!" intro animation when the game is set to English.

## Sonic Unleashed HUD v1.1
- Fixed boost bar "Ring Energy" text not displaying in languages other than English and Japanese;
- Added multiple language support for the "Ready GO!" intro animation.

## Sonic Unleashed HUD v1.0.1 (RC2)
- Adjusted slant angle on boost bar;
- Public release!

## Sonic Unleashed HUD v1.0 (RC1)
- First release candidate.