Skip to content
Dreamy Cecil edited this page Aug 11, 2024 · 7 revisions

Time to say goodbye to the old-fashioned AutoGRO!

Dreamy GRO is a custom utility designed to help mappers and modders pack their Serious Sam content into GRO packages without any hassle or extra bloat.

Features

  • One-click packaging of any world file with the automatic detection of the game directory.
  • Ability to scan any file for the resources that they reference, including but not limited to: world files (.wld), game libraries (.dll), effect textures (.tex), message files (.txt).
  • Mod support! For packaging files from mods using their standard resources.

Supported games

  • Serious Sam Classic: The First Encounter
  • Serious Sam Classic: The Second Encounter
  • Serious Sam Classics: Revolution (works even better than RevPacker!)
  • ...and even other games on Serious Engine 1?!

FAQ

Q: What is a GRO archive/package?

A: GRO archive or .gro file (stands for "group file") is a special package that contains resources that are loaded into memory each time a Serious Sam game starts. When you start a specific level, it loads all the needed resources from the associated GRO archive instead of searching for them on a physical disk. It is structurally identical to a ZIP archive (with a renamed extension for the game to distinguish the files).

Some older workshop submissions for Serious Sam Classics: Revolution (located in the workshop folder within Steam) are packed in GRO archives with a .bin extension (stands for "binary file") and have a _legacy suffix after their filename. Basically, if you wanted to match GRO archives, you would use *.gro and old Revolution workshop submissions would be *_legacy.bin.

Q: Is there going to be a version with custom user interface?

A: Someday, hopefully.

Q: Why is there a Linux version?

A: Why not? Even though you can't use Serious Editor or barely play classics on Linux, you might still want to work on it. Plus it's my very first application for Linux, so you're welcome.

Q: I'm packing files from a mod but not everything is included!

A: If you've replaced some standard resources in your mod (for example, weapon models or a menu background texture), these resources are going to be skipped in the scanning process due to being detected in standard GRO packages. There are two ways to solve this:

  1. Don't include standard GRO packages from the game to the script (by removing the -f gro flag or -d arguments with them).
  2. Manually add them to the GRO package or leave them where they are without packing them.

Q: The program closes without creating any GRO file! What is happening?

A: Some error must have occurred. Make sure that you're packing WLD files from within valid game folders that contain familiar GRO archives such as 1_00c.gro, SE1_00.gro or All_01.gro, otherwise double-clicking on them will not work! And if something else goes wrong, the application will display an error. To see it, just add a -p command line argument to the execution or add a pause command at the end of a batch script to prevent the application from closing immediately.

How to use

This utility uses command line interface to function, so because of it there are two ways you can utilize it.

File association

If .wld files aren't already setup to open in any application, double-click on any WLD file and browse for DreamyGRO.exe. Or right click on any WLD file -> Properties -> click on Change next to "Opens with" and browse for DreamyGRO.exe.

Upon opening the WLD file, you will be prompted to display the world dependencies. If you type "Y", it will just list all of the files the world depends on aside from the default resources and checks if they physically exist on a disk. Any other input will initiate a packing process.

The program will ask you to enter the resulting GRO filename and then ask if music and world files should be compressed. The resulting GRO file will be placed in the game's root directory.

Writing a batch script

If you'd like further customization, you can just run Dreamy GRO with a --help command to display useful information about all possible command line arguments and how to use them. Using these arguments you can pack any levels from anywhere however you like.

Example

This script will set root path to the Steam's Serious Sam Revolution installation and pack two world files from the "Levels/MapPack" directory into a GRO file in the game's directory without packing resources from "TexturePack.gro" and default SSR GRO files ("All_01.gro" and "All_02.gro"):

cd C:/DreamyGRO
DreamyGRO.exe -r "C:/Program Files (x86)/Steam/steamapps/common/Serious Sam Revolution" -i "Levels/MapPack/Level_01.wld" -i "Levels/MapPack/Level_02.wld" -o MyMapPack.gro -d TexturePack.gro -f ssr -f gro

Screenshots

Command line help

Mod detection

One-click packing

Long dependency listing

DLL file support