WangED
WangED is presumably the map editor of Pangya, used to edit holes of Courses, placing objects on them, defining areas and other properties for the game.
Functionality
File Format
The WangED project files have been partially leaked in some patches of the game. They end in the .wep file extension.
An example file to demonstrate this is \data\round07_west\rank\west_rank.wep
#WEP V1.20 for Pangya
#This is auto generated project file which is made by WangED. Don't edit this file.
*RootDir "D:/ProjectG/data/"
*NumPuppet 14
0 : "D:/ProjectG/data/Round03_Wizz/Ase/wiz_o_rock_01.pet"
[...]
*NumVisGroup 0
*NumNodeList 2
[...]
*Node 1
{
*Name "auto"
*Type 0
*Num 2
*Show 1
*Npos 33.460 5.013 67.702
*Npos 86.077 5.013 77.046
}
*NumElement 117
*Element 0
{
*Type "GAME"
*WadFile ""
*BspFile ""
*Ambient 182 190 240
*Diffuse 120 92 188
*Ambient2 247 236 249
*Shadow 207 202 229
*Par 4
}
*Element 1
{
*Type "CAMERA"
*Class ""
*Name "DefaultCamera"
*Pos 14.58 36.11 -34.09
*Dest 21.12 8.91 87.79
*Fov 75.00
*Bank 0.00
}
[...]
*Element 4
{
*Type "POINT"
*Class "WPoint"
*Name "그리드"
*Pos 125.41 0.00 117.21
}
*Element 5
{
*Type "POINT"
*Class "WMoon"
*Name "달"
*Pos 356.60 386.80 909.43
*Data "MoonA.seq"
}
[...]
*Element 3
{
*Type "PUPPET"
*Class "WObject"
*Filename "D:/ProjectG/data/Round03_Wizz/Ase/wiz_o_rock_01.pet"
*Pos -102.20 -0.69 144.83
*Rot 0.0 12.0 0.0
*Scale 0.67
*FlagShow 1
*NoLOD 0
*ForceOpaque 0
*DiffLayer "normal"
}
[...]
#End of WangED project file.The file has been truncated due to being about 1,500 lines long.
Header
Structurally, these files start with a header comment specifying the used WangED version and a disclaimer that this file shouldn't be edited manually.
#WEP V1.20 for Pangya #This is auto generated project file which is made by WangED. Don't edit this file.
General Format
The format is relatively simple, most readable keys follow a *Key form, whereas the tools then determine what to read next. Values can be blocks denoted by brackets, or there can be just values or lists.
# key-value
*Key "value"
*Key 1
# list
*Key 1
0 : "value"
# block
*Key 1
{
*Key "value"
*Key 1
}
Configuration Settings
Root Directory
The *RootDir configuration specifies the root of the Pangya data folder, the tool probably detects all files included so only filename references are needed.
*RootDir "D:/ProjectG/data/"
Puppets
The *NumPuppet configuration specifies the count and list of used Puppet models on this hole.
*NumPuppet 14 0 : "D:/ProjectG/data/Round03_Wizz/Ase/wiz_o_rock_01.pet" [...]
VisGroups
*NumVisGroup specifies the number of VisGroups on this hole. The shape of the visgroup configuration is unknown because none of the leaked files contain any.
*NumVisGroup 0
Node Lists
*NumNodeLists and the following *Node values specify the amount and configuration for node lists on the course. Node lists are coordinates specifying areas with a specific purpose, the game derives behavior based on the name.
*NumNodeList 2
*Node 1
{
*Name "auto"
*Type 0
*Num 2
*Show 1
*Npos 33.460 5.013 67.702
*Npos 86.077 5.013 77.046
}
Properties:
- Name: Name of the node list
- Type: Type of the node list
- Num: Count of node positions in the node list
- Show: If the node list is active
- Npos: Vector position, times the
Numvalue
Elements
*NumElements and the following *Element values specify properties of the hole, objects and other entities present.
What fields are present depend on both the *Type and *Class properties of an element.
Here's an example collection of different element types and subtypes:
*Element 0
{
*Type "GAME"
*WadFile ""
*BspFile ""
*Ambient 182 190 240
*Diffuse 120 92 188
*Ambient2 247 236 249
*Shadow 207 202 229
*Par 4
}
*Element 1
{
*Type "CAMERA"
*Class ""
*Name "DefaultCamera"
*Pos 14.58 36.11 -34.09
*Dest 21.12 8.91 87.79
*Fov 75.00
*Bank 0.00
}
*Element 4
{
*Type "POINT"
*Class "WPoint"
*Name "그리드"
*Pos 125.41 0.00 117.21
}
*Element 5
{
*Type "POINT"
*Class "WMoon"
*Name "달"
*Pos 356.60 386.80 909.43
*Data "MoonA.seq"
}
*Element 3
{
*Type "PUPPET"
*Class "WObject"
*Filename "D:/ProjectG/data/Round03_Wizz/Ase/wiz_o_rock_01.pet"
*Pos -102.20 -0.69 144.83
*Rot 0.0 12.0 0.0
*Scale 0.67
*FlagShow 1
*NoLOD 0
*ForceOpaque 0
*DiffLayer "normal"
}
Discovery
This tool is mentioned in the default QuickPatch file exclusion list.
Trivia
- This tool showcases a lot of the internals of WangReal Engine, the in-house developed engine from Ntreev Soft. Even though some of these file types are unused in Pangya, these project files still include references to them, seen in the
*WadFileand*BspFileproperties ofGAMEelements.- WAD and BSP files are also interesting as these are file types commonly known from the idTech 1 engine used in Doom, showing how much the Ntreev developers referenced these formats way back when.
- Speaking of references to other engines, WangED is also a direct reference to Unreal Engines map editor, UnrealED.