mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2025-03-03 14:14:49 +01:00
Mac attempt 1
This commit is contained in:
parent
1fcc07a729
commit
b72516568e
41 changed files with 384 additions and 125 deletions
|
@ -119,6 +119,8 @@
|
|||
{"name":"gameframe","order":2,"path":"folders/sprites/gameframe.yy",},
|
||||
{"name":"widgets","order":5,"path":"folders/widgets.yy",},
|
||||
{"name":"guide","order":12,"path":"folders/dialog/guide.yy",},
|
||||
{"name":"MAC","order":13,"path":"folders/Extensions/MAC.yy",},
|
||||
{"name":"window","order":29,"path":"folders/functions/window.yy",},
|
||||
],
|
||||
"ResourceOrderSettings": [
|
||||
{"name":"s_node_corner","order":14,"path":"sprites/s_node_corner/s_node_corner.yy",},
|
||||
|
@ -975,6 +977,7 @@
|
|||
{"name":"s_node_cache","order":27,"path":"sprites/s_node_cache/s_node_cache.yy",},
|
||||
{"name":"node_repeat","order":26,"path":"scripts/node_repeat/node_repeat.yy",},
|
||||
{"name":"sh_fd_advect_velocity_1_glsl","order":7,"path":"shaders/sh_fd_advect_velocity_1_glsl/sh_fd_advect_velocity_1_glsl.yy",},
|
||||
{"name":"mac_window_step","order":1,"path":"scripts/mac_window_step/mac_window_step.yy",},
|
||||
{"name":"s_node_image","order":4,"path":"sprites/s_node_image/s_node_image.yy",},
|
||||
{"name":"__node_value_processor","order":7,"path":"scripts/__node_value_processor/__node_value_processor.yy",},
|
||||
{"name":"s_node_group_input","order":16,"path":"sprites/s_node_group_input/s_node_group_input.yy",},
|
||||
|
|
|
@ -148,6 +148,8 @@
|
|||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"UGC","folderPath":"folders/Steamworks/UGC.yy","order":0,},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"widgets","folderPath":"folders/widgets.yy","order":5,},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"guide","folderPath":"folders/dialog/guide.yy","order":0,},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"MAC","folderPath":"folders/Extensions/MAC.yy","order":0,},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"window","folderPath":"folders/functions/window.yy","order":0,},
|
||||
],
|
||||
"IncludedFiles": [
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Assets.zip","CopyToMask":-1,"filePath":"datafiles/data",},
|
||||
|
@ -413,7 +415,7 @@
|
|||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_textbox_code_line.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_textbox_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_widget_highlight.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"tooltip.zip","CopyToMask":-1,"filePath":"datafiles/data",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"tooltip.zip","CopyToMask":3035426170322551022,"filePath":"datafiles/data",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"0 introduction.png","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"0 introduction.pxc","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"1 image import.png","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
||||
|
@ -481,6 +483,7 @@
|
|||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_use_global.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"default.zip","CopyToMask":-1,"filePath":"datafiles/data/themes",},
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Welcome files.zip","CopyToMask":-1,"filePath":"datafiles",},
|
||||
],
|
||||
"isEcma": false,
|
||||
"MetaData": {
|
||||
|
@ -925,6 +928,7 @@
|
|||
{"id":{"name":"boneObject","path":"scripts/boneObject/boneObject.yy",},"order":0,},
|
||||
{"id":{"name":"sh_fd_advect_material_a_8_glsl","path":"shaders/sh_fd_advect_material_a_8_glsl/sh_fd_advect_material_a_8_glsl.yy",},"order":3,},
|
||||
{"id":{"name":"node_color_remove","path":"scripts/node_color_remove/node_color_remove.yy",},"order":2,},
|
||||
{"id":{"name":"FileDropper","path":"extensions/FileDropper/FileDropper.yy",},"order":0,},
|
||||
{"id":{"name":"spr_gameframe_pixel","path":"sprites/spr_gameframe_pixel/spr_gameframe_pixel.yy",},"order":3,},
|
||||
{"id":{"name":"s_node_radial","path":"sprites/s_node_radial/s_node_radial.yy",},"order":51,},
|
||||
{"id":{"name":"s_node_grid","path":"sprites/s_node_grid/s_node_grid.yy",},"order":3,},
|
||||
|
@ -1129,6 +1133,7 @@
|
|||
{"id":{"name":"s_node_path_builder","path":"sprites/s_node_path_builder/s_node_path_builder.yy",},"order":0,},
|
||||
{"id":{"name":"s_node_noise","path":"sprites/s_node_noise/s_node_noise.yy",},"order":8,},
|
||||
{"id":{"name":"sh_erode","path":"shaders/sh_erode/sh_erode.yy",},"order":17,},
|
||||
{"id":{"name":"mac_window_init","path":"scripts/mac_window_init/mac_window_init.yy",},"order":0,},
|
||||
{"id":{"name":"fd_rectangle_get_velocity_dissipation_value","path":"scripts/fd_rectangle_get_velocity_dissipation_value/fd_rectangle_get_velocity_dissipation_value.yy",},"order":21,},
|
||||
{"id":{"name":"node_pixel_cloud","path":"scripts/node_pixel_cloud/node_pixel_cloud.yy",},"order":15,},
|
||||
{"id":{"name":"s_node_crop_content","path":"sprites/s_node_crop_content/s_node_crop_content.yy",},"order":13,},
|
||||
|
@ -1457,6 +1462,7 @@
|
|||
{"id":{"name":"node_logic_operate","path":"scripts/node_logic_operate/node_logic_operate.yy",},"order":0,},
|
||||
{"id":{"name":"node_repeat","path":"scripts/node_repeat/node_repeat.yy",},"order":26,},
|
||||
{"id":{"name":"sh_fd_advect_velocity_1_glsl","path":"shaders/sh_fd_advect_velocity_1_glsl/sh_fd_advect_velocity_1_glsl.yy",},"order":7,},
|
||||
{"id":{"name":"mac_window_step","path":"scripts/mac_window_step/mac_window_step.yy",},"order":0,},
|
||||
{"id":{"name":"s_node_image","path":"sprites/s_node_image/s_node_image.yy",},"order":4,},
|
||||
{"id":{"name":"__node_value_processor","path":"scripts/__node_value_processor/__node_value_processor.yy",},"order":7,},
|
||||
{"id":{"name":"s_node_group_input","path":"sprites/s_node_group_input/s_node_group_input.yy",},"order":16,},
|
||||
|
|
BIN
datafiles/Welcome files.zip
Normal file
BIN
datafiles/Welcome files.zip
Normal file
Binary file not shown.
|
@ -44,8 +44,8 @@ if !ready exit;
|
|||
bx -= ui(32);
|
||||
|
||||
if(buttonInstant(THEME.button_hide, bx, by, ui(28), ui(28), mouse_ui, sFOCUS, sHOVER, get_text("color_selector_open_palette", "Open palette folder"), THEME.folder) == 2) {
|
||||
var _realpath = environment_get_variable("LOCALAPPDATA") + "\\Pixels_Composer\\Palettes";
|
||||
var _windir = environment_get_variable("WINDIR") + "\\explorer.exe";
|
||||
var _realpath = environment_get_variable("LOCALAPPDATA") + "/Pixels_Composer/Palettes";
|
||||
var _windir = environment_get_variable("WINDIR") + "/explorer.exe";
|
||||
execute_shell(_windir, _realpath);
|
||||
}
|
||||
bx -= ui(32);
|
||||
|
|
|
@ -73,8 +73,8 @@ if !ready exit;
|
|||
bx -= ui(32);
|
||||
|
||||
if(buttonInstant(THEME.button_hide, bx, by, ui(28), ui(28), mouse_ui, sFOCUS, sHOVER, "Open gradient folder", THEME.folder) == 2) {
|
||||
var _realpath = environment_get_variable("LOCALAPPDATA") + "\\Pixels_Composer\\Gradients";
|
||||
var _windir = environment_get_variable("WINDIR") + "\\explorer.exe";
|
||||
var _realpath = environment_get_variable("LOCALAPPDATA") + "/Pixels_Composer/Gradients";
|
||||
var _windir = environment_get_variable("WINDIR") + "/explorer.exe";
|
||||
execute_shell(_windir, _realpath);
|
||||
}
|
||||
bx -= ui(32);
|
||||
|
|
|
@ -37,11 +37,11 @@ draw_set_alpha(1);
|
|||
var b = buttonInstant(THEME.button, bx0, by0, bw, bh, mouse_ui, sFOCUS, sHOVER);
|
||||
draw_text(bx0 + bw / 2, by0 + bh / 2, get_text("migrate_files", "Migrate files"));
|
||||
if(b == 2) {
|
||||
var oldDir = environment_get_variable("userprofile") + "\\AppData\\Local\\Pixels_Composer\\";
|
||||
var oldDir = environment_get_variable("userprofile") + "/AppData/Local/Pixels_Composer/";
|
||||
var folders = [ "Assets", "Collections", "Fonts", "Gradients", "Palettes", "Presets", "Themes"];
|
||||
for( var i = 0; i < array_length(folders); i++ ) {
|
||||
var o = oldDir + folders[i] + "\\";
|
||||
var n = DIRECTORY + folders[i] + "\\";
|
||||
var o = oldDir + folders[i] + "/";
|
||||
var n = DIRECTORY + folders[i] + "/";
|
||||
|
||||
if(directory_exists(o)) {
|
||||
var shell = "/E /I " + o + " " + n;
|
||||
|
|
|
@ -66,8 +66,8 @@ if palette == 0 exit;
|
|||
bx -= ui(32);
|
||||
|
||||
if(buttonInstant(THEME.button_hide, bx, by, ui(28), ui(28), mouse_ui, sFOCUS, sHOVER, get_text("color_selector_open_palette", "Open palette folder"), THEME.folder) == 2) {
|
||||
var _realpath = environment_get_variable("LOCALAPPDATA") + "\\Pixels_Composer\\Palettes";
|
||||
var _windir = environment_get_variable("WINDIR") + "\\explorer.exe";
|
||||
var _realpath = environment_get_variable("LOCALAPPDATA") + "/Pixels_Composer/Palettes";
|
||||
var _windir = environment_get_variable("WINDIR") + "/explorer.exe";
|
||||
execute_shell(_windir, _realpath);
|
||||
}
|
||||
draw_sprite_ui_uniform(THEME.folder, 0, bx + ui(14), by + ui(14), 1, COLORS._main_icon);
|
||||
|
|
|
@ -10,16 +10,23 @@
|
|||
gpu_set_tex_mip_enable(mip_off);
|
||||
gc_enable(true);
|
||||
gc_target_frame_time(100);
|
||||
|
||||
window_set_min_width(480)
|
||||
window_set_min_height(480);
|
||||
#endregion
|
||||
|
||||
#region window
|
||||
gameframe_init();
|
||||
//gameframe_can_input = false;
|
||||
gameframe_set_cursor = false;
|
||||
gameframe_caption_height_normal = ui(40);
|
||||
gameframe_button_array = [ game_frame_button_create("", s_kenney, 0, function() {}),
|
||||
game_frame_button_create("", s_kenney, 0, function() {}),
|
||||
];
|
||||
if(OS == os_windows) {
|
||||
gameframe_init();
|
||||
//gameframe_can_input = false;
|
||||
gameframe_set_cursor = false;
|
||||
gameframe_caption_height_normal = ui(40);
|
||||
gameframe_button_array = [ game_frame_button_create("", s_kenney, 0, function() {}),
|
||||
game_frame_button_create("", s_kenney, 0, function() {}),
|
||||
];
|
||||
} else if(OS == os_macosx) {
|
||||
mac_window_init();
|
||||
}
|
||||
|
||||
depth = 0;
|
||||
win_wp = WIN_W;
|
||||
|
@ -90,7 +97,20 @@
|
|||
#endregion
|
||||
|
||||
#region file drop
|
||||
file_dropper_init();
|
||||
if(OS == os_windows) {
|
||||
file_dropper_init();
|
||||
} else if(OS == os_macosx) {
|
||||
file_dnd_set_hwnd(window_handle());
|
||||
file_dnd_set_enabled(true);
|
||||
|
||||
_file_dnd_filelist = "";
|
||||
file_dnd_filelist = "";
|
||||
file_dnd_pattern = "*.*";
|
||||
file_dnd_allowfiles = true;
|
||||
file_dnd_allowdirs = true;
|
||||
file_dnd_allowmulti = true;
|
||||
}
|
||||
|
||||
drop_path = [];
|
||||
|
||||
function load_file_path(path) {
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
/// @description init
|
||||
if(gameframe_is_minimized()) {
|
||||
if(OS == os_windows && gameframe_is_minimized()) {
|
||||
gameframe_update();
|
||||
exit;
|
||||
} else if(OS == os_macosx) {
|
||||
mac_window_step();
|
||||
}
|
||||
|
||||
#region widget scroll
|
||||
|
|
|
@ -6,7 +6,7 @@ print("===== Game Start Begin =====");
|
|||
DIRECTORY = "";
|
||||
|
||||
if(OS == os_windows)
|
||||
DIRECTORY = environment_get_variable("userprofile") + "\\AppData\\Local\\PixelComposer\\";
|
||||
DIRECTORY = environment_get_variable("userprofile") + "/AppData/Local/PixelComposer/";
|
||||
else if(OS == os_macosx)
|
||||
DIRECTORY = environment_get_variable("HOME") + "/PixelComposer/";
|
||||
show_debug_message(DIRECTORY);
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
#endregion
|
||||
|
||||
#region steam
|
||||
if(STEAM_ENABLED) {
|
||||
if(STEAM_ENABLED)
|
||||
steam_shutdown();
|
||||
}
|
||||
#endregion
|
|
@ -82,9 +82,21 @@
|
|||
#endregion
|
||||
|
||||
#region file drop
|
||||
if(array_length(drop_path)) {
|
||||
load_file_path(drop_path);
|
||||
drop_path = [];
|
||||
if(OS == os_windows) {
|
||||
if(array_length(drop_path)) {
|
||||
load_file_path(drop_path);
|
||||
drop_path = [];
|
||||
}
|
||||
} else if(OS == os_macosx) {
|
||||
file_dnd_set_files(file_dnd_pattern, file_dnd_allowfiles, file_dnd_allowdirs, file_dnd_allowmulti);
|
||||
file_dnd_filelist = file_dnd_get_files();
|
||||
|
||||
if(file_dnd_filelist != "" && _file_dnd_filelist != file_dnd_filelist) {
|
||||
var path = string_trim(file_dnd_filelist);
|
||||
load_file_path(string_splice(path, "\n"));
|
||||
}
|
||||
|
||||
_file_dnd_filelist = file_dnd_filelist;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
if(PREF_MAP[? "auto_save_time"] > 0 && AUTO_SAVE_TIMER > PREF_MAP[? "auto_save_time"]) {
|
||||
AUTO_SAVE_TIMER = 0;
|
||||
var loc = DIRECTORY + "Autosave\\";
|
||||
var loc = DIRECTORY + "Autosave/";
|
||||
if(!directory_exists(loc))
|
||||
directory_create(loc);
|
||||
|
||||
|
|
|
@ -3,14 +3,14 @@
|
|||
"resourceVersion": "1.0",
|
||||
"name": "macOS",
|
||||
"option_mac_allow_fullscreen": true,
|
||||
"option_mac_allow_incoming_network": false,
|
||||
"option_mac_allow_outgoing_network": false,
|
||||
"option_mac_app_category": "Games",
|
||||
"option_mac_app_id": "MakhamDev",
|
||||
"option_mac_allow_incoming_network": true,
|
||||
"option_mac_allow_outgoing_network": true,
|
||||
"option_mac_app_category": "Productivity",
|
||||
"option_mac_app_id": "com.MakhamDev.PixelComposer",
|
||||
"option_mac_apple_sign_in": false,
|
||||
"option_mac_arm64": true,
|
||||
"option_mac_build_app_store": false,
|
||||
"option_mac_copyright": "",
|
||||
"option_mac_copyright": "(c) 2023 MakhamDev",
|
||||
"option_mac_disable_sandbox": true,
|
||||
"option_mac_display_cursor": true,
|
||||
"option_mac_display_name": "Pixel Composer",
|
||||
|
@ -21,15 +21,15 @@
|
|||
"option_mac_interpolate_pixels": false,
|
||||
"option_mac_menu_dock": true,
|
||||
"option_mac_min_version": "10.10",
|
||||
"option_mac_output_dir": "~/gamemakerstudio2",
|
||||
"option_mac_output_dir": "~/PixelComposer",
|
||||
"option_mac_resize_window": true,
|
||||
"option_mac_scale": 1,
|
||||
"option_mac_signing_identity": "Developer ID Application:",
|
||||
"option_mac_signing_identity": "MakhamDev",
|
||||
"option_mac_splash_png": "${base_options_dir}/mac/splash/splash.png",
|
||||
"option_mac_start_fullscreen": false,
|
||||
"option_mac_team_id": "",
|
||||
"option_mac_texture_page": "2048x2048",
|
||||
"option_mac_version": "1.13.7",
|
||||
"option_mac_version": "1.13.8",
|
||||
"option_mac_vsync": false,
|
||||
"option_mac_x86_64": true,
|
||||
}
|
|
@ -9,7 +9,7 @@
|
|||
if(!directory_exists(root))
|
||||
directory_create(root);
|
||||
|
||||
var _l = root + "\\version";
|
||||
var _l = root + "/version";
|
||||
if(file_exists(_l)) {
|
||||
var res = json_load_struct(_l);
|
||||
if(!is_struct(res) || !struct_has(res, "version") || res.version < VERSION)
|
||||
|
|
|
@ -8,7 +8,7 @@ function __initCollection() {
|
|||
if(!directory_exists(root))
|
||||
directory_create(root);
|
||||
|
||||
var _l = root + "\\version";
|
||||
var _l = root + "/version";
|
||||
if(file_exists(_l)) {
|
||||
var res = json_load_struct(_l);
|
||||
if(!is_struct(res) || !struct_has(res, "version") || res.version < VERSION)
|
||||
|
|
|
@ -99,24 +99,24 @@ function DirectoryObject(name, path) constructor {
|
|||
for( var i = 0; i < ds_list_size(_temp_name); i++ ) {
|
||||
var file = _temp_name[| i];
|
||||
|
||||
if(directory_exists(path + "\\" + file)) {
|
||||
var _fol_path = path + "\\" + file;
|
||||
if(directory_exists(path + "/" + file)) {
|
||||
var _fol_path = path + "/" + file;
|
||||
var fol = new DirectoryObject(file, _fol_path);
|
||||
fol.scan(file_type);
|
||||
ds_list_add(subDir, fol);
|
||||
} else if(array_exists(file_type, filename_ext(file))) {
|
||||
var f = new FileObject(string_replace(file, filename_ext(file), ""), path + "\\" + file);
|
||||
var f = new FileObject(string_replace(file, filename_ext(file), ""), path + "/" + file);
|
||||
ds_list_add(content, f);
|
||||
|
||||
if(string_lower(filename_ext(file)) == ".png") {
|
||||
var icon_path = path + "\\" + file;
|
||||
var icon_path = path + "/" + file;
|
||||
var amo = 1;
|
||||
var p = string_pos("strip", icon_path);
|
||||
if(p) amo = toNumber(string_copy(icon_path, p, string_length(icon_path) - p + 1));
|
||||
|
||||
f.spr_path = [icon_path, amo, false];
|
||||
} else {
|
||||
var icon_path = path + "\\" + filename_change_ext(file, ".png");
|
||||
var icon_path = path + "/" + filename_change_ext(file, ".png");
|
||||
if(!file_exists(icon_path)) continue;
|
||||
|
||||
var _temp = sprite_add(icon_path, 0, false, false, 0, 0);
|
||||
|
|
|
@ -6,7 +6,7 @@ function fontScrollBox(_onModify) : widget() constructor {
|
|||
open_ry = 0;
|
||||
|
||||
align = fa_center;
|
||||
extra_button = button(function() { shellOpenExplorer(DIRECTORY + "Fonts\\"); } )
|
||||
extra_button = button(function() { shellOpenExplorer(DIRECTORY + "Fonts/"); } )
|
||||
.setTooltip("Open font folder")
|
||||
.setIcon(THEME.folder_content, 0, COLORS._main_icon);
|
||||
|
||||
|
|
|
@ -75,6 +75,8 @@
|
|||
|
||||
#macro mouse_mx device_mouse_x_to_gui(0)
|
||||
#macro mouse_my device_mouse_y_to_gui(0)
|
||||
#macro mouse_raw_x (device_mouse_raw_x(0) + window_get_x())
|
||||
#macro mouse_raw_y (device_mouse_raw_y(0) + window_get_y())
|
||||
#macro mouse_ui [device_mouse_x_to_gui(0), device_mouse_y_to_gui(0)]
|
||||
|
||||
#macro sFOCUS FOCUS == self.id
|
||||
|
|
|
@ -129,7 +129,7 @@ function gradientObject(color = c_black) constructor {
|
|||
_grad_color[i * 4 + 1] = color_get_green(keys[i].value) / 255;
|
||||
_grad_color[i * 4 + 2] = color_get_blue(keys[i].value) / 255;
|
||||
_grad_color[i * 4 + 3] = 1;
|
||||
_grad_time[i] = keys[i].time;
|
||||
_grad_time[i] = keys[i].time;
|
||||
}
|
||||
|
||||
return [ _grad_color, _grad_time ];
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
LOCALE = {}
|
||||
|
||||
function __initLocale() {
|
||||
var lfile = "data\\locale\\en.json";
|
||||
var lfile = "data/locale/en.json";
|
||||
var root = DIRECTORY + "Locale";
|
||||
var path = root + "\\en.json";
|
||||
var path = root + "/en.json";
|
||||
|
||||
if(!directory_exists(root))
|
||||
directory_create(root);
|
||||
|
|
57
scripts/mac_window_init/mac_window_init.gml
Normal file
57
scripts/mac_window_init/mac_window_init.gml
Normal file
|
@ -0,0 +1,57 @@
|
|||
enum WINDOW_DRAG_MODE {
|
||||
move = 1 << 0,
|
||||
resize_n = 1 << 1,
|
||||
resize_e = 1 << 2,
|
||||
resize_s = 1 << 3,
|
||||
resize_w = 1 << 4,
|
||||
}
|
||||
|
||||
function mac_window_init() {
|
||||
globalvar __win_is_maximized, __win_min_x, __win_min_y, __win_min_w, __win_min_h;
|
||||
|
||||
__win_is_dragging = 0;
|
||||
__win_drag_mx = 0;
|
||||
__win_drag_my = 0;
|
||||
__win_drag_sx = 0;
|
||||
__win_drag_sy = 0;
|
||||
__win_drag_sw = 0;
|
||||
__win_drag_sh = 0;
|
||||
|
||||
__win_is_maximized = false;
|
||||
__win_min_x = 0;
|
||||
__win_min_y = 0;
|
||||
__win_min_w = 0;
|
||||
__win_min_h = 0;
|
||||
}
|
||||
|
||||
function mac_window_maximize() {
|
||||
if(__win_is_maximized) return;
|
||||
|
||||
__win_is_maximized = true;
|
||||
__win_min_x = window_get_x();
|
||||
__win_min_y = window_get_y();
|
||||
__win_min_w = window_get_width();
|
||||
__win_min_h = window_get_height();
|
||||
|
||||
var _w = display_get_width();
|
||||
var _h = display_get_height();
|
||||
|
||||
room_width = _w;
|
||||
room_height = _h;
|
||||
|
||||
display_set_gui_size(_w, _h);
|
||||
window_set_rectangle(0, 0, _w, _h);
|
||||
|
||||
display_refresh();
|
||||
}
|
||||
|
||||
function mac_window_minimize() {
|
||||
if(!__win_is_maximized) return;
|
||||
|
||||
__win_is_maximized = false;
|
||||
|
||||
window_set_position(__win_min_x, __win_min_y);
|
||||
window_set_size(__win_min_w, __win_min_h);
|
||||
|
||||
display_refresh();
|
||||
}
|
11
scripts/mac_window_init/mac_window_init.yy
Normal file
11
scripts/mac_window_init/mac_window_init.yy
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"resourceType": "GMScript",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "mac_window_init",
|
||||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "window",
|
||||
"path": "folders/functions/window.yy",
|
||||
},
|
||||
}
|
76
scripts/mac_window_step/mac_window_step.gml
Normal file
76
scripts/mac_window_step/mac_window_step.gml
Normal file
|
@ -0,0 +1,76 @@
|
|||
function mac_window_step() {
|
||||
var _mx = mouse_raw_x;
|
||||
var _my = mouse_raw_y;
|
||||
|
||||
if(__win_is_dragging) {
|
||||
if(__win_is_dragging == WINDOW_DRAG_MODE.move)
|
||||
window_set_position(__win_drag_sx + (_mx - __win_drag_mx), __win_drag_sy + (_my - __win_drag_my));
|
||||
else {
|
||||
if((__win_is_dragging & WINDOW_DRAG_MODE.resize_n) != 0) {
|
||||
window_set_size(__win_drag_sw, __win_drag_sh - (_my - __win_drag_my));
|
||||
window_set_position(__win_drag_sx, __win_drag_sy + (_my - __win_drag_my));
|
||||
} else if((__win_is_dragging & WINDOW_DRAG_MODE.resize_s) != 0)
|
||||
window_set_size(__win_drag_sw, __win_drag_sh + (_my - __win_drag_my));
|
||||
|
||||
if((__win_is_dragging & WINDOW_DRAG_MODE.resize_w) != 0) {
|
||||
window_set_size(__win_drag_sw - (_mx - __win_drag_mx), __win_drag_sh);
|
||||
window_set_position(__win_drag_sx + (_mx - __win_drag_mx), __win_drag_sy);
|
||||
} else if((__win_is_dragging & WINDOW_DRAG_MODE.resize_e) != 0)
|
||||
window_set_size(__win_drag_sw + (_mx - __win_drag_mx), __win_drag_sh);
|
||||
}
|
||||
|
||||
if(mouse_release(mb_left))
|
||||
__win_is_dragging = 0;
|
||||
}
|
||||
|
||||
if(__win_is_dragging == 0) {
|
||||
if(point_in_rectangle(mouse_mx, mouse_my, 0, 0, ui(144), ui(40))) return;
|
||||
|
||||
if(point_in_rectangle(mouse_mx, mouse_my, 6, 6, WIN_W - 6, ui(40))) {
|
||||
if(mouse_press(mb_left)) {
|
||||
__win_is_dragging = WINDOW_DRAG_MODE.move;
|
||||
__win_drag_mx = mouse_raw_x;
|
||||
__win_drag_my = mouse_raw_y;
|
||||
__win_drag_sx = window_get_x();
|
||||
__win_drag_sy = window_get_y();
|
||||
__win_drag_sw = window_get_width();
|
||||
__win_drag_sh = window_get_height();
|
||||
}
|
||||
} else {
|
||||
var hover = 0;
|
||||
|
||||
if(mouse_mx > WIN_W - 6)
|
||||
hover |= WINDOW_DRAG_MODE.resize_e;
|
||||
else if(mouse_mx < 6)
|
||||
hover |= WINDOW_DRAG_MODE.resize_w;
|
||||
|
||||
if(mouse_my > WIN_H - 6)
|
||||
hover |= WINDOW_DRAG_MODE.resize_s;
|
||||
else if(mouse_my < 6)
|
||||
hover |= WINDOW_DRAG_MODE.resize_n;
|
||||
|
||||
if(hover == WINDOW_DRAG_MODE.resize_n || hover == WINDOW_DRAG_MODE.resize_s)
|
||||
CURSOR = cr_size_ns;
|
||||
else if(hover == WINDOW_DRAG_MODE.resize_w || hover == WINDOW_DRAG_MODE.resize_e)
|
||||
CURSOR = cr_size_we;
|
||||
else if(hover == (WINDOW_DRAG_MODE.resize_n | WINDOW_DRAG_MODE.resize_e))
|
||||
CURSOR = cr_size_nesw;
|
||||
else if(hover == (WINDOW_DRAG_MODE.resize_s | WINDOW_DRAG_MODE.resize_w))
|
||||
CURSOR = cr_size_nesw;
|
||||
else if(hover == (WINDOW_DRAG_MODE.resize_n | WINDOW_DRAG_MODE.resize_w))
|
||||
CURSOR = cr_size_nwse;
|
||||
else if(hover == (WINDOW_DRAG_MODE.resize_s | WINDOW_DRAG_MODE.resize_e))
|
||||
CURSOR = cr_size_nwse;
|
||||
|
||||
if(hover > 0 && mouse_press(mb_left)) {
|
||||
__win_is_dragging = hover;
|
||||
__win_drag_mx = mouse_raw_x;
|
||||
__win_drag_my = mouse_raw_y;
|
||||
__win_drag_sx = window_get_x();
|
||||
__win_drag_sy = window_get_y();
|
||||
__win_drag_sw = window_get_width();
|
||||
__win_drag_sh = window_get_height();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
11
scripts/mac_window_step/mac_window_step.yy
Normal file
11
scripts/mac_window_step/mac_window_step.yy
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"resourceType": "GMScript",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "mac_window_step",
|
||||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "window",
|
||||
"path": "folders/functions/window.yy",
|
||||
},
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
function __migration_check() {
|
||||
var oldDir = environment_get_variable("userprofile") + "\\AppData\\Local\\Pixels_Composer\\";
|
||||
var oldDir = environment_get_variable("userprofile") + "/AppData/Local/Pixels_Composer/";
|
||||
if(!directory_exists(oldDir)) return;
|
||||
|
||||
var mig = oldDir + "migration";
|
||||
|
|
|
@ -158,7 +158,7 @@ function Node_3D_Obj(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
materialIndex = _v.material_index;
|
||||
use_normal = _v.use_normal;
|
||||
if(_v.mtl_path != "")
|
||||
_pathMtl = _dir + "\\" + _v.mtl_path;
|
||||
_pathMtl = _dir + "/" + _v.mtl_path;
|
||||
}
|
||||
|
||||
if(updateMat) {
|
||||
|
|
|
@ -89,10 +89,10 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
["Settings", false], 8, 5, 6, 7, 10, 11,
|
||||
];
|
||||
|
||||
directory = DIRECTORY + "temp\\" + string(irandom_range(100000, 999999));
|
||||
converter = working_directory + "ImageMagick\\convert.exe";
|
||||
magick = working_directory + "ImageMagick\\magick.exe";
|
||||
webp = working_directory + "webp\\webpmux.exe";
|
||||
directory = DIRECTORY + "temp/" + string(irandom_range(100000, 999999));
|
||||
converter = working_directory + "ImageMagick/convert.exe";
|
||||
magick = working_directory + "ImageMagick/magick.exe";
|
||||
webp = working_directory + "webp/webpmux.exe";
|
||||
|
||||
static onValueUpdate = function(_index) {
|
||||
var form = inputs[| 3].getValue();
|
||||
|
@ -204,15 +204,15 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
res = true;
|
||||
break;
|
||||
case "d" :
|
||||
var dir = filename_dir(path) + "\\";
|
||||
var dir = filename_dir(path) + "/";
|
||||
|
||||
var float_str = string_digits(str);
|
||||
if(float_str != "") {
|
||||
var float_val = string_digits(float_str);
|
||||
var dir_s = "";
|
||||
var sep = string_splice(dir, "\\");
|
||||
var sep = string_splice(dir, "/");
|
||||
for(var j = 0; j < array_length(sep) - float_val; j++) {
|
||||
dir_s += sep[j] + "\\";
|
||||
dir_s += sep[j] + "/";
|
||||
}
|
||||
s += dir_s;
|
||||
} else
|
||||
|
@ -254,7 +254,7 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
var ext = array_safe_get(format_image, extd, ".png");
|
||||
|
||||
var _pathOut = _path;
|
||||
var _pathTemp = directory + "\\" + string(irandom_range(10000, 99999)) + ".png";
|
||||
var _pathTemp = directory + "/" + string(irandom_range(10000, 99999)) + ".png";
|
||||
|
||||
switch(ext) {
|
||||
case ".png":
|
||||
|
@ -299,7 +299,7 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
if(!is_surface(_surf)) continue;
|
||||
|
||||
if(form == NODE_EXPORT_FORMAT.gif) {
|
||||
p = directory + "\\" + string(i) + "\\" + string_lead_zero(ANIMATOR.current_frame, 5) + ".png";
|
||||
p = directory + "/" + string(i) + "/" + string_lead_zero(ANIMATOR.current_frame, 5) + ".png";
|
||||
} else {
|
||||
if(is_array(path) && array_length(path) == array_length(surf))
|
||||
p = pathString(path[ safe_mod(i, array_length(path)) ], suff, i);
|
||||
|
@ -322,7 +322,7 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
if(is_array(path)) p = path[0];
|
||||
|
||||
if(form == NODE_EXPORT_FORMAT.gif)
|
||||
p = directory + "\\" + string_lead_zero(ANIMATOR.current_frame, 5) + ".png";
|
||||
p = directory + "/" + string_lead_zero(ANIMATOR.current_frame, 5) + ".png";
|
||||
else
|
||||
p = pathString(p, suff);
|
||||
|
||||
|
@ -453,7 +453,7 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
|
||||
if(is_array(surf)) {
|
||||
for(var i = 0; i < array_length(surf); i++) {
|
||||
temp_path = directory + "\\" + string(i) + "\\" + "*.png";
|
||||
temp_path = directory + "/" + string(i) + "/" + "*.png";
|
||||
if(is_array(path))
|
||||
target_path = pathString(path[ safe_mod(i, array_length(path)) ], suff, i);
|
||||
else
|
||||
|
@ -472,10 +472,10 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
|
||||
if(extd == 0) {
|
||||
target_path = string_replace(target_path, ".png", ".gif");
|
||||
renderGif("\"" + directory + "\\*.png\"", "\"" + target_path + "\"");
|
||||
renderGif("\"" + directory + "/*.png\"", "\"" + target_path + "\"");
|
||||
} else if(extd == 1) {
|
||||
target_path = string_replace(target_path, ".png", ".webp");
|
||||
renderWebp(directory + "\\", target_path);
|
||||
renderWebp(directory + "/", target_path);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -40,11 +40,14 @@ function Node_Gradient(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
inputs[| 8] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 9] = nodeValue("Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider, [0, 2, 0.01]);
|
||||
|
||||
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||
|
||||
input_display_list = [
|
||||
["Output", true], 0, 8,
|
||||
["Gradient", false], 1, 5, 7,
|
||||
["Gradient", false], 1, 5, 9, 7,
|
||||
["Shape", false], 2, 3, 4, 6
|
||||
];
|
||||
|
||||
|
@ -66,11 +69,15 @@ function Node_Gradient(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
var _cnt = _data[6];
|
||||
var _lop = _data[7];
|
||||
var _msk = _data[8];
|
||||
var _sca = _data[9];
|
||||
|
||||
var _grad = _gra.toArray();
|
||||
var _grad_color = _grad[0];
|
||||
var _grad_time = _grad[1];
|
||||
|
||||
for( var i = 0; i < array_length(_grad_time); i++ )
|
||||
_grad_time[i] = 0.5 + (_grad_time[i] - 0.5) * _sca;
|
||||
|
||||
if(_typ == 0 || _typ == 2) {
|
||||
inputs[| 3].setVisible(true);
|
||||
inputs[| 4].setVisible(false);
|
||||
|
|
|
@ -13,6 +13,9 @@ function Node_Gradient_Shift(_x, _y, _group = noone) : Node_Processor(_x, _y, _g
|
|||
|
||||
inputs[| 2] = nodeValue("Wrap", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false)
|
||||
|
||||
inputs[| 3] = nodeValue("Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider, [0, 2, 0.01]);
|
||||
|
||||
outputs[| 0] = nodeValue("Gradient", self, JUNCTION_CONNECT.output, VALUE_TYPE.color, new gradientObject(c_white) )
|
||||
.setDisplay(VALUE_DISPLAY.gradient);
|
||||
|
||||
|
@ -22,13 +25,14 @@ function Node_Gradient_Shift(_x, _y, _group = noone) : Node_Processor(_x, _y, _g
|
|||
var pal = _data[0];
|
||||
var sft = _data[1];
|
||||
var lop = _data[2];
|
||||
var sca = _data[3];
|
||||
|
||||
_outSurf = new gradientObject();
|
||||
_outSurf.keys = [];
|
||||
|
||||
for( var i = 0; i < array_length(pal.keys); i++ ) {
|
||||
var k = pal.keys[i];
|
||||
var key = new gradientKey(k.time + sft, k.value);
|
||||
var key = new gradientKey((0.5 + (k.time - 0.5) * sca) + sft, k.value);
|
||||
|
||||
if(lop) {
|
||||
var t = frac(key.time);
|
||||
|
|
|
@ -4,7 +4,7 @@ function __generate_node_data() {
|
|||
|
||||
CLONING = true;
|
||||
|
||||
var dir = DIRECTORY + "Nodes\\";
|
||||
var dir = DIRECTORY + "Nodes//";
|
||||
if(!directory_exists(dir)) directory_create(dir);
|
||||
|
||||
repeat(amo) {
|
||||
|
@ -52,7 +52,7 @@ function __generate_node_data() {
|
|||
function __init_node_data() {
|
||||
global.NODE_GUIDE = {};
|
||||
|
||||
var dir = DIRECTORY + "Nodes\\";
|
||||
var dir = DIRECTORY + "Nodes/";
|
||||
if(!directory_exists(dir))
|
||||
directory_create(dir);
|
||||
|
||||
|
@ -68,14 +68,16 @@ function __init_node_data() {
|
|||
f = file_find_next();
|
||||
}
|
||||
|
||||
//var _l = dir + "\\version";
|
||||
//var _l = dir + "/version";
|
||||
//if(file_exists(_l)) {
|
||||
// var res = json_load_struct(_l);
|
||||
// if(res.version >= VERSION) return;
|
||||
//}
|
||||
//json_save_struct(_l, { version: VERSION });
|
||||
|
||||
var tooltipDir = DIRECTORY + "Nodes\\";
|
||||
if(file_exists("data\\tooltip.zip"))
|
||||
zip_unzip("data\\tooltip.zip", tooltipDir);
|
||||
var tooltipDir = DIRECTORY + "Nodes/";
|
||||
if(file_exists("data/tooltip.zip"))
|
||||
zip_unzip("data/tooltip.zip", tooltipDir);
|
||||
else
|
||||
noti_status("Tooltip image file not found.")
|
||||
}
|
|
@ -7,7 +7,7 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor {
|
|||
|
||||
tooltip = "";
|
||||
|
||||
var pth = DIRECTORY + "Nodes\\tooltip\\" + node + ".png";
|
||||
var pth = DIRECTORY + "Nodes/tooltip/" + node + ".png";
|
||||
if(file_exists(pth))
|
||||
tooltip_spr = sprite_add(pth, 0, false, false, 0, 0);
|
||||
else
|
||||
|
|
|
@ -686,7 +686,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
|||
editWidget = new fontScrollBox(
|
||||
function(val) {
|
||||
MODIFIED = true;
|
||||
return setValueDirect(DIRECTORY + "Fonts\\" + FONT_INTERNAL[val]);
|
||||
return setValueDirect(DIRECTORY + "Fonts/" + FONT_INTERNAL[val]);
|
||||
}
|
||||
);
|
||||
break;
|
||||
|
|
|
@ -314,7 +314,7 @@ function Panel_Collection() : PanelContent() constructor {
|
|||
function saveCollection(_name, save_surface = true, metadata = noone) {
|
||||
if(PANEL_INSPECTOR.inspecting == noone) return;
|
||||
|
||||
var _pre_name = (data_path == ""? "" : data_path + "\\") + _name;
|
||||
var _pre_name = (data_path == ""? "" : data_path + "/") + _name;
|
||||
var ext = filename_ext(_pre_name);
|
||||
var _path = ext == ".pxcc"? _pre_name : _pre_name + ".pxcc";
|
||||
|
||||
|
@ -426,7 +426,7 @@ function Panel_Collection() : PanelContent() constructor {
|
|||
directory_create(txt);
|
||||
refreshContext();
|
||||
};
|
||||
dia.path = context.path + "\\";
|
||||
dia.path = context.path + "/";
|
||||
}
|
||||
draw_sprite_ui_uniform(THEME.folder_add, 0, bx + ui(12), by + ui(12), 1, COLORS._main_icon);
|
||||
draw_sprite_ui_uniform(THEME.folder_add, 1, bx + ui(12), by + ui(12), 1, COLORS._main_value_positive);
|
||||
|
|
|
@ -979,7 +979,7 @@ function Panel_Graph() : PanelContent() constructor {
|
|||
return;
|
||||
}
|
||||
|
||||
var path = DIRECTORY + "temp\\url_pasted_" + string(irandom_range(100000, 999999)) + ".png";
|
||||
var path = DIRECTORY + "temp/url_pasted_" + string(irandom_range(100000, 999999)) + ".png";
|
||||
var img = http_get_file(txt, path);
|
||||
CLONING = true;
|
||||
var node = Node_create_Image(0, 0);
|
||||
|
|
|
@ -7,6 +7,11 @@ function Panel_Menu() : PanelContent() constructor {
|
|||
noti_icon_show = 0;
|
||||
noti_icon_time = 0;
|
||||
|
||||
if(OS == os_windows)
|
||||
action_buttons = ["exit", "maximize", "minimize", "fullscreen"];
|
||||
else if(OS == os_macosx)
|
||||
action_buttons = ["exit", "minimize", "maximize", "fullscreen"];
|
||||
|
||||
menu_file = [
|
||||
menuItem(get_text("panel_menu_new", "New"), function() { NEW(); }, THEME.new_file, ["", "New file"]),
|
||||
menuItem(get_text("panel_menu_open", "Open") + "...", function() { LOAD(); }, THEME.noti_icon_file_load, ["", "Open"]),
|
||||
|
@ -69,7 +74,7 @@ function Panel_Menu() : PanelContent() constructor {
|
|||
shellOpenExplorer(DIRECTORY);
|
||||
}, THEME.folder),
|
||||
menuItem(get_text("panel_menu_directory", "Open autosave directory"), function() {
|
||||
shellOpenExplorer(DIRECTORY + "autosave\\");
|
||||
shellOpenExplorer(DIRECTORY + "autosave/");
|
||||
}, THEME.folder),
|
||||
menuItem(get_text("panel_menu_reset_default", "Reset default collection, assets"), function() {
|
||||
zip_unzip("data/Collections.zip", DIRECTORY + "Collections");
|
||||
|
@ -221,16 +226,28 @@ function Panel_Menu() : PanelContent() constructor {
|
|||
menus[6][1] = STEAM_ENABLED? menu_help_steam : menu_help;
|
||||
|
||||
var xx = ui(40);
|
||||
if(OS == os_windows) xx = ui(24);
|
||||
else if(OS == os_macosx) xx = ui(156);
|
||||
if(OS == os_windows)
|
||||
xx = ui(24);
|
||||
else if(OS == os_macosx) {
|
||||
xx = ui(140);
|
||||
draw_set_color(COLORS._main_icon_dark);
|
||||
draw_line_round(xx, ui(8), xx, h - ui(8), 3);
|
||||
}
|
||||
|
||||
draw_sprite_ui_uniform(THEME.icon_24, 0, xx, h / 2, 1, c_white);
|
||||
if(pHOVER && point_in_rectangle(mx, my, xx - ui(16), 0, xx + ui(16), ui(32))) {
|
||||
var bx = xx;
|
||||
if(OS == os_macosx)
|
||||
bx = w - ui(24);
|
||||
|
||||
draw_sprite_ui_uniform(THEME.icon_24, 0, bx, h / 2, 1, c_white);
|
||||
if(pHOVER && point_in_rectangle(mx, my, bx - ui(16), 0, bx + ui(16), ui(32))) {
|
||||
if(mouse_press(mb_left, pFOCUS))
|
||||
dialogCall(o_dialog_about);
|
||||
}
|
||||
|
||||
xx += ui(20);
|
||||
if(OS == os_windows)
|
||||
xx += ui(20);
|
||||
else if(OS == os_macosx)
|
||||
xx += ui(8);
|
||||
|
||||
for(var i = 0; i < array_length(menus); i++) {
|
||||
draw_set_text(f_p1, fa_center, fa_center, COLORS._main_text);
|
||||
|
@ -337,42 +354,70 @@ function Panel_Menu() : PanelContent() constructor {
|
|||
#region actions
|
||||
var bs = ui(28);
|
||||
|
||||
if(buttonInstant(THEME.button_hide_fill, x1 - bs, ui(6), bs, bs, [mx, my], pFOCUS, pHOVER,, THEME.window_exit, 0, COLORS._main_accent) == 2) {
|
||||
window_close();
|
||||
}
|
||||
if(OS == os_windows) x1 -= bs + ui(4);
|
||||
else if(OS == os_macosx) x1 += bs + ui(4);
|
||||
for( var i = 0; i < array_length(action_buttons); i++ ) {
|
||||
var action = action_buttons[i];
|
||||
|
||||
var win_max = gameframe_is_maximized() || gameframe_is_fullscreen_window();
|
||||
if(buttonInstant(THEME.button_hide_fill, x1 - bs, ui(6), bs, bs, [mx, my], pFOCUS, pHOVER,, THEME.window_maximize, win_max, [ COLORS._main_icon, CDEF.lime ]) == 2) {
|
||||
if(gameframe_is_fullscreen_window()) {
|
||||
gameframe_set_fullscreen(0);
|
||||
gameframe_restore();
|
||||
} else if(gameframe_is_maximized())
|
||||
gameframe_restore();
|
||||
else
|
||||
gameframe_maximize();
|
||||
}
|
||||
if(OS == os_windows) x1 -= bs + ui(4);
|
||||
else if(OS == os_macosx) x1 += bs + ui(4);
|
||||
switch(action) {
|
||||
case "exit":
|
||||
if(buttonInstant(THEME.button_hide_fill, x1 - bs, ui(6), bs, bs, [mx, my], pFOCUS, pHOVER,, THEME.window_exit, 0, COLORS._main_accent) == 2)
|
||||
window_close();
|
||||
break;
|
||||
case "maximize":
|
||||
var win_max = gameframe_is_maximized() || gameframe_is_fullscreen_window();
|
||||
if(OS == os_macosx)
|
||||
win_max = __win_is_maximized;
|
||||
|
||||
if(buttonInstant(THEME.button_hide_fill, x1 - bs, ui(6), bs, bs, [mx, my], pFOCUS, pHOVER,, THEME.window_minimize, 0, [ COLORS._main_icon, CDEF.yellow ]) == -2) {
|
||||
gameframe_minimize();
|
||||
}
|
||||
if(OS == os_windows) x1 -= bs + ui(4);
|
||||
else if(OS == os_macosx) x1 += bs + ui(4);
|
||||
if(buttonInstant(THEME.button_hide_fill, x1 - bs, ui(6), bs, bs, [mx, my], pFOCUS, pHOVER,, THEME.window_maximize, win_max, [ COLORS._main_icon, CDEF.lime ]) == 2) {
|
||||
if(OS == os_windows) {
|
||||
if(gameframe_is_fullscreen_window()) {
|
||||
gameframe_set_fullscreen(0);
|
||||
gameframe_restore();
|
||||
} else if(gameframe_is_maximized())
|
||||
gameframe_restore();
|
||||
else
|
||||
gameframe_maximize();
|
||||
} else if(OS == os_macosx) {
|
||||
if(__win_is_maximized) mac_window_minimize();
|
||||
else mac_window_maximize();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "minimize":
|
||||
if(OS == os_windows)
|
||||
if(buttonInstant(THEME.button_hide_fill, x1 - bs, ui(6), bs, bs, [mx, my], pFOCUS, pHOVER,, THEME.window_minimize, 0, [ COLORS._main_icon, CDEF.yellow ]) == -2) {
|
||||
if(OS == os_windows)
|
||||
gameframe_minimize();
|
||||
else if(OS == os_macosx) {
|
||||
|
||||
if(buttonInstant(THEME.button_hide_fill, x1 - bs, ui(6), bs, bs, [mx, my], pFOCUS, pHOVER,, THEME.window_fullscreen, gameframe_is_fullscreen_window(), [ COLORS._main_icon, CDEF.cyan ]) == 2) {
|
||||
if(gameframe_is_fullscreen_window())
|
||||
gameframe_set_fullscreen(0);
|
||||
else
|
||||
gameframe_set_fullscreen(2);
|
||||
}
|
||||
}
|
||||
|
||||
if(OS == os_macosx) {
|
||||
buttonInstant(THEME.button_hide, x1 - bs, ui(6), bs, bs, [mx, my], pFOCUS, pHOVER,, THEME.window_minimize, 0, [ COLORS._main_icon, COLORS._main_icon ]);
|
||||
}
|
||||
break;
|
||||
case "fullscreen":
|
||||
var win_full = OS == os_windows? gameframe_is_fullscreen_window() : window_get_fullscreen();
|
||||
if(buttonInstant(THEME.button_hide_fill, x1 - bs, ui(6), bs, bs, [mx, my], pFOCUS, pHOVER,, THEME.window_fullscreen, win_full, [ COLORS._main_icon, CDEF.cyan ]) == 2) {
|
||||
if(OS == os_windows)
|
||||
gameframe_set_fullscreen(gameframe_is_fullscreen_window()? 0 : 2);
|
||||
else if(OS == os_macosx) {
|
||||
if(window_get_fullscreen()) {
|
||||
window_set_fullscreen(false);
|
||||
mac_window_minimize();
|
||||
} else
|
||||
window_set_fullscreen(true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if(OS == os_windows) x1 -= bs + ui(4);
|
||||
else if(OS == os_macosx) x1 += bs + ui(4);
|
||||
}
|
||||
if(OS == os_windows) x1 -= bs + ui(4);
|
||||
else if(OS == os_macosx) x1 += bs + ui(4);
|
||||
#endregion
|
||||
|
||||
if(OS == os_macosx) x1 = w - ui(8);
|
||||
if(OS == os_macosx) x1 = w - ui(40);
|
||||
|
||||
#region version
|
||||
draw_set_text(f_p0, fa_right, fa_center, COLORS._main_text_sub);
|
||||
|
|
|
@ -2,7 +2,7 @@ function try_get_path(path) {
|
|||
if(file_exists(path))
|
||||
return path;
|
||||
|
||||
var local_path = filename_dir(CURRENT_PATH) + "\\" + path;
|
||||
var local_path = filename_dir(CURRENT_PATH) + "/" + path;
|
||||
if(file_exists(local_path))
|
||||
return local_path;
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
if(!directory_exists(root))
|
||||
directory_create(root);
|
||||
|
||||
var _l = root + "\\version";
|
||||
var _l = root + "/version";
|
||||
if(file_exists(_l)) {
|
||||
var res = json_load_struct(_l);
|
||||
if(!is_struct(res) || !struct_has(res, "version") || res.version < VERSION)
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
#endregion
|
||||
|
||||
function LOAD_FOLDER(list, folder) {
|
||||
var path = directory_get_current_working() + folder;
|
||||
var path = DIRECTORY + "Welcome files/" + folder;
|
||||
var file = file_find_first(path + "/*", fa_directory);
|
||||
|
||||
while(file != "") {
|
||||
if(filename_ext(file) == ".pxc") {
|
||||
var full_path = path + "\\" + file;
|
||||
var f = new FileObject(string_replace(filename_name(file), filename_ext(file), ""), full_path);
|
||||
var full_path = path + "/" + file;
|
||||
var f = new FileObject(filename_name_only(file), full_path);
|
||||
var icon_path = string_replace(full_path, filename_ext(full_path), ".png");
|
||||
|
||||
if(file_exists(icon_path)) {
|
||||
|
@ -30,6 +30,8 @@ function LOAD_FOLDER(list, folder) {
|
|||
function LOAD_SAMPLE() {
|
||||
ds_list_clear(SAMPLE_PROJECTS);
|
||||
|
||||
zip_unzip("Welcome files.zip", DIRECTORY + "Welcome files")
|
||||
|
||||
LOAD_FOLDER(SAMPLE_PROJECTS, "Getting started");
|
||||
LOAD_FOLDER(SAMPLE_PROJECTS, "Sample Projects");
|
||||
}
|
|
@ -3,7 +3,7 @@ function __init_theme() {
|
|||
if(!directory_exists(root))
|
||||
directory_create(root);
|
||||
|
||||
//var _l = root + "\\version";
|
||||
//var _l = root + "/version";
|
||||
//if(file_exists(_l)) {
|
||||
// var res = json_load_struct(_l);
|
||||
// if(res.version >= VERSION) return;
|
||||
|
|
|
@ -48,14 +48,14 @@ function steamUCGload() {
|
|||
function __loadSteamUGC(file_id, item_map) {
|
||||
var _path = item_map[? "folder"];
|
||||
|
||||
var f = file_find_first(_path + "\\*.pxcc", 0);
|
||||
var f = file_find_first(_path + "/*.pxcc", 0);
|
||||
file_find_close();
|
||||
if(f != "") {
|
||||
__loadSteamUGCCollection(file_id, f, _path);
|
||||
return;
|
||||
}
|
||||
|
||||
var p = file_find_first(_path + "\\*.pxc", 0);
|
||||
var p = file_find_first(_path + "/*.pxc", 0);
|
||||
file_find_close();
|
||||
if(p != "") {
|
||||
__loadSteamUGCProject(file_id, p, _path);
|
||||
|
@ -65,8 +65,8 @@ function __loadSteamUGC(file_id, item_map) {
|
|||
|
||||
function __loadSteamUGCCollection(file_id, f, path) {
|
||||
var name = string_replace(filename_name(f), ".pxcc", "");
|
||||
var file = new FileObject(name, path + "\\" + f);
|
||||
var icon_path = string_replace(path + "\\" + f, ".pxcc", ".png");
|
||||
var file = new FileObject(name, path + "/" + f);
|
||||
var icon_path = string_replace(path + "/" + f, ".pxcc", ".png");
|
||||
if(file_exists(icon_path)) {
|
||||
var _temp = sprite_add(icon_path, 0, false, false, 0, 0);
|
||||
var ww = sprite_get_width(_temp);
|
||||
|
@ -85,8 +85,8 @@ function __loadSteamUGCCollection(file_id, f, path) {
|
|||
|
||||
function __loadSteamUGCProject(file_id, f, path) {
|
||||
var name = string_replace(filename_name(f), ".pxc", "");
|
||||
var file = new FileObject(name, path + "\\" + f);
|
||||
var icon_path = path + "\\thumbnail.png";
|
||||
var file = new FileObject(name, path + "/" + f);
|
||||
var icon_path = path + "/thumbnail.png";
|
||||
file.spr_path = [icon_path, 1, false];
|
||||
|
||||
ds_list_add(STEAM_PROJECTS, file);
|
||||
|
|
Loading…
Add table
Reference in a new issue