Skip to content

Commit 4084fec

Browse files
authored
v1.11.1
1 parent 8776430 commit 4084fec

17 files changed

Lines changed: 451 additions & 276 deletions

index.html

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ <h2 class="dialog_handle">Project</h2>
428428

429429

430430
<div class="dialog_bar">
431-
<button type="button" class="large confirm_btn cancel_btn" onclick="saveSettings()">Close</button>
431+
<button type="button" class="large confirm_btn cancel_btn" onclick="saveProjectSettings()">Close</button>
432432
<button type="button" class="large" id="entity_mode_convert" onclick="entityMode.convert()">To Entity Model</button>
433433
</div>
434434
<div id="dialog_close_button" onclick="$('.dialog#'+open_dialog).find('.cancel_btn:not([disabled])').click()"><i class="material-icons">clear</i></div>
@@ -649,7 +649,7 @@ <h2>About</h2>
649649
<div onclick="uv_dialog.openTab('up')" id="up" class="tab">Up</div>
650650
<div onclick="uv_dialog.openTab('down')" id="down" class="tab">Down</div>
651651
</div>
652-
<h2 class="dialog_handle entity_mode_only">Input</h2>
652+
<h2 class="dialog_handle entity_mode_only">UV Editor</h2>
653653
<div id="uv_dialog_all" class="uv_dialog_content uv_dialog_all_only">
654654

655655
</div>
@@ -1045,7 +1045,8 @@ <h3>Textures</h3>
10451045
v-for="texture in textures"
10461046
v-bind:class="{ selected: texture.selected }"
10471047
v-bind:texid="texture.id"
1048-
class="texture" v-on:click.stop="texture.select()"
1048+
class="texture"
1049+
v-on:click.stop="texture.select()"
10491050
v-on:dblclick="texture.openMenu($event)"
10501051
@contextmenu.prevent.stop="texture.showContextMenu($event)"
10511052
>
@@ -1073,7 +1074,7 @@ <h3>Textures</h3>
10731074
<div id="options" class="ui selection_only">
10741075
<h3>Rotation</h3>
10751076
<div class="bar">
1076-
<div class="placeholder"></div>Rotation
1077+
<div class="placeholder"></div>Angle
10771078
</div>
10781079
<div class="bar" id="rotation_main_bar" style="position: relative;">
10791080
<div id="cube_rotate_dummy"></div>

