gallery/wizardcircle

Wysiwyg Wizards

Makers of Magic Apps

Step-By-Step Guide:

How to Contribute Data to Codex Commander

Editing Existing Data

 

1. Go to www.github.com and either log in to your account or create one.

2. Go to www.github.com/ccwargamedata and select the repository that matches the game you wish to change.

 

NOTE: The data is stored and read using JSON, which uses key/value pairs to identify data. The key is on the left side of the colon, whereas the value is on the right side of the colon. 

 

3. Click on the file in the repository that contains the data you wish to change.

4. Left click the pencil icon at the top right of the file contents window to edit the file.

5. Use CTRL+F to find the unit/upgrade you wish to change, then edit the value. Make sure to not change the key (left side of the colon), as it will cause the JSON to be invalid. Furthermore, always surround values that are not numbers with quotations marks ("").

 

NOTE: If you're not sure if your changes will invalidate the JSON, you can copy and paste the whole file contents of the here: https://jsonlint.com/

 

6. Scroll to the bottom of the page and put in a title for your changes, and then perhaps a description of those changes if you think it's necessary.

7. Click "Propose file change".

8. On the next page, click "Create pull request". This will use the same title as before, and you can simply use the same description that you used before (if any). Finally, click "Create pull request" again.

9. That's it, you're done! After your changes are approved they will be live on Codex Commander.

 

The CC Data Builder is a java program that allows you to input and manage data in a user interface that can then generate JSON code that is compatible with Codex Commander.

 

It is downloadable on Windows and requires Java to run. You can download the latest version of Java here: https://www.java.com/en/download/

 

Make sure to whitelist the Databuilder as most antivirus will flag this software. The software is perfectly safe however as this is Wysiwyg Wizards first project we havn't obtained a Code Signing Certificate, which would solve this issue.

 

The data builder automatically generates unitID's and optionID's, which is why it is strongly recommended to use the data builder rather than code the JSON manually. See the section on 'Collaborative Data Building And The ID System' for more information.

 

Data building is recommended only for enthusiastic users, as it can be clunky at times and may require the user to edit JSON data manually. Mistakes can cause large quantities of data to be unusable. Furthermore, finding the best way to organise the data can be challenging (deciding when to use equipment lists or if to have certain categories). When using the program, it's highly recommended to use the 'Save JSON' function as much as possible, and create backups of the .txt files.

 

 

 

Adding to Existing Data

 

(such as adding new units, armies or upgrades)

 

1. Download the Codex Commander data builder at https://wysiwygwizards.com/contributedata/ (and Java if you don't have it on your machine: https://www.java.com/en/download/).

 

Make sure to whitelist the Databuilder as most antivirus will flag it. This is simply because it includes file read/writing functionality, and as Wysiwyg Wizards first project, the Databuilder hasn't obtained a Code Signing Certificate - the file is perfectly safe.

 

1.5. Alternatively, you can follow the steps for editing existing data, where you create new key/value pairs rather than editing existing ones. Do this only if you're confident enough with JSON and with the Codex Commander data structure (see bottom of page). Furthermore, assure that no unitID or optionID values are duplicated in the entire game. This is because future updates may include a restrictions system which may reference units from one army into other armies.

 

2. Go to www.github.com and either log in to your account or create one.

3. Go to www.github.com/ccwargamedata and select the repository that matches the game you wish to change.

4. Left click "Clone or download" and select "Download ZIP".

5. Once the ZIP is downloaded, unzip it to a location of your choosing.

 

6. Open the Codex Commander data builder that you downloaded in step 1. Once it's open, click on the "Import Game(s) from Army Folder" button. Then navigate to the folder in step 5. Click the folder and press OK. The game should appear on the left-most white box. You can left click on it to navigate its contents.

7. After adding or removing the units you wish, click on the Game you were editing in the left-most white box to highlight it, and then click "Generate army files" below. A dialog will appear telling you where the army files were saved to. Navigate to this directory to view its contents.

 

8. Go to www.github.com/ccwargamedata and select the repository that matches the game you wish to change. Then click on the "Fork" button at the top right of the page.

9. On the new page, drag and drop the files you navigated to in step 7 onto the page. After they have uploaded, give the changes a title and maybe a short description. Then click "commit changes".

10. Repeat step 3, and then click the "New pull request" button towards the top of the page. 

 

11. On the new page click on the highlighted text "compare across forks". Then right underneath, change the "head repository" to be the repository with your github username in it. Use the same title and short description you gave in step 9, and then click "Create pull request". 

12. That's it, you're done! After your changes are approved they will be live on Codex Commander.

 

NOTE: If you notice a '$' or '%' before the name of an option, it means it either is - or links - to an equipment list. Equipment lists that are accessible to all units in the game have a '%' in front of them, whereas equipment lists that are accessible to all units in their parent army have a ‘$’ in front of them. This doesn't mean it shows for all units automatically, however. In order for units to have access to an equipment list an option needs to be added to the unit with the exact name of the equipment list (including the '%' or '$' at the beginning).

 

 

 

Creating And Using A New Game

 

1. Go to www.github.com and either log in to your account or create one. 

2. Click on the profile icon at the top left of the page and click "Your repositories" in the drop-down menu.

3. On the repositories page, click on the "New" button. Name it the name of the game you wish to use (though it can be whatever you like), make it a public repository, click "Initalize this repository with a README", then click "Create repository".

 

4. Download the Codex Commander data builder at https://wysiwygwizards.com/contributedata/ (and Java if you don't have it on your machine: https://www.java.com/en/download/). It may show as a virus - this is simply because it's not a well-known application and includes file read/writing functionality.

5. Open the Codex Commander data builder that you downloaded in step 4. You can create games, armies, units, and equipment using the "Add object" and "Show selected" buttons. Navigate by clicking on the units themselves.

 

6. When you have finished making your game, left click the Game in the left-most white box to highlight it, and then click "Generate army files". A dialog will appear telling you where the army files were saved to. Navigate to this directory to view it's contents.

7. Navigate to your github repository that you created in step 3, then drag and drop the files you navigated to in step 6. 

8. After the files have finished uploaded, give a title and short description if you wish. Then click "Commit changes". 

 

9. Launch Codex Commander on your phone or tablet and go to the "Download more games" screen. Click the '+' sign at the top right. Copy and paste the URL of the repository that you created in step 3. Your game should download and be usable in Codex Commander. If there are any issues, use the 'Feedback' button on the main menu for help.

 

 

 

JSON Structure diagram

Everything you'll need to take on data building

datastructureimage