Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,19 @@
/shaders/__ba_sh_downscale/
/scripts/blur_scripts/
/scripts/__blur_area_functions/
/__MACOSX/shaders/sh_blur_realtime/
/__MACOSX/shaders/sh_blur_static/
/__MACOSX/shaders/__ba_sh_blur_baked/
/__MACOSX/shaders/__ba_sh_blur_gaussian/
/__MACOSX/shaders/__ba_sh_blur_noise/
/__MACOSX/shaders/__ba_sh_downscale/
/__MACOSX/scripts/blur_scripts/
/__MACOSX/scripts/__blur_area_functions/
/__MACOSX/._shaders
/__MACOSX/shaders/._shader_liquid_glass
__MACOSX/shaders/.___ba_sh_blur_gaussian
__MACOSX/shaders/.___ba_sh_downscale
__MACOSX/shaders/._sh_blur_static
__MACOSX/shaders/._sh_blur_realtime
__MACOSX/shaders/.___ba_sh_blur_noise
**/.DS_Store
36 changes: 22 additions & 14 deletions scripts/control_create/control_create.gml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ function control_create() {
// Window
#macro NOT_RUN_FROM_IDE !string_count("GMS2TEMP", get_execution_command()) // THIS CONSTANT IS A REVERSE BOOLEAN (0 is from IDE)
//show_message(get_execution_command() + "IDE: " + string(NOT_RUN_FROM_IDE))
p_num = parameter_count()
isplayer = (check_args("-player"))
filenamearg = check_args()
p_num = parameter_count();
isplayer = (check_args("-player"));
filenamearg = check_args();
for (var i = 0; i < p_num; i += 1) {
if (parameter_string(i) = "-player" || parameter_string(i) == "--protocol-launcher") isplayer = 1
}
Expand All @@ -28,8 +28,10 @@ function control_create() {
if (!isplayer) server_socket = network_create_server(network_socket_tcp, 30010, 1)
client_socket = -1
if (server_socket < 0 && !isplayer) {port_taken = 1; client_socket = network_create_socket(network_socket_tcp)}
if (parameter_count() > 0) {
if (filenamearg != "" && (filename_ext(filenamearg) = ".mid" || filename_ext(filenamearg) = ".midi" || filename_ext(filenamearg) = ".schematic" || filename_ext(filenamearg) = ".nbs" || filename_ext(filenamearg) = ".zip")) {
if (p_num > 0) {
if (filenamearg != "" && (string_lower(filename_ext(filenamearg)) == ".mid" || string_lower(filename_ext(filenamearg)) == ".midi" ||
string_lower(filename_ext(filenamearg)) == ".schematic" || string_lower(filename_ext(filenamearg)) == ".nbs" ||
string_lower(filename_ext(filenamearg)) == ".zip")) {
if (port_taken) {
network_connect(client_socket, "127.0.0.1", 30010)
var temp_buffer = buffer_create(0, buffer_grow, 1)
Expand Down Expand Up @@ -176,7 +178,6 @@ function control_create() {
fullscreen = 0
autosave = 0
autosavemins = 10
tonextsave = 0
backupmins = 1
tonextbackup = 0
language = 1 * (os_get_language() = "zh" && os_get_region() = "CN")
Expand Down Expand Up @@ -573,6 +574,7 @@ function control_create() {
// Settings
if (!check_args("--prefreset")) load_settings()
if (os_type = os_macosx) macos_enable_system_settings_menu()
tonextsave = autosave ? autosavemins : 0; // Defining autosavemins here to avoid the autosave when the first song is loaded after open the game.
menu_macos_init()
switch(language) {
default:
Expand Down Expand Up @@ -693,12 +695,15 @@ function control_create() {
// }

if (os_type = os_macosx && macos_url_pending_count() > 0) {
var temp_url = macos_url_take_pending()
var temp_url = macos_url_take_pending();
if (string_count("nbs://", temp_url) = 0) {
var file = string_replace_all(temp_url, "file://", "")
if (file != "" && (filename_ext(file) = ".mid" || filename_ext(file) = ".midi" || filename_ext(file) = ".schematic" || filename_ext(file) = ".nbs" || filename_ext(file) = ".zip")) {
songs[song].filename = file
load_song(file, 0, 1, 1)
var file = string_replace_all(temp_url, "file://", "");
if (file != "" &&
(string_lower(filename_ext(file)) == ".mid" || string_lower(filename_ext(file)) == ".midi" || string_lower(filename_ext(file)) == ".schematic" ||
string_lower(filename_ext(file)) == ".nbs" || string_lower(filename_ext(file)) == ".zip")) {
songs[song].filename = file;
songs[song].file_ext = file_ext;
load_song(file, 0, 1, 1);
}
} else {
isplayer = 1
Expand Down Expand Up @@ -781,9 +786,12 @@ function control_create() {
download_song_start(download_url)
}
// Open song
if (os_type != os_macosx && parameter_count() > 0) {
songs[song].filename = filenamearg
if (songs[song].filename != "" && (filename_ext(songs[song].filename) = ".mid" || filename_ext(songs[song].filename) = ".midi" || filename_ext(songs[song].filename) = ".schematic" || filename_ext(songs[song].filename) = ".nbs" || filename_ext(songs[song].filename) = ".zip")) {
if (os_type != os_macosx && p_num > 0) {
songs[song].filename = filenamearg;
if (songs[song].filename != "" &&
(string_lower(filename_ext(songs[song].filename)) == ".mid" || string_lower(filename_ext(songs[song].filename)) == ".midi" ||
string_lower(filename_ext(songs[song].filename)) == ".schematic" || string_lower(filename_ext(songs[song].filename)) == ".nbs" ||
string_lower(filename_ext(songs[song].filename)) == ".zip")) {
if (!port_taken) {
load_song(songs[song].filename, 0, 1, 1)
}
Expand Down
9 changes: 5 additions & 4 deletions scripts/control_draw/control_draw.gml
Original file line number Diff line number Diff line change
Expand Up @@ -2250,7 +2250,7 @@ function control_draw() {
}
if (!hovernote) {
// Auto-save remaining time
if (autosave && filename_ext(current_song.filename) = ".nbs") {
if (autosave && string_lower(filename_ext(current_song.filename)) = ".nbs") {
draw_theme_color()
xx += 4
if (language != 1) draw_text_dynamic(xx, rh - 18, "Next auto-save: " + string(ceil(tonextsave)) + " minute" + condstr(ceil(tonextsave)<>1, "s"))
Expand Down Expand Up @@ -2707,7 +2707,7 @@ function control_draw() {
if (showmsg) draw_msg()
if (rainbowtoggle) draw_accent_rainbow()
if (dndfile != "") {
if (filename_ext(dndfile) = ".nbp") pattern_import(dndfile, 1)
if (string_lower(filename_ext(dndfile)) = ".nbp") pattern_import(dndfile, 1)
else if (lastfile != dndfile) {
load_song(dndfile)
if (os_type = os_macosx) macos_bookmark_store(dndfile, dndfile, 0)
Expand Down Expand Up @@ -2761,8 +2761,9 @@ function control_draw() {
if (macos_url_pending_count() > 0) {
var temp_url = macos_url_take_pending()
if (string_count("nbs://", temp_url) = 0) {
var file = string_replace_all(temp_url, "file://", "")
if (file != "" && (filename_ext(file) = ".mid" || filename_ext(file) = ".midi" || filename_ext(file) = ".schematic" || filename_ext(file) = ".nbs" || filename_ext(file) = ".zip")) {
var file = string_replace_all(temp_url, "file://", "");
var file_ext = string_lower(filename_ext(file));
if (file != "" && (file_ext == ".mid" || file_ext == ".midi" || file_ext == ".schematic" || file_ext == ".nbs" || file_ext == ".zip")) {
load_song(file, 0, isplayer, 0)
}
} else {
Expand Down
5 changes: 3 additions & 2 deletions scripts/control_social/control_social.gml
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,9 @@ function control_social(){
w_isdragging = 0
}
} else if (async_load[? "id"] == "FILE_OPEN"){
var file = async_load[? "path"]
if (file != "" && (filename_ext(file) = ".mid" || filename_ext(file) = ".midi" || filename_ext(file) = ".schematic" || filename_ext(file) = ".nbs" || filename_ext(file) = ".zip")) {
var file = async_load[? "path"];
if (file != "" && (string_lower(filename_ext(file)) == ".mid" || string_lower(filename_ext(file)) == ".midi" ||
string_lower(filename_ext(file)) == ".schematic" || string_lower(filename_ext(file)) == ".nbs" || string_lower(filename_ext(file)) == ".zip")) {
load_song(file)
}
}
Expand Down
5 changes: 3 additions & 2 deletions scripts/control_step/control_step.gml
Original file line number Diff line number Diff line change
Expand Up @@ -157,11 +157,12 @@ function control_step() {

if (!isplayer) {
// Autosave
if (autosave && filename_ext(current_song.filename) = ".nbs") {
if (autosave && string_lower(filename_ext(current_song.filename)) == ".nbs") {
tonextsave -= 1 / room_speed / 60 * (1 / currspeed)
if (tonextsave <= 0 && playing == 0) {
tonextsave = autosavemins
save_song(current_song.filename, true)
log("Auto saving song", current_song.filename)
save_song(current_song.filename, false, true)
}
}

Expand Down
2 changes: 1 addition & 1 deletion scripts/enforce_extension/enforce_extension.gml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
function enforce_extension(path, ext){
if (filename_ext(path) != ext) path += ext
if (string_lower(filename_ext(path)) != ext) path += ext
return path
}
4 changes: 2 additions & 2 deletions scripts/load_reference_audio/load_reference_audio.gml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ function load_reference_audio(){
songs[song].reference_volume = 100
songs[song].reference_audio_file = string(get_open_filename_ext("Supported sounds (*.ogg;*.wav)|*.ogg;*.wav", "", songfolder, condstr(language != 1, "Load reference audio", "打开参考音频")))
songs[song].reference_audio = -1
if (filename_ext(songs[song].reference_audio_file) == ".ogg") {
if (string_lower(filename_ext(songs[song].reference_audio_file)) == ".ogg") {
songs[song].reference_audio = audio_create_stream(songs[song].reference_audio_file)
} else if (filename_ext(songs[song].reference_audio_file) == ".wav") {
} else if (string_lower(filename_ext(songs[song].reference_audio_file)) == ".wav") {
songs[song].reference_audio = wav_load_buffer(songs[song].reference_audio_file)
}
if (songs[song].reference_audio < 0) {
Expand Down
2 changes: 1 addition & 1 deletion scripts/load_song/load_song.gml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ function load_song() {
//backup_clear()
}
reset_add()
file_ext = filename_ext(fn)
file_ext = string_lower(filename_ext(fn));
if (file_ext = ".mid" || file_ext = ".midi") {
open_midi(fn)
return 1
Expand Down
4 changes: 2 additions & 2 deletions scripts/pattern_import/pattern_import.gml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ function pattern_import() {
}
if (fn = "" || !file_exists_lib(fn)) return 0

file_ext = filename_ext(fn)
file_ext = string_lower(filename_ext(fn));
if (file_ext != ".nbp") {message(condstr(language != 1, "Error: This file is not a pattern.", "错误:该文件不是分段文件。"), condstr(language != 1, "Error", "错误")) return 0}
if (file_ext = ".nbp") {
if (file_ext == ".nbp") {
buffer = buffer_import(fn)

song_pat_version = buffer_read_byte()
Expand Down
4 changes: 2 additions & 2 deletions scripts/refresh_resourcepacks/refresh_resourcepacks.gml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ function refresh_resourcepacks(){
pack_to_push = file_find_next()
continue
}
if (filename_ext(pack_to_push) = ".zip") pack_ext = 1
else if (filename_ext(pack_to_push) = "") pack_ext = 2
if (string_lower(filename_ext(pack_to_push)) == ".zip") pack_ext = 1
else if (filename_ext(pack_to_push) == "") pack_ext = 2
else if (directory_exists(resource_directory + pack_to_push)) pack_ext = 2
if (pack_ext != 0) array_push(resourcepacks, new_resourcepack(pack_ext, pack_to_push))
log("Pushing resource pack " + pack_to_push)
Expand Down
40 changes: 24 additions & 16 deletions scripts/save_song/save_song.gml
Original file line number Diff line number Diff line change
@@ -1,22 +1,26 @@
function save_song() {
// save_song(fn[, backup])
var fn, backup, nbsver, f, a, ca, cb, fsave;
fn = argument[0]
backup = false
var cursong = songs[song]
// save_song(fn[, backup, is_autosave])
var fn, backup, nbsver, f, a, ca, cb, fsave, asave;
fn = argument[0];
backup = false;
asave = false;
var cursong = songs[song];
if (argument_count > 1) {
backup = argument[1]
backup = argument[1];
}
if (argument_count > 2) {
asave = argument[2];
}
if (isplayer) return 0
if ((!backup) && (fn = "" || filename_ext(cursong.filename) != ".nbs")) {
if ((!backup) && (fn = "" || string_lower(filename_ext(cursong.filename)) != ".nbs")) {
playing = 0
fsave = filename_name(cursong.filename)
if (!directory_exists_lib(songfolder)) songfolder = songs_directory
fn = string(get_save_filename_ext("Note Block Songs (*.nbs)|*.nbs", fsave + condstr(filename_ext(cursong.filename) != ".nbs", ".nbs"), songfolder, condstr(language !=1, "Save song", "保存歌曲")))
log(string_char_at(fn, string_length(fn) - 3))
if (fn = "") return 0
}
if ((!backup) && (cursong.selected > 0)) selection_place(0)
if ((!backup) && (cursong.selected > 0) && (!asave)) selection_place(0)

if (backup) {
nbsver = nbs_version
Expand Down Expand Up @@ -120,17 +124,21 @@ function save_song() {
buffer_delete(buffer)

if (!backup) {
cursong.filename = fn
update_backup_name()
cursong.changed = false
if (autosave) tonextsave = autosavemins
add_to_recent(fn)
if (language != 1) set_msg("Song saved")
else set_msg("歌曲已保存")
cursong.filename = fn;
update_backup_name();
cursong.changed = false;
if (autosave) tonextsave = autosavemins;
add_to_recent(fn);
if (asave) {
if (language != 1) set_msg("Song auto saved");
else set_msg("歌曲自动保存");
} else {
if (language != 1) set_msg("Song saved");
else set_msg("歌曲已保存");
}
} else {
tonextbackup = backupmins
}

return true


Expand Down