Skip to content

Commit 9170b9f

Browse files
committed
Updated documentation for 1.0.0
1 parent a6ac83e commit 9170b9f

File tree

5 files changed

+32
-8
lines changed

5 files changed

+32
-8
lines changed

README.md

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,21 @@ You can cycle through options in dropdown boxes and increase/decrease numbers in
2222

2323
The UI layout is fully customisable by moving or resizing tabs.
2424

25+
## File Screen
26+
27+
After selecting a game format, individual assets can be saved and loaded. Art based assetts can specify an offset to load from (for example, for loading HUD graphics from a VRAM dump).
28+
29+
The 'label' specified in the mapping and DPLC definitions will be used as the main label in ASM file output.
30+
31+
The file screen is reused for individual objects in projects.
32+
2533
## Project Files
2634

2735
Project files serve as definitions for all the objects in your project. They should sit at the root of your project directory and be committed to version control. Project file configuration is autosaved.
2836

29-
A key change from version 1 is that Flex no longer has a game mode. Data is saved and loaded as whatever the definition for the object says. This means you can mix formats (like S1 Mappings and S2 DPLCs for editing Sonic CD data), or even provide custom definitions.
37+
Projects consist of objects, which are definitions of the filepaths used for an object's assets, and folders, which can be used to organise objects into groups.
3038

31-
The 'label' specified in the mapping and DPLC definitions is to use as the main label if one is required without the output.
39+
The filetree style menu on the left of the project screen allows you to drag and drop objects and folders to different places to more easily organise them. Right clicking gives you a menu for various operations for managing objects and folders, and each item can be renamed within the filetree as well as in the object configuration itself.
3240

3341
## Mapping Editor
3442

@@ -44,7 +52,9 @@ The mapping editor has the following mouse interactions;
4452

4553
### New Mapping
4654

47-
The new mapping overlay can be toggled with <kbd>nm</kbd>. To add a new mapping piece, drag it from the new mapping overlay to where in the mapping area you want it to display and the overlay will autodismiss.
55+
The new mapping overlay can be toggled with <kbd>nm</kbd>. To add a new mapping piece, drag it from the new mapping overlay to where in the mapping area you want it to display and the new mapping overlay will move out of the way.
56+
57+
The overlay can be configured to autodismiss when placing a piece, or return to allow easily adding multiple pieces.
4858

4959
### Drawing Mode
5060

@@ -60,7 +70,7 @@ Palette input will be normalised to Megadrive colours. To change the order of pa
6070

6171
## Sprites
6272

63-
The Sprites tab gives an overview of your full object's data, allowing you to change sprites or reorder them by dragging and dropping.
73+
The Sprites tab gives an overview of your full object's data, allowing you to change sprites or reorder them by dragging and dropping. Each sprite will autozoom out to best fit the mapping for it in the frame.
6474

6575
## Importing
6676

@@ -71,3 +81,11 @@ For importing a spritesheet, either the alpha channel or the top left pixel colo
7181
Mapping output can be configured to either reduce the number of tiles, or the number of mappings. The algorithm favours fewer horizontal sprites over vertical ones.
7282

7383
Both methods of importing use CIEDE2000 nearest colour matching to the current palette.
84+
85+
## Custom Mappings
86+
87+
As of version 1.0.0, Flex 2 supports a wider array of mapping formats and allows you to specify your own.
88+
89+
The base mapping formats are provided in the `scripts/` directory. These can be modified to suit whatever format you decide to come up with.
90+
91+
The definition file format is currently undocumented, and still being expanded on. If you have a request to add support for a new disassembly, or just want more information on the format - open an issue on github with your request.

TODO

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ definition([
1919
many(art()),
2020
])
2121

22-
// history
23-
// update documentation
2422
// project files
2523

24+
// provide a custom definition, but have a default
25+
2626
// crackers first, then kd cham
2727
// UI by definition
2828

@@ -72,6 +72,7 @@ copy / paste mappings
7272
time travel for undo/redo
7373
import palette from spritesheet https://yarnpkg.com/en/package/node-vibrant
7474
==
75+
uses a grayscale copy of another frame that you selected separately from the current one as a "background" frame.
7576
drawing mode fill !
7677
S - scroll to sprite
7778
04:43:53 <%Lil-G> i mean so when you do "delete unused tiles" it doesn't delete the tiles the other object uses

app/components/file/file-object.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ export const FileObject = observer(({ obj }) => {
245245
</div>
246246
<div className="menu-item">
247247
<Item>Offset</Item>
248-
<Input store={obj.art} accessor="offset" />
248+
<Input store={obj.art} accessor="offset" isNumber />
249249
</div>
250250
<ErrorMsg error={artError} />
251251
<FileInput

app/store/history.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ const addHistory = () => {
4646
if (timeTravelling) {
4747
timeTravelling = false;
4848
} else {
49-
console.log('add history');
5049
now && past.push(now);
5150

5251
now = getCurrent();

styles/components/documentation.scss

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@
1414
font-weight: bold;
1515
}
1616

17+
code {
18+
background-color: $grey;
19+
padding: 1px 5px;
20+
border-radius: 2px;
21+
}
22+
1723
table {
1824
background-color: $grey;
1925
padding: 5px;

0 commit comments

Comments
 (0)