diff --git a/.gitignore b/.gitignore
index 54e5f7a41..7ef161cbe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -81,4 +81,4 @@ fbt_options.py
assets/dolphin/custom/*
!assets/dolphin/custom/WatchDogs/
!assets/dolphin/custom/ReadMe.md
-assets/resources/dolphin_custom/
+assets/resources/asset_packs/
diff --git a/ReadMe.md b/ReadMe.md
index 1722a2d70..c8eef444a 100644
--- a/ReadMe.md
+++ b/ReadMe.md
@@ -67,7 +67,7 @@ You can easily create your own pack, or find some user made ones in the discord
-Once you have some packs, upload them to your Flipper in SD/dolphin_custom (if you did this right you should see SD/dolphin_custom/PackName/Anims and/or SD/dolphin_custom/PackName/Icons).
+Once you have some packs, upload them to your Flipper in SD/asset_packs (if you did this right you should see SD/asset_packs/PackName/Anims and/or SD/asset_packs/PackName/Icons).
diff --git a/applications/main/xtreme_app/scenes/xtreme_app_scene_interface_lockscreen.c b/applications/main/xtreme_app/scenes/xtreme_app_scene_interface_lockscreen.c
index 21a570bfb..394dc0d0c 100644
--- a/applications/main/xtreme_app/scenes/xtreme_app_scene_interface_lockscreen.c
+++ b/applications/main/xtreme_app/scenes/xtreme_app_scene_interface_lockscreen.c
@@ -32,11 +32,12 @@ static void xtreme_app_scene_interface_lockscreen_bad_pins_format_changed(Variab
app->save_settings = true;
}
-static void xtreme_app_scene_interface_lockscreen_pin_unlock_from_app_changed(VariableItem* item) {
+static void
+ xtreme_app_scene_interface_lockscreen_allow_locked_rpc_commands_changed(VariableItem* item) {
XtremeApp* app = variable_item_get_context(item);
bool value = variable_item_get_current_value_index(item);
variable_item_set_current_value_text(item, value ? "ON" : "OFF");
- XTREME_SETTINGS()->pin_unlock_from_app = value;
+ XTREME_SETTINGS()->allow_locked_rpc_commands = value;
app->save_settings = true;
}
@@ -107,13 +108,13 @@ void xtreme_app_scene_interface_lockscreen_on_enter(void* context) {
item = variable_item_list_add(
var_item_list,
- "PIN Unlock From App",
+ "Allow RPC while locked",
2,
- xtreme_app_scene_interface_lockscreen_pin_unlock_from_app_changed,
+ xtreme_app_scene_interface_lockscreen_allow_locked_rpc_commands_changed,
app);
- variable_item_set_current_value_index(item, xtreme_settings->pin_unlock_from_app);
+ variable_item_set_current_value_index(item, xtreme_settings->allow_locked_rpc_commands);
variable_item_set_current_value_text(
- item, xtreme_settings->pin_unlock_from_app ? "ON" : "OFF");
+ item, xtreme_settings->allow_locked_rpc_commands ? "ON" : "OFF");
item = variable_item_list_add(
var_item_list,
diff --git a/applications/services/bt/bt_service/bt.c b/applications/services/bt/bt_service/bt.c
index b8cb09734..ea790a576 100644
--- a/applications/services/bt/bt_service/bt.c
+++ b/applications/services/bt/bt_service/bt.c
@@ -216,19 +216,9 @@ static void bt_rpc_send_bytes_callback(void* context, uint8_t* bytes, size_t byt
}
}
-// Called from GAP thread
-static bool bt_on_gap_event_callback(GapEvent event, void* context) {
- furi_assert(context);
- Bt* bt = context;
- bool ret = false;
- bt->pin = 0;
-
- if(event.type == GapEventTypeConnected) {
- // Update status bar
- bt->status = BtStatusConnected;
- BtMessage message = {.type = BtMessageTypeUpdateStatus};
- furi_check(
- furi_message_queue_put(bt->message_queue, &message, FuriWaitForever) == FuriStatusOk);
+// Open BT Connection
+void bt_open_rpc_connection(Bt* bt) {
+ if(!bt->rpc_session && bt->status == BtStatusConnected) {
// Clear BT_RPC_EVENT_DISCONNECTED because it might be set from previous session
furi_event_flag_clear(bt->rpc_event, BT_RPC_EVENT_DISCONNECTED);
if(bt->profile == BtProfileSerial) {
@@ -247,6 +237,33 @@ static bool bt_on_gap_event_callback(GapEvent event, void* context) {
FURI_LOG_W(TAG, "RPC is busy, failed to open new session");
}
}
+ }
+}
+
+void bt_close_rpc_connection(Bt* bt) {
+ if(bt->profile == BtProfileSerial && bt->rpc_session) {
+ FURI_LOG_I(TAG, "Close RPC connection");
+ furi_event_flag_set(bt->rpc_event, BT_RPC_EVENT_DISCONNECTED);
+ rpc_session_close(bt->rpc_session);
+ furi_hal_bt_serial_set_event_callback(0, NULL, NULL);
+ bt->rpc_session = NULL;
+ }
+}
+
+// Called from GAP thread
+static bool bt_on_gap_event_callback(GapEvent event, void* context) {
+ furi_assert(context);
+ Bt* bt = context;
+ bool ret = false;
+ bt->pin = 0;
+
+ if(event.type == GapEventTypeConnected) {
+ // Update status bar
+ bt->status = BtStatusConnected;
+ BtMessage message = {.type = BtMessageTypeUpdateStatus};
+ furi_check(
+ furi_message_queue_put(bt->message_queue, &message, FuriWaitForever) == FuriStatusOk);
+ bt_open_rpc_connection(bt);
// Update battery level
PowerInfo info;
power_get_info(bt->power, &info);
@@ -323,16 +340,6 @@ static void bt_show_warning(Bt* bt, const char* text) {
dialog_message_show(bt->dialogs, bt->dialog_message);
}
-static void bt_close_rpc_connection(Bt* bt) {
- if(bt->profile == BtProfileSerial && bt->rpc_session) {
- FURI_LOG_I(TAG, "Close RPC connection");
- furi_event_flag_set(bt->rpc_event, BT_RPC_EVENT_DISCONNECTED);
- rpc_session_close(bt->rpc_session);
- furi_hal_bt_serial_set_event_callback(0, NULL, NULL);
- bt->rpc_session = NULL;
- }
-}
-
static void bt_change_profile(Bt* bt, BtMessage* message) {
if(furi_hal_bt_is_ble_gatt_gap_supported()) {
bt_settings_load(&bt->bt_settings);
diff --git a/applications/services/bt/bt_service/bt.h b/applications/services/bt/bt_service/bt.h
index 2328e8c20..33bc6ccaf 100644
--- a/applications/services/bt/bt_service/bt.h
+++ b/applications/services/bt/bt_service/bt.h
@@ -99,6 +99,19 @@ void bt_disable_peer_key_update(Bt* bt);
*/
void bt_enable_peer_key_update(Bt* bt);
+/**
+ *
+ * (Probably bad) way of opening the RPC connection, everywhereTM
+*/
+
+void bt_open_rpc_connection(Bt* bt);
+
+/**
+ *
+ * Closing the RPC connection, everywhereTM
+*/
+void bt_close_rpc_connection(Bt* bt);
+
#ifdef __cplusplus
}
#endif
diff --git a/applications/services/desktop/animations/animation_storage.c b/applications/services/desktop/animations/animation_storage.c
index 9e0998214..624d940de 100644
--- a/applications/services/desktop/animations/animation_storage.c
+++ b/applications/services/desktop/animations/animation_storage.c
@@ -14,7 +14,7 @@
#include
#define ANIMATION_META_FILE "meta.txt"
#define TAG "AnimationStorage"
-char ANIMATION_DIR[26 /*"/ext/dolphin_custom//Anims"*/ + XTREME_ASSETS_PACK_NAME_LEN + 1];
+char ANIMATION_DIR[26 /*"/ext/asset_packs//Anims"*/ + XTREME_ASSETS_PACK_NAME_LEN + 1];
char ANIMATION_MANIFEST_FILE[sizeof(ANIMATION_DIR) + 13 /*"/manifest.txt"*/];
static void animation_storage_free_bubbles(BubbleAnimation* animation);
diff --git a/applications/services/desktop/desktop.c b/applications/services/desktop/desktop.c
index cb1519adc..9771cb016 100644
--- a/applications/services/desktop/desktop.c
+++ b/applications/services/desktop/desktop.c
@@ -242,6 +242,11 @@ void desktop_lock(Desktop* desktop, bool pin_lock) {
Cli* cli = furi_record_open(RECORD_CLI);
cli_session_close(cli);
furi_record_close(RECORD_CLI);
+ if(!XTREME_SETTINGS()->allow_locked_rpc_commands) {
+ Bt* bt = furi_record_open(RECORD_BT);
+ bt_close_rpc_connection(bt);
+ furi_record_close(RECORD_BT);
+ }
}
desktop_auto_lock_inhibit(desktop);
@@ -270,6 +275,10 @@ void desktop_unlock(Desktop* desktop) {
furi_record_close(RECORD_CLI);
}
+ Bt* bt = furi_record_open(RECORD_BT);
+ bt_open_rpc_connection(bt);
+ furi_record_close(RECORD_BT);
+
DesktopStatus status = {.locked = false};
furi_pubsub_publish(desktop->status_pubsub, &status);
}
@@ -435,9 +444,7 @@ bool desktop_api_is_locked(Desktop* instance) {
void desktop_api_unlock(Desktop* instance) {
furi_assert(instance);
- if(!furi_hal_rtc_is_flag_set(FuriHalRtcFlagLock) || XTREME_SETTINGS()->pin_unlock_from_app) {
- view_dispatcher_send_custom_event(instance->view_dispatcher, DesktopLockedEventUnlocked);
- }
+ view_dispatcher_send_custom_event(instance->view_dispatcher, DesktopLockedEventUnlocked);
}
FuriPubSub* desktop_api_get_status_pubsub(Desktop* instance) {
diff --git a/applications/services/gui/modules/text_input.c b/applications/services/gui/modules/text_input.c
index 3da4d9c7c..26b88670e 100644
--- a/applications/services/gui/modules/text_input.c
+++ b/applications/services/gui/modules/text_input.c
@@ -1,4 +1,4 @@
-#include "text_input.h"
+#include "text_input_i.h"
#include
#include
#include
@@ -51,7 +51,7 @@ static const uint8_t keyboard_count = 2;
#define ENTER_KEY '\r'
#define BACKSPACE_KEY '\b'
-#define SWITCH_KEYBOARD_KEY 0xfe
+#define SWITCH_KEYBOARD_KEY '\t'
static const TextInputKey keyboard_keys_row_1[] = {
{'q', 1, 8},
@@ -490,7 +490,7 @@ static void text_input_handle_ok(TextInput* text_input, TextInputModel* model, I
}
}
-static bool text_input_view_input_callback(InputEvent* event, void* context) {
+bool text_input_view_input_callback(InputEvent* event, void* context) {
TextInput* text_input = context;
furi_assert(text_input);
@@ -811,3 +811,52 @@ void text_input_set_header_text(TextInput* text_input, const char* text) {
with_view_model(
text_input->view, TextInputModel * model, { model->header = text; }, true);
}
+
+bool text_input_insert_character(TextInput* text_input, char chr) {
+ if(chr == 0x1b) { // Arrow escape code = Select input row
+ with_view_model(
+ text_input->view,
+ TextInputModel * model,
+ {
+ model->cursor_select = true;
+ model->clear_default_text = false;
+ model->selected_row = 0;
+ },
+ true);
+ return false; // Don't consume so CLI gives arrow input
+ }
+ if(chr == 0x01) { // Ctrl A = Select all text
+ with_view_model(
+ text_input->view, TextInputModel * model, { model->clear_default_text = true; }, true);
+ return true;
+ }
+ for(size_t k = 0; k < keyboard_count; k++) {
+ const Keyboard* keyboard = keyboards[k];
+ for(size_t r = 0; r < keyboard_row_count; r++) {
+ const TextInputKey* row = get_row(keyboard, r);
+ uint8_t size = get_row_size(keyboard, r);
+ for(size_t key = 0; key < size; key++) {
+ char lower = row[key].text;
+ char upper = char_to_uppercase(lower);
+ if(chr == lower || chr == upper) {
+ with_view_model(
+ text_input->view,
+ TextInputModel * model,
+ {
+ model->cursor_select = false;
+ model->selected_keyboard = k;
+ model->selected_row = r;
+ model->selected_column = key;
+ bool shift = (chr == upper) != (model->clear_default_text ||
+ strlen(model->text_buffer) == 0);
+ text_input_handle_ok(
+ text_input, model, shift ? InputTypeLong : InputTypeShort);
+ },
+ true);
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+}
diff --git a/applications/services/gui/modules/text_input.h b/applications/services/gui/modules/text_input.h
index 1ba4f1cd4..d7f9d2bb7 100644
--- a/applications/services/gui/modules/text_input.h
+++ b/applications/services/gui/modules/text_input.h
@@ -89,6 +89,8 @@ void* text_input_get_validator_callback_context(TextInput* text_input);
*/
void text_input_set_header_text(TextInput* text_input, const char* text);
+bool text_input_insert_character(TextInput* text_input, char c);
+
#ifdef __cplusplus
}
#endif
diff --git a/applications/services/gui/modules/text_input_i.h b/applications/services/gui/modules/text_input_i.h
new file mode 100644
index 000000000..ad27778b0
--- /dev/null
+++ b/applications/services/gui/modules/text_input_i.h
@@ -0,0 +1,5 @@
+#pragma once
+
+#include "text_input.h"
+
+bool text_input_view_input_callback(InputEvent* event, void* context);
diff --git a/applications/services/input/input.c b/applications/services/input/input.c
index 8da0a3400..9ea1e6b5b 100644
--- a/applications/services/input/input.c
+++ b/applications/services/input/input.c
@@ -68,6 +68,23 @@ const char* input_get_type_name(InputType type) {
}
}
+void input_fake_event(Input* input, InputKey key, InputType type) {
+ bool wrap = type == InputTypeShort || type == InputTypeLong;
+ InputEvent event;
+ event.key = key;
+
+ if(wrap) {
+ event.type = InputTypePress;
+ furi_pubsub_publish(input->event_pubsub, &event);
+ }
+ event.type = type;
+ furi_pubsub_publish(input->event_pubsub, &event);
+ if(wrap) {
+ event.type = InputTypeRelease;
+ furi_pubsub_publish(input->event_pubsub, &event);
+ }
+}
+
int32_t input_srv(void* p) {
UNUSED(p);
input = malloc(sizeof(Input));
diff --git a/applications/services/input/input_cli.c b/applications/services/input/input_cli.c
index f7e904b17..d8ab003ea 100644
--- a/applications/services/input/input_cli.c
+++ b/applications/services/input/input_cli.c
@@ -3,6 +3,10 @@
#include
#include
#include
+#include
+#include
+#include
+#include
static void input_cli_usage() {
printf("Usage:\r\n");
@@ -10,6 +14,7 @@ static void input_cli_usage() {
printf("Cmd list:\r\n");
printf("\tdump\t\t\t - dump input events\r\n");
printf("\tsend \t - send input event\r\n");
+ printf("\tkeyboard\t\t - read keyboard input and control flipper with it\r\n");
}
static void input_cli_dump_events_callback(const void* value, void* ctx) {
@@ -40,6 +45,82 @@ static void input_cli_dump(Cli* cli, FuriString* args, Input* input) {
furi_message_queue_free(input_queue);
}
+static void input_cli_keyboard(Cli* cli, FuriString* args, Input* input) {
+ UNUSED(args);
+ Gui* gui = furi_record_open(RECORD_GUI);
+
+ printf("Using console keyboard feedback for flipper input\r\n");
+
+ printf("\r\nUsage:\r\n");
+ printf("\tMove = Arrows\r\n");
+ printf("\tOk = Enter\r\n");
+ printf("\tHold Ok = Shift + Enter\r\n");
+ printf("\tBack = Backspace\r\n");
+
+ printf("\r\nIn Keyboard:\r\n");
+ printf("\tType normally on PC Keyboard\r\n");
+ printf("\tQuit = Ctrl + Q\r\n");
+ printf("\tSelect All = Ctrl + A\r\n");
+ printf("\tMove Cursor = Arrows\r\n");
+ printf("\tSave Text = Enter\r\n");
+
+ printf("\r\nPress CTRL+C to stop\r\n");
+ while(cli_is_connected(cli)) {
+ char in_chr = cli_getc(cli);
+ if(in_chr == CliSymbolAsciiETX) break;
+ InputKey send_key = InputKeyMAX;
+ InputType send_type = InputTypeShort;
+
+ ViewPort* view_port = gui->ongoing_input_view_port;
+ if(view_port && view_port->input_callback == view_dispatcher_input_callback) {
+ ViewDispatcher* view_dispatcher = view_port->input_callback_context;
+ if(view_dispatcher) {
+ View* view = view_dispatcher->current_view;
+ if(view && view->input_callback == text_input_view_input_callback) {
+ TextInput* text_input = view->context;
+ if(text_input) {
+ if(in_chr == 0x11) { // Ctrl Q = Close text input
+ send_key = InputKeyBack;
+ } else if(text_input_insert_character(text_input, in_chr)) {
+ continue;
+ }
+ }
+ }
+ }
+ }
+
+ if(send_key == InputKeyMAX) {
+ switch(in_chr) {
+ case CliSymbolAsciiEsc: // Escape code for arrows
+ if(!cli_read(cli, (uint8_t*)&in_chr, 1) || in_chr != '[') break;
+ if(!cli_read(cli, (uint8_t*)&in_chr, 1)) break;
+ if(in_chr >= 'A' && in_chr <= 'D') { // Arrows = Dpad
+ send_key = in_chr - 'A'; // Arrows in same order as InputKey
+ }
+ break;
+ case CliSymbolAsciiBackspace: // Backspace = Back
+ send_key = InputKeyBack;
+ break;
+ case 0x4d: // Shift Enter = Hold Ok
+ send_type = InputTypeLong;
+ /* fall through */
+ case CliSymbolAsciiCR: // Enter = Ok
+ send_key = InputKeyOk;
+ break;
+ default:
+ printf("ignoring key: %u\r\n", in_chr);
+ break;
+ }
+ }
+
+ if(send_key != InputKeyMAX) {
+ input_fake_event(input, send_key, send_type);
+ }
+ }
+
+ furi_record_close(RECORD_GUI);
+}
+
static void input_cli_send_print_usage() {
printf("Invalid arguments. Usage:\r\n");
printf("\tinput send \r\n");
@@ -49,7 +130,8 @@ static void input_cli_send_print_usage() {
static void input_cli_send(Cli* cli, FuriString* args, Input* input) {
UNUSED(cli);
- InputEvent event;
+ InputKey key;
+ InputType type;
FuriString* key_str;
key_str = furi_string_alloc();
bool parsed = false;
@@ -60,29 +142,29 @@ static void input_cli_send(Cli* cli, FuriString* args, Input* input) {
break;
}
if(!furi_string_cmp(key_str, "up")) {
- event.key = InputKeyUp;
+ key = InputKeyUp;
} else if(!furi_string_cmp(key_str, "down")) {
- event.key = InputKeyDown;
+ key = InputKeyDown;
} else if(!furi_string_cmp(key_str, "left")) {
- event.key = InputKeyLeft;
+ key = InputKeyLeft;
} else if(!furi_string_cmp(key_str, "right")) {
- event.key = InputKeyRight;
+ key = InputKeyRight;
} else if(!furi_string_cmp(key_str, "ok")) {
- event.key = InputKeyOk;
+ key = InputKeyOk;
} else if(!furi_string_cmp(key_str, "back")) {
- event.key = InputKeyBack;
+ key = InputKeyBack;
} else {
break;
}
// Parse Type
if(!furi_string_cmp(args, "press")) {
- event.type = InputTypePress;
+ type = InputTypePress;
} else if(!furi_string_cmp(args, "release")) {
- event.type = InputTypeRelease;
+ type = InputTypeRelease;
} else if(!furi_string_cmp(args, "short")) {
- event.type = InputTypeShort;
+ type = InputTypeShort;
} else if(!furi_string_cmp(args, "long")) {
- event.type = InputTypeLong;
+ type = InputTypeLong;
} else {
break;
}
@@ -90,7 +172,7 @@ static void input_cli_send(Cli* cli, FuriString* args, Input* input) {
} while(false);
if(parsed) { //-V547
- furi_pubsub_publish(input->event_pubsub, &event);
+ input_fake_event(input, key, type);
} else {
input_cli_send_print_usage();
}
@@ -113,6 +195,10 @@ void input_cli(Cli* cli, FuriString* args, void* context) {
input_cli_dump(cli, args, input);
break;
}
+ if(furi_string_cmp_str(cmd, "keyboard") == 0) {
+ input_cli_keyboard(cli, args, input);
+ break;
+ }
if(furi_string_cmp_str(cmd, "send") == 0) {
input_cli_send(cli, args, input);
break;
diff --git a/applications/services/input/input_i.h b/applications/services/input/input_i.h
index 14d8b0735..e5a5b7539 100644
--- a/applications/services/input/input_i.h
+++ b/applications/services/input/input_i.h
@@ -46,3 +46,5 @@ void input_isr(void* _ctx);
/** Input CLI command handler */
void input_cli(Cli* cli, FuriString* args, void* context);
+
+void input_fake_event(Input* input, InputKey key, InputType type);
diff --git a/applications/services/power/power_service/power.c b/applications/services/power/power_service/power.c
index 480051d30..dd49c8de0 100644
--- a/applications/services/power/power_service/power.c
+++ b/applications/services/power/power_service/power.c
@@ -338,9 +338,6 @@ Power* power_alloc() {
power->settings_events_subscription =
furi_pubsub_subscribe(power->settings_events, power_shutdown_time_changed_callback, power);
- power->input_events_pubsub = furi_record_open(RECORD_INPUT_EVENTS);
- power->input_events_subscription = NULL;
-
// State initialization
power->state = PowerStateNotCharging;
power->battery_low = false;
diff --git a/applications/services/rpc/rpc.c b/applications/services/rpc/rpc.c
index 3b8cd5f23..b67e05125 100644
--- a/applications/services/rpc/rpc.c
+++ b/applications/services/rpc/rpc.c
@@ -9,11 +9,13 @@
#include
#include
+#include
#include
#include
#include
#include
+#include
#define TAG "RpcSrv"
@@ -363,41 +365,47 @@ static void rpc_session_thread_state_callback(FuriThreadState thread_state, void
}
RpcSession* rpc_session_open(Rpc* rpc, RpcOwner owner) {
- furi_assert(rpc);
+ if(!furi_hal_rtc_is_flag_set(FuriHalRtcFlagLock) ||
+ XTREME_SETTINGS()->allow_locked_rpc_commands) {
+ furi_assert(rpc);
- RpcSession* session = malloc(sizeof(RpcSession));
- session->callbacks_mutex = furi_mutex_alloc(FuriMutexTypeNormal);
- session->stream = furi_stream_buffer_alloc(RPC_BUFFER_SIZE, 1);
- session->rpc = rpc;
- session->terminate = false;
- session->decode_error = false;
- session->owner = owner;
- RpcHandlerDict_init(session->handlers);
+ RpcSession* session = malloc(sizeof(RpcSession));
+ session->callbacks_mutex = furi_mutex_alloc(FuriMutexTypeNormal);
+ session->stream = furi_stream_buffer_alloc(RPC_BUFFER_SIZE, 1);
+ session->rpc = rpc;
+ session->terminate = false;
+ session->decode_error = false;
+ session->owner = owner;
+ RpcHandlerDict_init(session->handlers);
- session->decoded_message = malloc(sizeof(PB_Main));
- session->decoded_message->cb_content.funcs.decode = rpc_pb_content_callback;
- session->decoded_message->cb_content.arg = session;
+ session->decoded_message = malloc(sizeof(PB_Main));
+ session->decoded_message->cb_content.funcs.decode = rpc_pb_content_callback;
+ session->decoded_message->cb_content.arg = session;
- session->system_contexts = malloc(COUNT_OF(rpc_systems) * sizeof(void*));
- for(size_t i = 0; i < COUNT_OF(rpc_systems); ++i) {
- session->system_contexts[i] = rpc_systems[i].alloc(session);
+ session->system_contexts = malloc(COUNT_OF(rpc_systems) * sizeof(void*));
+ for(size_t i = 0; i < COUNT_OF(rpc_systems); ++i) {
+ session->system_contexts[i] = rpc_systems[i].alloc(session);
+ }
+
+ RpcHandler rpc_handler = {
+ .message_handler = rpc_close_session_process,
+ .decode_submessage = NULL,
+ .context = session,
+ };
+ rpc_add_handler(session, PB_Main_stop_session_tag, &rpc_handler);
+
+ session->thread =
+ furi_thread_alloc_ex("RpcSessionWorker", 3072, rpc_session_worker, session);
+
+ furi_thread_set_state_context(session->thread, session);
+ furi_thread_set_state_callback(session->thread, rpc_session_thread_state_callback);
+
+ furi_thread_start(session->thread);
+
+ return session;
+ } else {
+ return NULL;
}
-
- RpcHandler rpc_handler = {
- .message_handler = rpc_close_session_process,
- .decode_submessage = NULL,
- .context = session,
- };
- rpc_add_handler(session, PB_Main_stop_session_tag, &rpc_handler);
-
- session->thread = furi_thread_alloc_ex("RpcSessionWorker", 3072, rpc_session_worker, session);
-
- furi_thread_set_state_context(session->thread, session);
- furi_thread_set_state_callback(session->thread, rpc_session_thread_state_callback);
-
- furi_thread_start(session->thread);
-
- return session;
}
void rpc_session_close(RpcSession* session) {
diff --git a/applications/services/storage/storage_cli.c b/applications/services/storage/storage_cli.c
index 447e76afc..bf1478319 100644
--- a/applications/services/storage/storage_cli.c
+++ b/applications/services/storage/storage_cli.c
@@ -29,7 +29,8 @@ static void storage_cli_print_usage() {
"\twrite_chunk\t - read data from cli and append it to file, should contain how many bytes you want to write\r\n");
printf("\tcopy\t - copy file to new file, must contain new path\r\n");
printf("\trename\t - move file to new file, must contain new path\r\n");
- printf("\tmigrate\t - \r\n");
+ printf(
+ "\tmigrate\t - move folder to new path, renaming already present files by adding numbers to the end\r\n");
printf("\tmkdir\t - creates a new directory\r\n");
printf("\tmd5\t - md5 hash of the file\r\n");
printf("\tstat\t - info about file or dir\r\n");
diff --git a/assets/.gitignore b/assets/.gitignore
index e953f6e7c..a559e3b4c 100644
--- a/assets/.gitignore
+++ b/assets/.gitignore
@@ -3,4 +3,5 @@
/resources/apps/*
/resources/dolphin/*
/resources/dolphin_custom/*
+/resources/asset_packs/*
/resources/apps_data/**/*.fal
diff --git a/assets/ReadMe.md b/assets/ReadMe.md
index 2d493b4fe..3fb746e36 100644
--- a/assets/ReadMe.md
+++ b/assets/ReadMe.md
@@ -34,6 +34,7 @@ Don't include assets that you are not using, compiler is not going to strip unus
# Structure
- `compiled` - Output folder made for compiled assets, after building project, in `build` directory.
- `dolphin` - Dolphin game assets sources. Goes to `compiled` and `resources` folders in `build` directory.
+- `packs` - User-made Asset packs used for basically all scenes. Compiled to `.bmx` and found at `SD/asset_packs`
- `icons` - Icons sources. Goes to `compiled` folder in `build` directory.
- `protobuf` - Protobuf sources. Goes to `compiled` folder in `build` directory.
- `resources` - Assets that is going to be provisioned to SD card.
diff --git a/assets/dolphin/ReadMe.md b/assets/dolphin/ReadMe.md
index cb9f8afd5..05da49c96 100644
--- a/assets/dolphin/ReadMe.md
+++ b/assets/dolphin/ReadMe.md
@@ -2,10 +2,9 @@
Dolphin assets are split into 3 parts:
-- blocking - Essential animations that are used for blocking system notifications. They are packed to `assets_dolphin_blocking.[h,c]`.
+- blocking - Essential animations that are used for blocking system notifications. They are packed to `assets_dolphin_blocking.[h,c]`.
- internal - Internal animations that are used for idle dolphin animation. Converted to `assets_dolphin_internal.[h,c]`.
- external - External animations that are used for idle dolphin animation. Packed to resource folder and placed on SD card.
-- custom - Custom User-made animations that are used for a variety of scenes, such as `dolphin idle, passport, scanning`. Compiled to `.bmx` and found at `SD/dolphin_custom`
# Files
diff --git a/assets/dolphin/custom/ReadMe.md b/assets/packs/ReadMe.md
similarity index 100%
rename from assets/dolphin/custom/ReadMe.md
rename to assets/packs/ReadMe.md
diff --git a/assets/dolphin/custom/WatchDogs/Anims/BOTTY_CALL/frame_0.png b/assets/packs/WatchDogs/Anims/BOTTY_CALL/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/BOTTY_CALL/frame_0.png
rename to assets/packs/WatchDogs/Anims/BOTTY_CALL/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/BOTTY_CALL/frame_1.png b/assets/packs/WatchDogs/Anims/BOTTY_CALL/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/BOTTY_CALL/frame_1.png
rename to assets/packs/WatchDogs/Anims/BOTTY_CALL/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/BOTTY_CALL/frame_2.png b/assets/packs/WatchDogs/Anims/BOTTY_CALL/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/BOTTY_CALL/frame_2.png
rename to assets/packs/WatchDogs/Anims/BOTTY_CALL/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/BOTTY_CALL/meta.txt b/assets/packs/WatchDogs/Anims/BOTTY_CALL/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/BOTTY_CALL/meta.txt
rename to assets/packs/WatchDogs/Anims/BOTTY_CALL/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_0.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_0.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_1.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_1.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_10.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_10.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_10.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_10.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_11.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_11.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_11.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_11.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_12.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_12.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_12.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_12.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_13.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_13.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_13.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_13.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_14.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_14.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_14.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_14.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_15.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_15.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_15.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_15.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_16.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_16.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_16.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_16.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_2.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_2.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_3.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_3.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_4.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_4.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_5.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_5.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_6.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_6.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_7.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_7.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_7.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_7.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_8.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_8.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_8.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_8.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_9.png b/assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_9.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/frame_9.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/frame_9.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/meta.txt b/assets/packs/WatchDogs/Anims/DEDSEC_AD/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_AD/meta.txt
rename to assets/packs/WatchDogs/Anims/DEDSEC_AD/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_0.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_0.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_1.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_1.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_10.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_10.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_10.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_10.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_11.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_11.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_11.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_11.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_12.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_12.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_12.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_12.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_13.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_13.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_13.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_13.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_14.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_14.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_14.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_14.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_15.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_15.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_15.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_15.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_16.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_16.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_16.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_16.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_17.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_17.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_17.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_17.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_18.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_18.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_18.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_18.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_19.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_19.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_19.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_19.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_2.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_2.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_20.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_20.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_20.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_20.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_21.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_21.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_21.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_21.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_22.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_22.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_22.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_22.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_23.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_23.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_23.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_23.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_24.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_24.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_24.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_24.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_25.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_25.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_25.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_25.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_26.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_26.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_26.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_26.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_27.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_27.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_27.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_27.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_28.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_28.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_28.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_28.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_29.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_29.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_29.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_29.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_3.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_3.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_30.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_30.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_30.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_30.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_31.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_31.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_31.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_31.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_32.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_32.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_32.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_32.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_33.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_33.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_33.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_33.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_34.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_34.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_34.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_34.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_35.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_35.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_35.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_35.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_36.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_36.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_36.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_36.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_37.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_37.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_37.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_37.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_38.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_38.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_38.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_38.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_39.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_39.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_39.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_39.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_4.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_4.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_40.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_40.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_40.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_40.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_41.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_41.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_41.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_41.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_5.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_5.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_6.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_6.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_7.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_7.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_7.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_7.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_8.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_8.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_8.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_8.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_9.png b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_9.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/frame_9.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/frame_9.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/meta.txt b/assets/packs/WatchDogs/Anims/DEDSEC_ANIM/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ANIM/meta.txt
rename to assets/packs/WatchDogs/Anims/DEDSEC_ANIM/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_0.png b/assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_0.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_1.png b/assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_1.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_10.png b/assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_10.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_10.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_10.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_2.png b/assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_2.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_3.png b/assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_3.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_4.png b/assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_4.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_5.png b/assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_5.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_6.png b/assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_6.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_7.png b/assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_7.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_7.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_7.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_8.png b/assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_8.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_8.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_8.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_9.png b/assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_9.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/frame_9.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_ASCII/frame_9.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/meta.txt b/assets/packs/WatchDogs/Anims/DEDSEC_ASCII/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_ASCII/meta.txt
rename to assets/packs/WatchDogs/Anims/DEDSEC_ASCII/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_0.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_0.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_1.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_1.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_10.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_10.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_10.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_10.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_11.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_11.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_11.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_11.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_12.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_12.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_12.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_12.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_13.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_13.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_13.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_13.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_14.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_14.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_14.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_14.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_15.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_15.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_15.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_15.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_16.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_16.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_16.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_16.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_17.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_17.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_17.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_17.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_18.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_18.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_18.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_18.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_19.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_19.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_19.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_19.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_2.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_2.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_20.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_20.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_20.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_20.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_21.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_21.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_21.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_21.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_22.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_22.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_22.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_22.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_23.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_23.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_23.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_23.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_24.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_24.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_24.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_24.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_25.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_25.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_25.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_25.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_26.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_26.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_26.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_26.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_27.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_27.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_27.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_27.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_28.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_28.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_28.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_28.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_29.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_29.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_29.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_29.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_3.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_3.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_30.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_30.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_30.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_30.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_31.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_31.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_31.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_31.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_4.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_4.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_5.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_5.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_6.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_6.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_7.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_7.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_7.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_7.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_8.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_8.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_8.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_8.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_9.png b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_9.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/frame_9.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/frame_9.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/meta.txt b/assets/packs/WatchDogs/Anims/DEDSEC_LOGO/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_LOGO/meta.txt
rename to assets/packs/WatchDogs/Anims/DEDSEC_LOGO/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_0.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_0.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_1.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_1.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_10.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_10.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_10.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_10.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_11.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_11.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_11.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_11.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_12.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_12.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_12.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_12.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_13.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_13.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_13.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_13.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_14.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_14.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_14.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_14.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_15.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_15.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_15.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_15.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_16.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_16.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_16.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_16.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_17.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_17.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_17.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_17.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_18.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_18.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_18.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_18.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_19.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_19.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_19.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_19.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_2.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_2.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_20.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_20.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_20.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_20.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_3.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_3.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_4.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_4.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_5.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_5.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_6.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_6.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_7.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_7.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_7.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_7.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_8.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_8.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_8.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_8.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_9.png b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_9.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/frame_9.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/frame_9.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/meta.txt b/assets/packs/WatchDogs/Anims/DEDSEC_OLD/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_OLD/meta.txt
rename to assets/packs/WatchDogs/Anims/DEDSEC_OLD/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_0.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_0.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_1.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_1.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_10.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_10.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_10.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_10.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_11.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_11.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_11.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_11.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_12.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_12.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_12.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_12.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_13.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_13.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_13.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_13.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_14.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_14.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_14.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_14.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_15.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_15.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_15.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_15.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_16.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_16.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_16.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_16.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_17.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_17.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_17.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_17.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_2.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_2.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_3.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_3.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_4.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_4.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_5.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_5.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_6.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_6.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_7.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_7.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_7.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_7.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_8.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_8.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_8.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_8.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_9.png b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_9.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/frame_9.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/frame_9.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/meta.txt b/assets/packs/WatchDogs/Anims/DEDSEC_TALK/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_TALK/meta.txt
rename to assets/packs/WatchDogs/Anims/DEDSEC_TALK/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_0.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_0.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_1.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_1.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_10.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_10.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_10.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_10.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_11.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_11.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_11.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_11.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_12.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_12.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_12.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_12.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_13.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_13.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_13.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_13.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_14.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_14.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_14.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_14.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_15.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_15.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_15.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_15.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_2.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_2.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_3.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_3.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_4.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_4.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_5.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_5.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_6.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_6.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_7.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_7.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_7.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_7.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_8.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_8.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_8.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_8.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_9.png b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_9.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/frame_9.png
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/frame_9.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/meta.txt b/assets/packs/WatchDogs/Anims/DEDSEC_WAVE/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/DEDSEC_WAVE/meta.txt
rename to assets/packs/WatchDogs/Anims/DEDSEC_WAVE/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/FINGER/frame_0.png b/assets/packs/WatchDogs/Anims/FINGER/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/FINGER/frame_0.png
rename to assets/packs/WatchDogs/Anims/FINGER/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/FINGER/frame_1.png b/assets/packs/WatchDogs/Anims/FINGER/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/FINGER/frame_1.png
rename to assets/packs/WatchDogs/Anims/FINGER/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/FINGER/frame_2.png b/assets/packs/WatchDogs/Anims/FINGER/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/FINGER/frame_2.png
rename to assets/packs/WatchDogs/Anims/FINGER/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/FINGER/frame_3.png b/assets/packs/WatchDogs/Anims/FINGER/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/FINGER/frame_3.png
rename to assets/packs/WatchDogs/Anims/FINGER/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/FINGER/meta.txt b/assets/packs/WatchDogs/Anims/FINGER/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/FINGER/meta.txt
rename to assets/packs/WatchDogs/Anims/FINGER/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_0.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_0.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_1.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_1.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_10.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_10.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_10.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_10.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_11.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_11.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_11.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_11.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_12.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_12.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_12.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_12.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_13.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_13.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_13.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_13.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_14.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_14.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_14.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_14.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_15.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_15.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_15.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_15.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_16.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_16.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_16.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_16.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_17.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_17.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_17.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_17.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_18.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_18.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_18.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_18.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_19.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_19.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_19.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_19.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_2.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_2.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_20.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_20.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_20.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_20.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_21.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_21.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_21.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_21.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_3.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_3.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_4.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_4.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_5.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_5.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_6.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_6.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_7.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_7.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_7.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_7.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_8.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_8.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_8.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_8.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_9.png b/assets/packs/WatchDogs/Anims/GUNS_CAR/frame_9.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/frame_9.png
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/frame_9.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/meta.txt b/assets/packs/WatchDogs/Anims/GUNS_CAR/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/GUNS_CAR/meta.txt
rename to assets/packs/WatchDogs/Anims/GUNS_CAR/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/HANDS/frame_0.png b/assets/packs/WatchDogs/Anims/HANDS/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/HANDS/frame_0.png
rename to assets/packs/WatchDogs/Anims/HANDS/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/HANDS/frame_1.png b/assets/packs/WatchDogs/Anims/HANDS/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/HANDS/frame_1.png
rename to assets/packs/WatchDogs/Anims/HANDS/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/HANDS/frame_2.png b/assets/packs/WatchDogs/Anims/HANDS/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/HANDS/frame_2.png
rename to assets/packs/WatchDogs/Anims/HANDS/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/HANDS/frame_3.png b/assets/packs/WatchDogs/Anims/HANDS/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/HANDS/frame_3.png
rename to assets/packs/WatchDogs/Anims/HANDS/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/HANDS/frame_4.png b/assets/packs/WatchDogs/Anims/HANDS/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/HANDS/frame_4.png
rename to assets/packs/WatchDogs/Anims/HANDS/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/HANDS/frame_5.png b/assets/packs/WatchDogs/Anims/HANDS/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/HANDS/frame_5.png
rename to assets/packs/WatchDogs/Anims/HANDS/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/HANDS/frame_6.png b/assets/packs/WatchDogs/Anims/HANDS/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/HANDS/frame_6.png
rename to assets/packs/WatchDogs/Anims/HANDS/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/HANDS/meta.txt b/assets/packs/WatchDogs/Anims/HANDS/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/HANDS/meta.txt
rename to assets/packs/WatchDogs/Anims/HANDS/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/JOIN_US/frame_0.png b/assets/packs/WatchDogs/Anims/JOIN_US/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/JOIN_US/frame_0.png
rename to assets/packs/WatchDogs/Anims/JOIN_US/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/JOIN_US/frame_1.png b/assets/packs/WatchDogs/Anims/JOIN_US/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/JOIN_US/frame_1.png
rename to assets/packs/WatchDogs/Anims/JOIN_US/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/JOIN_US/meta.txt b/assets/packs/WatchDogs/Anims/JOIN_US/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/JOIN_US/meta.txt
rename to assets/packs/WatchDogs/Anims/JOIN_US/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_0.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_0.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_1.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_1.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_10.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_10.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_10.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_10.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_11.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_11.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_11.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_11.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_12.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_12.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_12.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_12.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_13.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_13.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_13.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_13.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_14.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_14.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_14.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_14.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_15.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_15.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_15.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_15.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_16.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_16.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_16.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_16.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_17.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_17.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_17.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_17.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_18.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_18.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_18.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_18.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_19.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_19.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_19.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_19.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_2.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_2.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_20.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_20.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_20.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_20.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_21.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_21.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_21.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_21.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_22.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_22.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_22.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_22.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_23.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_23.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_23.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_23.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_24.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_24.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_24.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_24.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_25.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_25.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_25.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_25.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_26.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_26.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_26.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_26.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_27.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_27.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_27.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_27.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_28.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_28.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_28.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_28.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_29.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_29.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_29.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_29.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_3.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_3.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_30.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_30.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_30.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_30.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_4.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_4.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_5.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_5.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_6.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_6.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_7.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_7.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_7.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_7.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_8.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_8.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_8.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_8.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_9.png b/assets/packs/WatchDogs/Anims/LOGO_WD2/frame_9.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/frame_9.png
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/frame_9.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/meta.txt b/assets/packs/WatchDogs/Anims/LOGO_WD2/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/LOGO_WD2/meta.txt
rename to assets/packs/WatchDogs/Anims/LOGO_WD2/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_0.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_0.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_1.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_1.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_10.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_10.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_10.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_10.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_11.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_11.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_11.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_11.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_12.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_12.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_12.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_12.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_13.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_13.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_13.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_13.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_14.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_14.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_14.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_14.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_15.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_15.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_15.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_15.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_16.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_16.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_16.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_16.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_17.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_17.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_17.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_17.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_18.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_18.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_18.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_18.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_19.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_19.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_19.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_19.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_2.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_2.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_20.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_20.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_20.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_20.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_21.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_21.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_21.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_21.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_22.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_22.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_22.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_22.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_23.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_23.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_23.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_23.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_3.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_3.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_4.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_4.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_5.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_5.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_6.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_6.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_7.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_7.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_7.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_7.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_8.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_8.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_8.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_8.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_9.png b/assets/packs/WatchDogs/Anims/MARCUS/frame_9.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/frame_9.png
rename to assets/packs/WatchDogs/Anims/MARCUS/frame_9.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MARCUS/meta.txt b/assets/packs/WatchDogs/Anims/MARCUS/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MARCUS/meta.txt
rename to assets/packs/WatchDogs/Anims/MARCUS/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MUMMY/frame_0.png b/assets/packs/WatchDogs/Anims/MUMMY/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MUMMY/frame_0.png
rename to assets/packs/WatchDogs/Anims/MUMMY/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MUMMY/frame_1.png b/assets/packs/WatchDogs/Anims/MUMMY/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MUMMY/frame_1.png
rename to assets/packs/WatchDogs/Anims/MUMMY/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MUMMY/frame_2.png b/assets/packs/WatchDogs/Anims/MUMMY/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MUMMY/frame_2.png
rename to assets/packs/WatchDogs/Anims/MUMMY/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MUMMY/frame_3.png b/assets/packs/WatchDogs/Anims/MUMMY/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MUMMY/frame_3.png
rename to assets/packs/WatchDogs/Anims/MUMMY/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/MUMMY/meta.txt b/assets/packs/WatchDogs/Anims/MUMMY/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/MUMMY/meta.txt
rename to assets/packs/WatchDogs/Anims/MUMMY/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_0.png b/assets/packs/WatchDogs/Anims/REAPER/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_0.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_1.png b/assets/packs/WatchDogs/Anims/REAPER/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_1.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_10.png b/assets/packs/WatchDogs/Anims/REAPER/frame_10.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_10.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_10.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_11.png b/assets/packs/WatchDogs/Anims/REAPER/frame_11.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_11.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_11.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_12.png b/assets/packs/WatchDogs/Anims/REAPER/frame_12.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_12.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_12.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_13.png b/assets/packs/WatchDogs/Anims/REAPER/frame_13.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_13.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_13.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_14.png b/assets/packs/WatchDogs/Anims/REAPER/frame_14.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_14.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_14.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_15.png b/assets/packs/WatchDogs/Anims/REAPER/frame_15.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_15.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_15.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_16.png b/assets/packs/WatchDogs/Anims/REAPER/frame_16.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_16.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_16.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_17.png b/assets/packs/WatchDogs/Anims/REAPER/frame_17.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_17.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_17.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_18.png b/assets/packs/WatchDogs/Anims/REAPER/frame_18.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_18.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_18.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_19.png b/assets/packs/WatchDogs/Anims/REAPER/frame_19.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_19.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_19.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_2.png b/assets/packs/WatchDogs/Anims/REAPER/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_2.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_20.png b/assets/packs/WatchDogs/Anims/REAPER/frame_20.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_20.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_20.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_21.png b/assets/packs/WatchDogs/Anims/REAPER/frame_21.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_21.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_21.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_22.png b/assets/packs/WatchDogs/Anims/REAPER/frame_22.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_22.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_22.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_23.png b/assets/packs/WatchDogs/Anims/REAPER/frame_23.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_23.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_23.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_24.png b/assets/packs/WatchDogs/Anims/REAPER/frame_24.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_24.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_24.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_25.png b/assets/packs/WatchDogs/Anims/REAPER/frame_25.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_25.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_25.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_26.png b/assets/packs/WatchDogs/Anims/REAPER/frame_26.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_26.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_26.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_27.png b/assets/packs/WatchDogs/Anims/REAPER/frame_27.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_27.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_27.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_28.png b/assets/packs/WatchDogs/Anims/REAPER/frame_28.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_28.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_28.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_29.png b/assets/packs/WatchDogs/Anims/REAPER/frame_29.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_29.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_29.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_3.png b/assets/packs/WatchDogs/Anims/REAPER/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_3.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_30.png b/assets/packs/WatchDogs/Anims/REAPER/frame_30.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_30.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_30.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_31.png b/assets/packs/WatchDogs/Anims/REAPER/frame_31.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_31.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_31.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_4.png b/assets/packs/WatchDogs/Anims/REAPER/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_4.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_5.png b/assets/packs/WatchDogs/Anims/REAPER/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_5.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_6.png b/assets/packs/WatchDogs/Anims/REAPER/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_6.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_7.png b/assets/packs/WatchDogs/Anims/REAPER/frame_7.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_7.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_7.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_8.png b/assets/packs/WatchDogs/Anims/REAPER/frame_8.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_8.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_8.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_9.png b/assets/packs/WatchDogs/Anims/REAPER/frame_9.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/frame_9.png
rename to assets/packs/WatchDogs/Anims/REAPER/frame_9.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER/meta.txt b/assets/packs/WatchDogs/Anims/REAPER/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER/meta.txt
rename to assets/packs/WatchDogs/Anims/REAPER/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_0.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_0.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_1.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_1.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_10.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_10.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_10.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_10.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_11.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_11.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_11.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_11.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_12.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_12.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_12.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_12.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_13.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_13.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_13.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_13.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_14.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_14.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_14.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_14.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_15.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_15.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_15.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_15.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_16.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_16.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_16.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_16.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_17.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_17.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_17.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_17.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_18.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_18.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_18.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_18.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_19.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_19.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_19.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_19.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_2.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_2.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_20.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_20.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_20.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_20.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_21.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_21.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_21.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_21.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_22.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_22.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_22.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_22.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_23.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_23.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_23.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_23.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_24.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_24.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_24.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_24.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_25.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_25.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_25.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_25.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_26.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_26.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_26.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_26.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_27.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_27.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_27.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_27.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_28.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_28.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_28.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_28.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_29.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_29.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_29.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_29.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_3.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_3.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_30.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_30.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_30.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_30.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_31.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_31.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_31.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_31.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_32.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_32.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_32.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_32.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_33.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_33.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_33.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_33.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_34.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_34.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_34.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_34.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_35.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_35.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_35.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_35.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_36.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_36.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_36.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_36.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_37.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_37.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_37.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_37.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_38.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_38.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_38.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_38.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_39.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_39.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_39.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_39.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_4.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_4.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_40.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_40.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_40.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_40.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_41.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_41.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_41.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_41.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_5.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_5.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_6.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_6.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_7.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_7.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_7.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_7.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_8.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_8.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_8.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_8.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_9.png b/assets/packs/WatchDogs/Anims/REAPER_ALT/frame_9.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/frame_9.png
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/frame_9.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/meta.txt b/assets/packs/WatchDogs/Anims/REAPER_ALT/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/REAPER_ALT/meta.txt
rename to assets/packs/WatchDogs/Anims/REAPER_ALT/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_0.png b/assets/packs/WatchDogs/Anims/SKULL/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_0.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_1.png b/assets/packs/WatchDogs/Anims/SKULL/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_1.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_10.png b/assets/packs/WatchDogs/Anims/SKULL/frame_10.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_10.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_10.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_11.png b/assets/packs/WatchDogs/Anims/SKULL/frame_11.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_11.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_11.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_12.png b/assets/packs/WatchDogs/Anims/SKULL/frame_12.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_12.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_12.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_13.png b/assets/packs/WatchDogs/Anims/SKULL/frame_13.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_13.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_13.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_14.png b/assets/packs/WatchDogs/Anims/SKULL/frame_14.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_14.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_14.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_15.png b/assets/packs/WatchDogs/Anims/SKULL/frame_15.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_15.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_15.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_16.png b/assets/packs/WatchDogs/Anims/SKULL/frame_16.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_16.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_16.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_17.png b/assets/packs/WatchDogs/Anims/SKULL/frame_17.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_17.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_17.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_18.png b/assets/packs/WatchDogs/Anims/SKULL/frame_18.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_18.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_18.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_19.png b/assets/packs/WatchDogs/Anims/SKULL/frame_19.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_19.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_19.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_2.png b/assets/packs/WatchDogs/Anims/SKULL/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_2.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_20.png b/assets/packs/WatchDogs/Anims/SKULL/frame_20.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_20.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_20.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_21.png b/assets/packs/WatchDogs/Anims/SKULL/frame_21.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_21.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_21.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_22.png b/assets/packs/WatchDogs/Anims/SKULL/frame_22.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_22.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_22.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_23.png b/assets/packs/WatchDogs/Anims/SKULL/frame_23.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_23.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_23.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_24.png b/assets/packs/WatchDogs/Anims/SKULL/frame_24.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_24.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_24.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_25.png b/assets/packs/WatchDogs/Anims/SKULL/frame_25.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_25.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_25.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_26.png b/assets/packs/WatchDogs/Anims/SKULL/frame_26.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_26.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_26.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_3.png b/assets/packs/WatchDogs/Anims/SKULL/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_3.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_4.png b/assets/packs/WatchDogs/Anims/SKULL/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_4.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_5.png b/assets/packs/WatchDogs/Anims/SKULL/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_5.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_6.png b/assets/packs/WatchDogs/Anims/SKULL/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_6.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_7.png b/assets/packs/WatchDogs/Anims/SKULL/frame_7.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_7.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_7.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_8.png b/assets/packs/WatchDogs/Anims/SKULL/frame_8.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_8.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_8.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_9.png b/assets/packs/WatchDogs/Anims/SKULL/frame_9.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/frame_9.png
rename to assets/packs/WatchDogs/Anims/SKULL/frame_9.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL/meta.txt b/assets/packs/WatchDogs/Anims/SKULL/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL/meta.txt
rename to assets/packs/WatchDogs/Anims/SKULL/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_0.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_0.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_1.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_1.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_10.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_10.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_10.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_10.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_11.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_11.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_11.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_11.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_12.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_12.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_12.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_12.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_13.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_13.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_13.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_13.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_14.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_14.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_14.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_14.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_15.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_15.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_15.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_15.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_16.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_16.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_16.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_16.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_17.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_17.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_17.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_17.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_18.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_18.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_18.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_18.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_2.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_2.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_3.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_3.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_4.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_4.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_5.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_5.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_6.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_6.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_7.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_7.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_7.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_7.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_8.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_8.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_8.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_8.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_9.png b/assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_9.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/frame_9.png
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/frame_9.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/meta.txt b/assets/packs/WatchDogs/Anims/SKULL_SPIN/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SKULL_SPIN/meta.txt
rename to assets/packs/WatchDogs/Anims/SKULL_SPIN/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_0.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_0.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_0.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_0.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_1.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_1.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_1.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_1.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_10.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_10.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_10.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_10.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_11.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_11.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_11.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_11.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_12.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_12.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_12.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_12.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_13.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_13.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_13.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_13.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_14.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_14.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_14.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_14.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_15.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_15.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_15.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_15.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_16.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_16.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_16.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_16.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_17.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_17.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_17.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_17.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_18.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_18.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_18.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_18.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_19.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_19.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_19.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_19.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_2.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_2.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_2.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_2.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_20.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_20.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_20.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_20.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_21.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_21.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_21.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_21.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_22.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_22.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_22.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_22.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_23.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_23.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_23.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_23.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_3.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_3.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_3.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_3.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_4.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_4.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_4.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_4.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_5.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_5.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_5.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_5.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_6.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_6.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_6.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_6.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_7.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_7.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_7.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_7.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_8.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_8.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_8.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_8.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_9.png b/assets/packs/WatchDogs/Anims/SPIRAL/frame_9.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/frame_9.png
rename to assets/packs/WatchDogs/Anims/SPIRAL/frame_9.png
diff --git a/assets/dolphin/custom/WatchDogs/Anims/SPIRAL/meta.txt b/assets/packs/WatchDogs/Anims/SPIRAL/meta.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/SPIRAL/meta.txt
rename to assets/packs/WatchDogs/Anims/SPIRAL/meta.txt
diff --git a/assets/dolphin/custom/WatchDogs/Anims/manifest.txt b/assets/packs/WatchDogs/Anims/manifest.txt
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Anims/manifest.txt
rename to assets/packs/WatchDogs/Anims/manifest.txt
diff --git a/assets/dolphin/custom/WatchDogs/Icons/NFC/NFC_dolphin_emulation_47x61.png b/assets/packs/WatchDogs/Icons/NFC/NFC_dolphin_emulation_47x61.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Icons/NFC/NFC_dolphin_emulation_47x61.png
rename to assets/packs/WatchDogs/Icons/NFC/NFC_dolphin_emulation_47x61.png
diff --git a/assets/dolphin/custom/WatchDogs/Icons/Passport/passport_bad_46x49.png b/assets/packs/WatchDogs/Icons/Passport/passport_bad_46x49.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Icons/Passport/passport_bad_46x49.png
rename to assets/packs/WatchDogs/Icons/Passport/passport_bad_46x49.png
diff --git a/assets/dolphin/custom/WatchDogs/Icons/Passport/passport_happy_46x49.png b/assets/packs/WatchDogs/Icons/Passport/passport_happy_46x49.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Icons/Passport/passport_happy_46x49.png
rename to assets/packs/WatchDogs/Icons/Passport/passport_happy_46x49.png
diff --git a/assets/dolphin/custom/WatchDogs/Icons/Passport/passport_okay_46x49.png b/assets/packs/WatchDogs/Icons/Passport/passport_okay_46x49.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Icons/Passport/passport_okay_46x49.png
rename to assets/packs/WatchDogs/Icons/Passport/passport_okay_46x49.png
diff --git a/assets/dolphin/custom/WatchDogs/Icons/RFID/RFIDDolphinReceive_97x61.png b/assets/packs/WatchDogs/Icons/RFID/RFIDDolphinReceive_97x61.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Icons/RFID/RFIDDolphinReceive_97x61.png
rename to assets/packs/WatchDogs/Icons/RFID/RFIDDolphinReceive_97x61.png
diff --git a/assets/dolphin/custom/WatchDogs/Icons/RFID/RFIDDolphinSend_97x61.png b/assets/packs/WatchDogs/Icons/RFID/RFIDDolphinSend_97x61.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Icons/RFID/RFIDDolphinSend_97x61.png
rename to assets/packs/WatchDogs/Icons/RFID/RFIDDolphinSend_97x61.png
diff --git a/assets/dolphin/custom/WatchDogs/Icons/RFID/RFIDDolphinSuccess_108x57.png b/assets/packs/WatchDogs/Icons/RFID/RFIDDolphinSuccess_108x57.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Icons/RFID/RFIDDolphinSuccess_108x57.png
rename to assets/packs/WatchDogs/Icons/RFID/RFIDDolphinSuccess_108x57.png
diff --git a/assets/dolphin/custom/WatchDogs/Icons/SubGhz/Fishing_123x52.png b/assets/packs/WatchDogs/Icons/SubGhz/Fishing_123x52.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Icons/SubGhz/Fishing_123x52.png
rename to assets/packs/WatchDogs/Icons/SubGhz/Fishing_123x52.png
diff --git a/assets/dolphin/custom/WatchDogs/Icons/SubGhz/Scanning_123x52.png b/assets/packs/WatchDogs/Icons/SubGhz/Scanning_123x52.png
similarity index 100%
rename from assets/dolphin/custom/WatchDogs/Icons/SubGhz/Scanning_123x52.png
rename to assets/packs/WatchDogs/Icons/SubGhz/Scanning_123x52.png
diff --git a/firmware/targets/f7/api_symbols.csv b/firmware/targets/f7/api_symbols.csv
index 9bfddd24c..ab4be83c0 100644
--- a/firmware/targets/f7/api_symbols.csv
+++ b/firmware/targets/f7/api_symbols.csv
@@ -1,5 +1,5 @@
entry,status,name,type,params
-Version,+,34.3,,
+Version,+,34.4,,
Header,+,applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h,,
Header,+,applications/main/archive/helpers/favorite_timeout.h,,
Header,+,applications/services/applications.h,,
@@ -616,6 +616,7 @@ Function,+,ble_glue_start,_Bool,
Function,+,ble_glue_thread_stop,void,
Function,+,ble_glue_wait_for_c2_start,_Bool,int32_t
Function,-,bsearch,void*,"const void*, const void*, size_t, size_t, __compar_fn_t"
+Function,+,bt_close_rpc_connection,void,Bt*
Function,+,bt_disable_peer_key_update,void,Bt*
Function,+,bt_disconnect,void,Bt*
Function,+,bt_enable_peer_key_update,void,Bt*
@@ -625,6 +626,7 @@ Function,+,bt_get_profile_mac_address,const uint8_t*,Bt*
Function,+,bt_get_profile_pairing_method,GapPairing,Bt*
Function,+,bt_keys_storage_set_default_path,void,Bt*
Function,+,bt_keys_storage_set_storage_path,void,"Bt*, const char*"
+Function,+,bt_open_rpc_connection,void,Bt*
Function,+,bt_remote_rssi,_Bool,"Bt*, uint8_t*"
Function,+,bt_set_profile,_Bool,"Bt*, BtProfile"
Function,+,bt_set_profile_adv_name,void,"Bt*, const char*, ..."
@@ -3010,6 +3012,7 @@ Function,+,text_input_free,void,TextInput*
Function,+,text_input_get_validator_callback,TextInputValidatorCallback,TextInput*
Function,+,text_input_get_validator_callback_context,void*,TextInput*
Function,+,text_input_get_view,View*,TextInput*
+Function,+,text_input_insert_character,_Bool,"TextInput*, char"
Function,+,text_input_reset,void,TextInput*
Function,+,text_input_set_header_text,void,"TextInput*, const char*"
Function,+,text_input_set_minimum_length,void,"TextInput*, size_t"
diff --git a/furi/flipper.c b/furi/flipper.c
index 7298030f9..03aa194ff 100644
--- a/furi/flipper.c
+++ b/furi/flipper.c
@@ -74,6 +74,8 @@ void flipper_migrate_files() {
}
storage_common_copy(storage, U2F_KEY_OLD_FILE, U2F_KEY_FILE); // Ext -> Int
+ storage_common_migrate(storage, EXT_PATH("dolphin_custom"), EXT_PATH("asset_packs"));
+
furi_record_close(RECORD_STORAGE);
}
diff --git a/lib/xtreme/settings.c b/lib/xtreme/settings.c
index e9326fb8c..06f6b122d 100644
--- a/lib/xtreme/settings.c
+++ b/lib/xtreme/settings.c
@@ -13,7 +13,7 @@ XtremeSettings xtreme_settings = {
.wii_menu = true, // ON
.lock_on_boot = false, // OFF
.bad_pins_format = false, // OFF
- .pin_unlock_from_app = false, // OFF
+ .allow_locked_rpc_commands = false, // OFF
.lockscreen_time = true, // ON
.lockscreen_seconds = false, // OFF
.lockscreen_date = true, // ON
@@ -76,8 +76,8 @@ void XTREME_SETTINGS_LOAD() {
x->bad_pins_format = b;
}
flipper_format_rewind(file);
- if(flipper_format_read_bool(file, "pin_unlock_from_app", &b, 1)) {
- x->pin_unlock_from_app = b;
+ if(flipper_format_read_bool(file, "allow_locked_rpc_commands", &b, 1)) {
+ x->allow_locked_rpc_commands = b;
}
flipper_format_rewind(file);
if(flipper_format_read_bool(file, "lock_on_boot", &b, 1)) {
@@ -182,7 +182,7 @@ void XTREME_SETTINGS_SAVE() {
flipper_format_write_bool(file, "fallback_anim", &x->fallback_anim, 1);
flipper_format_write_bool(file, "wii_menu", &x->wii_menu, 1);
flipper_format_write_bool(file, "bad_pins_format", &x->bad_pins_format, 1);
- flipper_format_write_bool(file, "pin_unlock_from_app", &x->pin_unlock_from_app, 1);
+ flipper_format_write_bool(file, "allow_locked_rpc_commands", &x->allow_locked_rpc_commands, 1);
flipper_format_write_bool(file, "lock_on_boot", &x->lock_on_boot, 1);
flipper_format_write_bool(file, "lockscreen_time", &x->lockscreen_time, 1);
flipper_format_write_bool(file, "lockscreen_seconds", &x->lockscreen_seconds, 1);
diff --git a/lib/xtreme/xtreme.h b/lib/xtreme/xtreme.h
index 29a76bc52..d4ae6b2c7 100644
--- a/lib/xtreme/xtreme.h
+++ b/lib/xtreme/xtreme.h
@@ -8,7 +8,7 @@ extern "C" {
#endif
#define XTREME_SETTINGS_PATH CFG_PATH("xtreme_settings.txt")
-#define XTREME_ASSETS_PATH EXT_PATH("dolphin_custom")
+#define XTREME_ASSETS_PATH EXT_PATH("asset_packs")
#define XTREME_MENU_OLD_PATH CFG_PATH("xtreme_apps.txt")
#define XTREME_MENU_PATH CFG_PATH("xtreme_menu.txt")
#define XTREME_ASSETS_PACK_NAME_LEN 32
@@ -35,7 +35,7 @@ typedef struct {
bool wii_menu;
bool lock_on_boot;
bool bad_pins_format;
- bool pin_unlock_from_app;
+ bool allow_locked_rpc_commands;
bool lockscreen_time;
bool lockscreen_seconds;
bool lockscreen_date;
diff --git a/scripts/asset_packer.py b/scripts/asset_packer.py
index 0be4d4dd7..d7cee4c7a 100755
--- a/scripts/asset_packer.py
+++ b/scripts/asset_packer.py
@@ -149,14 +149,14 @@ def pack(
if __name__ == "__main__":
input(
"This will look through all the subfolders next to this file and try to pack them\n"
- "The resulting asset packs will be saved to 'dolphin_custom' in this folder\n"
+ "The resulting asset packs will be saved to 'asset_packs' in this folder\n"
"Press [Enter] if you wish to continue"
)
print()
here = pathlib.Path(__file__).absolute().parent
start = time.perf_counter()
- pack(here, here / "dolphin_custom", logger=print)
+ pack(here, here / "asset_packs", logger=print)
end = time.perf_counter()
input(f"\nFinished in {round(end - start, 2)}s\n" "Press [Enter] to exit")
diff --git a/scripts/assets.py b/scripts/assets.py
index 841fcca9b..64d4d46ca 100755
--- a/scripts/assets.py
+++ b/scripts/assets.py
@@ -283,8 +283,8 @@ extern const size_t ICON_PATHS_COUNT;
self.logger.info("Packing custom asset packs")
root_dir = pathlib.Path(__file__).absolute().parent.parent
asset_packer.pack(
- root_dir / "assets/dolphin/custom",
- root_dir / f"assets/resources/dolphin_custom",
+ root_dir / "assets/packs",
+ root_dir / f"assets/resources/asset_packs",
self.logger.info,
)