projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
ad89a3e
)
moved savedata to thread
author
hgn
<hgodden00@gmail.com>
Mon, 12 Jun 2023 14:40:37 +0000
(15:40 +0100)
committer
hgn
<hgodden00@gmail.com>
Mon, 12 Jun 2023 14:40:37 +0000
(15:40 +0100)
save.c
patch
|
blob
|
history
skaterift.h
patch
|
blob
|
history
diff --git
a/save.c
b/save.c
index 76cfb3cdade24194da2dc6583cd0a50c0745ebb5..2c5e8fd3b8b1302a4db0fe4315290b2bf1d04dc7 100644
(file)
--- a/
save.c
+++ b/
save.c
@@
-2,12
+2,25
@@
#define SAVE_C
struct {
#define SAVE_C
struct {
- u8 buf[
1024
];
+ u8 buf[
1024
];
u32 len;
}
static savedata;
u32 len;
}
static savedata;
+static void skaterift_write_savedata_thread(void *){
+ FILE *fp = fopen( "save.bkv", "wb" );
+ if( fp ){
+ fwrite( savedata.buf, savedata.len, 1, fp );
+ fclose( fp );
+ }
+ skaterift_end_op();
+}
+
static void skaterift_write_savedata(void){
static void skaterift_write_savedata(void){
+ if( skaterift.async_op != k_async_op_none ) return;
+
+ skaterift_begin_op( k_async_op_write_savedata );
+
vg_msg sav = {0};
sav.buf = savedata.buf;
sav.max = sizeof(savedata.buf);
vg_msg sav = {0};
sav.buf = savedata.buf;
sav.max = sizeof(savedata.buf);
@@
-26,12
+39,7
@@
static void skaterift_write_savedata(void){
vg_msg_end_frame( &sav );
savedata.len = sav.len;
vg_msg_end_frame( &sav );
savedata.len = sav.len;
-
- FILE *fp = fopen( "save.bkv", "wb" );
- if( fp ){
- fwrite( savedata.buf, sav.len, 1, fp );
- fclose( fp );
- }
+ vg_loader_start( skaterift_write_savedata_thread, NULL );
}
static void skaterift_read_savedata(void){
}
static void skaterift_read_savedata(void){
diff --git
a/skaterift.h
b/skaterift.h
index 011985eff886a2552a991f629f411bfe73aff82d..c13c78b7fb3d455a35955f9ffdb7a43243b83372 100644
(file)
--- a/
skaterift.h
+++ b/
skaterift.h
@@
-23,6
+23,7
@@
struct{
k_async_op_world_load_preview,
k_async_op_board_scan,
k_async_op_board_load,
k_async_op_world_load_preview,
k_async_op_board_scan,
k_async_op_board_load,
+ k_async_op_write_savedata,
k_workshop_form_op_loading_model,
k_workshop_form_op_downloading_submission,
k_workshop_form_op_publishing_update,
k_workshop_form_op_loading_model,
k_workshop_form_op_downloading_submission,
k_workshop_form_op_publishing_update,