Difference between revisions of "Project X"

From Worms Knowledge Base

Jump to: navigation, search
(Project X & RubberWorm)
m (File formats: Amount of 4-byte to 1-byte booleans is quite mixed, clarify that.)
(25 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{ParentArticle|[[Software]]}}
+
{{ParentArticle|[[WormKit]] or [[Software]]}}
 +
{{Languages|en|Project X|de|Project X/de}}
 +
{{WkIncompatible|versioncheck=1}}
 
{{Software_infobox
 
{{Software_infobox
 
| icon = Project_x_icon.png
 
| icon = Project_x_icon.png
Line 5: Line 7:
 
| screenshot = Project_x_editor.png
 
| screenshot = Project_x_editor.png
 
| developer = [[Entuser]]
 
| developer = [[Entuser]]
| version = v0.6.5 / 31 October, 2008
+
| version = v0.8.0 / 16 August 2011
 
| games = [[Worms Armageddon|W:A]]
 
| games = [[Worms Armageddon|W:A]]
 +
| waver = 3.6.31.0
 
| language = Pascal
 
| language = Pascal
 
| license = Freeware
 
| license = Freeware
| website = http://worms-px.ru/
+
| website = http://px.worms2d.info/
| <!-- download = [http://wiki.thecybershadow.net/files/fiddler401.zip fiddler401.zip (574 kb)] -->
+
 
}}
 
}}
  
Project X is a game editor for Worms Armageddon. The program includes features from [[The Fiddler]], and the ability to create custom scripts, which allow you to control objects and events in the game. The program can also be used online, when all players are using the program at the same time.
+
'''Project X''' (or '''PX''') is a game editor for Worms Armageddon. The program includes features from [[The Fiddler]], and the ability to create custom scripts, which allow you to control objects and events in the game.
  
 
== Features ==
 
== Features ==
  
There project includes a game and script editor, and a map editor for making map-specific events. The game and script editor can edit existing weapons in the game, and add additional weapons with weapon 'tables'. The program also has partial support for adding new sprites to the game.
+
Project X includes a scheme editor, a library editor and a map editor for making map-specific events. The game and the scheme editor can edit existing weapons in the game, and add additional weapons with weapon 'tables'. The program also has full support for adding new sprites to the game.
 +
 
 +
=== Online Features ===
 +
The Project X module itself can be used online if all players have the appropriate version of the .dll file (with the same network protocol). If the version is very old and cannot be used to play, the game will give a warning.
 +
 
 +
Before the game it checks whether all of the guests have the appropriate version of the .dll file and sends the PX scheme with all the libraries that are attached to it.
  
 
== How to run ==
 
== How to run ==
  
You will need either W:A 3.6.28.0 or 3.6.29.0 and [[WormKit]] installed. Download and extract the files in the rar file (can be opened with 7-Zip) into your Worms Armageddon directory.  
+
You must have W:A 3.6.31.0 and [[WormKit]] or [[WormKitDS]] installed. Download and extract the files in the rar file (can be opened with [http://www.7-zip.org/ 7-Zip]) into your Worms Armageddon directory.  
 +
 
 +
Run the PXUpdater.exe - this is a very important step - otherwise the game will not work. The updater automatically downloads all the latest DLLs, libraries and other up-to-date components. It is recommended to do the update every 2 days at least. The updating is fast and only requires user to press the respective button. Please note that it must be run from the W:A folder.
 +
 
 +
To create your own schemes, libraries and PX maps, go into the "Editors" directory, and run PXSchemeEd.exe, PXLEdit.exe or MEd.exe respectively. Save the scheme files in your "Worms&nbsp;Armageddon\PXSchemes" directory, the libraries into "Worms&nbsp;Armageddon\Libs", and the maps to the SavedLevels folder as usually.
 +
 
 +
To run Project&nbsp;X, just start the game as you do usually (WormKit.exe in case of WormKit, WA.exe in case of [[WormKitDS]]). The scheme can be selected in the offline multiplayer or online lobby.
 +
 
 +
== File formats ==
  
To create your own schemes, go into the PX Scheme Editor directory, and run PXSchemeEd.exe. Save the scheme files in your Worms Armageddon\PXSchemes directory.
+
Project X introduces some new file formats to Worms Armageddon.
 +
The formats were not officially documented until [[User:Pac-Man|Pac-Man]] reverse engineered the formats of version 0.8.0 in January 2014.
  
To run Project X, open WormKit.exe, then minimise W:A, select the PX scheme from the drop-down list, and maximise W:A. You will then be playing with the scheme file loaded.
+
* [[Project X/Scheme file|Project X scheme file]] (*.pxs)
 +
* [[Project X/Library file|Project X library file]] (*.pxl)
 +
* Additionally, the map PNG files generated by the Project X map editor contain additional chunks after the ones of typical PNG images. These have not yet been analyzed.
  
 +
The following general information applies to all Project X file formats:
 +
* All strings are stored in ASCII and prefixed with an integer determining their length. Thus, there is no postfix or 0-terminator, and Unicode support is missing.
 +
* Boolean values are sometimes stored with 1 byte, sometimes with 4 bytes. Values resulting in 0 represent false, all others true.
  
== Project X & RubberWorm ==
+
== Known issues ==
WormKit allows only one DLL launching for now. Further version may include choosing of which DLL you want to use. For now, here is a workaround. Assuming that you have your Worms Armageddon directory in ''C:\Team17\Worms&nbsp;Armageddon'', and the ''"PX Full Eng Pre-Release"''  directory inside the Worms Armageddon folder.
+
=== Cross-compatibility issues ===
 +
Although Project X is said to be compatible with normal players when its features are disabled, still there are a few known issues which may lead to a desynchronization between such players regardless of whether it is "enabled" or "disabled".
 +
* The colors of the flying dirt from when the Longbow or Mole Bomb hit a longbow arrow or girder are not taken from the pixels in the arrow or girder itself (like standard W:A does), but from the initial state of the map. If, at the beginning of the game, there was no land  where the arrow/girder pixels currently are, no dirt will fly, thus causing a desynchronization from clients that are not running Project X (because dirt particles affect the random number seed). In practice this usually happens when an arrow is shot into another arrow, or a Mole Bomb digs through a girder, but it could also happen when an arrow is shot into a girder, or a Mole Bomb digs through a longbow arrow.
 +
* Unlike standard W:A, large explosions do not erase smaller circles from the soil background. In fact, under Project X the soil background never gets erased at all, whereas in standard W:A it's possible for the entire soil background to be erased. This can cause a desynchronization if <v3.6.22.0 is emulated.
 +
* Project X changes a floating-point precision flag (probably due to not setting D3DCREATE_FPU_PRESERVE), causing [[RubberWorm]] Proportional Blackhole physics to be modified slightly, due to intermediate floating-point results being rounded to single precision. Sooner or later players will be desynchronized, if some are using Project X and others aren't.
  
You must open a Notepad, paste it into, and then save it as a batch file. The .BAT extension is important, this way Windows can use the file as a command prompt instruction file. Then you can use it as a shorcut to launch WormKit - Project X.
+
=== Rendering and similar issues ===
 +
* On some systems, the automatic extraction and conversion of Gfx.dir sprites may fail and there won't be any sprites visible in the game. The reason is either a folder with restricted access or a Direct3D fail (?). Package can be [http://myfiles.my1.ru/wa/other/PX.rar downloaded] manually and extracted into the W:A root.
  
You can modify this to fit with your directories.
+
== See also ==
  
<pre>C:
+
* [[RubberWorm]]
cd C:\Team17\Worms Armageddon
+
* [http://px.worms2d.info Project X's website]
del wkRubberWorm.dll
+
* [http://px.worms2d.info/forum Project X's forum]
copy /-y "PX Full Eng Pre-Release\wkPX.dll"
+
* [http://px.worms2d.info/px080wiki Project X's wiki with documentation]
WormKit.exe</pre>
+
  
It will delete the "wkRubberWorm.dll" of RubberWorm, and switch it for the "wkPX.dll" of Project X; then it will launch WormKit.
 
The same instruction can be found on the [[RubberWorm]] page.
 
  
 
{{stub}}
 
{{stub}}

Revision as of 22:03, 27 April 2017

(Up to WormKit or Software)
In other languages: English (en) • Deutsch (de) • +/-
This WormKit module is not compatible with the latest W:A update (3.8.1).
icon Project X
Project X screenshot
Developer: Entuser
Latest version: v0.8.0 / 16 August 2011
Supported games: W:A
Supported W:A version: 3.6.31.0
Language: Pascal
License: Freeware
Website: http://px.worms2d.info/

Project X (or PX) is a game editor for Worms Armageddon. The program includes features from The Fiddler, and the ability to create custom scripts, which allow you to control objects and events in the game.

Features

Project X includes a scheme editor, a library editor and a map editor for making map-specific events. The game and the scheme editor can edit existing weapons in the game, and add additional weapons with weapon 'tables'. The program also has full support for adding new sprites to the game.

Online Features

The Project X module itself can be used online if all players have the appropriate version of the .dll file (with the same network protocol). If the version is very old and cannot be used to play, the game will give a warning.

Before the game it checks whether all of the guests have the appropriate version of the .dll file and sends the PX scheme with all the libraries that are attached to it.

How to run

You must have W:A 3.6.31.0 and WormKit or WormKitDS installed. Download and extract the files in the rar file (can be opened with 7-Zip) into your Worms Armageddon directory.

Run the PXUpdater.exe - this is a very important step - otherwise the game will not work. The updater automatically downloads all the latest DLLs, libraries and other up-to-date components. It is recommended to do the update every 2 days at least. The updating is fast and only requires user to press the respective button. Please note that it must be run from the W:A folder.

To create your own schemes, libraries and PX maps, go into the "Editors" directory, and run PXSchemeEd.exe, PXLEdit.exe or MEd.exe respectively. Save the scheme files in your "Worms Armageddon\PXSchemes" directory, the libraries into "Worms Armageddon\Libs", and the maps to the SavedLevels folder as usually.

To run Project X, just start the game as you do usually (WormKit.exe in case of WormKit, WA.exe in case of WormKitDS). The scheme can be selected in the offline multiplayer or online lobby.

File formats

Project X introduces some new file formats to Worms Armageddon. The formats were not officially documented until Pac-Man reverse engineered the formats of version 0.8.0 in January 2014.

  • Project X scheme file (*.pxs)
  • Project X library file (*.pxl)
  • Additionally, the map PNG files generated by the Project X map editor contain additional chunks after the ones of typical PNG images. These have not yet been analyzed.

The following general information applies to all Project X file formats:

  • All strings are stored in ASCII and prefixed with an integer determining their length. Thus, there is no postfix or 0-terminator, and Unicode support is missing.
  • Boolean values are sometimes stored with 1 byte, sometimes with 4 bytes. Values resulting in 0 represent false, all others true.

Known issues

Cross-compatibility issues

Although Project X is said to be compatible with normal players when its features are disabled, still there are a few known issues which may lead to a desynchronization between such players regardless of whether it is "enabled" or "disabled".

  • The colors of the flying dirt from when the Longbow or Mole Bomb hit a longbow arrow or girder are not taken from the pixels in the arrow or girder itself (like standard W:A does), but from the initial state of the map. If, at the beginning of the game, there was no land where the arrow/girder pixels currently are, no dirt will fly, thus causing a desynchronization from clients that are not running Project X (because dirt particles affect the random number seed). In practice this usually happens when an arrow is shot into another arrow, or a Mole Bomb digs through a girder, but it could also happen when an arrow is shot into a girder, or a Mole Bomb digs through a longbow arrow.
  • Unlike standard W:A, large explosions do not erase smaller circles from the soil background. In fact, under Project X the soil background never gets erased at all, whereas in standard W:A it's possible for the entire soil background to be erased. This can cause a desynchronization if <v3.6.22.0 is emulated.
  • Project X changes a floating-point precision flag (probably due to not setting D3DCREATE_FPU_PRESERVE), causing RubberWorm Proportional Blackhole physics to be modified slightly, due to intermediate floating-point results being rounded to single precision. Sooner or later players will be desynchronized, if some are using Project X and others aren't.

Rendering and similar issues

  • On some systems, the automatic extraction and conversion of Gfx.dir sprites may fail and there won't be any sprites visible in the game. The reason is either a folder with restricted access or a Direct3D fail (?). Package can be downloaded manually and extracted into the W:A root.

See also


Personal tools