js/app.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ function findEntityTexture(mob, return_path) {
223223
'geometry.enderman': 'enderman/enderman',
224224
'geometry.zombie': 'zombie/zombie',
225225
'geometry.zombie.husk': 'zombie/husk',
226+
'geometry.zombie.drowned': 'zombie/drowned',
226227
'geometry.pigzombie': 'pig/pigzombie',
227228
'geometry.pigzombie.baby': 'pig/pigzombie',
228229
'geometry.skeleton': 'skeleton/skeleton',
@@ -244,6 +245,7 @@ function findEntityTexture(mob, return_path) {
244245
'geometry.vindicator': 'vindicator',
245246
'geometry.wolf': 'wolf/wolf',
246247
'geometry.ocelot': 'cat/ocelot',
248+
'geometry.trident': 'trident',
247249
'geometry.guardian': 'guardian',
248250
'geometry.polarbear': 'polarbear',
249251
'geometry.villager': 'villager/villager',
@@ -255,7 +257,14 @@ function findEntityTexture(mob, return_path) {
255257
'geometry.bed': 'bed/white',
256258
'geometry.player_head': 'steve',
257259
'geometry.mob_head': 'skeleton/skeleton',
258-
'geometry.dragon_head': 'dragon/dragon'
260+
'geometry.dragon_head': 'dragon/dragon',
261+
'geometry.cod': 'fish/fish',
262+
'geometry.pufferfish.small': 'fish/pufferfish',
263+
'geometry.pufferfish.mid': 'fish/pufferfish',
264+
'geometry.pufferfish.large': 'fish/pufferfish',
265+
'geometry.salmon': 'fish/salmon',
266+
'geometry.tropicalfish_a': 'fish/tropical_a',
267+
'geometry.tropicalfish_b': 'fish/tropical_b'
259268
}
260269
var path = textures[mob.split(':')[0]]
261270
if (path) {

js/blockbench.js

Lines changed: 55 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var appVersion = '1.11.0'
1+
var appVersion = '1.11.1'
22
var osfs = '/'
33
var File, i;
44
var browser_name = 'electron'
@@ -75,8 +75,6 @@ function initializeApp() {
7575
}
7676
Toolbox.updateBar()
7777

78-
updateMenu()
79-
8078
if (isApp) {
8179
updateRecentProjects()
8280
}
@@ -321,26 +319,6 @@ function setupVue() {
321319
})
322320
project_vue._data.Project = Project
323321

324-
/*
325-
var displaypresets_vue = new Vue({
326-
el: '#display_presets',
327-
data: {display_presets},
328-
methods: {
329-
applyPreset: function(preset, event) {
330-
var index = display_presets.indexOf(preset)
331-
applyDisplayPreset(display_presets[index])
332-
},
333-
deletePreset: function(preset, event) {
334-
var index = display_presets.indexOf(preset)
335-
if (display_presets[index].fixed == true) return;
336-
display_presets.splice(index, 1)
337-
localStorage.setItem('display_presets', JSON.stringify(display_presets))
338-
}
339-
}
340-
})
341-
displaypresets_vue._data.display_presets = display_presets
342-
*/
343-
344322
var stats_bar_vue = new Vue({
345323
el: '#status_bar',
346324
data: {Prop}
@@ -954,6 +932,9 @@ var Undo = {
954932
history: [],
955933

956934
add: function(action, isTextureEdit) {
935+
if (settings.show_actions.value === true) {
936+
showStatusMessage(action)
937+
}
957938
if (isTextureEdit) {
958939
var entry = new Undo.textureHistoryEntry(action)
959940
} else {
@@ -1057,7 +1038,7 @@ var Undo = {
10571038
tex.iconpath = arr.join('?')
10581039
}
10591040

1060-
tex.load()
1041+
tex.load(true, true)
10611042
textures.push(tex)
10621043
})
10631044
texturelist.$forceUpdate();
@@ -1097,12 +1078,7 @@ var Undo = {
10971078
})
10981079
}
10991080
}
1100-
function setUndo(action) {
1101-
if (settings.show_actions.value === true) {
1102-
showStatusMessage(action)
1103-
}
1104-
Undo.add(action)
1105-
}
1081+
var setUndo = Undo.add
11061082
//Misc
11071083
var Screencam = {
11081084
normalCanvas: function(options, cb) {
@@ -1168,7 +1144,7 @@ var Screencam = {
11681144
})
11691145
});
11701146
})
1171-
}, 20)
1147+
}, 40)
11721148
},
11731149
returnScreenshot: function(dataUrl, cb) {
11741150
if (cb) {
@@ -1211,46 +1187,32 @@ var clipbench = {
12111187
var p = Prop.active_panel
12121188
if (open_dialog == 'uv_dialog') {
12131189
uv_dialog.copy(event)
1214-
} else if (p == 'uv') {
1215-
main_uv.copy(event)
12161190
} else if (display_mode) {
12171191
copyDisplaySlot()
1192+
} else if (p == 'uv' || p == 'preview') {
1193+
main_uv.copy(event)
12181194
} else if (p == 'textures' && isApp) {
12191195
if (textures.selected) {
1220-
cl('test')
1221-
if (textures.selected.mode === 'bitmap') {
1222-
var img = nativeImage.createFromDataURL(textures.selected.iconpath)
1223-
} else {
1224-
var img = nativeImage.createFromPath(textures.selected.iconpath.split('?')[0])
1225-
}
1226-
clipboard.writeImage(img)
1196+
clipbench.setTexture(textures.selected)
12271197
}
1228-
} else if (p == 'outliner' || p == 'preview') {
1229-
clipbench.cubes = []
1230-
clipbench.group = undefined
1198+
} else if (p == 'outliner') {
1199+
clipbench.setCubes()
1200+
clipbench.setGroup()
12311201
if (selected_group) {
1232-
clipbench.group = selected_group.duplicate('cache')
1233-
if (isApp) {
1234-
clipboard.writeHTML(JSON.stringify({type: 'group', content: clipbench.group}))
1235-
}
1202+
clipbench.setGroup(selected_group)
12361203
} else {
1237-
selected.forEach(function(obj) {
1238-
var base_cube = new Cube(obj)
1239-
base_cube.display.mesh = undefined;
1240-
clipbench.cubes.push(base_cube)
1241-
})
1242-
clipboard.writeHtml(JSON.stringify({type: 'cubes', content: clipbench.cubes}))
1204+
clipbench.setCubes(selected)
12431205
}
12441206
}
12451207
},
12461208
paste: function(event) {
12471209
var p = Prop.active_panel
12481210
if (open_dialog == 'uv_dialog') {
12491211
uv_dialog.paste(event)
1250-
} else if (p == 'uv') {
1251-
main_uv.paste(event)
12521212
} else if (display_mode) {
12531213
pasteDisplaySlot()
1214+
} else if (p == 'uv' || p == 'preview') {
1215+
main_uv.paste(event)
12541216
} else if (p == 'textures' && isApp) {
12551217
var img = clipboard.readImage()
12561218
if (img) {
@@ -1260,7 +1222,7 @@ var clipbench = {
12601222
texture.openMenu()
12611223
},40)
12621224
}
1263-
} else if (p == 'outliner' || p == 'preview') {
1225+
} else if (p == 'outliner') {
12641226
//Group
12651227
var group = 'root'
12661228
if (selected_group) {
@@ -1286,22 +1248,51 @@ var clipbench = {
12861248
clipbench.group.duplicate(group)
12871249
} else {
12881250
clipbench.cubes.forEach(function(obj) {
1289-
var base_cube = new Cube()
1290-
base_cube.extend(obj)
1291-
base_cube.uuid = guid()
1292-
base_cube.display.mesh = undefined;
1293-
1294-
elements.push(base_cube)
1295-
base_cube.addTo(group)
1296-
Canvas.addCube(elements[elements.length-1])
1251+
var base_cube = new Cube(obj)
1252+
1253+
base_cube.addTo(group).init()
12971254
selected.push(elements[elements.length-1])
12981255
})
12991256
updateSelection()
13001257
setUndo('Pasted Cubes')
13011258
}
13021259
}
1260+
},
1261+
setTexture: function(texture) {
1262+
//Sets the raw image of the texture
1263+
if (!isApp) return;
13031264

1265+
if (texture.mode === 'bitmap') {
1266+
var img = nativeImage.createFromDataURL(texture.iconpath)
1267+
} else {
1268+
var img = nativeImage.createFromPath(texture.iconpath.split('?')[0])
1269+
}
1270+
clipboard.writeImage(img)
13041271
},
1272+
setGroup: function(group) {
1273+
if (!group) {
1274+
clipbench.group = undefined
1275+
return;
1276+
}
1277+
clipbench.group = group.duplicate('cache')
1278+
if (isApp) {
1279+
clipboard.writeHTML(JSON.stringify({type: 'group', content: clipbench.group}))
1280+
}
1281+
},
1282+
setCubes: function(cubes) {
1283+
if (!cubes) {
1284+
clipbench.cubes = []
1285+
return;
1286+
}
1287+
cubes.forEach(function(obj) {
1288+
var base_cube = new Cube(obj)
1289+
base_cube.display.mesh = undefined;
1290+
clipbench.cubes.push(base_cube)
1291+
})
1292+
if (isApp) {
1293+
clipboard.writeHtml(JSON.stringify({type: 'cubes', content: clipbench.cubes}))
1294+
}
1295+
}
13051296
}
13061297
TextureAnimator = {
13071298
isPlaying: false,

js/canvas.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function initCanvas() {
2525
cameraOrtho.axis = null
2626
cameraPers.position.set(-20, 20, -20)
2727

28-
wireframeMaterial = new THREE.LineBasicMaterial({color: 0x74c2ff, linewidth: 1})
28+
wireframeMaterial = new THREE.LineBasicMaterial({color: 0x74c2ff})
2929

3030
controls = new THREE.OrbitControls(cameraPers, canvas1);
3131
controls.minDistance = 1;
@@ -322,7 +322,6 @@ function buildGrid() {
322322
var size, step;
323323
var grid_color = new THREE.Color(parseInt('0x'+app_colors.grid.hex.replace('#', ''), 16))
324324
var line_material = new THREE.LineBasicMaterial({color: grid_color});
325-
line_material.linewidth = 6;
326325
var material;
327326

328327
northMarkMaterial.color = grid_color
@@ -1017,12 +1016,15 @@ class CanvasController {
10171016
//East+West
10181017

10191018
var p = {}
1020-
p.from = face_list[1].from
1021-
p.to = face_list[1].to
1019+
1020+
p.from = face_list[1].from.slice()
1021+
p.to = face_list[1].to.slice()
1022+
10221023
face_list[1].from = face_list[3].from.slice()
10231024
face_list[1].to = face_list[3].to.slice()
1024-
p.from = face_list[3].from.slice()
1025-
p.to = face_list[3].to.slice()
1025+
1026+
face_list[3].from = p.from.slice()
1027+
face_list[3].to = p.to.slice()
10261028

10271029
}
10281030
face_list.forEach(function(f) {
@@ -1109,7 +1111,7 @@ class CanvasController {
11091111
var geo = new THREE.EdgesGeometry(object.geometry);
11101112

11111113
var outline_color = '0x'+app_colors.accent.hex.replace('#', '')
1112-
var mat = new THREE.LineBasicMaterial({color: parseInt(outline_color), linewidth: 50})
1114+
var mat = new THREE.LineBasicMaterial({color: parseInt(outline_color), linewidth: 2})
11131115
var wireframe = new THREE.LineSegments(geo, mat)
11141116
wireframe.name = obj.uuid+'_outline'
11151117
wireframe.position.set(object.position.x, object.position.y, object.position.z)

js/display.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ class refModel {
2828
if (id === 'player') {
2929
this.onload = function() {
3030
if (slot === 'thirdperson_righthand') {
31-
setDisplayArea(-5, 8, -6, -90, 22.5, 90, 1, 1, 1)
31+
setDisplayArea(-5.7, 7.5, -6, -90, 22.5, 90, 1, 1, 1)
3232
} else if (slot === 'thirdperson_lefthand') {
33-
setDisplayArea(-5, 8, 6, -90, 22.5, 90, 1, 1, 1)
33+
setDisplayArea(-5.7, 7.5, 6, -90, 22.5, 90, 1, 1, 1)
3434
} else if (slot === 'head') {
3535
setDisplayArea(0, 22, 0, 0, 90, 0, 0.625, 0.625, 0.625)
3636
}
@@ -156,7 +156,7 @@ class refModel {
156156
buildPlayer() {
157157
var scope = this;
158158
var things = [
159-
{"size": [4, 12, 4], "pos": [0, 12, -6], "origin": [0, 16, 0], "angle": -20,
159+
{"size": [4, 12, 4], "pos": [0, 12, -6], "origin": [0, 16, 0], "angle": -22.5,
160160
"north": {"uv": [10, 5, 11, 8], "texture": "#0"},
161161
"east": {"uv": [13, 5, 14, 8], "texture": "#0"},
162162
"south": {"uv": [12, 5, 13, 8], "texture": "#0"},
@@ -165,7 +165,7 @@ class refModel {
165165
"down": { "uv": [12, 4, 13, 5], "texture": "#0", "rotation": 270 }
166166
}, //Right Arm
167167

168-
{"size": [4, 12, 4], "pos": [0, 12, 6], "origin": [0, 16, 0], "angle": -20,
168+
{"size": [4, 12, 4], "pos": [0, 12, 6], "origin": [0, 16, 0], "angle": -22.5,
169169
"north": {"uv": [8, 13, 9, 16], "texture": "#0"},
170170
"east": {"uv": [11, 13, 12, 16], "texture": "#0"},
171171
"south": {"uv": [10, 13, 11, 16], "texture": "#0"},

0 commit comments

Comments
 (0)