Change user directory for Android
Signed-off-by: Luke Hubmayer-Werner <ld.hubmayer-werner@gmail.com>
This commit is contained in:
parent
204aa83461
commit
c68d777daa
38
Menu.gd
38
Menu.gd
|
@ -32,11 +32,20 @@ var GenreFont := preload("res://assets/MenuGenreFont.tres")
|
||||||
var ScoreFont := preload("res://assets/MenuScoreFont.tres")
|
var ScoreFont := preload("res://assets/MenuScoreFont.tres")
|
||||||
var snd_interact := preload("res://assets/softclap.wav")
|
var snd_interact := preload("res://assets/softclap.wav")
|
||||||
|
|
||||||
|
var userroot := "user://" if OS.get_name() != "Android" else "/storage/emulated/0/RhythmGame/"
|
||||||
|
# The following would probably work. One huge caveat is that permission needs to be manually granted by the user in app settings as we can't use OS.request_permission("WRITE_EXTERNAL_STORAGE")
|
||||||
|
# "/storage/emulated/0/Android/data/au.ufeff.rhythmgame/"
|
||||||
|
# "/sdcard/Android/data/au.ufeff.rhythmgame/"
|
||||||
|
|
||||||
func scan_library():
|
func scan_library():
|
||||||
print("Scanning library")
|
print("Scanning library")
|
||||||
var rootdir = "user://songs"
|
var rootdir = userroot + "songs"
|
||||||
var dir = Directory.new()
|
var dir = Directory.new()
|
||||||
var err = dir.open(rootdir)
|
var err = dir.make_dir_recursive(rootdir)
|
||||||
|
if err != OK:
|
||||||
|
print("An error occurred while trying to create the songs directory: ", err)
|
||||||
|
return err
|
||||||
|
err = dir.open(rootdir)
|
||||||
if err == OK:
|
if err == OK:
|
||||||
dir.list_dir_begin(true, true)
|
dir.list_dir_begin(true, true)
|
||||||
var key = dir.get_next()
|
var key = dir.get_next()
|
||||||
|
@ -60,9 +69,12 @@ func scan_library():
|
||||||
print("An error occurred when trying to access the songs directory: ", err)
|
print("An error occurred when trying to access the songs directory: ", err)
|
||||||
|
|
||||||
func save_score():
|
func save_score():
|
||||||
var rootdir = "user://scores"
|
var rootdir = userroot + "scores"
|
||||||
var dir = Directory.new()
|
var dir = Directory.new()
|
||||||
dir.make_dir_recursive(rootdir)
|
var err = dir.make_dir_recursive(rootdir)
|
||||||
|
if err != OK:
|
||||||
|
print("An error occurred while trying to create the scores directory: ", err)
|
||||||
|
return err
|
||||||
var data = {}
|
var data = {}
|
||||||
data.score_data = scorescreen_score_data
|
data.score_data = scorescreen_score_data
|
||||||
data.song_key = scorescreen_song_key
|
data.song_key = scorescreen_song_key
|
||||||
|
@ -72,7 +84,7 @@ func save_score():
|
||||||
# So uh. Can't zero-pad using the string.format() method. This sucks.
|
# So uh. Can't zero-pad using the string.format() method. This sucks.
|
||||||
var dt = scorescreen_datetime
|
var dt = scorescreen_datetime
|
||||||
var filename = rootdir + "/%04d%02d%02dT%02d%02d%02d.json"%[dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second]
|
var filename = rootdir + "/%04d%02d%02dT%02d%02d%02d.json"%[dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second]
|
||||||
var err = file.open(filename, File.WRITE)
|
err = file.open(filename, File.WRITE)
|
||||||
if err != OK:
|
if err != OK:
|
||||||
print(err)
|
print(err)
|
||||||
return err
|
return err
|
||||||
|
@ -81,13 +93,17 @@ func save_score():
|
||||||
scorescreen_saved = true
|
scorescreen_saved = true
|
||||||
|
|
||||||
func load_score(filename):
|
func load_score(filename):
|
||||||
var rootdir = "user://scores"
|
var rootdir = userroot + "scores"
|
||||||
var dir = Directory.new()
|
var dir = Directory.new()
|
||||||
dir.make_dir_recursive(rootdir)
|
var err = dir.make_dir_recursive(rootdir)
|
||||||
var file = File.new()
|
|
||||||
var err = file.open(rootdir + "/" + filename, File.READ)
|
|
||||||
if err != OK:
|
if err != OK:
|
||||||
print(err)
|
print("An error occurred while trying to create the scores directory: ", err)
|
||||||
|
return err
|
||||||
|
|
||||||
|
var file = File.new()
|
||||||
|
err = file.open(rootdir + "/" + filename, File.READ)
|
||||||
|
if err != OK:
|
||||||
|
print("An error occurred while trying to access the chosen score file: ", err)
|
||||||
return err
|
return err
|
||||||
var result_json = JSON.parse(file.get_as_text())
|
var result_json = JSON.parse(file.get_as_text())
|
||||||
file.close()
|
file.close()
|
||||||
|
@ -112,6 +128,8 @@ func load_score(filename):
|
||||||
set_menu_mode(MenuMode.SCORE_SCREEN)
|
set_menu_mode(MenuMode.SCORE_SCREEN)
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
print("user:// root is: ", OS.get_user_data_dir())
|
||||||
|
print("Root for songs and scores is: ", userroot)
|
||||||
scan_library()
|
scan_library()
|
||||||
$"/root/main/NoteHandler".connect("finished_song", self, "finished_song")
|
$"/root/main/NoteHandler".connect("finished_song", self, "finished_song")
|
||||||
load_score("20191211T234131.json") # For testing purposes
|
load_score("20191211T234131.json") # For testing purposes
|
||||||
|
|
Loading…
Reference in New Issue