Skip to content

Commit ed7e77b

Browse files
committed
frame remapping
1 parent 2a2e871 commit ed7e77b

14 files changed

Lines changed: 69 additions & 50 deletions

File tree

CHANGELOG

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@
99
- Sort imported spritesheet into rows properly
1010
- Autodismiss new mapping screen
1111
- Tabs can be maximized
12+
- Sprite swapping keyboard shortcuts added

TODO

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,10 @@ file menu (offset loading)
66
export spritesheet
77
==
88
BUGS
9-
hide invisible
10-
show/hide config state
9+
show/hide collapse config state
1110
pink surrounding tiles sometimes breaks
1211
FEATURES
13-
Maximize tabs
14-
images for icons
12+
Maximize tabs - images for icons (color)
1513
==
1614
CUSTOM FORMATS
1715
parser combinators

app/components/mappings/drag-move.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ export function attachDragMoveToNode(node) {
1212
.filter(() => true)
1313
.on('start', () => {
1414
const { dx, dy, sourceEvent: { buttons, target } } = event;
15-
const { move, activeMappings, selectedIndicies } = mappingState;
15+
const { move, activeMappings, selectedIndices } = mappingState;
1616

1717
const mappingNode = target.closest('.mapping-wrapper');
1818
const sourceIndex = mappingNode ? +mappingNode.getAttribute('data-index') : -1;
19-
const sourceIsActive = ~selectedIndicies.indexOf(sourceIndex);
19+
const sourceIsActive = ~selectedIndices.indexOf(sourceIndex);
2020

2121
if (buttons == LEFT && sourceIsActive) {
2222
move.init.replace([]);

app/components/mappings/drag-select.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ function setSelectedMappings(node) {
6464
if (active) {
6565
const { x, y, width, height } = mappingState.selectBBox;
6666

67-
const indicies = environment.currentSprite.mappings.reduce(
67+
const indices = environment.currentSprite.mappings.reduce(
6868
(acc, mapping, index) => {
6969
const { top: my, left: mx, width: mw, height: mh } = mapping;
7070

@@ -82,7 +82,7 @@ function setSelectedMappings(node) {
8282
[],
8383
);
8484

85-
mappingState.selectedIndicies.replace(indicies);
85+
mappingState.selectedIndices.replace(indices);
8686
}
8787
}
8888

app/components/mappings/hud.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const numFmt = (num) => `${num<0?'-':''}0x${(Math.abs(+num)).toString(16).toUppe
99
export class HUD extends Component {
1010

1111
render() {
12-
const { x, y, select: { active }, center, activeMappings, selectedIndicies, newMapping } = mappingState;
12+
const { x, y, select: { active }, center, activeMappings, selectedIndices, newMapping } = mappingState;
1313
const { config: { currentSprite, dplcsEnabled, currentTile }, mappings, tiles } = environment;
1414

1515
return <div className="hud">
@@ -33,8 +33,8 @@ export class HUD extends Component {
3333
)}
3434
{!!activeMappings.length && (
3535
<div>
36-
indicies: <span className="blue">
37-
{JSON.stringify(selectedIndicies.filter((i) => {
36+
indices: <span className="blue">
37+
{JSON.stringify(selectedIndices.filter((i) => {
3838
return i < mappings[currentSprite].length;
3939
}))}
4040
</span>

app/components/mappings/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export class Mappings extends Component {
5454

5555
render() {
5656
const { buffer, index, mappings } = environment.currentSprite;
57-
const { scale, x, y, baseWidth, mode, selectedIndicies } = mappingState;
57+
const { scale, x, y, baseWidth, mode, selectedIndices } = mappingState;
5858

5959
return (
6060
<div className="mappings" ref={this.onRef}>
@@ -77,7 +77,7 @@ export class Mappings extends Component {
7777
}}
7878
className={classNames({
7979
'mapping-wrapper': mode == 'mapping',
80-
noselect: !selectedIndicies.includes(
80+
noselect: !selectedIndices.includes(
8181
realIndex,
8282
),
8383
})}

app/components/mappings/selection.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class SelectionLayer extends Component {
5555
const ry = (top * scale) - (extra / 2);
5656

5757
return (
58-
all || ~mappingState.selectedIndicies.indexOf(mappingIndex) ?
58+
all || ~mappingState.selectedIndices.indexOf(mappingIndex) ?
5959
<rect
6060
key={mappingIndex}
6161
x={rx + x}

app/components/mappings/state/arrange-tiles-by-sprite-order.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { arrayIndexOf } from '#util/array-index-of';
55
export function arrangeTilesBySpriteOrder() {
66

77
let newTiles = [];
8-
let newTilesIndicies = [];
8+
let newTilesIndices = [];
99

1010
const { tiles, mappings, dplcs, config: { dplcsEnabled } } = environment;
1111

@@ -15,16 +15,16 @@ export function arrangeTilesBySpriteOrder() {
1515
const length = obj.size || obj.width * obj.height;
1616
const { art } = obj;
1717

18-
const objTileIndicies = range(art, art +length);
19-
const indiciesTileIndex = arrayIndexOf(objTileIndicies, newTilesIndicies);
18+
const objTileIndices = range(art, art +length);
19+
const indicesTileIndex = arrayIndexOf(objTileIndices, newTilesIndices);
2020

21-
if (indiciesTileIndex != -1) {
22-
obj.art = indiciesTileIndex;
21+
if (indicesTileIndex != -1) {
22+
obj.art = indicesTileIndex;
2323
}
2424
else {
2525
obj.art = newTiles.length;
2626
newTiles.push(...tiles.slice(art, art + length));
27-
newTilesIndicies.push(...objTileIndicies);
27+
newTilesIndices.push(...objTileIndices);
2828
}
2929

3030
});

app/components/mappings/state/delete-unused-tiles.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,23 @@ import range from 'lodash/range';
55
export function deleteUnusedTiles() {
66
const { sprites, config: { dplcsEnabled }, tiles } = environment;
77

8-
let usedIndicies = [];
8+
let usedIndices = [];
99

1010
sprites.forEach(({mappings, dplcs}) => {
1111
if (dplcsEnabled) {
1212
dplcs.forEach(({art, size}) => {
13-
usedIndicies.push(...range(art, art + size));
13+
usedIndices.push(...range(art, art + size));
1414
});
1515
}
1616
else {
1717
mappings.forEach(({art, width, height}) => {
18-
usedIndicies.push(...range(art, art + (width * height)));
18+
usedIndices.push(...range(art, art + (width * height)));
1919
});
2020
}
2121
});
2222

23-
const unusedIndicies = Array.from({length: tiles.length}, (_, i) => i)
24-
.filter((index) => !usedIndicies.includes(index));
23+
const unusedIndices = Array.from({length: tiles.length}, (_, i) => i)
24+
.filter((index) => !usedIndices.includes(index));
2525

2626
// save initial art positions to compare against
2727
sprites.forEach(({mappings, dplcs}) => {
@@ -31,7 +31,7 @@ export function deleteUnusedTiles() {
3131
});
3232
});
3333

34-
unusedIndicies.forEach((index) => {
34+
unusedIndices.forEach((index) => {
3535
// mark as unused
3636
tiles[index].unused = true;
3737

app/components/mappings/state/index.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ class MappingState {
6666

6767
// selections
6868

69-
@observable selectedIndicies = [];
69+
@observable selectedIndices = [];
7070

7171
@observable select = {
7272
active: false,
@@ -96,22 +96,22 @@ class MappingState {
9696
}
9797

9898
@action selectAll = () => {
99-
const indicies = environment.currentSprite.mappings.map((d, i) => i);
100-
this.selectedIndicies.replace(indicies);
99+
const indices = environment.currentSprite.mappings.map((d, i) => i);
100+
this.selectedIndices.replace(indices);
101101
};
102102

103103
@action selectNone = () => {
104-
this.selectedIndicies.replace([]);
104+
this.selectedIndices.replace([]);
105105
};
106106

107107
@action selectToggle = (index) => {
108-
if (~this.selectedIndicies.indexOf(index)) {
109-
this.selectedIndicies.replace(this.selectedIndicies.filter((i) => {
108+
if (~this.selectedIndices.indexOf(index)) {
109+
this.selectedIndices.replace(this.selectedIndices.filter((i) => {
110110
return i != index;
111111
}));
112112
}
113113
else {
114-
this.selectedIndicies.push(index);
114+
this.selectedIndices.push(index);
115115
}
116116
};
117117

@@ -133,7 +133,7 @@ class MappingState {
133133
// active mappings
134134

135135
@computed get activeMappings() {
136-
return this.selectedIndicies.reduce((a, c) => {
136+
return this.selectedIndices.reduce((a, c) => {
137137
const { mappings } = environment.currentSprite;
138138
if (mappings.length > c) {
139139
a.push(mappings[c]);

0 commit comments

Comments
 (0)