mirror of
https://github.com/JannisX11/blockbench.git
synced 2025-03-19 17:01:55 +08:00
Add additive texture view mode
Add UI mode setting
This commit is contained in:
parent
2c4067ecb7
commit
e67351e0c2
@ -1270,7 +1270,7 @@ Interface.definePanels(() => {
|
||||
v-bind:id="keyframe.uuid"
|
||||
v-on:click.stop="keyframe.select($event)"
|
||||
v-on:dblclick="keyframe.callPlayhead()"
|
||||
:title="trimFloatNumber(keyframe.time) + ' ⨉ ' + keyframe.display_value"
|
||||
:title="trimFloatNumber(keyframe.time, 2) + ' ⨉ ' + trimFloatNumber(keyframe.display_value)"
|
||||
@mousedown="dragKeyframes(keyframe, $event)" @touchstart="dragKeyframes(keyframe, $event)"
|
||||
@contextmenu.prevent.stop="keyframe.showContextMenu($event)"
|
||||
>
|
||||
@ -1281,12 +1281,12 @@ Interface.definePanels(() => {
|
||||
<template v-if="keyframe.interpolation == 'bezier'">
|
||||
<div class="keyframe_bezier_handle"
|
||||
:style="getBezierHandleStyle(keyframe, 'left')"
|
||||
:title="'${tl('generic.left')}: ' + trimFloatNumber(keyframe.bezier_left_time[graph_editor_axis_number]) + ' ⨉ ' + trimFloatNumber(keyframe.bezier_left_value[graph_editor_axis_number])"
|
||||
:title="'${tl('generic.left')}: ' + trimFloatNumber(keyframe.bezier_left_time[graph_editor_axis_number], 2) + ' ⨉ ' + trimFloatNumber(keyframe.bezier_left_value[graph_editor_axis_number])"
|
||||
@mousedown="dragBezierHandle(keyframe, 'left', $event)" @touchstart="dragBezierHandle('left', $event)"
|
||||
></div>
|
||||
<div class="keyframe_bezier_handle"
|
||||
:style="getBezierHandleStyle(keyframe, 'right')"
|
||||
:title="'${tl('generic.right')}: ' + trimFloatNumber(keyframe.bezier_right_time[graph_editor_axis_number]) + ' ⨉ ' + trimFloatNumber(keyframe.bezier_right_value[graph_editor_axis_number])"
|
||||
:title="'${tl('generic.right')}: ' + trimFloatNumber(keyframe.bezier_right_time[graph_editor_axis_number], 2) + ' ⨉ ' + trimFloatNumber(keyframe.bezier_right_value[graph_editor_axis_number])"
|
||||
@mousedown="dragBezierHandle(keyframe, 'right', $event)" @touchstart="dragBezierHandle('right', $event)"
|
||||
></div>
|
||||
</template>
|
||||
|
@ -423,6 +423,11 @@ const Blockbench = {
|
||||
if (!LastVersion || LastVersion.replace(/.\d+$/, '') != appVersion.replace(/.\d+$/, '')) {
|
||||
Blockbench.addFlag('after_update');
|
||||
}
|
||||
try {
|
||||
let ui_mode = JSON.parse(localStorage.getItem('settings')).interface_mode.value;
|
||||
if (ui_mode == 'desktop') Blockbench.isMobile = false;
|
||||
if (ui_mode == 'mobile') Blockbench.isMobile = true;
|
||||
} catch (err) {}
|
||||
})();
|
||||
|
||||
if (isApp) {
|
||||
|
@ -175,6 +175,11 @@ const Settings = {
|
||||
}});
|
||||
|
||||
//Interface
|
||||
new Setting('interface_mode', {category: 'interface', value: 'auto', type: 'select', options: {
|
||||
'auto': tl('settings.interface_mode.auto'),
|
||||
'desktop': tl('settings.interface_mode.desktop'),
|
||||
'mobile': tl('settings.interface_mode.mobile'),
|
||||
}});
|
||||
new Setting('interface_scale', {category: 'interface', value: 100, min: 40, max: 200, type: 'number', condition: isApp, onChange() {
|
||||
var factor = Math.clamp(settings.interface_scale.value, 40, 200) / 100;
|
||||
currentwindow.webContents.setZoomFactor(factor)
|
||||
|
@ -1416,6 +1416,7 @@ class Texture {
|
||||
function setViewMode(mode) {
|
||||
let update_layered = (mode == 'layered' || texture.render_mode == 'layered');
|
||||
let update_emissive = (mode == 'emissive' || texture.render_mode == 'emissive');
|
||||
let update_blending = (mode == 'additive' || texture.render_mode == 'additive');
|
||||
let changed_textures = update_layered ? Texture.all : [texture];
|
||||
|
||||
Undo.initEdit({textures: changed_textures});
|
||||
@ -1432,11 +1433,15 @@ class Texture {
|
||||
if (update_emissive) {
|
||||
texture.getMaterial().uniforms.EMISSIVE.value = mode == 'emissive';
|
||||
}
|
||||
if (update_blending) {
|
||||
texture.getMaterial().blending = mode == 'additive' ? THREE.AdditiveBlending : THREE.NormalBlending;
|
||||
}
|
||||
Undo.finishEdit('change texture view mode');
|
||||
}
|
||||
return [
|
||||
{name: 'menu.texture.render_mode.default', icon: texture.render_mode == 'default' ? 'radio_button_checked' : 'radio_button_unchecked', click() {setViewMode('default')}},
|
||||
{name: 'menu.texture.render_mode.emissive', icon: texture.render_mode == 'emissive' ? 'radio_button_checked' : 'radio_button_unchecked', click() {setViewMode('emissive')}},
|
||||
{name: 'menu.texture.render_mode.additive', icon: texture.render_mode == 'additive' ? 'radio_button_checked' : 'radio_button_unchecked', click() {setViewMode('additive')}},
|
||||
{name: 'menu.texture.render_mode.layered', icon: texture.render_mode == 'layered' ? 'radio_button_checked' : 'radio_button_unchecked', click() {setViewMode('layered')}, condition: () => Format.single_texture},
|
||||
]
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
@ -717,6 +717,11 @@
|
||||
|
||||
"settings.interface_scale": "Interface Scale",
|
||||
"settings.interface_scale.desc": "Scale of the entire Blockbench interface",
|
||||
"settings.interface_mode": "UI Mode",
|
||||
"settings.interface_mode.desc": "Interface mode. Restart Blockbench to apply changes",
|
||||
"settings.interface_mode.auto": "Automatic",
|
||||
"settings.interface_mode.desktop": "Desktop",
|
||||
"settings.interface_mode.mobile": "Mobile",
|
||||
"settings.hide_tab_bar": "Auto-hide Tab Bar",
|
||||
"settings.hide_tab_bar.desc": "Hide the tab bar when only one tab is open",
|
||||
"settings.mobile_panel_side": "Mobile Panel Side",
|
||||
@ -1649,6 +1654,7 @@
|
||||
"menu.texture.render_mode": "Render Mode",
|
||||
"menu.texture.render_mode.default": "Default",
|
||||
"menu.texture.render_mode.emissive": "Emissive",
|
||||
"menu.texture.render_mode.additive": "Additive",
|
||||
"menu.texture.render_mode.layered": "Layered",
|
||||
"menu.texture.merge_onto_texture": "Merge Onto Texture Above",
|
||||
"menu.texture.edit": "Edit",
|
||||
|
Loading…
x
Reference in New Issue
Block a user