Localized Mod Woes, packaging AND loading

I swapped over HW2C mod development to the new exe a while ago, and everything worked fine. For a long time I’ve been using the following command line args

-datapath path -overridebigfile

That works fine and dandy, but it’s not how the packaging tutorials want it to work, so I tried out this new structure and flag,

-moddatapath dataHWATC

And the mod works that way too, but none of the localized strings are being loaded now. I tried adding locale flags, putting overridebigfile back in, nothing. I have to assume this means the mod won’t package properly either? Either way it seems like an odd difference in capabilities between the two flags.

P.S.: It’d be really, really nice to be able to have multiple mod working directories laying around without having to copy the stock .big files to each one. This will be especially true when working with RM fully. I only have so much HDD space to go around.

If you’re using -moddatapath you don’t need to copy the .big files at all. Only put the ‘mod’ files in whatever -moddatapath is targeting. HWRM still loads the .bigs from the Data folder as needed.

To save space, you can use hardlinks instead of copying. (This will look like two files but will not use any extra HDD space.) If you’re on Windows, Link Shell Extension is a good way to make them.
(You’ll probably need to recrete the hardlinks after a Steam update if it afected any hardlinked files.)

One of my tasks for this week is looking into adding better support for mods with custom localization. Also, adding support for mods that are only localization changes for campaign or multiplayer (i.e. adding new languages that the game doesn’t officially support).

In the future, I would also like to support mods for things that are “client side only” stuff, like badges, or cursors since right now anything packaged up as a .big file and uploaded to Workshop require everyone in multiplayer to also be running that mod (whether they use it or not).

3 Likes

That would be nice. I can’t upload my old mod without it.

It appears that this was true! I did it the old way both out of habit, and because @botman’s mod packaging guide told me to. Good to know it’s an unneeded step these days.

1 Like

Yeah, I should probably fix that in the Steam guide. :slight_smile:

EDIT: I updated my Steam guide to indicate using:

-moddatapath DataMyMod -overridebigfile

…will allow you to test the loose files before you upload to Workshop. The “-overridebigfile” will work when testing multiplayer on a LAN but will not work when testing multiplayer on Steam. To test multiplayer on Steam, you will need to upload the mod to Workshop, set the visibility to “Friends Only” and then have someone in your friends list download the mod and launch the game with your mod’s .big file to join the server running the mod.

1 Like

Good work bud stay on the ball you folks are doing lovely things for the community… :smile:

I just pushed out an update for the Workshop Tool to support mods that contain ‘locale’ folders with language folders containing localized text.

You should see something like this in the Workshop Tool when you create or update the mod:

Creating TOC Entry Name:‘toclocaletest’ Alias:‘data’
Parsing Compression Overrides
Adding All files to TOC
Creating TOC Entry Name:‘locale_french’ Alias:‘locale’
Parsing Compression Overrides
Adding All files to TOC
Creating TOC Entry Name:‘locale_piglatin’ Alias:‘locale’
Parsing Compression Overrides

There should be a separate TOC entry named “locale_[language]” with the list of the files located in that locale folder.

2 Likes

I did an update on my mod, and I saw those toc creation lines, but it doesn’t seem to have created any new .bigs. I have my doubts if it actually uploaded the changed .big file either based on the time it took either.(I trimmed a few extraneous things out of the directory. Is it possible they were automatically skipped as unneeded in the original build?)

Ed: and strings are still not localized, but I assumed that would be the case anyone since there hasn’t been a game update.

Everything is being put into one single .big file. The locale files for each language are a separate Table Of Contents entry in the one .big file (there’s not separate .big files for each language).

I did find a bug where I’m not including any locale\localedat.lua file in the Data section of the .big file, so I’ll have to fix that later today (or tomorrow). If you aren’t using a custom localedat.lua file then it shouldn’t affect you.

The game won’t need to be updated if you are extending or modifying the existing 6 languages (English, French, Italian, German, Spanish, or Russian). If you have a new custom language, then you will probably run into problems with that not working until a game update gets released.

Which mod was it that you uploaded?

Well, that’s the problem right there. We have one of those, as we added a few new .dat files to keep things organized.

The workshop item is currently private, but we have a moddb page for old versions of it. Homeworld:@

I’ve updated the mod on Workshop and I’ll test it as soon as I’ll find a computer on which HW2 actually starts without black and back to desktop.
My mod uses the unsupported languages, so we’ll see what happens.

I updated the WorkshopTool so that it won’t skip the locale\localedat.lua file when it creates the .big file with localization.

Also, there’s a ReadMe.txt file in the WorkshopTool folder now. :slight_smile:

2 Likes

I gave it a retest and it didn’t help. Double checked and with -datapath and -overridebigfile the localization still works right, but with -moddata or with loading the packed workshop mod in the launcher it doesn’t.

I’ll pull it down from Workshop and give it a look in the debugger to see why it’s failing.

Which language were you using when launching it?

Need me to do anything to give you access, or do you have moderator powers to grab it with? I didn’t specify any locale to launch it with, so I assume it’ll load my standard, which is english.

Hm. Any chance the locale names are case sensitive?

No, you don’t need to do anything for me to download it. Admins on the Steam forum have superpowers.

When I un-bigged your mod, I see the locale folder and inside it is the localedat.lua file, but there are no folders within the locale folder.

Yes, if you don’t run with -locale it will use whatever language you have set in Steam (in this case English).

I don’t think the language name folders inside the locale folder are case sensitive.

Do you have an English folder inside the locale folder?

If so, can you try something? Right click on the ‘Homeworld Remastered Toolkit’ in Steam, select ‘Properties’, then click the ‘Local Files’ tab and click the 'Verify Integrity of tool cache…" button. This should force Steam to download all the latest files if you are missing anything or if anything isn’t up to date.

After that, can you run the WorkshopTool again and use the ‘update’ command to update your mod and then copy and paste the text from the workshop tool here so I can see if it is adding any locale TOC sections?

That’s cool, you’re the ultimate HW2 mod spies.

Hmmm, I just tried un-bigging my test locale .big file and I don’t see any folders inside that ‘locale’ folder either, but it works in game, so I’m guessing the game unpacks things slightly differently than the Archive.exe tool does.

I may have to re-work things to not pack the localized folders all into the same .big file as the mod file and just leave them as separate .big files. :frowning:

1 Like

There is an english folder in my locale folder. I’ll go through those steps and update you afterwards, and test another hunch I have too.

P.S. Thanks for the support here :smile:

1 Like