GMod model rescaler

Contents

  1. Introduction (what this is all about)
  2. Preparation (only done once)
    1. Download all crap
    2. Prepare Steam
    3. Install Studio Compiler
    4. Prepare rescaler application
  3. Resizing a model (finally)
    1. Decompile
    2. Actual resizing (and recompilation)
    3. Results
  4. FAQ
  5. Legal jargon stuff

Introduction

The GMod model rescaler is an application which allows you to resize props, ragdolls or other model files. You can make your models tiny, you can make them giant sized, it's your choice. It works for all Source model files, independent of Episode 1 and Orange Box models (the shipped studiocompiler.exe with it is slightly modified to also work with Orange Box models). Please note that you cannot use resized models as NPCs if they are using shared animations (Alyx for example would use animations from Alyx_animations.mdl etc). However: basic ragdolls, NPCs with completely independent animations as well as player models with independent animations can be rescaled correctly in most cases!

Minor note: This application has only been tested on Windows XP systems, it should however also work on 2000 and Vista.

Preparation

This is going to be long.. however.. don't panic: the following steps only have to be done once and only again if you reinstall the application on another PC.

Download all crap

First of all download the application package required!

Prepare Steam

Open your Steam client. Select the 5th tab and select the Source SDK. If it isn't installed yet - do so now! Then start it so that it unpacks and you're presented the typical game list. If you do not intend to use the model viewer or hammer to precheck your models - then you're already done with Steam preparations! Close the Source SDK and return to Steam. You're done on that point.

Install Studio Compiler

The package you downloaded came with an application called StudioCompiler.exe - this file has to be copied into your Source SDK installation. Select it, click on "Copy" and Paste it into: [Steam installation directory]\steamapps\[your steam name]\sourcesdk\bin\ep1\bin

Prepare rescaler application

Now copy the files scaler.exe, qc.ini, smd.ini and vta.ini into a directory of your choice.. or leave them in the unpacking directory it doesn't matter. Once they are at a position you like: open scaler.exe. It will greet you with a simple interface:

You now need to set up the first three field in the upper left. The values you enter there will be stored so don't worry about having to enter them all the time: the first one needs to point to studiocompiler.exe - so it should be [Steam installation directory]\steamapps\[your steam name]\sourcesdk\bin\ep1\bin\studiocompiler.exe in the end. Note that you may also use mdldecompiler.exe if you prefer using that decompiler (It's the superior decompiler but likes sending out error messages such as "invalid SteamAppId" which would confuse many users). You can use the "Search" button to browse to the path of studiocompiler.exe (this tip applies for all other boxes too).
The second path should point to studiomdl.exe - this is the compiler: you'll find it in:
[Steam installation directory]\steamapps\[your steam name]\sourcesdk\bin\orangebox\bin\ (fast version for Episode 2 and Garry's Mod)
[Steam installation directory]\steamapps\[your steam name]\sourcesdk\bin\ep1\bin\ (less fast but more compatible)
In most cases you can use the orangebox compiler if it is installed on your system. That one would be the faster choice.
The third box should only point to your Garry's Mod installation: for Garry's mod 10 this should look the following way:
[Steam installation directory]\steamapps\[your steam name]\garrysmod\garrysmod\.

A completel set up rescaler should show:

Congratulations: set up finished!

Resizing a model

Decompile

To resize a model first of all it must be decompiled. To do this: open the model rescaler (scaler.exe). As the scaler should auto read all settings you set up in chapter 2 it should have already auto-filled the first 3 edit fields. Next to the field belonging to studiocompiler click on "Open". Studio Compiler will appear. Select the tab "Model Decompile". In the first field select the model file (.mdl file) you want to resize - in the second directory select the directory it should decompile the model data to (I recommend you to use a fresh, new blank directory!). The result could look like this (using mario_kart64n's Rouge the Bat model):

Now click on "Extract" and two dialogs should appear: the first should say that it loaded the model, the next one that it completed dumping the model. If errors appear.. then decompilation failed, feel free to contact me in that case! If it completed: in the directory of the extracted model the follwing files (or comparable) should appear:

Actual resizing

Now close studiocompiler and you return to the model rescaler. In the 4th edit field search the file mdldecompiler.qc in the directory of the decompiled files. Then click on "Open" - the output model file name should autofill:

Feel free to edit the output filename - you can add directories to it (change it to something like folder1/folder2/filename). A folder is quite a good idea if you want multiple sizes. Sizes can be put into the lower box: 1 is normal size.. 2 would be double, 0.5 would be half size - you can enter all sizes you wish: in my case I am gonna add 0.5 1 1.5 2 3 5 10 for demonstration purposes (please note: I am using a German windows version, the decimal seperator in German is not . but , so do not wonder that the screenshot shows 0,5 and 1,5 - those EQUAL 0.5 and 1.5 in English Windows versions!).

Now you're ready to compile. However.. in rare cases the QC file is decompiled incorrectly by studiocompiler. For that purpose click on "Test compile" and check the output on the right - if everything goes fine it will show "Completed model __". "Test compile" only compiles the first given scale factor (0.5 in our case). Please note: if the test compile does fine then in 99.9% of all cases all scales will work (theoretically you can go up to unlimited - please note that sometimes too small models might crash - too large in that case just your framerate drops to 0 but they spawn ^^.

Okay.. test compilation worked fine.. so now: "Compile all scales". This may take some time!

Finished.. now the model should be selectable using "Browse" in GMod.. Spawn menus could be easily made by hand!

Results

The model appears in the output area with a scale attached.. so in my case the 0.5 Rouge I made will appear in my Browse folder under Garry's Mod/resized-rouge/rouge000.5.mdl .
I took mario_kart64n's Rouge because some people complained that she's tiny and not properly scaled to the existing Rouge the Bat by Unknown. But using the tricks given here.. you can fix it:

Left is mario_kart64n's - right unknown's. Admitted.. mario_kart's is kinda small compared to unknown's. What if we take a 1.5 scaled one?

Left: mario_kart64n normal scale - middle unknown - right: mario_kart64n scaled by factor 1.5 - okay, she's indeed a little tall now. So next time: try 1.3 ;) . And to finalize:

Who said she was small? (Player model to the left).

FAQ

Why don't you just use the $scale command in the QC file?
The $scale command does not adjust eye vectors (for eye posing) and does not adjust VTA files (for face posing). My application does both!

Face posing on large scales fuck up.
I know that it does, I do not know why :( (it works in GMod 9 for no reason, it doesn't work in GMod 10 nor in any model viewer by Valve).

Legal jargon stuff

The application is provided as-is including source code. You may modify the application and release the modified version as long as you release the source code of the modified application with it - released under GNU General Public License (GPL)!
I do not claim ownership for the used Rouge model for demonstration (original models by SEGA™/Sonicteam, ports by Unknown or mario_kart64n), Garry's Mod is ©Team Garry, the Source Engine, the Source SDK, Half-Life and related are ©VALVe!