Hi dudes, I finally purchased the War3 reforged recently because the mod community is getting bigger. Being a player myself when I was a kid, it's disappointed to witness what Blizzard has done to the game.
After I started to install many of the old custom campaigns, I found it was complicated to manage (add/remove/update) these campaigns. Therefore I decided to improve the workflow of importing the maps.
This post assuming you understand the basic knowledge and steps involved in importing custom campaigns AND some Javascript. I targeted it more to authors and technical modders. If you don't but wish to learn, please read the following post/resources:
Try to make custom campaigns in Refrorged
Reforged - Guide: Changing campaigns
Understanding vanilla files: Casc Storages - Main page
The eventual objective of the project is to provide non-technical players an automatic yet simple-to-use campaign management tool.
Special credits to:
WARCRAFT III REFORGED GRAPHIC MOD: QUENCHING
Quenching-Warcraft3 Reforged Mod
I was using some of their work as starting point. The author also gave me some tips along the way.
Ok, enough chit-chat
------------------------------------------------------------------------------
Pain points of state-of-the-art methods:
The next step I will make some simple .exe to facilitate the importing.
For those who are curious about the technical details, just reformate the gluemanager.js and search for "Qhook". I only inserted the line at 4 places.
After I started to install many of the old custom campaigns, I found it was complicated to manage (add/remove/update) these campaigns. Therefore I decided to improve the workflow of importing the maps.
This post assuming you understand the basic knowledge and steps involved in importing custom campaigns AND some Javascript. I targeted it more to authors and technical modders. If you don't but wish to learn, please read the following post/resources:
Try to make custom campaigns in Refrorged
Reforged - Guide: Changing campaigns
Understanding vanilla files: Casc Storages - Main page
The eventual objective of the project is to provide non-technical players an automatic yet simple-to-use campaign management tool.
Special credits to:
WARCRAFT III REFORGED GRAPHIC MOD: QUENCHING
Quenching-Warcraft3 Reforged Mod
I was using some of their work as starting point. The author also gave me some tips along the way.
Ok, enough chit-chat
------------------------------------------------------------------------------
Pain points of state-of-the-art methods:
- When adding new custom maps, player has to extract and modify the ui/campaigninforeforged.txt
- The player also has to modify the webui/gluemanager.js in order to display the campaign
- gluemanager.js is a transpiled react.js app, which has been uglified and minified, making it ambiguous to read.
- There are multiple places to add code (and it's JavaScript!!!), you can easily mess things up.
- Huge problem when Blizzard sometimes updating the gluemanager.js
- Additional resources such as background images & videos must be put in
- webui/campaign/campaignselect/backgrounds
- webui/webms
- ...
- Get .w3x and resources such as .webm and .png background ready
- Alternatively install the Quenching mod: Quenching-Warcraft3 Reforged Mod
- Download the attached file and unzip the content to <game-root>/_retail_/webui
- Modify the "var campaigns" variable, it's self-explanatory to understand:
- id - starts from 9, as there are 8 official campaigns
- background - the .webm background video for mission UI
- sound - the ambient sound of the mission start UI, as defined in ui/soundinfo/ambiencesounds.slk
- styles
- listItemHeaderColor - header color for campaign selection item
- listItemBackground - background image URL for campaign selection item
- missionHeaderColor - header color for individual missions in the campaign
- banner - banner URL for victory screen
- Enjoy
The next step I will make some simple .exe to facilitate the importing.
For those who are curious about the technical details, just reformate the gluemanager.js and search for "Qhook". I only inserted the line at 4 places.
Attachments
Last edited: