WAX File Generator: Difference between revisions

From DF21 Wiki
m (wip frame range changes)
m (full frame table done)
Line 136: Line 136:
|
|
|35
|35
|
|136
|
|Idle (single frame) Front
|-
|-
|2
|2
Line 144: Line 144:
|
|
|36
|36
|
|137
|
|Idle (single frame) Front Angle Left
|-
|-
|3
|3
Line 152: Line 152:
|
|
|37
|37
|
|138
|
|Idle (single frame) Side Left
|-
|-
|4
|4
Line 160: Line 160:
|
|
|38
|38
|
|139
|
|Idle (single frame) Rear Angle Left
|-
|-
|5
|5
Line 168: Line 168:
|
|
|39
|39
|
|140
|
|Idle (single frame) Rear
|-
|-
|6
|6
Line 176: Line 176:
|
|
|40
|40
|
|141
|
|Idle (single frame) Rear Angle Right
|-
|-
|7
|7
Line 184: Line 184:
|
|
|41
|41
|
|142
|
|Idle (single frame) Side Right
|-
|-
|8
|8
|
|64-66
|Ranged Attack Front
|Ranged Attack Front
|
|
|42
|42
|
|143
|
|Idle (single frame) Front Angle Right
|-
|-
|9
|9
|
|67-69
|Ranged Attack Angle Left
|Ranged Attack '''Recoil''' Front
|
|
|43
|43
|
|144-146
|
|Melee Attack Front
|-
|-
|10
|10
|
|70-71
|Ranged Attack Side Left
|Ranged Attack Front Angle Left
|
|
|44
|44
|
|147-149
|
|Melee Attack '''Recoil''' Front
|-
|-
|11
|11
|
|72-75
|Ranged Attack Rear Angle Left
|Ranged Attack '''Recoil''' Front Angle Left
|
|
|45
|45
|
|150-152
|
|Melee Attack Front Angle Left
|-
|-
|12
|12
|
|76-78
|Ranged Attack Rear
|Ranged Attack Side Left
|
|
|46
|46
|
|153-155
|
|Melee Attack '''Recoil''' Front Angle Left
|-
|-
|13
|13
|
|79-81
|
|Ranged Attack '''Recoil''' Side Left
|
|
|47
|47
|
|156-158
|
|Melee Attack Side Left
|-
|-
|14
|14
|
|82-84
|
|Ranged Attack Rear Angle Left
|
|
|48
|48
|
|159-161
|
|Melee Attack '''Recoil''' Side Left
|-
|-
|15
|15
|
|85-87
|
|Ranged Attack '''Recoil''' Rear Angle Left
|
|
|49
|49
|
|162-164
|
|Melee Attack Rear Angle Left
|-
|-
|16
|16
|
|88-90
|
|Ranged Attack Rear
|
|
|50
|50
|
|165-167
|
|Melee Attack '''Recoil''' Rear Angle Left
|-
|-
|17
|17
|
|91-93
|
|Ranged Attack '''Recoil''' Rear
|
|
|51
|51
|
|168-170
|
|Melee Attack Rear
|-
|-
|18
|18
|
|94-96
|
|Ranged Attack Rear Angle Right
|
|
|52
|52
|
|171-173
|
|Melee Attack '''Recoil''' Rear
|-
|-
|19
|19
|
|97-99
|
|Ranged Attack '''Recoil''' Rear Angle Right
|
|
|53
|53
|
|174-176
|
|Melee Attack Rear Angle Right
|-
|-
|20
|20
|
|100-102
|
|Ranged Attack Side Right
|
|
|54
|54
|
|177-179
|
|Melee Attack '''Recoil''' Rear Angle Right
|-
|-
|21
|21
|
|103-105
|
|Ranged Attack '''Recoil''' Side Right
|
|
|55
|55
|
|180-182
|
|Melee Attack Side Right
|-
|-
|22
|22
|
|106-108
|
|Ranged Attack Front Angle Right
|
|
|56
|56
|
|183-185
|
|Melee Attack '''Recoil''' Side Right
|-
|-
|23
|23
|
|109-111
|
|Ranged Attack '''Recoil''' Front Angle Right
|
|
|57
|57
|
|186-188
|
|Melee Attack Front Angle Right
|-
|-
|24
|24
|
|112-113
|
|Pain Front
|
|
|58
|58
|
|189-191
|
|Melee Attack '''Recoil''' Front Angle Right
|-
|-
|25
|25
|
|114-115
|
|Pain Front Angle Left
|
|
|59
|59
|
|192-203
|
|Idle (animated) Front
|-
|-
|26
|26
|
|116-117
|
|Pain Side Left
|
|
|60
|60
|
|204-215
|
|Idle (animated) Front Angle Left
|-
|-
|27
|27
|
|118-119
|
|Pain Rear Angle Left
|
|
|61
|61
|
|216-227
|
|Idle (animated) Side Left
|-
|-
|28
|28
|
|120-121
|
|Pain Rear
|
|
|62
|62
|
|228-239
|
|Idle (animated) Rear Angle Left
|-
|-
|29
|29
|
|122-123
|
|Pain Rear Angle Right
|
|
|63
|63
|
|240-251
|
|Idle (animated) Rear
|-
|-
|30
|30
|
|124-125
|
|Pain Side Right
|
|
|64
|64
|
|252-263
|
|Idle (animated) Rear Angle Right
|-
|-
|31
|31
|
|126-127
|
|Pain Front Angle Right
|
|
|65
|65
|
|264-275
|
|Idle (animated) Side Right
|-
|-
|32
|32
|
|128-130
|
|Dying v1
|
|
|66
|66
|
|276-287
|
|Idle (animated) Front Angle Right
|-
|-
|33
|33
|
|131
|
|Dead (Corpse frame)
|
|
|
|
Line 395: Line 395:
|
|
|}
|}
* Seq 0:  0-7 Walking Front
*Next SectionWax Convertor
* Seq 1:  8-15 Walking Front Angle Left
* Seq 2:  16-23 Walking Side Left
* Seq 3:  24-31 Walking Rear Angle Left
* Seq 4:  32-39 Walking Rear
* Seq 5:  40-47 Walking Rear Angle Right
* Seq 6:  48-55 Walking Side Right
* Seq 7:  56-63 Walking Front Angle Right
* Seq 8:  64-65 Standing Shot Front
* Seq 9:  66-67 Pain Front
* Seq 10:  68-70 Ranged Death
* Seq 11:  71 Corpse
* Seq 12:  72-75 Melee Death
* Seq 13:  76 Idle Front
* Seq 14:  77 Idle Front Angle Left
* Seq 15:  78 Idle Side Left
* Seq 16:  79 Idle Rear Angle Left
* Seq 17:  80 Idle Rear
* Seq 18:  81 Idle Rear Angle Right
* Seq 19:  82 Idle Side Right
* Seq 20:  83 Idle Front Angle Right
* Seq 21:  84-85 Pain Front Angle Left
* Seq 22:  86-87 Pain Side Left
* Seq 23:  88-89 Pain Rear Angle Left
* Seq 24:  90-91 Pain Rear
* Seq 25:  92-93 Pain Rear Angle Right
* Seq 26:  94-95 Pain Side Right
* Seq 27:  96-97 Pain Front Angle Left
* Seq 2898-99 Recoil Front


(Note: If making animations to be compatible with the original game, avoid re-using individual frames.)
(Note: If making animations to be compatible with the original game, avoid re-using individual frames.)

Revision as of 18:17, 31 March 2026

Overview:

The tool is under development, as is the documentation. Here is a video update on the progress:

Please check back soon for more information.


Enemies and other sprites in Dark Forces are in the WAX file format. Effectively they are a series of bitmap images, adhering to a set palette, with position data and ordered in to sequences - ie attack front, movement right-side 90, and so on. Editing these or creating a new one from scratch has generally been a very time consuming process. Especially with early tools available to the mod community. The goal of the Wax File Generator is to streamline that process with a purpose built collection of rigged 3D models, easy customisation options and templates for the various enemy types in the game, with added idle loop options for animated background characters.

While it is a Blender based tool, it has been created to be simple for users with no prior 3D knowledge required. All the core functionality is in a custom UI panel on the right hand side of the main 3D viewport. Switching enemy animations, randomising full outfits, selecting a specific alien species - it's all there.

Before we begin, there are a few things to download.

Download Requirements:

Before we get started, there are some tools to download:

1) Blender: https://www.blender.org/download/ - current version (4.4 at time of writing, multi platform)

           or if need be https://download.blender.org/release/ for any and all previous releases.

2) WAX/FME Convertor (by Jereth Kok): https://df-21.net/downloads/utilities/waxconverter/waxconverter.zip (Windows specific)

          Note: Requires .NET 6.0 - Version 3.2 - June 2024 Release

3) The template files, available here: (Insert link here when files complete)


The template files consist of one main Blender file and a 'Render' subfolder. Inside the 'Render' are a series of specifically named _***_Template folders. Please do not rename these as the folder naming structure is referenced by both Blender and Wax Convertor for this process to be as smooth as possible.

The general process is as follows:

  • Load the Blender file and use the script to create a character combination you want for your level
  • Render out the frames - the script should select which render sub folder for you automatically
  • Run the Photoshop / Gimp script to trim the images before loading Wax Convertor
  • Open the render sub folder - for example \Render\_TROOP_LH_Template - and open _TROOP_LH_Template.wproj in Wax Convertor
  • (Optional) Make any minor tweaks required to position / colour palette file selection, defaults should generally be fine
  • Click 'Create WAX!'

The Blender file and "WAX File Generator" UI:

First things first, install Blender on your machine. This can be as simple as downloading the .zip option and extracting to a folder on your desktop if you don't intend to use Blender often. Once that is done, there are two settings to check in the preferences to make the process smoother.

Go to 'Edit - Preferences' from the top menu bar. Select 'System' on the left, then choose a Cycles Render Device up the top if available. Cycles will run fine on a CPU only, but it's faster if one of these options are available.

Select 'Save & Load' on the left, then check 'Auto Run Python Scripts'. If not selected, you will need to run the rig ui script and character ui script each time you load the Blender file.

Blender will automatically save these preferences for future use, so you can now load the Blender file.

Current Species Head Options:

Twilek Duros Rodian Sullustan Twilek (Alt) Ithorian
Mon Calamari Gran (Ree-Yees) Quarren Bith Devaronian Arcona
Trandoshan Kubaz (Garindan) Pyke (Syndicate) Bothan Chagrian Gand (Zuckuss)
Wequay Togruta Aqualish (Ponda Baba) Yarkora Human Falleen (Xizor)
Mirialan Chiss (Thrawn)

Current Imperial Personnel Options:

ATAT Pilot Imperial Army Trooper Imperial Navy Commando Imperial Officer Juggernaut Transport Driver
Patrol Trooper Sandtrooper Scout Trooper Shore Trooper Snowtrooper
Stormtrooper (Standard) Swap Trooper Tie Pilot

Female variations are planned, but not yet included.


Wax Convertor Template:

Wax Convertor is the program that will take the sequence of png images rendered out of Blender, give them placement coordinates and assign images to sequences, and sequences inside actions. This should already be set up and ready to go for you! However, some background information on how it all works in case you need to make minor adjustments.

TROOP Replacement Template - Frame Ranges:

Sequence Frames Action Sequence Frames Action
0 0-7 Walking Front 34 132-135 Dying v2
1 8-15 Walking Front Angle Left 35 136 Idle (single frame) Front
2 16-23 Walking Side Left 36 137 Idle (single frame) Front Angle Left
3 24-31 Walking Rear Angle Left 37 138 Idle (single frame) Side Left
4 32-39 Walking Rear 38 139 Idle (single frame) Rear Angle Left
5 40-47 Walking Rear Angle Right 39 140 Idle (single frame) Rear
6 48-55 Walking Side Right 40 141 Idle (single frame) Rear Angle Right
7 56-63 Walking Front Angle Right 41 142 Idle (single frame) Side Right
8 64-66 Ranged Attack Front 42 143 Idle (single frame) Front Angle Right
9 67-69 Ranged Attack Recoil Front 43 144-146 Melee Attack Front
10 70-71 Ranged Attack Front Angle Left 44 147-149 Melee Attack Recoil Front
11 72-75 Ranged Attack Recoil Front Angle Left 45 150-152 Melee Attack Front Angle Left
12 76-78 Ranged Attack Side Left 46 153-155 Melee Attack Recoil Front Angle Left
13 79-81 Ranged Attack Recoil Side Left 47 156-158 Melee Attack Side Left
14 82-84 Ranged Attack Rear Angle Left 48 159-161 Melee Attack Recoil Side Left
15 85-87 Ranged Attack Recoil Rear Angle Left 49 162-164 Melee Attack Rear Angle Left
16 88-90 Ranged Attack Rear 50 165-167 Melee Attack Recoil Rear Angle Left
17 91-93 Ranged Attack Recoil Rear 51 168-170 Melee Attack Rear
18 94-96 Ranged Attack Rear Angle Right 52 171-173 Melee Attack Recoil Rear
19 97-99 Ranged Attack Recoil Rear Angle Right 53 174-176 Melee Attack Rear Angle Right
20 100-102 Ranged Attack Side Right 54 177-179 Melee Attack Recoil Rear Angle Right
21 103-105 Ranged Attack Recoil Side Right 55 180-182 Melee Attack Side Right
22 106-108 Ranged Attack Front Angle Right 56 183-185 Melee Attack Recoil Side Right
23 109-111 Ranged Attack Recoil Front Angle Right 57 186-188 Melee Attack Front Angle Right
24 112-113 Pain Front 58 189-191 Melee Attack Recoil Front Angle Right
25 114-115 Pain Front Angle Left 59 192-203 Idle (animated) Front
26 116-117 Pain Side Left 60 204-215 Idle (animated) Front Angle Left
27 118-119 Pain Rear Angle Left 61 216-227 Idle (animated) Side Left
28 120-121 Pain Rear 62 228-239 Idle (animated) Rear Angle Left
29 122-123 Pain Rear Angle Right 63 240-251 Idle (animated) Rear
30 124-125 Pain Side Right 64 252-263 Idle (animated) Rear Angle Right
31 126-127 Pain Front Angle Right 65 264-275 Idle (animated) Side Right
32 128-130 Dying v1 66 276-287 Idle (animated) Front Angle Right
33 131 Dead (Corpse frame)
  • Next Section: Wax Convertor

(Note: If making animations to be compatible with the original game, avoid re-using individual frames.)