-#define MOUSE_MOVE_TINY 1
+#define MOUSE_MOVE_SHORT 5
typedef struct Hid Hid;
typedef struct HidMouseJiggler HidMouseJiggler;
diff --git a/applications/external/hid_app/views/hid_ptt.c b/applications/external/hid_app/views/hid_ptt.c
index 3d5879f2b72..1d71490a205 100644
--- a/applications/external/hid_app/views/hid_ptt.c
+++ b/applications/external/hid_app/views/hid_ptt.c
@@ -104,11 +104,7 @@ static void hid_ptt_trigger_camera_linux_zoom(HidPushToTalk* hid_ptt) {
hid_hal_keyboard_press(hid_ptt->hid, KEY_MOD_LEFT_ALT | HID_KEYBOARD_V);
hid_hal_keyboard_release(hid_ptt->hid, KEY_MOD_LEFT_ALT | HID_KEYBOARD_V);
}
-static void hid_ptt_trigger_hand_macos_zoom(HidPushToTalk* hid_ptt) {
- hid_hal_keyboard_press(hid_ptt->hid, KEY_MOD_LEFT_GUI | HID_KEYBOARD_Y);
- hid_hal_keyboard_release(hid_ptt->hid, KEY_MOD_LEFT_GUI | HID_KEYBOARD_Y);
-}
-static void hid_ptt_trigger_hand_linux_zoom(HidPushToTalk* hid_ptt) {
+static void hid_ptt_trigger_hand_zoom(HidPushToTalk* hid_ptt) {
hid_hal_keyboard_press(hid_ptt->hid, KEY_MOD_LEFT_ALT | HID_KEYBOARD_Y);
hid_hal_keyboard_release(hid_ptt->hid, KEY_MOD_LEFT_ALT | HID_KEYBOARD_Y);
}
@@ -427,7 +423,7 @@ static void hid_ptt_menu_callback(
case HidPushToTalkAppIndexZoom:
model->callback_trigger_mute = hid_ptt_trigger_mute_macos_zoom;
model->callback_trigger_camera = hid_ptt_trigger_camera_macos_zoom;
- model->callback_trigger_hand = hid_ptt_trigger_hand_macos_zoom;
+ model->callback_trigger_hand = hid_ptt_trigger_hand_zoom;
model->callback_start_ptt = hid_ptt_start_ptt_meet_zoom;
model->callback_stop_ptt = hid_ptt_stop_ptt_meet_zoom;
break;
@@ -495,7 +491,7 @@ static void hid_ptt_menu_callback(
case HidPushToTalkAppIndexZoom:
model->callback_trigger_mute = hid_ptt_trigger_mute_linux_zoom;
model->callback_trigger_camera = hid_ptt_trigger_camera_linux_zoom;
- model->callback_trigger_hand = hid_ptt_trigger_hand_linux_zoom;
+ model->callback_trigger_hand = hid_ptt_trigger_hand_zoom;
model->callback_start_ptt = hid_ptt_start_ptt_meet_zoom;
model->callback_stop_ptt = hid_ptt_stop_ptt_meet_zoom;
break;
diff --git a/applications/external/intervalometer2/.github/workflows/build.yml b/applications/external/intervalometer2/.github/workflows/build.yml
index 05d48a155a9..b28f53fa671 100644
--- a/applications/external/intervalometer2/.github/workflows/build.yml
+++ b/applications/external/intervalometer2/.github/workflows/build.yml
@@ -22,7 +22,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v3
- name: Build with ufbt
- uses: flipperdevices/flipperzero-ufbt-action@v0.1.2
+ uses: flipperdevices/flipperzero-ufbt-action@v0.1
id: build-app
with:
sdk-channel: ${{ matrix.sdk-channel }}
diff --git a/applications/external/intervalometer2/application.fam b/applications/external/intervalometer2/application.fam
index 66023c46eae..5ee18a5ec85 100644
--- a/applications/external/intervalometer2/application.fam
+++ b/applications/external/intervalometer2/application.fam
@@ -1,5 +1,5 @@
App(
- appid="ir_intervalometersony",
+ appid="ir_intervalometer",
name="IR Intervalometer for Sony Cameras",
apptype=FlipperAppType.EXTERNAL,
entry_point="flipvalo_app",
@@ -10,6 +10,6 @@ App(
fap_icon_assets_symbol="intervalometer",
fap_author="Nitepone",
fap_weburl="https://github.com/Nitepone/flipper-intervalometer",
- fap_version=(1, 1),
+ fap_version=(1, 2),
fap_description="This is a simple configurable valometer app for Sony cameras. Works via Infrared port.",
)
diff --git a/applications/external/malveke_gb_cartridge/icons/icon.png b/applications/external/malveke_gb_cartridge/icons/icon.png
index 4a53f328586..e0775f54ab9 100644
Binary files a/applications/external/malveke_gb_cartridge/icons/icon.png and b/applications/external/malveke_gb_cartridge/icons/icon.png differ
diff --git a/applications/external/malveke_gb_live_camera/application.fam b/applications/external/malveke_gb_live_camera/application.fam
index ad62d13e979..0fd257e3411 100644
--- a/applications/external/malveke_gb_live_camera/application.fam
+++ b/applications/external/malveke_gb_live_camera/application.fam
@@ -9,6 +9,6 @@ App(
fap_category="GPIO/MALVEKE",
fap_author="Esteban Fuentealba",
fap_weburl="https://github.com/EstebanFuentealba/MALVEKE-Flipper-Zero/",
- fap_version=(1, 0),
+ fap_version=(1, 1),
fap_description="Insert a GAME BOY Camera cartridge, you can use it as a camera and take snapshots from the Flipper Zero.",
)
diff --git a/applications/external/malveke_gb_live_camera/gb_live_camera.c b/applications/external/malveke_gb_live_camera/gb_live_camera.c
index d367c06deb7..bb84bae0d35 100644
--- a/applications/external/malveke_gb_live_camera/gb_live_camera.c
+++ b/applications/external/malveke_gb_live_camera/gb_live_camera.c
@@ -263,6 +263,9 @@ static UartEchoApp* gb_live_camera_app_alloc() {
view_dispatcher_enable_queue(app->view_dispatcher);
view_dispatcher_attach_to_gui(app->view_dispatcher, app->gui, ViewDispatcherTypeFullscreen);
+ // Turn backlight on
+ notification_message(app->notification, &sequence_display_backlight_enforce_on);
+
// Views
app->view = view_alloc();
view_set_context(app->view, app);
@@ -310,6 +313,7 @@ static void gb_live_camera_app_free(UartEchoApp* app) {
furi_hal_uart_set_irq_cb(FuriHalUartIdLPUART1, NULL, NULL);
furi_hal_uart_deinit(FuriHalUartIdLPUART1);
+ notification_message(app->notification, &sequence_display_backlight_enforce_auto);
// Free views
view_dispatcher_remove_view(app->view_dispatcher, 0);
diff --git a/applications/external/malveke_gb_live_camera/gb_live_camera.h b/applications/external/malveke_gb_live_camera/gb_live_camera.h
index 72fad5056d8..f3819893d84 100644
--- a/applications/external/malveke_gb_live_camera/gb_live_camera.h
+++ b/applications/external/malveke_gb_live_camera/gb_live_camera.h
@@ -44,6 +44,11 @@ static const unsigned char bitmap_header[BITMAP_HEADER_LENGTH] = {
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00};
+static const unsigned char bitmap_header_gameboy_full[BITMAP_HEADER_LENGTH] = {
+ 0x42, 0x4D, 0x80, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x28, 0x00,
+ 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x42, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
const uint8_t _I_DolphinCommon_56x48_0[] = {
0x01, 0x00, 0xdf, 0x00, 0x00, 0x1f, 0xfe, 0x0e, 0x05, 0x3f, 0x04, 0x06, 0x78, 0x06, 0x30, 0x20,
@@ -101,7 +106,7 @@ typedef enum {
#define WORKER_EVENTS_MASK (WorkerEventStop | WorkerEventRx)
const NotificationSequence sequence_notification = {
- &message_display_backlight_on,
+ // &message_display_backlight_on,
&message_delay_10,
NULL,
};
\ No newline at end of file
diff --git a/applications/external/malveke_gb_live_camera/icons/icon.png b/applications/external/malveke_gb_live_camera/icons/icon.png
index 019f5b6b864..61572571201 100644
Binary files a/applications/external/malveke_gb_live_camera/icons/icon.png and b/applications/external/malveke_gb_live_camera/icons/icon.png differ
diff --git a/applications/external/malveke_gba_cartridge/icons/icon.png b/applications/external/malveke_gba_cartridge/icons/icon.png
index 279e1c9a2d3..2c86416e81f 100644
Binary files a/applications/external/malveke_gba_cartridge/icons/icon.png and b/applications/external/malveke_gba_cartridge/icons/icon.png differ
diff --git a/applications/external/malveke_pokemon_trading/.clang-format b/applications/external/malveke_pokemon_trading/.clang-format
deleted file mode 100644
index 4b76f7fa43b..00000000000
--- a/applications/external/malveke_pokemon_trading/.clang-format
+++ /dev/null
@@ -1,191 +0,0 @@
----
-Language: Cpp
-AccessModifierOffset: -4
-AlignAfterOpenBracket: AlwaysBreak
-AlignArrayOfStructures: None
-AlignConsecutiveMacros: None
-AlignConsecutiveAssignments: None
-AlignConsecutiveBitFields: None
-AlignConsecutiveDeclarations: None
-AlignEscapedNewlines: Left
-AlignOperands: Align
-AlignTrailingComments: false
-AllowAllArgumentsOnNextLine: true
-AllowAllParametersOfDeclarationOnNextLine: false
-AllowShortEnumsOnASingleLine: true
-AllowShortBlocksOnASingleLine: Never
-AllowShortCaseLabelsOnASingleLine: false
-AllowShortFunctionsOnASingleLine: None
-AllowShortLambdasOnASingleLine: All
-AllowShortIfStatementsOnASingleLine: WithoutElse
-AllowShortLoopsOnASingleLine: true
-AlwaysBreakAfterDefinitionReturnType: None
-AlwaysBreakAfterReturnType: None
-AlwaysBreakBeforeMultilineStrings: false
-AlwaysBreakTemplateDeclarations: Yes
-AttributeMacros:
- - __capability
-BinPackArguments: false
-BinPackParameters: false
-BraceWrapping:
- AfterCaseLabel: false
- AfterClass: false
- AfterControlStatement: Never
- AfterEnum: false
- AfterFunction: false
- AfterNamespace: false
- AfterObjCDeclaration: false
- AfterStruct: false
- AfterUnion: false
- AfterExternBlock: false
- BeforeCatch: false
- BeforeElse: false
- BeforeLambdaBody: false
- BeforeWhile: false
- IndentBraces: false
- SplitEmptyFunction: true
- SplitEmptyRecord: true
- SplitEmptyNamespace: true
-BreakBeforeBinaryOperators: None
-BreakBeforeConceptDeclarations: true
-BreakBeforeBraces: Attach
-BreakBeforeInheritanceComma: false
-BreakInheritanceList: BeforeColon
-BreakBeforeTernaryOperators: false
-BreakConstructorInitializersBeforeComma: false
-BreakConstructorInitializers: BeforeComma
-BreakAfterJavaFieldAnnotations: false
-BreakStringLiterals: false
-ColumnLimit: 99
-CommentPragmas: '^ IWYU pragma:'
-QualifierAlignment: Leave
-CompactNamespaces: false
-ConstructorInitializerIndentWidth: 4
-ContinuationIndentWidth: 4
-Cpp11BracedListStyle: true
-DeriveLineEnding: true
-DerivePointerAlignment: false
-DisableFormat: false
-EmptyLineAfterAccessModifier: Never
-EmptyLineBeforeAccessModifier: LogicalBlock
-ExperimentalAutoDetectBinPacking: false
-PackConstructorInitializers: BinPack
-BasedOnStyle: ''
-ConstructorInitializerAllOnOneLineOrOnePerLine: false
-AllowAllConstructorInitializersOnNextLine: true
-FixNamespaceComments: false
-ForEachMacros:
- - foreach
- - Q_FOREACH
- - BOOST_FOREACH
-IfMacros:
- - KJ_IF_MAYBE
-IncludeBlocks: Preserve
-IncludeCategories:
- - Regex: '.*'
- Priority: 1
- SortPriority: 0
- CaseSensitive: false
- - Regex: '^(<|"(gtest|gmock|isl|json)/)'
- Priority: 3
- SortPriority: 0
- CaseSensitive: false
- - Regex: '.*'
- Priority: 1
- SortPriority: 0
- CaseSensitive: false
-IncludeIsMainRegex: '(Test)?$'
-IncludeIsMainSourceRegex: ''
-IndentAccessModifiers: false
-IndentCaseLabels: false
-IndentCaseBlocks: false
-IndentGotoLabels: true
-IndentPPDirectives: None
-IndentExternBlock: AfterExternBlock
-IndentRequires: false
-IndentWidth: 4
-IndentWrappedFunctionNames: true
-InsertTrailingCommas: None
-JavaScriptQuotes: Leave
-JavaScriptWrapImports: true
-KeepEmptyLinesAtTheStartOfBlocks: false
-LambdaBodyIndentation: Signature
-MacroBlockBegin: ''
-MacroBlockEnd: ''
-MaxEmptyLinesToKeep: 1
-NamespaceIndentation: None
-ObjCBinPackProtocolList: Auto
-ObjCBlockIndentWidth: 4
-ObjCBreakBeforeNestedBlockParam: true
-ObjCSpaceAfterProperty: true
-ObjCSpaceBeforeProtocolList: true
-PenaltyBreakAssignment: 10
-PenaltyBreakBeforeFirstCallParameter: 30
-PenaltyBreakComment: 10
-PenaltyBreakFirstLessLess: 0
-PenaltyBreakOpenParenthesis: 0
-PenaltyBreakString: 10
-PenaltyBreakTemplateDeclaration: 10
-PenaltyExcessCharacter: 100
-PenaltyReturnTypeOnItsOwnLine: 60
-PenaltyIndentedWhitespace: 0
-PointerAlignment: Left
-PPIndentWidth: -1
-ReferenceAlignment: Pointer
-ReflowComments: false
-RemoveBracesLLVM: false
-SeparateDefinitionBlocks: Leave
-ShortNamespaceLines: 1
-SortIncludes: Never
-SortJavaStaticImport: Before
-SortUsingDeclarations: false
-SpaceAfterCStyleCast: false
-SpaceAfterLogicalNot: false
-SpaceAfterTemplateKeyword: true
-SpaceBeforeAssignmentOperators: true
-SpaceBeforeCaseColon: false
-SpaceBeforeCpp11BracedList: false
-SpaceBeforeCtorInitializerColon: true
-SpaceBeforeInheritanceColon: true
-SpaceBeforeParens: Never
-SpaceBeforeParensOptions:
- AfterControlStatements: false
- AfterForeachMacros: false
- AfterFunctionDefinitionName: false
- AfterFunctionDeclarationName: false
- AfterIfMacros: false
- AfterOverloadedOperator: false
- BeforeNonEmptyParentheses: false
-SpaceAroundPointerQualifiers: Default
-SpaceBeforeRangeBasedForLoopColon: true
-SpaceInEmptyBlock: false
-SpaceInEmptyParentheses: false
-SpacesBeforeTrailingComments: 1
-SpacesInAngles: Never
-SpacesInConditionalStatement: false
-SpacesInContainerLiterals: false
-SpacesInCStyleCastParentheses: false
-SpacesInLineCommentPrefix:
- Minimum: 1
- Maximum: -1
-SpacesInParentheses: false
-SpacesInSquareBrackets: false
-SpaceBeforeSquareBrackets: false
-BitFieldColonSpacing: Both
-Standard: c++03
-StatementAttributeLikeMacros:
- - Q_EMIT
-StatementMacros:
- - Q_UNUSED
- - QT_REQUIRE_VERSION
-TabWidth: 4
-UseCRLF: false
-UseTab: Never
-WhitespaceSensitiveMacros:
- - STRINGIZE
- - PP_STRINGIZE
- - BOOST_PP_STRINGIZE
- - NS_SWIFT_NAME
- - CF_SWIFT_NAME
-...
-
diff --git a/applications/external/malveke_pokemon_trading/.flipcorg/banner.png b/applications/external/malveke_pokemon_trading/.flipcorg/banner.png
deleted file mode 100644
index 7407baced35..00000000000
Binary files a/applications/external/malveke_pokemon_trading/.flipcorg/banner.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/.flipcorg/gallery/1.png b/applications/external/malveke_pokemon_trading/.flipcorg/gallery/1.png
deleted file mode 100644
index f8dc9a79417..00000000000
Binary files a/applications/external/malveke_pokemon_trading/.flipcorg/gallery/1.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/.flipcorg/gallery/2.png b/applications/external/malveke_pokemon_trading/.flipcorg/gallery/2.png
deleted file mode 100644
index 6c535fae6e3..00000000000
Binary files a/applications/external/malveke_pokemon_trading/.flipcorg/gallery/2.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/.flipcorg/gallery/3.png b/applications/external/malveke_pokemon_trading/.flipcorg/gallery/3.png
deleted file mode 100644
index ad15086c0ed..00000000000
Binary files a/applications/external/malveke_pokemon_trading/.flipcorg/gallery/3.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/.flipcorg/gallery/4.png b/applications/external/malveke_pokemon_trading/.flipcorg/gallery/4.png
deleted file mode 100644
index 3d3cc24a1a1..00000000000
Binary files a/applications/external/malveke_pokemon_trading/.flipcorg/gallery/4.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/.flipcorg/gallery/5.png b/applications/external/malveke_pokemon_trading/.flipcorg/gallery/5.png
deleted file mode 100644
index 3922a48ac2c..00000000000
Binary files a/applications/external/malveke_pokemon_trading/.flipcorg/gallery/5.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/.flipcorg/gallery/6.png b/applications/external/malveke_pokemon_trading/.flipcorg/gallery/6.png
deleted file mode 100644
index 6ea07c08021..00000000000
Binary files a/applications/external/malveke_pokemon_trading/.flipcorg/gallery/6.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/.github/FUNDING.yml b/applications/external/malveke_pokemon_trading/.github/FUNDING.yml
deleted file mode 100644
index b71e52ea724..00000000000
--- a/applications/external/malveke_pokemon_trading/.github/FUNDING.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-# These are supported funding model platforms
-
-github: EstebanFuentealba # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
-patreon: #
-open_collective: # Replace with a single Open Collective username
-ko_fi: # Replace with a single Ko-fi username
-tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
-community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
-liberapay: # Replace with a single Liberapay username
-issuehunt: # Replace with a single IssueHunt username
-otechie: # Replace with a single Otechie username
-lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
-custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
diff --git a/applications/external/malveke_pokemon_trading/.github/ISSUE_TEMPLATE/01_bug_report.yml b/applications/external/malveke_pokemon_trading/.github/ISSUE_TEMPLATE/01_bug_report.yml
deleted file mode 100644
index ead344a3c39..00000000000
--- a/applications/external/malveke_pokemon_trading/.github/ISSUE_TEMPLATE/01_bug_report.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-name: Bug report
-description: File a bug reports regarding the app.
-labels: ["bug"]
-body:
- - type: markdown
- attributes:
- value: |
- Thank you for taking the time to fill out an issue, this template is meant for any issues related to application.
- - type: textarea
- id: description
- attributes:
- label: Describe the bug.
- description: "A clear and concise description of what the bug is."
- validations:
- required: true
- - type: textarea
- id: repro
- attributes:
- label: Reproduction
- description: "How can this bug be reproduced?"
- placeholder: |
- 1. Switch on...
- 2. Press button '....'
- 3. Wait for the moon phase
- 4. It burns
- validations:
- required: true
- - type: input
- id: target
- attributes:
- label: Target Framework
- description: Specify the target
- # Target seems to be largely ignored by outside sources.
- - type: textarea
- id: logs
- attributes:
- label: Logs
- description: Attach your debug logs here
- render: Text
- # Avoid rendering as Markdown here.
- - type: textarea
- id: anything-else
- attributes:
- label: Anything else?
- description: Let us know if you have anything else to share.
diff --git a/applications/external/malveke_pokemon_trading/.github/ISSUE_TEMPLATE/02_implemented.yml b/applications/external/malveke_pokemon_trading/.github/ISSUE_TEMPLATE/02_implemented.yml
deleted file mode 100644
index 60514f5739d..00000000000
--- a/applications/external/malveke_pokemon_trading/.github/ISSUE_TEMPLATE/02_implemented.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-name: I implemented it
-description: Share your process.
-labels: ["implemented"]
-body:
-- type: markdown
- attributes:
- value: |
- Thank you for taking the time to fill out. If you have already implemented the application, could you share which Flipper Zero framework you have used? Additionally, could you specify the required type of Game Boy and cartridge? Lastly, it would be great if you could share some images of the process.
-- type: textarea
- id: desc
- attributes:
- label: "Describe the process."
- description: |
- Feel free to describe in as much detail as you wish.
- validations:
- required: true
-- type: input
- id: type
- attributes:
- label: Game boy
- description: (Color, Pocket, Advance)
\ No newline at end of file
diff --git a/applications/external/malveke_pokemon_trading/.github/workflows/flipperZeroAction.yml b/applications/external/malveke_pokemon_trading/.github/workflows/flipperZeroAction.yml
deleted file mode 100644
index 9a521138920..00000000000
--- a/applications/external/malveke_pokemon_trading/.github/workflows/flipperZeroAction.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-name: Flipper Zero CI
-
-on:
- push:
- tags:
- - "v*.*"
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - name: Clone ufbt
- run: |
- git config --global url.https://github.com/.insteadOf git://github.com/
- git clone https://github.com/flipperdevices/flipperzero-ufbt.git ../ufbt
- - name: Ufbt Build App
- run: |
- ../ufbt/ufbt "fap_$(grep -o 'appid="[a-zA-Z0-9]\+"' application.fam | awk -F '"' '{print $2}')"
- - name: Release
- uses: softprops/action-gh-release@v1
- if: startsWith(github.ref, 'refs/tags/')
- with:
- files: |
- ../ufbt/.ufbt/build/**/*.fap
diff --git a/applications/external/malveke_pokemon_trading/.gitignore b/applications/external/malveke_pokemon_trading/.gitignore
deleted file mode 100644
index 94f1119ef02..00000000000
--- a/applications/external/malveke_pokemon_trading/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-.DS_Store
-.vscode
diff --git a/applications/external/malveke_pokemon_trading/README.md b/applications/external/malveke_pokemon_trading/README.md
deleted file mode 100644
index 316a1fe4470..00000000000
--- a/applications/external/malveke_pokemon_trading/README.md
+++ /dev/null
@@ -1,276 +0,0 @@
-# [MALVEKE] Pokemon Trading
-
-
-
-
- MALVEKE Prototype V2.3
-
-
-
-
-**Official** | **Unleashed** | **RogueMaster** | **Xtreme**
-:- | :- | :- | :-
-[![FlipC.org](https://flipc.org/EstebanFuentealba/MALVEKE-Flipper-Zero/badge?branch=main&root=flipper_companion_apps%2Fapplications%2Fexternal%2Fmalveke_pokemon_trading&firmware=official)](https://flipc.org/EstebanFuentealba/MALVEKE-Flipper-Zero?branch=main&root=flipper_companion_apps%2Fapplications%2Fexternal%2Fmalveke_pokemon_trading&firmware=official)|[![FlipC.org](https://flipc.org/EstebanFuentealba/MALVEKE-Flipper-Zero/badge?branch=main&root=flipper_companion_apps%2Fapplications%2Fexternal%2Fmalveke_pokemon_trading&firmware=unleashed)](https://flipc.org/EstebanFuentealba/MALVEKE-Flipper-Zero?branch=main&root=flipper_companion_apps%2Fapplications%2Fexternal%2Fmalveke_pokemon_trading&firmware=unleashed)|[![FlipC.org](https://flipc.org/EstebanFuentealba/MALVEKE-Flipper-Zero/badge?branch=main&root=flipper_companion_apps%2Fapplications%2Fexternal%2Fmalveke_pokemon_trading&firmware=roguemaster)](https://flipc.org/EstebanFuentealba/MALVEKE-Flipper-Zero?branch=main&root=flipper_companion_apps%2Fapplications%2Fexternal%2Fmalveke_pokemon_trading&firmware=roguemaster)|[![FlipC.org](https://flipc.org/EstebanFuentealba/MALVEKE-Flipper-Zero/badge?branch=main&root=flipper_companion_apps%2Fapplications%2Fexternal%2Fmalveke_pokemon_trading&firmware=xtreme)](https://flipc.org/EstebanFuentealba/MALVEKE-Flipper-Zero?branch=main&root=flipper_companion_apps%2Fapplications%2Fexternal%2Fmalveke_pokemon_trading&firmware=xtreme)
-
-
-
-
-
-
-
-## Introduction
-
-This is a Pokemon exchange application from Flipper Zero to Game Boy [(Generaction I)](https://bulbapedia.bulbagarden.net/wiki/Generation_I). Flipper Zero emulates a "Slave" Game Boy connected to a Game Link Cable to be able to exchange any Pokemon from the First Generation (Red, Blue, Yellow) to a real Game Boy.
-
-It currently trades a Pokemon based on your choice of Pokemon, Level, Stats and 4 Moves.
-
-## MALVEKE for Flipper Zero with Cable Link.
-
-Connect your ***GAME BOY*** through the link cable to the `EXT1` port on the **MALVEKE** board.
-
-
-
-
-
-
-
-
-## Instructions for use.
-
-These instructions assume that you are starting at the Flipper Zero desktop. Otherwise, press the Back button until you are at the desktop.
-
-- Press the `OK` button on the Flipper to open the main menu.
-- Choose `Applications` from the menu.
-- Choose `GPIO` from the submenu.
-- Choose `Pokemon Trading`
-- The Flipper Zero will show the main menu of the application. The first option is to select the Pokemon to trade.
-
-
-
-
-
-
-
-- Press the `LEFT`/`RIGHT` buttons to paginate the selection of Pokemon by 1.
-- Press the `UP`/`DOWN` buttons to paginate the selection of Pokemon by 10.
-- Press the `OK` button to select the Pokemon to trade and return to the main menu
-
-
-
-
-
-
-- The traded Pokemon's nickname can be set. When a Pokemon is selected, the nickname defaults to the species name in all caps. This mimics a Pokemon without a customized nickname. In order to reset this nickname to its default, clear the text entry field, press `OK` on the `Save` button. This will fill the text box with the default name. Press `Save` again to set this name.
- - **Note:** The Nidoran♀ and Nidoran♂ names will not properly render. This is because the Flipper currently cannot print unicode characters to screen. Following the above instructions will fill the text entry field with `NIDORAN ` with a space after it. This space is the unrenderable ♀/♂ symbol. Once traded, it will be correctly named.
- - **Note:** Only alphanumeric characters are supported in the Pokemon's nickname at this time.
-
-
-
-
-
-
-
-- The Pokemon's level can be adjusted as well by hitting `OK` on the level option. The minimum level is `2` and the maximum is `100`. The level is input via a text box. (Levels below 2 cause an underflow glitch in Gen I games that would cause the level to jump to 100, so if you want this just set the Pokemon's level to 100)
-
-
-
-
-
-
-
-- The `Select Moves` menu is used to pick the set the traded Pokemon's moves. They are pre-populated with the moveset that the Pokemon would know at level 1. Selecting a move slot will bring up an alphabetical index of moves. Additionally, `No Move` and `Default` can be quickly selected. Note that any move after the first `No Move` is ignored.
-
-
-
-
-
-
-
-
-
-
-
-
-
-- The `Select Types` menu can change the traded Pokemon's types. The type(s) are pre-set to what the selected Pokemon normally is.
- - Pokemon with a single type will have the same type set for both types.
- - **Note:** Unlike other menus, changing either type immediately saves it. Pressing `Back` will keep any changes. This will be addressed in a later version. If you need to revert to the default types, a different Pokemon can be selected and the desired Pokemon re-selected.
- - **Note:** When changing the type(s), the Pokemon's in-game stats will _NOT_ reflect the chosen type(s). Additionally, these may be overwritten back to default in-game if the Pokemon uses a move that affects types (e.g. `Transform`) or the Pokemon evolves.
-
-
-
-
-
-
-
-- The Pokemon's stats can also be influenced. The current settings are:
- - `Random IV, Zero EV` Mimics stats of a caught wild Pokemon.
- - `Random IV, Max EV / Level` IV is randomized, but EV is set to the maximum a trained Pokemon could be for its current level.
- - `Randon IV, Max EV` IV is randomized, EV is set to the absolute max for a perfectly trained Pokemon.
- - `Max IV, Zero EV` Mimics stats of a caught wild Pokemon, but with the maximum IV possible.
- - `Max IV, Max EV / Level` IV is max, EV is set to the maximum a trained Pokemon could be for its current level.
- - `Max IV, Max EV` Absolutely perfect and overly powerful Pokemon.
-
-
-
-
-
-
-
-- The `OT ID#` and `OT Name` of the Pokemon can also be set. The `OT ID#` must be between `0` and `65535`. Setting the `OT ID#` and `OT Name` to the same as your current trainer's causes the game to believe it was a wild caught Pokemon and not one that was traded. This means high level Pokemon will still obey you without badges, but, will not get the experience boost of a traded Pokemon.
-
-
-
-
-
-
-
-
-
-
-
-- Finally, select `Trade PKMN` to start the trade process.
-
-
-
-
-
-
-
-
-
-
-
-- On your Game Boy, you should connect the **Game Link Cable** to the Game Boy and in the game, go to the nearest **Pokemon Center**.
-
-
-
-
-
-
-- Talk to the girl at the counter on the right. The girl will tell us that we have to save the game before playing, we will answer **YES** by pressing the **A** button.
-
-
-
-
-
-
-- The Flipper Zero will show that we are connected.
-
-
-
-
-
-
-- On the Game Boy, we will be asked which option we want, and we select **TRADE CENTER**.
-
-
-
-
-
-
-- You will enter the Trade Center where you must press the A button on the Game Boy on your side of the table.
-
-
-
-
-
-
-- Flipper Zero will remain on a waiting screen with the Pokemon you selected.
-
-
-
-
-
-
-- You will see your Pokemon and the Pokemon you selected on the Flipper Zero, in this case, `Mew`. You must select the Pokemon you want to trade and press **TRADE**.
-
-
-
-
-
-
-- You must confirm the selected trade by selecting **TRADE**.
-
-
-
-
-
-
-- Flipper Zero will remain on a waiting screen with the Pokemon you selected.
-
-
-
-
-
-
-- Finally, the Pokemon exchange will start from **Flipper Zero** to the **Game Boy**.
-
-
-
-
-
-
-- Once the trade is complete, both the **Game Boy** and the **Flipper Zero** will return to the `WAITING` state. If the **Game Boy** selects `CANCEL`, the **Flipper Zero** will return to the `READY` state. The BACK button can be pressed to return to the main menu. The traded Pokemon can be modified, or completely changed, if desired. Once the **Flipper Zero** Re-enters the Trade screen, and the **Game Boy** re-selects the trade table in-game, another trade can be completed. This allows for trading multiple Pokemon without having to reset the **Game Boy** each time.
-
- If the Flipper Zero gets stuck at the end of the exchange, you must reboot it by pressing the LEFT + BACK key combination.
-
-
-
-
-
-
-## How does it work?
-
-The method used to communicate 2 Game Boys is based on the SPI protocol, which is a very simple serial communication protocol in which a master device communicates with one or more slave devices. The protocol is bidirectional and synchronous, and uses three basic signals:
-
-- A clock signal (CLK).
-- An output signal (Serial Out or SO).
-- An input signal (Serial In or SI).
-
-In the Game Boy, games store data in an internal shift register that is used to send and receive information. The SPI protocol used by the Game Boy uses the clock signal to indicate when data is being transferred.
-
-The Game Boy link protocol is synchronous and requires the slave device to respond at the same rate as the master device. The master device supplies an 8KHz clock (data transfer rate of 1KB/s). The time window for responding is only **~120μs**. However, the slave device has no restrictions and can respond when it receives data. The clock can vary and there is no lower limit.
-
-
-
-
-
-
-_An example GB SPI transfer. Here, the master sends 0xD9 (217) and the slave sends 0x45 (69)._
-
-
-
-You can learn more about it in the following video. [**Analyzing the Different Versions of the Link Cable**](https://youtu.be/h1KKkCfzOws?t=151).
-
-
-## GUI
-
-To generate the graphical interface, the [**FUI-Editor**](https://ilin.pt/stuff/fui-editor/) tool was used. Additionally, the original sprites from the game Pokemon Yellow, which are found in the [**Disassembly of Pokemon Yellow**](https://github.com/pret/pokeyellow/tree/master/gfx/pokemon/front) repository, were used.
-
-For each image, the color `#aaa` was transformed to `#fff` so that Flipper Zero would render it correctly. To do this, a batch process was used in [Photopea](https://www.photopea.com/), the online image editor.
-
-## Tested In
-- Game Boy Color (GBC)
-- Game Boy Advance (GBA)
-
-## Contributors
-[![Contributors](https://contrib.rocks/image?repo=EstebanFuentealba/Flipper-Zero-Game-Boy-Pokemon-Trading)](https://github.com/EstebanFuentealba/Flipper-Zero-Game-Boy-Pokemon-Trading/graphs/contributors)
-
-
-## Links
-
-- [Flipper Zero firmware source code](https://github.com/flipperdevices/flipperzero-firmware)
-- Adan Scotney's Pokemon [trade protocol specification](http://www.adanscotney.com/2014/01/spoofing-pokemon-trades-with-stellaris.html) and implementation
-- Derek Jamison - [Youtube Channel](https://www.youtube.com/@MrDerekJamison)
-- Matt Penny - [GBPlay Blog](https://blog.gbplay.io/)
-- [Pokémon data structure (Generation I)]()
-- [Disassembly of Pokemon Yellow](https://github.com/pret/pokeyellow)
-- [Arduino-Spoofing-Gameboy-Pokemon-Trades](https://github.com/EstebanFuentealba/Arduino-Spoofing-Gameboy-Pokemon-Trades)
-- [🎮 Gameboy link cable breakout PCB](https://github.com/Palmr/gb-link-cable)
-
-
-
-
-From Talcahuano 🇨🇱 with â¤
-
diff --git a/applications/external/malveke_pokemon_trading/README_catalog.md b/applications/external/malveke_pokemon_trading/README_catalog.md
deleted file mode 100644
index cd332974a5f..00000000000
--- a/applications/external/malveke_pokemon_trading/README_catalog.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# [MALVEKE] Pokemon Trading
-
-## Introduction
-
-This is a Pokemon exchange application from Flipper Zero to Game Boy (Generación I). Flipper Zero emulates a "Slave" Game Boy connected to a Game Link Cable to be able to exchange any Pokemon from the First Generation (Red, Blue, Yellow) to a real Game Boy.
-
-It is a Proof of Concept (POC) for using views, GPIO, and FURI (Flipper Universal Registry Implementation).
-
-
-## MALVEKE for Flipper Zero with Cable Link.
-
-Connect your ***GAME BOY*** through the link cable to the **EXT1** port on the **MALVEKE** board.
-
-## How does it work?
-
-The method used to communicate 2 Game Boys is based on the SPI protocol, which is a very simple serial communication protocol in which a master device communicates with one or more slave devices. The protocol is bidirectional and synchronous, and uses three basic signals:
-
-- A clock signal (CLK).
-- An output signal (Serial Out or SO).
-- An input signal (Serial In or SI).
-
-In the Game Boy, games store data in an internal shift register that is used to send and receive information. The SPI protocol used by the Game Boy uses the clock signal to indicate when data is being transferred.
-
-The Game Boy link protocol is synchronous and requires the slave device to respond at the same rate as the master device. The master device supplies an 8KHz clock (data transfer rate of 1KB/s). The time window for responding is only **~120μs**. However, the slave device has no restrictions and can respond when it receives data. The clock can vary and there is no lower limit.
-
-
-## Tested In
-- Game Boy Color (GBC)
-- Game Boy Advance (GBA)
-
-
diff --git a/applications/external/malveke_pokemon_trading/TODO.md b/applications/external/malveke_pokemon_trading/TODO.md
deleted file mode 100644
index f98b1a78d3d..00000000000
--- a/applications/external/malveke_pokemon_trading/TODO.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# Flipper Zero Game Boy Pokemon Trading
-`
-- Configure Gen 1 traded pokemon
- - Pokemon Nickname
- - [x] Change the default traded Pokemon's naming to be no nickname
- - [x] Add a view to allow for a custom Pokemon nickname (11 chars, 10 chars max used, fill and terminate with TERM_)
- - [ ] Figure out how to implement Nidoran male/female symbol
- - Previous commits used unicode escape codes which I had issues compiling for some reason, but the actual unicode chars were fine
- - Could make a special case for just those two
- - Stats
- - [x] Add view to allow the traded Pokemon's level to be chosen between 2 and 100
- - [x] Add view to allow the traded Pokemon's hidden stats to be chosen (IV and EV) from some options
- - [ ] Are there any better ways to present these options?
- - [x] Debug traded Pokemon level issue where after a battle the Pokemon's level drops (doesn't affect all traded Pokemon)
- - [x] Optimise the level selection screen to be a number slider input instead of the current slideshow style selector (Implemented as text input that only accepts numbers)
- - Moves
- - [x] Add view to allow the traded Pokemon's moveset to be chosen (all 4 moves) allowing no move as an option
- - [ ] Find a way to get faster scrolling through the move select submenu
- - [ ] Implement a way to denote that any moves after the first No Move are also No Move?
- - Hide all moves beyond the first No Moves?
- - Promote moves? e.g. if move 1 is set, 2 unset, if user sets move 3 then promote it to move 2
- - Automatically clear moves beyond the first no move? surprising but that is what the game does
- - Types
- - [x] Support setting pokemon type(s)
- - [ ] Implement a save/revert to default workflow on the select types scene
- - Trade
- - [x] Investigate Trade screens not always blinking
- - UI
- - [ ] Find a way to line up submenu items so the main menu looks cleaner
- - They currently _mostly_ line up thanks to some manual spacing, but tabs don't appear to be supported to force that alignment
- - Alternatively may need to implement our own view to make this pretty
-- Documentation
- - [x] Add images for the level selection screen, stats selection screen, and move selection screens as per the original README
-- Codebase
- - [x] Reimplement Logging calls
- - [ ] Clean up the codebase as it is now, there are a lot of optimizations in speed and code complexity that can be made, especially in added code in pokemon_app and maybe some code reduction/reuse in scenes
- - [ ] Consider using a single View in main app struct and only allocate a view as needed to reduce memory footprint
-
-- Future Wants
- - [ ] Trading to Gen II games with both Gen I and Gen II Pokemon
- - [ ] Enable IR mystery gift usage in Gen II using Flipper
- - [ ] Be able to set up multiple Pokemon to be able to trade more than one per trip to trade center
- - [x] Be able to trade back and forth for e.g. trading a Pokemon that evolves only when traded
- - [x] Would Separating out link cable states result in a cleaner API?
- - [ ] Implement some simple logic to be able to "battle" the Flipper?
- - [ ] There was a suggestion to be able to trade in a Pokemon to harvest OT name and ID on the flipper and set it to that.
- - [ ] Ability to save Pokemon to SD card. Either created on, or traded to, the Flipper app.
diff --git a/applications/external/malveke_pokemon_trading/application.fam b/applications/external/malveke_pokemon_trading/application.fam
deleted file mode 100644
index 9455b51aa2a..00000000000
--- a/applications/external/malveke_pokemon_trading/application.fam
+++ /dev/null
@@ -1,14 +0,0 @@
-App(
- appid="malveke_pokemon_trading",
- name="Pokemon Trading",
- apptype=FlipperAppType.EXTERNAL,
- entry_point="pokemon_app",
- stack_size=2 * 1024,
- fap_category="GPIO/MALVEKE",
- fap_icon="pokemon_10px.png",
- fap_icon_assets="assets",
- fap_author="Esteban Fuentealba",
- fap_weburl="https://github.com/EstebanFuentealba",
- fap_version=(1, 4),
- fap_description="This is a Pokemon exchange application from Flipper Zero to Game Boy (Generaction I). Flipper Zero emulates a 'Slave' Game Boy connected to a Game Link Cable to be able to exchange any Pokemon from the First Generation (Red, Blue, Yellow) to a real Game Boy.",
-)
diff --git a/applications/external/malveke_pokemon_trading/assets/Background.png b/applications/external/malveke_pokemon_trading/assets/Background.png
deleted file mode 100644
index 3cb1eb3b0b7..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/Background.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/Background_128x11.png b/applications/external/malveke_pokemon_trading/assets/Background_128x11.png
deleted file mode 100644
index 78ef029ae73..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/Background_128x11.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/Connect_me_62x31.png b/applications/external/malveke_pokemon_trading/assets/Connect_me_62x31.png
deleted file mode 100644
index 68c48c0e681..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/Connect_me_62x31.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/Connected_62x31.png b/applications/external/malveke_pokemon_trading/assets/Connected_62x31.png
deleted file mode 100644
index eeaf660b12e..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/Connected_62x31.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/Space_100x18.png b/applications/external/malveke_pokemon_trading/assets/Space_100x18.png
deleted file mode 100644
index 09feb8d345b..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/Space_100x18.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/Space_65x18.png b/applications/external/malveke_pokemon_trading/assets/Space_65x18.png
deleted file mode 100644
index c38c0c7f845..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/Space_65x18.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/Space_80x18.png b/applications/external/malveke_pokemon_trading/assets/Space_80x18.png
deleted file mode 100644
index 3dc04697f98..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/Space_80x18.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/Space_95x18.png b/applications/external/malveke_pokemon_trading/assets/Space_95x18.png
deleted file mode 100644
index bd3ba44d218..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/Space_95x18.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/abra.png b/applications/external/malveke_pokemon_trading/assets/abra.png
deleted file mode 100644
index b25b423dc3e..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/abra.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/aerodactyl.png b/applications/external/malveke_pokemon_trading/assets/aerodactyl.png
deleted file mode 100644
index 2c7c25df09a..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/aerodactyl.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/alakazam.png b/applications/external/malveke_pokemon_trading/assets/alakazam.png
deleted file mode 100644
index 1420491d3c7..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/alakazam.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/arbok.png b/applications/external/malveke_pokemon_trading/assets/arbok.png
deleted file mode 100644
index 146af780397..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/arbok.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/arcanine.png b/applications/external/malveke_pokemon_trading/assets/arcanine.png
deleted file mode 100644
index b99c9189f92..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/arcanine.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/articuno.png b/applications/external/malveke_pokemon_trading/assets/articuno.png
deleted file mode 100644
index fdb319097d7..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/articuno.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/beedrill.png b/applications/external/malveke_pokemon_trading/assets/beedrill.png
deleted file mode 100644
index af467aab35d..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/beedrill.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/bellsprout.png b/applications/external/malveke_pokemon_trading/assets/bellsprout.png
deleted file mode 100644
index c1c550d7c77..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/bellsprout.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/blastoise.png b/applications/external/malveke_pokemon_trading/assets/blastoise.png
deleted file mode 100644
index 24ab98bc190..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/blastoise.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/bulbasaur.png b/applications/external/malveke_pokemon_trading/assets/bulbasaur.png
deleted file mode 100644
index 8916cd48452..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/bulbasaur.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/butterfree.png b/applications/external/malveke_pokemon_trading/assets/butterfree.png
deleted file mode 100644
index 405e1f1a4da..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/butterfree.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/caterpie.png b/applications/external/malveke_pokemon_trading/assets/caterpie.png
deleted file mode 100644
index 3f531ea3bb5..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/caterpie.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/chansey.png b/applications/external/malveke_pokemon_trading/assets/chansey.png
deleted file mode 100644
index 390d475bda7..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/chansey.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/charizard.png b/applications/external/malveke_pokemon_trading/assets/charizard.png
deleted file mode 100644
index 5a16559330c..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/charizard.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/charmander.png b/applications/external/malveke_pokemon_trading/assets/charmander.png
deleted file mode 100644
index d6f03fbbd2f..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/charmander.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/charmeleon.png b/applications/external/malveke_pokemon_trading/assets/charmeleon.png
deleted file mode 100644
index 6d59fe99c84..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/charmeleon.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/clefable.png b/applications/external/malveke_pokemon_trading/assets/clefable.png
deleted file mode 100644
index fddbc7e1a0b..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/clefable.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/clefairy.png b/applications/external/malveke_pokemon_trading/assets/clefairy.png
deleted file mode 100644
index 92b56c37cf4..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/clefairy.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/cloyster.png b/applications/external/malveke_pokemon_trading/assets/cloyster.png
deleted file mode 100644
index 949e419e0d8..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/cloyster.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/cubone.png b/applications/external/malveke_pokemon_trading/assets/cubone.png
deleted file mode 100644
index 49ff652c737..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/cubone.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/dewgong.png b/applications/external/malveke_pokemon_trading/assets/dewgong.png
deleted file mode 100644
index 1089099c004..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/dewgong.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/diglett.png b/applications/external/malveke_pokemon_trading/assets/diglett.png
deleted file mode 100644
index e12c92ac712..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/diglett.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/ditto.png b/applications/external/malveke_pokemon_trading/assets/ditto.png
deleted file mode 100644
index fb377a536d9..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/ditto.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/dodrio.png b/applications/external/malveke_pokemon_trading/assets/dodrio.png
deleted file mode 100644
index 6f5cc3c1c37..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/dodrio.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/doduo.png b/applications/external/malveke_pokemon_trading/assets/doduo.png
deleted file mode 100644
index 9ff1d840e0b..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/doduo.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/dragonair.png b/applications/external/malveke_pokemon_trading/assets/dragonair.png
deleted file mode 100644
index 92e610c2750..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/dragonair.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/dragonite.png b/applications/external/malveke_pokemon_trading/assets/dragonite.png
deleted file mode 100644
index a0c7dc0dccc..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/dragonite.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/dratini.png b/applications/external/malveke_pokemon_trading/assets/dratini.png
deleted file mode 100644
index b3e78961898..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/dratini.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/drowzee.png b/applications/external/malveke_pokemon_trading/assets/drowzee.png
deleted file mode 100644
index 898be979e65..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/drowzee.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/dugtrio.png b/applications/external/malveke_pokemon_trading/assets/dugtrio.png
deleted file mode 100644
index 5ed1e0fd377..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/dugtrio.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/eevee.png b/applications/external/malveke_pokemon_trading/assets/eevee.png
deleted file mode 100644
index 393246272e0..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/eevee.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/ekans.png b/applications/external/malveke_pokemon_trading/assets/ekans.png
deleted file mode 100644
index 529d5b4a310..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/ekans.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/electabuzz.png b/applications/external/malveke_pokemon_trading/assets/electabuzz.png
deleted file mode 100644
index 6827c9093e6..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/electabuzz.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/electrode.png b/applications/external/malveke_pokemon_trading/assets/electrode.png
deleted file mode 100644
index 757446c1864..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/electrode.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/exeggcute.png b/applications/external/malveke_pokemon_trading/assets/exeggcute.png
deleted file mode 100644
index b58d83f26e0..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/exeggcute.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/exeggutor.png b/applications/external/malveke_pokemon_trading/assets/exeggutor.png
deleted file mode 100644
index ea8360877b3..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/exeggutor.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/farfetchd.png b/applications/external/malveke_pokemon_trading/assets/farfetchd.png
deleted file mode 100644
index cc01fae59e7..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/farfetchd.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/fearow.png b/applications/external/malveke_pokemon_trading/assets/fearow.png
deleted file mode 100644
index 3d514764743..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/fearow.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/flareon.png b/applications/external/malveke_pokemon_trading/assets/flareon.png
deleted file mode 100644
index b103b454882..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/flareon.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/fossilaerodactyl.png b/applications/external/malveke_pokemon_trading/assets/fossilaerodactyl.png
deleted file mode 100644
index b2c7d5e3201..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/fossilaerodactyl.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/fossilkabutops.png b/applications/external/malveke_pokemon_trading/assets/fossilkabutops.png
deleted file mode 100644
index f2eb21ef8f4..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/fossilkabutops.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/game_boy.png b/applications/external/malveke_pokemon_trading/assets/game_boy.png
deleted file mode 100644
index 62144956a4a..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/game_boy.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/gastly.png b/applications/external/malveke_pokemon_trading/assets/gastly.png
deleted file mode 100644
index 24e880930f9..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/gastly.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/gb_step_1.png b/applications/external/malveke_pokemon_trading/assets/gb_step_1.png
deleted file mode 100644
index 71b181bed98..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/gb_step_1.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/gb_step_2.png b/applications/external/malveke_pokemon_trading/assets/gb_step_2.png
deleted file mode 100644
index 29586e18e50..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/gb_step_2.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/gengar.png b/applications/external/malveke_pokemon_trading/assets/gengar.png
deleted file mode 100644
index 41c58af829b..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/gengar.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/geodude.png b/applications/external/malveke_pokemon_trading/assets/geodude.png
deleted file mode 100644
index 087a19bdd75..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/geodude.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/gloom.png b/applications/external/malveke_pokemon_trading/assets/gloom.png
deleted file mode 100644
index 7a589421ddc..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/gloom.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/golbat.png b/applications/external/malveke_pokemon_trading/assets/golbat.png
deleted file mode 100644
index 8036d3b28f6..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/golbat.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/goldeen.png b/applications/external/malveke_pokemon_trading/assets/goldeen.png
deleted file mode 100644
index 95a9186b752..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/goldeen.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/golduck.png b/applications/external/malveke_pokemon_trading/assets/golduck.png
deleted file mode 100644
index 829c3ac4526..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/golduck.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/golem.png b/applications/external/malveke_pokemon_trading/assets/golem.png
deleted file mode 100644
index 4f73c05e9b7..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/golem.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/graveler.png b/applications/external/malveke_pokemon_trading/assets/graveler.png
deleted file mode 100644
index 920d90f1634..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/graveler.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/grimer.png b/applications/external/malveke_pokemon_trading/assets/grimer.png
deleted file mode 100644
index d715f1b7092..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/grimer.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/growlithe.png b/applications/external/malveke_pokemon_trading/assets/growlithe.png
deleted file mode 100644
index 75f61edd48e..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/growlithe.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/gyarados.png b/applications/external/malveke_pokemon_trading/assets/gyarados.png
deleted file mode 100644
index d2cc65265aa..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/gyarados.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/haunter.png b/applications/external/malveke_pokemon_trading/assets/haunter.png
deleted file mode 100644
index 516f09e5f4f..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/haunter.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/hitmonchan.png b/applications/external/malveke_pokemon_trading/assets/hitmonchan.png
deleted file mode 100644
index 8f9f427bc07..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/hitmonchan.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/hitmonlee.png b/applications/external/malveke_pokemon_trading/assets/hitmonlee.png
deleted file mode 100644
index 1d129796182..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/hitmonlee.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/horsea.png b/applications/external/malveke_pokemon_trading/assets/horsea.png
deleted file mode 100644
index 82dd5adbe39..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/horsea.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/hypno.png b/applications/external/malveke_pokemon_trading/assets/hypno.png
deleted file mode 100644
index af36499d051..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/hypno.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/ivysaur.png b/applications/external/malveke_pokemon_trading/assets/ivysaur.png
deleted file mode 100644
index 141c0211cd2..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/ivysaur.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/jigglypuff.png b/applications/external/malveke_pokemon_trading/assets/jigglypuff.png
deleted file mode 100644
index 1c0fb506833..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/jigglypuff.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/jolteon.png b/applications/external/malveke_pokemon_trading/assets/jolteon.png
deleted file mode 100644
index 24f981caf1d..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/jolteon.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/jynx.png b/applications/external/malveke_pokemon_trading/assets/jynx.png
deleted file mode 100644
index 236f21bceb6..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/jynx.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/kabuto.png b/applications/external/malveke_pokemon_trading/assets/kabuto.png
deleted file mode 100644
index 07d16aa01b4..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/kabuto.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/kabutops.png b/applications/external/malveke_pokemon_trading/assets/kabutops.png
deleted file mode 100644
index c8c7c09b4a6..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/kabutops.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/kadabra.png b/applications/external/malveke_pokemon_trading/assets/kadabra.png
deleted file mode 100644
index a6a817e8626..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/kadabra.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/kakuna.png b/applications/external/malveke_pokemon_trading/assets/kakuna.png
deleted file mode 100644
index 63e34da3740..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/kakuna.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/kangaskhan.png b/applications/external/malveke_pokemon_trading/assets/kangaskhan.png
deleted file mode 100644
index 6757a5c69f3..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/kangaskhan.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/kingler.png b/applications/external/malveke_pokemon_trading/assets/kingler.png
deleted file mode 100644
index 66af12fcba8..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/kingler.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/koffing.png b/applications/external/malveke_pokemon_trading/assets/koffing.png
deleted file mode 100644
index bfefab2f8fe..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/koffing.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/krabby.png b/applications/external/malveke_pokemon_trading/assets/krabby.png
deleted file mode 100644
index 1bdb9a4c1f9..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/krabby.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/lapras.png b/applications/external/malveke_pokemon_trading/assets/lapras.png
deleted file mode 100644
index 3023253da42..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/lapras.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/lickitung.png b/applications/external/malveke_pokemon_trading/assets/lickitung.png
deleted file mode 100644
index 3bf3ead82ca..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/lickitung.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/machamp.png b/applications/external/malveke_pokemon_trading/assets/machamp.png
deleted file mode 100644
index cf6e7170758..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/machamp.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/machoke.png b/applications/external/malveke_pokemon_trading/assets/machoke.png
deleted file mode 100644
index da4f0e0a8c2..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/machoke.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/machop.png b/applications/external/malveke_pokemon_trading/assets/machop.png
deleted file mode 100644
index 52c46840aab..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/machop.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/magikarp.png b/applications/external/malveke_pokemon_trading/assets/magikarp.png
deleted file mode 100644
index 46fcf0921fa..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/magikarp.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/magmar.png b/applications/external/malveke_pokemon_trading/assets/magmar.png
deleted file mode 100644
index 69352078ba1..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/magmar.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/magnemite.png b/applications/external/malveke_pokemon_trading/assets/magnemite.png
deleted file mode 100644
index f4a03a61b03..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/magnemite.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/magneton.png b/applications/external/malveke_pokemon_trading/assets/magneton.png
deleted file mode 100644
index b460ad749bc..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/magneton.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/mankey.png b/applications/external/malveke_pokemon_trading/assets/mankey.png
deleted file mode 100644
index 5d2240e8f0f..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/mankey.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/marowak.png b/applications/external/malveke_pokemon_trading/assets/marowak.png
deleted file mode 100644
index 7950f721c53..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/marowak.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/meowth.png b/applications/external/malveke_pokemon_trading/assets/meowth.png
deleted file mode 100644
index 0a2a94e3b40..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/meowth.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/metapod.png b/applications/external/malveke_pokemon_trading/assets/metapod.png
deleted file mode 100644
index dcf3b6ecbbb..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/metapod.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/mew.png b/applications/external/malveke_pokemon_trading/assets/mew.png
deleted file mode 100644
index b78fb63b3a9..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/mew.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/mewtwo.png b/applications/external/malveke_pokemon_trading/assets/mewtwo.png
deleted file mode 100644
index 4d0c670d210..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/mewtwo.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/moltres.png b/applications/external/malveke_pokemon_trading/assets/moltres.png
deleted file mode 100644
index c260503e548..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/moltres.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/mr.mime.png b/applications/external/malveke_pokemon_trading/assets/mr.mime.png
deleted file mode 100644
index 8210d106ce8..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/mr.mime.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/muk.png b/applications/external/malveke_pokemon_trading/assets/muk.png
deleted file mode 100644
index ae1a15c69c4..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/muk.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/nidoking.png b/applications/external/malveke_pokemon_trading/assets/nidoking.png
deleted file mode 100644
index 447fabc5e53..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/nidoking.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/nidoqueen.png b/applications/external/malveke_pokemon_trading/assets/nidoqueen.png
deleted file mode 100644
index fb1773e7100..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/nidoqueen.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/nidoranf.png b/applications/external/malveke_pokemon_trading/assets/nidoranf.png
deleted file mode 100644
index 63aef252795..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/nidoranf.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/nidoranm.png b/applications/external/malveke_pokemon_trading/assets/nidoranm.png
deleted file mode 100644
index 10eb35206e1..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/nidoranm.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/nidorina.png b/applications/external/malveke_pokemon_trading/assets/nidorina.png
deleted file mode 100644
index 300f572a52a..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/nidorina.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/nidorino.png b/applications/external/malveke_pokemon_trading/assets/nidorino.png
deleted file mode 100644
index d177f65a46a..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/nidorino.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/ninetales.png b/applications/external/malveke_pokemon_trading/assets/ninetales.png
deleted file mode 100644
index 5a06cb812a8..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/ninetales.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/oddish.png b/applications/external/malveke_pokemon_trading/assets/oddish.png
deleted file mode 100644
index 1277f57201c..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/oddish.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/omanyte.png b/applications/external/malveke_pokemon_trading/assets/omanyte.png
deleted file mode 100644
index 516fef8f093..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/omanyte.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/omastar.png b/applications/external/malveke_pokemon_trading/assets/omastar.png
deleted file mode 100644
index 82936671e35..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/omastar.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/onix.png b/applications/external/malveke_pokemon_trading/assets/onix.png
deleted file mode 100644
index fae97b087b1..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/onix.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/paras.png b/applications/external/malveke_pokemon_trading/assets/paras.png
deleted file mode 100644
index c0f6bc1f3f1..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/paras.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/parasect.png b/applications/external/malveke_pokemon_trading/assets/parasect.png
deleted file mode 100644
index 0f721c18a23..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/parasect.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/persian.png b/applications/external/malveke_pokemon_trading/assets/persian.png
deleted file mode 100644
index ee15c4b02f6..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/persian.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/pidgeot.png b/applications/external/malveke_pokemon_trading/assets/pidgeot.png
deleted file mode 100644
index 53bfca82f36..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/pidgeot.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/pidgeotto.png b/applications/external/malveke_pokemon_trading/assets/pidgeotto.png
deleted file mode 100644
index 776933ff8e1..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/pidgeotto.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/pidgey.png b/applications/external/malveke_pokemon_trading/assets/pidgey.png
deleted file mode 100644
index 4273ef65db4..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/pidgey.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/pikachu.png b/applications/external/malveke_pokemon_trading/assets/pikachu.png
deleted file mode 100644
index 77c9cff9bee..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/pikachu.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/pinsir.png b/applications/external/malveke_pokemon_trading/assets/pinsir.png
deleted file mode 100644
index dc7848f3cdb..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/pinsir.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/poliwag.png b/applications/external/malveke_pokemon_trading/assets/poliwag.png
deleted file mode 100644
index 81910be38e9..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/poliwag.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/poliwhirl.png b/applications/external/malveke_pokemon_trading/assets/poliwhirl.png
deleted file mode 100644
index 11cffa8d56b..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/poliwhirl.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/poliwrath.png b/applications/external/malveke_pokemon_trading/assets/poliwrath.png
deleted file mode 100644
index 068b2b74c82..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/poliwrath.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/ponyta.png b/applications/external/malveke_pokemon_trading/assets/ponyta.png
deleted file mode 100644
index 2e3d338b96c..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/ponyta.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/porygon.png b/applications/external/malveke_pokemon_trading/assets/porygon.png
deleted file mode 100644
index 07d3ff0e0bd..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/porygon.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/primeape.png b/applications/external/malveke_pokemon_trading/assets/primeape.png
deleted file mode 100644
index b2956602d2b..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/primeape.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/psyduck.png b/applications/external/malveke_pokemon_trading/assets/psyduck.png
deleted file mode 100644
index ba4f86ad486..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/psyduck.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/raichu.png b/applications/external/malveke_pokemon_trading/assets/raichu.png
deleted file mode 100644
index f76be753236..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/raichu.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/rapidash.png b/applications/external/malveke_pokemon_trading/assets/rapidash.png
deleted file mode 100644
index 272a684fb5b..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/rapidash.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/raticate.png b/applications/external/malveke_pokemon_trading/assets/raticate.png
deleted file mode 100644
index a0e760e9bc2..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/raticate.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/rattata.png b/applications/external/malveke_pokemon_trading/assets/rattata.png
deleted file mode 100644
index 76d834182e0..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/rattata.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/red.png b/applications/external/malveke_pokemon_trading/assets/red.png
deleted file mode 100644
index 050ca22a5c7..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/red.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/red_16x15.png b/applications/external/malveke_pokemon_trading/assets/red_16x15.png
deleted file mode 100644
index d1e05bd8a5e..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/red_16x15.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/rhydon.png b/applications/external/malveke_pokemon_trading/assets/rhydon.png
deleted file mode 100644
index bbe5427fe55..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/rhydon.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/rhyhorn.png b/applications/external/malveke_pokemon_trading/assets/rhyhorn.png
deleted file mode 100644
index 006dc889d74..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/rhyhorn.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/sandshrew.png b/applications/external/malveke_pokemon_trading/assets/sandshrew.png
deleted file mode 100644
index 5e665643e86..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/sandshrew.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/sandslash.png b/applications/external/malveke_pokemon_trading/assets/sandslash.png
deleted file mode 100644
index 571081b3226..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/sandslash.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/scyther.png b/applications/external/malveke_pokemon_trading/assets/scyther.png
deleted file mode 100644
index 165bcff4396..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/scyther.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/seadra.png b/applications/external/malveke_pokemon_trading/assets/seadra.png
deleted file mode 100644
index 295dbf1a0fe..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/seadra.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/seaking.png b/applications/external/malveke_pokemon_trading/assets/seaking.png
deleted file mode 100644
index 0f854066f4f..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/seaking.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/seel.png b/applications/external/malveke_pokemon_trading/assets/seel.png
deleted file mode 100644
index 3043fe253b2..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/seel.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/shellder.png b/applications/external/malveke_pokemon_trading/assets/shellder.png
deleted file mode 100644
index cf5195556c7..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/shellder.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/slowbro.png b/applications/external/malveke_pokemon_trading/assets/slowbro.png
deleted file mode 100644
index 9843ec8accc..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/slowbro.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/slowpoke.png b/applications/external/malveke_pokemon_trading/assets/slowpoke.png
deleted file mode 100644
index d6e8ca12fa0..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/slowpoke.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/snorlax.png b/applications/external/malveke_pokemon_trading/assets/snorlax.png
deleted file mode 100644
index f7456033909..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/snorlax.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/spearow.png b/applications/external/malveke_pokemon_trading/assets/spearow.png
deleted file mode 100644
index 084686c931e..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/spearow.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/squirtle.png b/applications/external/malveke_pokemon_trading/assets/squirtle.png
deleted file mode 100644
index be4849ee564..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/squirtle.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/starmie.png b/applications/external/malveke_pokemon_trading/assets/starmie.png
deleted file mode 100644
index 9ce96a941b2..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/starmie.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/staryu.png b/applications/external/malveke_pokemon_trading/assets/staryu.png
deleted file mode 100644
index d97faad4816..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/staryu.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/tangela.png b/applications/external/malveke_pokemon_trading/assets/tangela.png
deleted file mode 100644
index 73c2dbad838..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/tangela.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/tauros.png b/applications/external/malveke_pokemon_trading/assets/tauros.png
deleted file mode 100644
index 7700582275f..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/tauros.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/tentacool.png b/applications/external/malveke_pokemon_trading/assets/tentacool.png
deleted file mode 100644
index 117c03379d4..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/tentacool.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/tentacruel.png b/applications/external/malveke_pokemon_trading/assets/tentacruel.png
deleted file mode 100644
index c05e55441f6..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/tentacruel.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/vaporeon.png b/applications/external/malveke_pokemon_trading/assets/vaporeon.png
deleted file mode 100644
index f35e7423121..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/vaporeon.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/venomoth.png b/applications/external/malveke_pokemon_trading/assets/venomoth.png
deleted file mode 100644
index aab5e3de341..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/venomoth.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/venonat.png b/applications/external/malveke_pokemon_trading/assets/venonat.png
deleted file mode 100644
index fcfdb8aef2c..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/venonat.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/venusaur.png b/applications/external/malveke_pokemon_trading/assets/venusaur.png
deleted file mode 100644
index fc6855f4ba1..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/venusaur.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/victreebel.png b/applications/external/malveke_pokemon_trading/assets/victreebel.png
deleted file mode 100644
index 39ab7e7c517..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/victreebel.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/vileplume.png b/applications/external/malveke_pokemon_trading/assets/vileplume.png
deleted file mode 100644
index dc4964682ff..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/vileplume.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/voltorb.png b/applications/external/malveke_pokemon_trading/assets/voltorb.png
deleted file mode 100644
index 17255260c67..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/voltorb.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/vulpix.png b/applications/external/malveke_pokemon_trading/assets/vulpix.png
deleted file mode 100644
index 55030c587de..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/vulpix.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/wartortle.png b/applications/external/malveke_pokemon_trading/assets/wartortle.png
deleted file mode 100644
index 66eb1f14874..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/wartortle.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/weedle.png b/applications/external/malveke_pokemon_trading/assets/weedle.png
deleted file mode 100644
index a1a7c530d48..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/weedle.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/weepinbell.png b/applications/external/malveke_pokemon_trading/assets/weepinbell.png
deleted file mode 100644
index 33de83487ab..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/weepinbell.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/weezing.png b/applications/external/malveke_pokemon_trading/assets/weezing.png
deleted file mode 100644
index f07c40d10ed..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/weezing.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/wigglytuff.png b/applications/external/malveke_pokemon_trading/assets/wigglytuff.png
deleted file mode 100644
index ed51e8df80b..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/wigglytuff.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/zapdos.png b/applications/external/malveke_pokemon_trading/assets/zapdos.png
deleted file mode 100644
index ce452afad3a..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/zapdos.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/assets/zubat.png b/applications/external/malveke_pokemon_trading/assets/zubat.png
deleted file mode 100644
index fd1bb19baac..00000000000
Binary files a/applications/external/malveke_pokemon_trading/assets/zubat.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/changelog.md b/applications/external/malveke_pokemon_trading/docs/changelog.md
deleted file mode 100644
index 9bf44963cf9..00000000000
--- a/applications/external/malveke_pokemon_trading/docs/changelog.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# Changelog - Patch Notes
-
-## Version 1.4
-- **Bug Fixes:** More robust trade logic fixes issues with names, remove ability to use numbers in Pokemon/Trainer names as the game itself will not allow that, fix trade animation not always being animated, make FAP icon 1bpp.
-- **Add Features:** Implement trade patch list that Game Boy expects and uses, add ability to return to main menu to modify a Pokemon traded to the Flipper and re-enter trade without the Game Boy needing to power cycle and re-connect through the Link Club, add back debug logging.
-- **Trade Refactor:** Eliminate extraneous code, improve robustness of state tracking during trades, isolate Trade's scope to the compilation unit, add notes on exchanged bytes during a trade, improve timing of animation during trade, reduce time spent in interrupt context, follow same setup/hold times for data exchange that the Game Boy uses, reduce use of magic numbers, clean up and improve code tracking real world time
-
-## Version 1.3
-- **Refactor and UI cleanup:** Convert to Flipper Zero UI modules for simpler interface, reduce binary size.
-- **Add Features:** Add ability to set custom Pokemon nickname or default, add ability to set OT name and ID, add ability to select Pokemon type(s). Note that, an evolution as well as a couple of different attacks will cause this to be overwritten with the Pokemon's default values.
-- **Bug Fixes:** Fix strange issue with exp gain causing traded Pokemon to de-level and result in incorrect stats.
-
-## Version 1.2.2
-- **Extended Functionality:** Add support to set level, select moves, set up EV/IV to a few predefined configurations, set up stats based on level and EV/IV settings, set nickname to default Pokemon name.
-
-## Version 1.2.1
-- **Add GitHub action to build**
-
-## Version 1.2.0
-- **Cleanup data structs:** This refactors the main data blocks for defining Pokemon, the icon, their species/hex value, as well as the large trade array in to more human friendly structs. Laying some groundwork to be able to adjust Pokemon details pre-trade by @kbembedded .
-- **Bug Fixes:** Fix furi crash, Fixes #9 by @kbembedded .
diff --git a/applications/external/malveke_pokemon_trading/docs/images/EXT-Link.png b/applications/external/malveke_pokemon_trading/docs/images/EXT-Link.png
deleted file mode 100644
index 1501edda4ea..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/EXT-Link.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/GPIO-GBPIN-v2.png b/applications/external/malveke_pokemon_trading/docs/images/GPIO-GBPIN-v2.png
deleted file mode 100644
index a88b226eedf..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/GPIO-GBPIN-v2.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/GPIO-GBPIN_light-v2.png b/applications/external/malveke_pokemon_trading/docs/images/GPIO-GBPIN_light-v2.png
deleted file mode 100644
index b1588d48f9a..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/GPIO-GBPIN_light-v2.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/back.png b/applications/external/malveke_pokemon_trading/docs/images/back.png
deleted file mode 100644
index 09da56874aa..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/back.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/back.svg b/applications/external/malveke_pokemon_trading/docs/images/back.svg
deleted file mode 100644
index 7e239d1a05c..00000000000
--- a/applications/external/malveke_pokemon_trading/docs/images/back.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/applications/external/malveke_pokemon_trading/docs/images/cut-cable-v3.png b/applications/external/malveke_pokemon_trading/docs/images/cut-cable-v3.png
deleted file mode 100644
index 67dc89490c6..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/cut-cable-v3.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/dmg_link_port_pinout.png b/applications/external/malveke_pokemon_trading/docs/images/dmg_link_port_pinout.png
deleted file mode 100644
index 5acc934195d..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/dmg_link_port_pinout.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-1-1.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-1-1.png
deleted file mode 100644
index cf9789daa83..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-1-1.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-1.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-1.png
deleted file mode 100644
index 5c9b6e14179..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-1.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-10.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-10.png
deleted file mode 100644
index 44c082c8329..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-10.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-11.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-11.png
deleted file mode 100644
index e147b13ce1b..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-11.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-12.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-12.png
deleted file mode 100644
index 9f74a4a3b86..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-12.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-13.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-13.png
deleted file mode 100644
index 8f63f556409..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-13.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-2.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-2.png
deleted file mode 100644
index ed2c10a7ec6..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-2.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-3.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-3.png
deleted file mode 100644
index 6064b587827..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-3.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-5.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-5.png
deleted file mode 100644
index 3d4c17892fe..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-5.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-6-1.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-6-1.png
deleted file mode 100644
index 69ac692e12c..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-6-1.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-6-2.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-6-2.png
deleted file mode 100644
index d2925d51132..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-6-2.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-6.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-6.png
deleted file mode 100644
index ed7bf9f9500..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-6.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-7.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-7.png
deleted file mode 100644
index 74ef119f049..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-7.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-8-1.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-8-1.png
deleted file mode 100644
index 30b5621b768..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-8-1.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-8.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-8.png
deleted file mode 100644
index 981f1e9cd3b..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-8.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-9.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-9.png
deleted file mode 100644
index ff758de4c3f..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat-9.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat.png
deleted file mode 100644
index fb4b37fb4fe..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat.psd b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat.psd
deleted file mode 100644
index ba2ba8b5fbf..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat.psd and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat.xcf b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat.xcf
deleted file mode 100644
index d92f3e3e32d..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-flat.xcf and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-pcb.png b/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-pcb.png
deleted file mode 100644
index e947578c775..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/flipper-zero-pcb.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/game_boy_pokemon_center.png b/applications/external/malveke_pokemon_trading/docs/images/game_boy_pokemon_center.png
deleted file mode 100644
index d802ea8aab7..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/game_boy_pokemon_center.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/game_boy_save.png b/applications/external/malveke_pokemon_trading/docs/images/game_boy_save.png
deleted file mode 100644
index b7f6da88132..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/game_boy_save.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/game_boy_save_trade.png b/applications/external/malveke_pokemon_trading/docs/images/game_boy_save_trade.png
deleted file mode 100644
index 2cdc28d1bf4..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/game_boy_save_trade.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/game_boy_trade_list.png b/applications/external/malveke_pokemon_trading/docs/images/game_boy_trade_list.png
deleted file mode 100644
index 87b9d1b781d..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/game_boy_trade_list.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/game_boy_trade_list_select_trade.png b/applications/external/malveke_pokemon_trading/docs/images/game_boy_trade_list_select_trade.png
deleted file mode 100644
index 2971e1e55bc..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/game_boy_trade_list_select_trade.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/game_boy_trade_list_select_trade_confirm.png b/applications/external/malveke_pokemon_trading/docs/images/game_boy_trade_list_select_trade_confirm.png
deleted file mode 100644
index 3fbf76a042f..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/game_boy_trade_list_select_trade_confirm.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/game_boy_trade_room.png b/applications/external/malveke_pokemon_trading/docs/images/game_boy_trade_room.png
deleted file mode 100644
index 65fd2e2660a..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/game_boy_trade_room.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/game_boy_trade_room_2.png b/applications/external/malveke_pokemon_trading/docs/images/game_boy_trade_room_2.png
deleted file mode 100644
index b443abb0f5b..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/game_boy_trade_room_2.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/gb_spi.png b/applications/external/malveke_pokemon_trading/docs/images/gb_spi.png
deleted file mode 100644
index 392334ed054..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/gb_spi.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/gblpof.gif b/applications/external/malveke_pokemon_trading/docs/images/gblpof.gif
deleted file mode 100644
index a37b8bc8973..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/gblpof.gif and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/implemented.svg b/applications/external/malveke_pokemon_trading/docs/images/implemented.svg
deleted file mode 100644
index 79b2b8a9ea8..00000000000
--- a/applications/external/malveke_pokemon_trading/docs/images/implemented.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/applications/external/malveke_pokemon_trading/docs/images/left.png b/applications/external/malveke_pokemon_trading/docs/images/left.png
deleted file mode 100644
index 87f2654b6c9..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/left.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/left.svg b/applications/external/malveke_pokemon_trading/docs/images/left.svg
deleted file mode 100644
index 3cc8c8eb61e..00000000000
--- a/applications/external/malveke_pokemon_trading/docs/images/left.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/applications/external/malveke_pokemon_trading/docs/images/pcb.png b/applications/external/malveke_pokemon_trading/docs/images/pcb.png
deleted file mode 100644
index 1745ca43e4f..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/pcb.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/qFlipper.png b/applications/external/malveke_pokemon_trading/docs/images/qFlipper.png
deleted file mode 100644
index 10ebe8db412..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/qFlipper.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/reboot.png b/applications/external/malveke_pokemon_trading/docs/images/reboot.png
deleted file mode 100644
index 517e5e3a670..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/reboot.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/wgbl-0.png b/applications/external/malveke_pokemon_trading/docs/images/wgbl-0.png
deleted file mode 100644
index 6fbb12b135e..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/wgbl-0.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/docs/images/white_flat.svg b/applications/external/malveke_pokemon_trading/docs/images/white_flat.svg
deleted file mode 100644
index 49c7733c37b..00000000000
--- a/applications/external/malveke_pokemon_trading/docs/images/white_flat.svg
+++ /dev/null
@@ -1,744 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/applications/external/malveke_pokemon_trading/docs/images/youtube.png b/applications/external/malveke_pokemon_trading/docs/images/youtube.png
deleted file mode 100644
index 8fcc4ef4189..00000000000
Binary files a/applications/external/malveke_pokemon_trading/docs/images/youtube.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/pokemon_10px.png b/applications/external/malveke_pokemon_trading/pokemon_10px.png
deleted file mode 100644
index 10187916484..00000000000
Binary files a/applications/external/malveke_pokemon_trading/pokemon_10px.png and /dev/null differ
diff --git a/applications/external/malveke_pokemon_trading/pokemon_app.c b/applications/external/malveke_pokemon_trading/pokemon_app.c
deleted file mode 100644
index 13c25816ab0..00000000000
--- a/applications/external/malveke_pokemon_trading/pokemon_app.c
+++ /dev/null
@@ -1,2246 +0,0 @@
-#include
-#include
-#include
-
-#include "scenes/pokemon_menu.h"
-#include "views/trade.h"
-#include "views/select_pokemon.h"
-#include "pokemon_app.h"
-#include "pokemon_char_encode.h"
-
-const PokemonTable pokemon_table[] = {
- /* Values for base_*, moves, etc., pulled directly from a copy of Pokemon Blue */
- {"Bulbasaur",
- &I_bulbasaur,
- 0x99,
- 0x2D,
- 0x31,
- 0x31,
- 0x2D,
- 0x41,
- {0x16, 0x03},
- {0x21, 0x2D, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Ivysaur",
- &I_ivysaur,
- 0x09,
- 0x3C,
- 0x3E,
- 0x3F,
- 0x3C,
- 0x50,
- {0x16, 0x03},
- {0x21, 0x2D, 0x49, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Venusaur",
- &I_venusaur,
- 0x9A,
- 0x50,
- 0x52,
- 0x53,
- 0x50,
- 0x64,
- {0x16, 0x03},
- {0x21, 0x2D, 0x49, 0x16},
- GROWTH_MEDIUM_SLOW},
- {"Charmander",
- &I_charmander,
- 0xB0,
- 0x27,
- 0x34,
- 0x2B,
- 0x41,
- 0x32,
- {0x14, 0x14},
- {0x0A, 0x2D, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Charmeleon",
- &I_charmeleon,
- 0xB2,
- 0x3A,
- 0x40,
- 0x3A,
- 0x50,
- 0x41,
- {0x14, 0x14},
- {0x0A, 0x2D, 0x34, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Charizard",
- &I_charizard,
- 0xB4,
- 0x4E,
- 0x54,
- 0x4E,
- 0x64,
- 0x55,
- {0x14, 0x02},
- {0x0A, 0x2D, 0x34, 0x2B},
- GROWTH_MEDIUM_SLOW},
- {"Squirtle",
- &I_squirtle,
- 0xB1,
- 0x2C,
- 0x30,
- 0x41,
- 0x2B,
- 0x32,
- {0x15, 0x15},
- {0x21, 0x27, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Wartortle",
- &I_wartortle,
- 0xB3,
- 0x3B,
- 0x3F,
- 0x50,
- 0x3A,
- 0x41,
- {0x15, 0x15},
- {0x21, 0x27, 0x91, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Blastoise",
- &I_blastoise,
- 0x1C,
- 0x4F,
- 0x53,
- 0x64,
- 0x4E,
- 0x55,
- {0x15, 0x15},
- {0x21, 0x27, 0x91, 0x37},
- GROWTH_MEDIUM_SLOW},
- {"Caterpie",
- &I_caterpie,
- 0x7B,
- 0x2D,
- 0x1E,
- 0x23,
- 0x2D,
- 0x14,
- {0x07, 0x07},
- {0x21, 0x51, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Metapod",
- &I_metapod,
- 0x7C,
- 0x32,
- 0x14,
- 0x37,
- 0x1E,
- 0x19,
- {0x07, 0x07},
- {0x6A, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Butterfree",
- &I_butterfree,
- 0x7D,
- 0x3C,
- 0x2D,
- 0x32,
- 0x46,
- 0x50,
- {0x07, 0x02},
- {0x5D, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Weedle",
- &I_weedle,
- 0x70,
- 0x28,
- 0x23,
- 0x1E,
- 0x32,
- 0x14,
- {0x07, 0x03},
- {0x28, 0x51, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Kakuna",
- &I_kakuna,
- 0x71,
- 0x2D,
- 0x19,
- 0x32,
- 0x23,
- 0x19,
- {0x07, 0x03},
- {0x6A, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Beedrill",
- &I_beedrill,
- 0x72,
- 0x41,
- 0x50,
- 0x28,
- 0x4B,
- 0x2D,
- {0x07, 0x03},
- {0x1F, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Pidgey",
- &I_pidgey,
- 0x24,
- 0x28,
- 0x2D,
- 0x28,
- 0x38,
- 0x23,
- {0x00, 0x02},
- {0x10, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Pidgeotto",
- &I_pidgeotto,
- 0x96,
- 0x3F,
- 0x3C,
- 0x37,
- 0x47,
- 0x32,
- {0x00, 0x02},
- {0x10, 0x1C, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Pidgeot",
- &I_pidgeot,
- 0x97,
- 0x53,
- 0x50,
- 0x4B,
- 0x5B,
- 0x46,
- {0x00, 0x02},
- {0x10, 0x1C, 0x62, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Rattata",
- &I_rattata,
- 0xA5,
- 0x1E,
- 0x38,
- 0x23,
- 0x48,
- 0x19,
- {0x00, 0x00},
- {0x21, 0x27, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Raticate",
- &I_raticate,
- 0xA6,
- 0x37,
- 0x51,
- 0x3C,
- 0x61,
- 0x32,
- {0x00, 0x00},
- {0x21, 0x27, 0x62, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Spearow",
- &I_spearow,
- 0x05,
- 0x28,
- 0x3C,
- 0x1E,
- 0x46,
- 0x1F,
- {0x00, 0x02},
- {0x40, 0x2D, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Fearow",
- &I_fearow,
- 0x23,
- 0x41,
- 0x5A,
- 0x41,
- 0x64,
- 0x3D,
- {0x00, 0x02},
- {0x40, 0x2D, 0x2B, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Ekans",
- &I_ekans,
- 0x6C,
- 0x23,
- 0x3C,
- 0x2C,
- 0x37,
- 0x28,
- {0x03, 0x03},
- {0x23, 0x2B, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Arbok",
- &I_arbok,
- 0x2D,
- 0x3C,
- 0x55,
- 0x45,
- 0x50,
- 0x41,
- {0x03, 0x03},
- {0x23, 0x2B, 0x28, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Pikachu",
- &I_pikachu,
- 0x54,
- 0x23,
- 0x37,
- 0x1E,
- 0x5A,
- 0x32,
- {0x17, 0x17},
- {0x54, 0x2D, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Raichu",
- &I_raichu,
- 0x55,
- 0x3C,
- 0x5A,
- 0x37,
- 0x64,
- 0x5A,
- {0x17, 0x17},
- {0x54, 0x2D, 0x56, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Sandshrew",
- &I_sandshrew,
- 0x60,
- 0x32,
- 0x4B,
- 0x55,
- 0x28,
- 0x1E,
- {0x04, 0x04},
- {0x0A, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Sandslash",
- &I_sandslash,
- 0x61,
- 0x4B,
- 0x64,
- 0x6E,
- 0x41,
- 0x37,
- {0x04, 0x04},
- {0x0A, 0x1C, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Nidoran\200",
- &I_nidoranf,
- 0x0F,
- 0x37,
- 0x2F,
- 0x34,
- 0x29,
- 0x28,
- {0x03, 0x03},
- {0x2D, 0x21, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Nidorina",
- &I_nidorina,
- 0xA8,
- 0x46,
- 0x3E,
- 0x43,
- 0x38,
- 0x37,
- {0x03, 0x03},
- {0x2D, 0x21, 0x0A, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Nidoqueen",
- &I_nidoqueen,
- 0x10,
- 0x5A,
- 0x52,
- 0x57,
- 0x4C,
- 0x4B,
- {0x03, 0x04},
- {0x21, 0x0A, 0x27, 0x22},
- GROWTH_MEDIUM_SLOW},
- {"Nidoran\201",
- &I_nidoranm,
- 0x03,
- 0x2E,
- 0x39,
- 0x28,
- 0x32,
- 0x28,
- {0x03, 0x03},
- {0x2B, 0x21, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Nidorino",
- &I_nidorino,
- 0xA7,
- 0x3D,
- 0x48,
- 0x39,
- 0x41,
- 0x37,
- {0x03, 0x03},
- {0x2B, 0x21, 0x1E, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Nidoking",
- &I_nidoking,
- 0x07,
- 0x51,
- 0x5C,
- 0x4D,
- 0x55,
- 0x4B,
- {0x03, 0x04},
- {0x21, 0x1E, 0x28, 0x25},
- GROWTH_MEDIUM_SLOW},
- {"Clefairy",
- &I_clefairy,
- 0x04,
- 0x46,
- 0x2D,
- 0x30,
- 0x23,
- 0x3C,
- {0x00, 0x00},
- {0x01, 0x2D, 0x00, 0x00},
- GROWTH_FAST},
- {"Clefable",
- &I_clefable,
- 0x8E,
- 0x5F,
- 0x46,
- 0x49,
- 0x3C,
- 0x55,
- {0x00, 0x00},
- {0x2F, 0x03, 0x6B, 0x76},
- GROWTH_FAST},
- {"Vulpix",
- &I_vulpix,
- 0x52,
- 0x26,
- 0x29,
- 0x28,
- 0x41,
- 0x41,
- {0x14, 0x14},
- {0x34, 0x27, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Ninetales",
- &I_ninetales,
- 0x53,
- 0x49,
- 0x4C,
- 0x4B,
- 0x64,
- 0x64,
- {0x14, 0x14},
- {0x34, 0x27, 0x62, 0x2E},
- GROWTH_MEDIUM_FAST},
- {"Jigglypuff",
- &I_jigglypuff,
- 0x64,
- 0x73,
- 0x2D,
- 0x14,
- 0x14,
- 0x19,
- {0x00, 0x00},
- {0x2F, 0x00, 0x00, 0x00},
- GROWTH_FAST},
- {"Wigglytuff",
- &I_wigglytuff,
- 0x65,
- 0x8C,
- 0x46,
- 0x2D,
- 0x2D,
- 0x32,
- {0x00, 0x00},
- {0x2F, 0x32, 0x6F, 0x03},
- GROWTH_FAST},
- {"Zubat",
- &I_zubat,
- 0x6B,
- 0x28,
- 0x2D,
- 0x23,
- 0x37,
- 0x28,
- {0x03, 0x02},
- {0x8D, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Golbat",
- &I_golbat,
- 0x82,
- 0x4B,
- 0x50,
- 0x46,
- 0x5A,
- 0x4B,
- {0x03, 0x02},
- {0x8D, 0x67, 0x2C, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Oddish",
- &I_oddish,
- 0xB9,
- 0x2D,
- 0x32,
- 0x37,
- 0x1E,
- 0x4B,
- {0x16, 0x03},
- {0x47, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Gloom",
- &I_gloom,
- 0xBA,
- 0x3C,
- 0x41,
- 0x46,
- 0x28,
- 0x55,
- {0x16, 0x03},
- {0x47, 0x4D, 0x4E, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Vileplume",
- &I_vileplume,
- 0xBB,
- 0x4B,
- 0x50,
- 0x55,
- 0x32,
- 0x64,
- {0x16, 0x03},
- {0x4E, 0x4F, 0x33, 0x50},
- GROWTH_MEDIUM_SLOW},
- {"Paras",
- &I_paras,
- 0x6D,
- 0x23,
- 0x46,
- 0x37,
- 0x19,
- 0x37,
- {0x07, 0x16},
- {0x0A, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Parasect",
- &I_parasect,
- 0x2E,
- 0x3C,
- 0x5F,
- 0x50,
- 0x1E,
- 0x50,
- {0x07, 0x16},
- {0x0A, 0x4E, 0x8D, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Venonat",
- &I_venonat,
- 0x41,
- 0x3C,
- 0x37,
- 0x32,
- 0x2D,
- 0x28,
- {0x07, 0x03},
- {0x21, 0x32, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Venomoth",
- &I_venomoth,
- 0x77,
- 0x46,
- 0x41,
- 0x3C,
- 0x5A,
- 0x5A,
- {0x07, 0x03},
- {0x21, 0x32, 0x4D, 0x8D},
- GROWTH_MEDIUM_FAST},
- {"Diglett",
- &I_diglett,
- 0x3B,
- 0x0A,
- 0x37,
- 0x19,
- 0x5F,
- 0x2D,
- {0x04, 0x04},
- {0x0A, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Dugtrio",
- &I_dugtrio,
- 0x76,
- 0x23,
- 0x50,
- 0x32,
- 0x78,
- 0x46,
- {0x04, 0x04},
- {0x0A, 0x2D, 0x5B, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Meowth",
- &I_meowth,
- 0x4D,
- 0x28,
- 0x2D,
- 0x23,
- 0x5A,
- 0x28,
- {0x00, 0x00},
- {0x0A, 0x2D, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Persian",
- &I_persian,
- 0x90,
- 0x41,
- 0x46,
- 0x3C,
- 0x73,
- 0x41,
- {0x00, 0x00},
- {0x0A, 0x2D, 0x2C, 0x67},
- GROWTH_MEDIUM_FAST},
- {"Psyduck",
- &I_psyduck,
- 0x2F,
- 0x32,
- 0x34,
- 0x30,
- 0x37,
- 0x32,
- {0x15, 0x15},
- {0x0A, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Golduck",
- &I_golduck,
- 0x80,
- 0x50,
- 0x52,
- 0x4E,
- 0x55,
- 0x50,
- {0x15, 0x15},
- {0x0A, 0x27, 0x32, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Mankey",
- &I_mankey,
- 0x39,
- 0x28,
- 0x50,
- 0x23,
- 0x46,
- 0x23,
- {0x01, 0x01},
- {0x0A, 0x2B, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Primeape",
- &I_primeape,
- 0x75,
- 0x41,
- 0x69,
- 0x3C,
- 0x5F,
- 0x3C,
- {0x01, 0x01},
- {0x0A, 0x2B, 0x02, 0x9A},
- GROWTH_MEDIUM_FAST},
- {"Growlithe",
- &I_growlithe,
- 0x21,
- 0x37,
- 0x46,
- 0x2D,
- 0x3C,
- 0x32,
- {0x14, 0x14},
- {0x2C, 0x2E, 0x00, 0x00},
- GROWTH_SLOW},
- {"Arcanine",
- &I_arcanine,
- 0x14,
- 0x5A,
- 0x6E,
- 0x50,
- 0x5F,
- 0x50,
- {0x14, 0x14},
- {0x2E, 0x34, 0x2B, 0x24},
- GROWTH_SLOW},
- {"Poliwag",
- &I_poliwag,
- 0x47,
- 0x28,
- 0x32,
- 0x28,
- 0x5A,
- 0x28,
- {0x15, 0x15},
- {0x91, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Poliwhirl",
- &I_poliwhirl,
- 0x6E,
- 0x41,
- 0x41,
- 0x41,
- 0x5A,
- 0x32,
- {0x15, 0x15},
- {0x91, 0x5F, 0x37, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Poliwrath",
- &I_poliwrath,
- 0x6F,
- 0x5A,
- 0x55,
- 0x5F,
- 0x46,
- 0x46,
- {0x15, 0x01},
- {0x5F, 0x37, 0x03, 0x22},
- GROWTH_MEDIUM_SLOW},
- {"Abra",
- &I_abra,
- 0x94,
- 0x19,
- 0x14,
- 0x0F,
- 0x5A,
- 0x69,
- {0x18, 0x18},
- {0x64, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Kadabra",
- &I_kadabra,
- 0x26,
- 0x28,
- 0x23,
- 0x1E,
- 0x69,
- 0x78,
- {0x18, 0x18},
- {0x64, 0x5D, 0x32, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Alakazam",
- &I_alakazam,
- 0x95,
- 0x37,
- 0x32,
- 0x2D,
- 0x78,
- 0x87,
- {0x18, 0x18},
- {0x64, 0x5D, 0x32, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Machop",
- &I_machop,
- 0x6A,
- 0x46,
- 0x50,
- 0x32,
- 0x23,
- 0x23,
- {0x01, 0x01},
- {0x02, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Machoke",
- &I_machoke,
- 0x29,
- 0x50,
- 0x64,
- 0x46,
- 0x2D,
- 0x32,
- {0x01, 0x01},
- {0x02, 0x43, 0x2B, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Machamp",
- &I_machamp,
- 0x7E,
- 0x5A,
- 0x82,
- 0x50,
- 0x37,
- 0x41,
- {0x01, 0x01},
- {0x02, 0x43, 0x2B, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Bellsprout",
- &I_bellsprout,
- 0xBC,
- 0x32,
- 0x4B,
- 0x23,
- 0x28,
- 0x46,
- {0x16, 0x03},
- {0x16, 0x4A, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Weepinbell",
- &I_weepinbell,
- 0xBD,
- 0x41,
- 0x5A,
- 0x32,
- 0x37,
- 0x55,
- {0x16, 0x03},
- {0x16, 0x4A, 0x23, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Victreebel",
- &I_victreebel,
- 0xBE,
- 0x50,
- 0x69,
- 0x41,
- 0x46,
- 0x64,
- {0x16, 0x03},
- {0x4F, 0x4E, 0x33, 0x4B},
- GROWTH_MEDIUM_SLOW},
- {"Tentacool",
- &I_tentacool,
- 0x18,
- 0x28,
- 0x28,
- 0x23,
- 0x46,
- 0x64,
- {0x15, 0x03},
- {0x33, 0x00, 0x00, 0x00},
- GROWTH_SLOW},
- {"Tentacruel",
- &I_tentacruel,
- 0x9B,
- 0x50,
- 0x46,
- 0x41,
- 0x64,
- 0x78,
- {0x15, 0x03},
- {0x33, 0x30, 0x23, 0x00},
- GROWTH_SLOW},
- {"Geodude",
- &I_geodude,
- 0xA9,
- 0x28,
- 0x50,
- 0x64,
- 0x14,
- 0x1E,
- {0x05, 0x04},
- {0x21, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Graveler",
- &I_graveler,
- 0x27,
- 0x37,
- 0x5F,
- 0x73,
- 0x23,
- 0x2D,
- {0x05, 0x04},
- {0x21, 0x6F, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Golem",
- &I_golem,
- 0x31,
- 0x50,
- 0x6E,
- 0x82,
- 0x2D,
- 0x37,
- {0x05, 0x04},
- {0x21, 0x6F, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Ponyta",
- &I_ponyta,
- 0xA3,
- 0x32,
- 0x55,
- 0x37,
- 0x5A,
- 0x41,
- {0x14, 0x14},
- {0x34, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Rapidash",
- &I_rapidash,
- 0xA4,
- 0x41,
- 0x64,
- 0x46,
- 0x69,
- 0x50,
- {0x14, 0x14},
- {0x34, 0x27, 0x17, 0x2D},
- GROWTH_MEDIUM_FAST},
- {"Slowpoke",
- &I_slowpoke,
- 0x25,
- 0x5A,
- 0x41,
- 0x41,
- 0x0F,
- 0x28,
- {0x15, 0x18},
- {0x5D, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Slowbro",
- &I_slowbro,
- 0x08,
- 0x5F,
- 0x4B,
- 0x6E,
- 0x1E,
- 0x50,
- {0x15, 0x18},
- {0x5D, 0x32, 0x1D, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Magnemite",
- &I_magnemite,
- 0xAD,
- 0x19,
- 0x23,
- 0x46,
- 0x2D,
- 0x5F,
- {0x17, 0x17},
- {0x21, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Magneton",
- &I_magneton,
- 0x36,
- 0x32,
- 0x3C,
- 0x5F,
- 0x46,
- 0x78,
- {0x17, 0x17},
- {0x21, 0x31, 0x54, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Farfetch'd",
- &I_farfetchd,
- 0x40,
- 0x34,
- 0x41,
- 0x37,
- 0x3C,
- 0x3A,
- {0x00, 0x02},
- {0x40, 0x1C, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Doduo",
- &I_doduo,
- 0x46,
- 0x23,
- 0x55,
- 0x2D,
- 0x4B,
- 0x23,
- {0x00, 0x02},
- {0x40, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Dodrio",
- &I_dodrio,
- 0x74,
- 0x3C,
- 0x6E,
- 0x46,
- 0x64,
- 0x3C,
- {0x00, 0x02},
- {0x40, 0x2D, 0x1F, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Seel",
- &I_seel,
- 0x3A,
- 0x41,
- 0x2D,
- 0x37,
- 0x2D,
- 0x46,
- {0x15, 0x15},
- {0x1D, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Dewgong",
- &I_dewgong,
- 0x78,
- 0x5A,
- 0x46,
- 0x50,
- 0x46,
- 0x5F,
- {0x15, 0x19},
- {0x1D, 0x2D, 0x3E, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Grimer",
- &I_grimer,
- 0x0D,
- 0x50,
- 0x50,
- 0x32,
- 0x19,
- 0x28,
- {0x03, 0x03},
- {0x01, 0x32, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Muk",
- &I_muk,
- 0x88,
- 0x69,
- 0x69,
- 0x4B,
- 0x32,
- 0x41,
- {0x03, 0x03},
- {0x01, 0x32, 0x8B, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Shellder",
- &I_shellder,
- 0x17,
- 0x1E,
- 0x41,
- 0x64,
- 0x28,
- 0x2D,
- {0x15, 0x15},
- {0x21, 0x6E, 0x00, 0x00},
- GROWTH_SLOW},
- {"Cloyster",
- &I_cloyster,
- 0x8B,
- 0x32,
- 0x5F,
- 0xB4,
- 0x46,
- 0x55,
- {0x15, 0x19},
- {0x6E, 0x30, 0x80, 0x3E},
- GROWTH_SLOW},
- {"Gastly",
- &I_gastly,
- 0x19,
- 0x1E,
- 0x23,
- 0x1E,
- 0x50,
- 0x64,
- {0x08, 0x03},
- {0x7A, 0x6D, 0x65, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Haunter",
- &I_haunter,
- 0x93,
- 0x2D,
- 0x32,
- 0x2D,
- 0x5F,
- 0x73,
- {0x08, 0x03},
- {0x7A, 0x6D, 0x65, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Gengar",
- &I_gengar,
- 0x0E,
- 0x3C,
- 0x41,
- 0x3C,
- 0x6E,
- 0x82,
- {0x08, 0x03},
- {0x7A, 0x6D, 0x65, 0x00},
- GROWTH_MEDIUM_SLOW},
- {"Onix",
- &I_onix,
- 0x22,
- 0x23,
- 0x2D,
- 0xA0,
- 0x46,
- 0x1E,
- {0x05, 0x04},
- {0x21, 0x67, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Drowzee",
- &I_drowzee,
- 0x30,
- 0x3C,
- 0x30,
- 0x2D,
- 0x2A,
- 0x5A,
- {0x18, 0x18},
- {0x01, 0x5F, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Hypno",
- &I_hypno,
- 0x81,
- 0x55,
- 0x49,
- 0x46,
- 0x43,
- 0x73,
- {0x18, 0x18},
- {0x01, 0x5F, 0x32, 0x5D},
- GROWTH_MEDIUM_FAST},
- {"Krabby",
- &I_krabby,
- 0x4E,
- 0x1E,
- 0x69,
- 0x5A,
- 0x32,
- 0x19,
- {0x15, 0x15},
- {0x91, 0x2B, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Kingler",
- &I_kingler,
- 0x8A,
- 0x37,
- 0x82,
- 0x73,
- 0x4B,
- 0x32,
- {0x15, 0x15},
- {0x91, 0x2B, 0x0B, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Voltorb",
- &I_voltorb,
- 0x06,
- 0x28,
- 0x1E,
- 0x32,
- 0x64,
- 0x37,
- {0x17, 0x17},
- {0x21, 0x67, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Electrode",
- &I_electrode,
- 0x8D,
- 0x3C,
- 0x32,
- 0x46,
- 0x8C,
- 0x50,
- {0x17, 0x17},
- {0x21, 0x67, 0x31, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Exeggcute",
- &I_exeggcute,
- 0x0C,
- 0x3C,
- 0x28,
- 0x50,
- 0x28,
- 0x3C,
- {0x16, 0x18},
- {0x8C, 0x5F, 0x00, 0x00},
- GROWTH_SLOW},
- {"Exeggutor",
- &I_exeggutor,
- 0x0A,
- 0x5F,
- 0x5F,
- 0x55,
- 0x37,
- 0x7D,
- {0x16, 0x18},
- {0x8C, 0x5F, 0x00, 0x00},
- GROWTH_SLOW},
- {"Cubone",
- &I_cubone,
- 0x11,
- 0x32,
- 0x32,
- 0x5F,
- 0x23,
- 0x28,
- {0x04, 0x04},
- {0x7D, 0x2D, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Marowak",
- &I_marowak,
- 0x91,
- 0x3C,
- 0x50,
- 0x6E,
- 0x2D,
- 0x32,
- {0x04, 0x04},
- {0x7D, 0x2D, 0x2B, 0x74},
- GROWTH_MEDIUM_FAST},
- {"Hitmonlee",
- &I_hitmonlee,
- 0x2B,
- 0x32,
- 0x78,
- 0x35,
- 0x57,
- 0x23,
- {0x01, 0x01},
- {0x18, 0x60, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Hitmonchan",
- &I_hitmonchan,
- 0x2C,
- 0x32,
- 0x69,
- 0x4F,
- 0x4C,
- 0x23,
- {0x01, 0x01},
- {0x04, 0x61, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Lickitung",
- &I_lickitung,
- 0x0B,
- 0x5A,
- 0x37,
- 0x4B,
- 0x1E,
- 0x3C,
- {0x00, 0x00},
- {0x23, 0x30, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Koffing",
- &I_koffing,
- 0x37,
- 0x28,
- 0x41,
- 0x5F,
- 0x23,
- 0x3C,
- {0x03, 0x03},
- {0x21, 0x7B, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Weezing",
- &I_weezing,
- 0x8F,
- 0x41,
- 0x5A,
- 0x78,
- 0x3C,
- 0x55,
- {0x03, 0x03},
- {0x21, 0x7B, 0x7C, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Rhyhorn",
- &I_rhyhorn,
- 0x12,
- 0x50,
- 0x55,
- 0x5F,
- 0x19,
- 0x1E,
- {0x04, 0x05},
- {0x1E, 0x00, 0x00, 0x00},
- GROWTH_SLOW},
- {"Rhydon",
- &I_rhydon,
- 0x01,
- 0x69,
- 0x82,
- 0x78,
- 0x28,
- 0x2D,
- {0x04, 0x05},
- {0x1E, 0x17, 0x27, 0x1F},
- GROWTH_SLOW},
- {"Chansey",
- &I_chansey,
- 0x28,
- 0xFA,
- 0x05,
- 0x05,
- 0x32,
- 0x69,
- {0x00, 0x00},
- {0x01, 0x03, 0x00, 0x00},
- GROWTH_FAST},
- {"Tangela",
- &I_tangela,
- 0x1E,
- 0x41,
- 0x37,
- 0x73,
- 0x3C,
- 0x64,
- {0x16, 0x16},
- {0x84, 0x14, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Kangaskhan",
- &I_kangaskhan,
- 0x02,
- 0x69,
- 0x5F,
- 0x50,
- 0x5A,
- 0x28,
- {0x00, 0x00},
- {0x04, 0x63, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Horsea",
- &I_horsea,
- 0x5C,
- 0x1E,
- 0x28,
- 0x46,
- 0x3C,
- 0x46,
- {0x15, 0x15},
- {0x91, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Seadra",
- &I_seadra,
- 0x5D,
- 0x37,
- 0x41,
- 0x5F,
- 0x55,
- 0x5F,
- {0x15, 0x15},
- {0x91, 0x6C, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Goldeen",
- &I_goldeen,
- 0x9D,
- 0x2D,
- 0x43,
- 0x3C,
- 0x3F,
- 0x32,
- {0x15, 0x15},
- {0x40, 0x27, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Seaking",
- &I_seaking,
- 0x9E,
- 0x50,
- 0x5C,
- 0x41,
- 0x44,
- 0x50,
- {0x15, 0x15},
- {0x40, 0x27, 0x30, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Staryu",
- &I_staryu,
- 0x1B,
- 0x1E,
- 0x2D,
- 0x37,
- 0x55,
- 0x46,
- {0x15, 0x15},
- {0x21, 0x00, 0x00, 0x00},
- GROWTH_SLOW},
- {"Starmie",
- &I_starmie,
- 0x98,
- 0x3C,
- 0x4B,
- 0x55,
- 0x73,
- 0x64,
- {0x15, 0x18},
- {0x21, 0x37, 0x6A, 0x00},
- GROWTH_SLOW},
- {"Mr.Mime",
- &I_mr_mime,
- 0x2A,
- 0x28,
- 0x2D,
- 0x41,
- 0x5A,
- 0x64,
- {0x18, 0x18},
- {0x5D, 0x70, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Scyther",
- &I_scyther,
- 0x1A,
- 0x46,
- 0x6E,
- 0x50,
- 0x69,
- 0x37,
- {0x07, 0x02},
- {0x62, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Jynx",
- &I_jynx,
- 0x48,
- 0x41,
- 0x32,
- 0x23,
- 0x5F,
- 0x5F,
- {0x19, 0x18},
- {0x01, 0x8E, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Electabuzz",
- &I_electabuzz,
- 0x35,
- 0x41,
- 0x53,
- 0x39,
- 0x69,
- 0x55,
- {0x17, 0x17},
- {0x62, 0x2B, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Magmar",
- &I_magmar,
- 0x33,
- 0x41,
- 0x5F,
- 0x39,
- 0x5D,
- 0x55,
- {0x14, 0x14},
- {0x34, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Pinsir",
- &I_pinsir,
- 0x1D,
- 0x41,
- 0x7D,
- 0x64,
- 0x55,
- 0x37,
- {0x07, 0x07},
- {0x0B, 0x00, 0x00, 0x00},
- GROWTH_SLOW},
- {"Tauros",
- &I_tauros,
- 0x3C,
- 0x4B,
- 0x64,
- 0x5F,
- 0x6E,
- 0x46,
- {0x00, 0x00},
- {0x21, 0x00, 0x00, 0x00},
- GROWTH_SLOW},
- {"Magikarp",
- &I_magikarp,
- 0x85,
- 0x14,
- 0x0A,
- 0x37,
- 0x50,
- 0x14,
- {0x15, 0x15},
- {0x96, 0x00, 0x00, 0x00},
- GROWTH_SLOW},
- {"Gyarados",
- &I_gyarados,
- 0x16,
- 0x5F,
- 0x7D,
- 0x4F,
- 0x51,
- 0x64,
- {0x15, 0x02},
- {0x2C, 0x52, 0x2B, 0x38},
- GROWTH_SLOW},
- {"Lapras",
- &I_lapras,
- 0x13,
- 0x82,
- 0x55,
- 0x50,
- 0x3C,
- 0x5F,
- {0x15, 0x19},
- {0x37, 0x2D, 0x00, 0x00},
- GROWTH_SLOW},
- {"Ditto",
- &I_ditto,
- 0x4C,
- 0x30,
- 0x30,
- 0x30,
- 0x30,
- 0x30,
- {0x00, 0x00},
- {0x90, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Eevee",
- &I_eevee,
- 0x66,
- 0x37,
- 0x37,
- 0x32,
- 0x37,
- 0x41,
- {0x00, 0x00},
- {0x21, 0x1C, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Vaporeon",
- &I_vaporeon,
- 0x69,
- 0x82,
- 0x41,
- 0x3C,
- 0x41,
- 0x6E,
- {0x15, 0x15},
- {0x21, 0x1C, 0x62, 0x37},
- GROWTH_MEDIUM_FAST},
- {"Jolteon",
- &I_jolteon,
- 0x68,
- 0x41,
- 0x41,
- 0x3C,
- 0x82,
- 0x6E,
- {0x17, 0x17},
- {0x21, 0x1C, 0x62, 0x54},
- GROWTH_MEDIUM_FAST},
- {"Flareon",
- &I_flareon,
- 0x67,
- 0x41,
- 0x82,
- 0x3C,
- 0x41,
- 0x6E,
- {0x14, 0x14},
- {0x21, 0x1C, 0x62, 0x34},
- GROWTH_MEDIUM_FAST},
- {"Porygon",
- &I_porygon,
- 0xAA,
- 0x41,
- 0x3C,
- 0x46,
- 0x28,
- 0x4B,
- {0x00, 0x00},
- {0x21, 0x9F, 0xA0, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Omanyte",
- &I_omanyte,
- 0x62,
- 0x23,
- 0x28,
- 0x64,
- 0x23,
- 0x5A,
- {0x05, 0x15},
- {0x37, 0x6E, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Omastar",
- &I_omastar,
- 0x63,
- 0x46,
- 0x3C,
- 0x7D,
- 0x37,
- 0x73,
- {0x05, 0x15},
- {0x37, 0x6E, 0x1E, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Kabuto",
- &I_kabuto,
- 0x5A,
- 0x1E,
- 0x50,
- 0x5A,
- 0x37,
- 0x2D,
- {0x05, 0x15},
- {0x0A, 0x6A, 0x00, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Kabutops",
- &I_kabutops,
- 0x5B,
- 0x3C,
- 0x73,
- 0x69,
- 0x50,
- 0x46,
- {0x05, 0x15},
- {0x0A, 0x6A, 0x47, 0x00},
- GROWTH_MEDIUM_FAST},
- {"Aerodactyl",
- &I_aerodactyl,
- 0xAB,
- 0x50,
- 0x69,
- 0x41,
- 0x82,
- 0x3C,
- {0x05, 0x02},
- {0x11, 0x61, 0x00, 0x00},
- GROWTH_SLOW},
- {"Snorlax",
- &I_snorlax,
- 0x84,
- 0xA0,
- 0x6E,
- 0x41,
- 0x1E,
- 0x41,
- {0x00, 0x00},
- {0x1D, 0x85, 0x9C, 0x00},
- GROWTH_SLOW},
- {"Articuno",
- &I_articuno,
- 0x4A,
- 0x5A,
- 0x55,
- 0x64,
- 0x55,
- 0x7D,
- {0x19, 0x02},
- {0x40, 0x3A, 0x00, 0x00},
- GROWTH_SLOW},
- {"Zapdos",
- &I_zapdos,
- 0x4B,
- 0x5A,
- 0x5A,
- 0x55,
- 0x64,
- 0x7D,
- {0x17, 0x02},
- {0x54, 0x41, 0x00, 0x00},
- GROWTH_SLOW},
- {"Moltres",
- &I_moltres,
- 0x49,
- 0x5A,
- 0x64,
- 0x5A,
- 0x5A,
- 0x7D,
- {0x14, 0x02},
- {0x40, 0x53, 0x00, 0x00},
- GROWTH_SLOW},
- {"Dratini",
- &I_dratini,
- 0x58,
- 0x29,
- 0x40,
- 0x2D,
- 0x32,
- 0x32,
- {0x1A, 0x1A},
- {0x23, 0x2B, 0x00, 0x00},
- GROWTH_SLOW},
- {"Dragonair",
- &I_dragonair,
- 0x59,
- 0x3D,
- 0x54,
- 0x41,
- 0x46,
- 0x46,
- {0x1A, 0x1A},
- {0x23, 0x2B, 0x56, 0x00},
- GROWTH_SLOW},
- {"Dragonite",
- &I_dragonite,
- 0x42,
- 0x5B,
- 0x86,
- 0x5F,
- 0x50,
- 0x64,
- {0x1A, 0x02},
- {0x23, 0x2B, 0x56, 0x61},
- GROWTH_SLOW},
- {"Mewtwo",
- &I_mewtwo,
- 0x83,
- 0x6A,
- 0x6E,
- 0x5A,
- 0x82,
- 0x9A,
- {0x18, 0x18},
- {0x5D, 0x32, 0x81, 0x5E},
- GROWTH_SLOW},
- {"Mew",
- &I_mew,
- 0x15,
- 0x64,
- 0x64,
- 0x64,
- 0x64,
- 0x64,
- {0x18, 0x18},
- {0x01, 0x00, 0x00, 0x00},
- GROWTH_MEDIUM_SLOW},
- {},
-};
-
-const NamedList move_list[] = {
- {"No Move", 0x00},
- {"Absorb", 0x47},
- {"Acid Armor", 0x97},
- {"Acid", 0x33},
- {"Agility", 0x61},
- {"Amnesia", 0x85},
- {"Aurora Beam", 0x3E},
- {"Barrage", 0x8C},
- {"Barrier", 0x70},
- {"Bide", 0x75},
- {"Bind", 0x14},
- {"Bite", 0x2C},
- {"Blizzard", 0x3B},
- {"Body Slam", 0x22},
- {"Bone Club", 0x7D},
- {"Boomerang", 0x9B},
- {"Bubblebeam", 0x3D},
- {"Bubble", 0x91},
- {"Clamp", 0x80},
- {"Comet Punch", 0x04},
- {"Confuse Ray", 0x6D},
- {"Confusion", 0x5D},
- {"Constrict", 0x84},
- {"Conversion", 0xA0},
- {"Counter", 0x44},
- {"Crabhammer", 0x98},
- {"Cut", 0x0F},
- {"Defense Curl", 0x6F},
- {"Dig", 0x5B},
- {"Disable", 0x32},
- {"Dizzy Punch", 0x92},
- {"Doubleslap", 0x03},
- {"Double Kick", 0x18},
- {"Double Team", 0x68},
- {"Double-Edge", 0x26},
- {"Dragon Rage", 0x52},
- {"Dream Eater", 0x8A},
- {"Drill Peck", 0x41},
- {"Earthquake", 0x59},
- {"Egg Bomb", 0x79},
- {"Ember", 0x34},
- {"Explosion", 0x99},
- {"Fire Blast", 0x7E},
- {"Fire Punch", 0x07},
- {"Fire Spin", 0x53},
- {"Fissure", 0x5A},
- {"Flamethrower", 0x35},
- {"Flash", 0x94},
- {"Fly", 0x13},
- {"Focus Energy", 0x74},
- {"Fury Attack", 0x1F},
- {"Fury Swipes", 0x9A},
- {"Glare", 0x89},
- {"Growl", 0x2D},
- {"Growth", 0x4A},
- {"Guillotine", 0x0C},
- {"Gust", 0x10},
- {"Harden", 0x6A},
- {"Haze", 0x72},
- {"Headbutt", 0x1D},
- {"Hi Jump Kick", 0x88},
- {"Horn Attack", 0x1E},
- {"Horn Drill", 0x20},
- {"Hydro Pump", 0x38},
- {"Hyper Beam", 0x3F},
- {"Hyper Fang", 0x9E},
- {"Hypnosis", 0x5F},
- {"Ice Beam", 0x3A},
- {"Ice Punch", 0x08},
- {"Jump Kick", 0x1A},
- {"Karate Chop", 0x02},
- {"Kinesis", 0x86},
- {"Leech Life", 0x8D},
- {"Leech Seed", 0x49},
- {"Leer", 0x2B},
- {"Lick", 0x7A},
- {"Light Screen", 0x71},
- {"Lovely Kiss", 0x8E},
- {"Low Kick", 0x43},
- {"Meditate", 0x60},
- {"Mega Drain", 0x48},
- {"Mega Kick", 0x19},
- {"Mega Punch", 0x05},
- {"Metronome", 0x76},
- {"Mimic", 0x66},
- {"Minimize", 0x6B},
- {"Mirror Move", 0x77},
- {"Mist", 0x36},
- {"Night Shade", 0x65},
- {"Pay Day", 0x06},
- {"Peck", 0x40},
- {"Petal Dance", 0x50},
- {"Pin Missile", 0x2A},
- {"Poisonpowder", 0x4D},
- {"Poison Gas", 0x8B},
- {"Poison Sting", 0x28},
- {"Pound", 0x01},
- {"Psybeam", 0x3C},
- {"Psychic", 0x5E},
- {"Psywave", 0x95},
- {"Quick Attack", 0x62},
- {"Rage", 0x63},
- {"Razor Leaf", 0x4B},
- {"Razor Wind", 0x0D},
- {"Recover", 0x69},
- {"Reflect", 0x73},
- {"Rest", 0x9C},
- {"Roar", 0x2E},
- {"Rock Slide", 0x9D},
- {"Rock Throw", 0x58},
- {"Rolling Kick", 0x1B},
- {"Sand Attack", 0x1C},
- {"Scratch", 0x0A},
- {"Screech", 0x67},
- {"Seismic Toss", 0x45},
- {"Selfdestruct", 0x78},
- {"Sharpen", 0x9F},
- {"Sing", 0x2F},
- {"Skull Bash", 0x82},
- {"Sky Attack", 0x8F},
- {"Slam", 0x15},
- {"Slash", 0xA3},
- {"Sleep Powder", 0x4F},
- {"Sludge", 0x7C},
- {"Smog", 0x7B},
- {"Smokescreen", 0x6C},
- {"Softboiled", 0x87},
- {"Solar Beam", 0x4C},
- {"Sonicboom", 0x31},
- {"Spike Cannon", 0x83},
- {"Splash", 0x96},
- {"Spore", 0x93},
- {"Stomp", 0x17},
- {"Strength", 0x46},
- {"String Shot", 0x51},
- {"Struggle", 0xA5},
- {"Stun Spore", 0x4E},
- {"Submission", 0x42},
- {"Substitute", 0xA4},
- {"Supersonic", 0x30},
- {"Super Fang", 0xA2},
- {"Surf", 0x39},
- {"Swift", 0x81},
- {"Swords Dance", 0x0E},
- {"Tackle", 0x21},
- {"Tail Whip", 0x27},
- {"Take Down", 0x24},
- {"Teleport", 0x64},
- {"Thrash", 0x25},
- {"Thunderbolt", 0x55},
- {"Thunderpunch", 0x09},
- {"Thundershock", 0x54},
- {"Thunder Wave", 0x56},
- {"Thunder", 0x57},
- {"Toxic", 0x5C},
- {"Transform", 0x90},
- {"Tri Attack", 0xA1},
- {"Twineedle", 0x29},
- {"Vicegrip", 0x0B},
- {"Vine Whip", 0x16},
- {"Waterfall", 0x7F},
- {"Water Gun", 0x37},
- {"Whirlwind", 0x12},
- {"Wing Attack", 0x11},
- {"Withdraw", 0x6E},
- {"Wrap", 0x23},
- {},
-};
-
-const NamedList type_list[] = {
- {"Bug", 0x07},
- {"Dragon", 0x1A},
- {"Electric", 0x17},
- {"Fighting", 0x01},
- {"Fire", 0x14},
- {"Flying", 0x02},
- {"Ghost", 0x08},
- {"Grass", 0x16},
- {"Ground", 0x04},
- {"Ice", 0x19},
- {"Normal", 0x00},
- {"Poison", 0x03},
- {"Psychic", 0x18},
- {"Rock", 0x05},
- {"Water", 0x15},
- {},
-};
-
-int pokemon_table_get_num_from_index(const PokemonTable* table, uint8_t index) {
- int i;
-
- for(i = 0;; i++) {
- if(table[i].index == index) return i;
- if(table[i].name == NULL) break;
- }
-
- return 0;
-}
-
-int pokemon_named_list_get_num_elements(const NamedList* list) {
- int i;
-
- for(i = 0;; i++) {
- if(list[i].name == NULL) return i;
- }
-}
-
-int pokemon_named_list_get_list_pos_from_index(const NamedList* list, uint8_t index) {
- int i;
-
- for(i = 0;; i++) {
- if(list[i].name == NULL) break;
- if(index == list[i].index) return i;
- }
-
- /* This will return the first entry in case index is not matched.
- * Could be surprising at runtime.
- */
- return 0;
-}
-
-const char* pokemon_named_list_get_name_from_index(const NamedList* list, uint8_t index) {
- int i;
-
- for(i = 0;; i++) {
- if(list[i].name == NULL) break;
- if(index == list[i].index) return list[i].name;
- }
-
- /* This will return the first entry in the case index is not matched,
- * this could be confusing/problematic at runtime.
- */
- return list[0].name;
-}
-
-/* If dest is not NULL, a copy of the default name is written to it as well */
-void pokemon_trade_block_set_default_name(char* dest, PokemonFap* pokemon_fap, size_t n) {
- int i;
- char buf[11];
-
- /* Walk through the default name, toupper() each character, encode it, and
- * then write that to the same position in the trade_block.
- */
- for(i = 0; i < 11; i++) {
- pokemon_fap->trade_block->nickname[0].str[i] = pokemon_char_to_encoded(
- toupper(pokemon_fap->pokemon_table[pokemon_fap->curr_pokemon].name[i]));
- buf[i] = toupper(pokemon_fap->pokemon_table[pokemon_fap->curr_pokemon].name[i]);
- }
- FURI_LOG_D(TAG, "[app] Set default nickname");
-
- if(dest != NULL) {
- strncpy(dest, buf, n);
- }
-}
-
-#define UINT32_TO_EXP(input, output_array) \
- do { \
- (output_array)[2] = (uint8_t)((input)&0xFF); \
- (output_array)[1] = (uint8_t)(((input) >> 8) & 0xFF); \
- (output_array)[0] = (uint8_t)(((input) >> 16) & 0xFF); \
- } while(0)
-
-void pokemon_trade_block_recalculate_stats_from_level(PokemonFap* pokemon_fap) {
- struct pokemon_structure* pkmn = &pokemon_fap->trade_block->party[0];
- const PokemonTable* table = &pokemon_fap->pokemon_table[pokemon_fap->curr_pokemon];
- int curr_stats = pokemon_fap->curr_stats;
- uint32_t experience;
- int level = pkmn->level;
- uint16_t stat;
- uint8_t hp_iv = 0xf;
- uint8_t atk_iv = 0xf;
- uint8_t def_iv = 0xf;
- uint8_t spd_iv = 0xf;
- uint8_t special_iv = 0xf;
-
- /* Calculate exp */
- switch(table->growth) {
- case GROWTH_FAST:
- // https://bulbapedia.bulbagarden.net/wiki/Experience#Fast
- experience = (4 * level * level * level) / 5;
- break;
- case GROWTH_MEDIUM_FAST:
- // https://bulbapedia.bulbagarden.net/wiki/Experience#Medium_Fast
- experience = (level * level * level);
- break;
- case GROWTH_MEDIUM_SLOW:
- // https://bulbapedia.bulbagarden.net/wiki/Experience#Medium_Slow
- experience =
- (((level * level * level) * 6 / 5) - (15 * level * level) + (100 * level) - 140);
- break;
- case GROWTH_SLOW:
- // https://bulbapedia.bulbagarden.net/wiki/Experience#Slow
- experience = (5 * level * level * level) / 4;
- break;
- default:
- furi_crash("incorrect growth val");
- break;
- }
-
- pkmn->level_again = level;
- UINT32_TO_EXP(experience, pkmn->exp);
- FURI_LOG_D(TAG, "[app] Set pkmn level %d", level);
- FURI_LOG_D(TAG, "[app] Set pkmn exp %d", (int)experience);
-
- /* Generate STATEXP */
- switch(curr_stats) {
- case 1:
- case 4:
- stat = (0xffff / 100) * level;
- break;
- case 2:
- case 5:
- stat = 0xffff;
- break;
- default:
- stat = 0;
- break;
- }
-
- FURI_LOG_D(TAG, "[app] EVs set to %d", stat);
- stat = __builtin_bswap16(stat);
-
- pkmn->hp_ev = stat;
- pkmn->atk_ev = stat;
- pkmn->def_ev = stat;
- pkmn->spd_ev = stat;
- pkmn->special_ev = stat;
-
- /* Set up IVs */
- if(curr_stats <= 2) {
- atk_iv = rand() % 15;
- def_iv = rand() % 15;
- spd_iv = rand() % 15;
- special_iv = rand() % 15;
- pkmn->iv = ((atk_iv & 0x0f) << 12) | ((def_iv & 0x0f) << 8) | ((spd_iv & 0x0f) << 4) |
- ((special_iv & 0x0f));
- hp_iv = (pkmn->iv & 0xAA) >> 4;
- }
- FURI_LOG_D(
- TAG,
- "[app] atk_iv %d, def_iv %d, spd_iv %d, spc_iv %d, hp_iv %d",
- atk_iv,
- def_iv,
- spd_iv,
- special_iv,
- hp_iv);
-
- /* Calculate HP */
- // https://bulbapedia.bulbagarden.net/wiki/Stat#Generations_I_and_II
- stat = floor((((2 * (table->base_hp + hp_iv)) + floor(sqrt(pkmn->hp_ev) / 4)) * level) / 100) +
- (level + 10);
- FURI_LOG_D(TAG, "[app] HP set to %d", stat);
- pkmn->hp = __builtin_bswap16(stat);
- pkmn->max_hp = pkmn->hp;
-
- /* Calculate ATK, DEF, SPD, SP */
- /* TODO: these all use the same calculations, could put the stats in a sub-array and iterate
- * through each element in order rather than having to repeat the code. IVs would also need
- * to be in a similar array.
- **/
- // https://bulbapedia.bulbagarden.net/wiki/Stat#Generations_I_and_II
- stat =
- floor((((2 * (table->base_atk + atk_iv)) + floor(sqrt(pkmn->atk_ev) / 4)) * level) / 100) +
- 5;
- FURI_LOG_D(TAG, "[app] ATK set to %d", stat);
- pkmn->atk = __builtin_bswap16(stat);
- stat =
- floor((((2 * (table->base_def + def_iv)) + floor(sqrt(pkmn->def_ev) / 4)) * level) / 100) +
- 5;
- FURI_LOG_D(TAG, "[app] DEF set to %d", stat);
- pkmn->def = __builtin_bswap16(stat);
- stat =
- floor((((2 * (table->base_spd + spd_iv)) + floor(sqrt(pkmn->spd_ev) / 4)) * level) / 100) +
- 5;
- FURI_LOG_D(TAG, "[app] SPD set to %d", stat);
- pkmn->spd = __builtin_bswap16(stat);
- stat = floor(
- (((2 * (table->base_special + special_iv)) + floor(sqrt(pkmn->special_ev) / 4)) *
- level) /
- 100) +
- 5;
- FURI_LOG_D(TAG, "[app] SPC set to %d", stat);
- pkmn->special = __builtin_bswap16(stat);
-}
-
-/* Rebuild the current trade block's variables based on curr_pokemon */
-void pokemon_trade_block_recalculate(PokemonFap* pokemon_fap) {
- struct pokemon_structure* pkmn = &pokemon_fap->trade_block->party[0];
- const PokemonTable* table = &pokemon_fap->pokemon_table[pokemon_fap->curr_pokemon];
- int i;
-
- /* Set current pokemon to the trade structure */
- pkmn->index = table->index;
- pokemon_fap->trade_block->party_members[0] = table->index;
- FURI_LOG_D(TAG, "[app] Set %s in trade block", table->name);
-
- /* Set current pokemon's moves to the trade structure */
- for(i = 0; i < 4; i++) {
- pkmn->move[i] = table->move[i];
- FURI_LOG_D(
- TAG,
- "[app] Set %s in trade block",
- pokemon_named_list_get_name_from_index(pokemon_fap->move_list, pkmn->move[i]));
- }
-
- /* Set current pokemon's types to the trade structure */
- for(i = 0; i < 2; i++) {
- pkmn->type[i] = table->type[i];
- FURI_LOG_D(
- TAG,
- "[app] Set %s in trade block",
- pokemon_named_list_get_name_from_index(pokemon_fap->type_list, pkmn->type[i]));
- }
-
- pokemon_trade_block_recalculate_stats_from_level(pokemon_fap);
- pokemon_trade_block_set_default_name(NULL, pokemon_fap, 0);
-}
-
-/* Allocates a chunk of memory for the trade data block and sets up some
- * default values.
- */
-static TradeBlock* trade_block_alloc(void) {
- TradeBlock* trade;
-
- trade = malloc(sizeof(TradeBlock));
-
- /* Clear struct to be all TERM_ bytes as the various name strings need this */
- memset(trade, TERM_, sizeof(TradeBlock));
-
- /* The party_members element needs to be 0xff for unused */
- memset(trade->party_members, 0xFF, sizeof(trade->party_members));
-
- /* Zero the main party data, TERM_ in there can cause weirdness */
- memset(trade->party, 0x00, sizeof(trade->party));
-
- /* Set our Name, the pokemon's default OT name and ID */
- trade->party_cnt = 1;
-
- /* Trainer/OT name, not to exceed 7 characters! */
- pokemon_str_to_encoded_array(trade->trainer_name, "Flipper", sizeof(trade->trainer_name));
- pokemon_str_to_encoded_array(trade->ot_name[0].str, "Flipper", sizeof(trade->ot_name[0].str));
-
- /* OT trainer ID# */
- trade->party[0].ot_id = __builtin_bswap16(42069);
-
- /* Notes:
- * Move pp isn't explicitly set up, should be fine
- * Catch/held isn't explicitly set up, should be okay for only Gen I support now
- * Status condition isn't explicity let up, would you ever want to?
- */
-
- /* Set up initial level */
- trade->party[0].level = 2;
-
- return trade;
-}
-
-static void trade_block_free(TradeBlock* trade) {
- free(trade);
-}
-
-PokemonFap* pokemon_alloc() {
- PokemonFap* pokemon_fap = (PokemonFap*)malloc(sizeof(PokemonFap));
-
- // View dispatcher
- pokemon_fap->view_dispatcher = view_dispatcher_alloc();
-
- view_dispatcher_enable_queue(pokemon_fap->view_dispatcher);
- view_dispatcher_set_event_callback_context(pokemon_fap->view_dispatcher, pokemon_fap);
- view_dispatcher_attach_to_gui(
- pokemon_fap->view_dispatcher,
- (Gui*)furi_record_open(RECORD_GUI),
- ViewDispatcherTypeFullscreen);
-
- /* Set up pointers to const data tables for reference elsewhere */
- pokemon_fap->pokemon_table = pokemon_table;
- pokemon_fap->move_list = move_list;
- pokemon_fap->type_list = type_list;
-
- // Set up defaults
- pokemon_fap->curr_pokemon = 0;
- pokemon_fap->curr_stats = 0;
-
- // Set up trade party struct
- pokemon_fap->trade_block = trade_block_alloc();
-
- /* Update trade block struct with calculated details from initial values from trade_block_alloc() */
- pokemon_trade_block_recalculate(pokemon_fap);
-
- /* Set up gui modules used. It would be nice if these could be allocated and
- * freed as needed, however, the scene manager still requires pointers that
- * get set up as a part of the scene. Therefore, individual scene's exit
- * callbacks cannot free the buffer.
- */
- pokemon_fap->text_input = text_input_alloc();
- pokemon_fap->submenu = submenu_alloc();
- pokemon_fap->variable_item_list = variable_item_list_alloc();
-
- // Set up menu scene
- pokemon_fap->scene_manager = scene_manager_alloc(&pokemon_scene_manager_handlers, pokemon_fap);
- view_dispatcher_add_view(
- pokemon_fap->view_dispatcher, AppViewMainMenu, submenu_get_view(pokemon_fap->submenu));
- scene_manager_next_scene(pokemon_fap->scene_manager, MainMenuScene);
-
- // Select Pokemon View
- pokemon_fap->select_view = select_pokemon_alloc(pokemon_fap);
- view_dispatcher_add_view(
- pokemon_fap->view_dispatcher, AppViewSelectPokemon, pokemon_fap->select_view);
-
- // Trade View
- /* Allocates its own view and adds it to the main view_dispatcher */
- pokemon_fap->trade = trade_alloc(
- pokemon_fap->trade_block,
- pokemon_fap->pokemon_table,
- pokemon_fap->view_dispatcher,
- AppViewTrade);
-
- return pokemon_fap;
-}
-
-void free_app(PokemonFap* pokemon_fap) {
- furi_assert(pokemon_fap);
-
- // Free views
- view_dispatcher_remove_view(pokemon_fap->view_dispatcher, AppViewSelectPokemon);
- select_pokemon_free(pokemon_fap);
-
- /* Also removes itself from the view_dispatcher */
- trade_free(pokemon_fap->view_dispatcher, AppViewTrade, pokemon_fap->trade);
-
- view_dispatcher_remove_view(pokemon_fap->view_dispatcher, AppViewMainMenu);
-
- view_dispatcher_free(pokemon_fap->view_dispatcher);
-
- // Free scenes
- scene_manager_free(pokemon_fap->scene_manager);
-
- // Free gui modules
- submenu_free(pokemon_fap->submenu);
- text_input_free(pokemon_fap->text_input);
- variable_item_list_free(pokemon_fap->variable_item_list);
-
- // Close records
- furi_record_close(RECORD_GUI);
-
- // Free trade block
- trade_block_free(pokemon_fap->trade_block);
-
- // Free rest
- free(pokemon_fap);
- pokemon_fap = NULL;
-}
-
-int32_t pokemon_app(void* p) {
- UNUSED(p);
- PokemonFap* pokemon_fap = pokemon_alloc();
-
- furi_hal_light_set(LightRed, 0x00);
- furi_hal_light_set(LightGreen, 0x00);
- furi_hal_light_set(LightBlue, 0x00);
-
- //switch view and run dispatcher
- view_dispatcher_run(pokemon_fap->view_dispatcher);
-
- // Free resources
- free_app(pokemon_fap);
-
- return 0;
-}
diff --git a/applications/external/malveke_pokemon_trading/pokemon_app.h b/applications/external/malveke_pokemon_trading/pokemon_app.h
deleted file mode 100644
index c43e6f3136a..00000000000
--- a/applications/external/malveke_pokemon_trading/pokemon_app.h
+++ /dev/null
@@ -1,112 +0,0 @@
-#ifndef POKEMON_APP_H
-#define POKEMON_APP_H
-
-#pragma once
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include "pokemon_data.h"
-
-#define TAG "Pokemon"
-
-/* #defines for the data table entries */
-#define GROWTH_FAST 4
-#define GROWTH_MEDIUM_FAST 0
-#define GROWTH_MEDIUM_SLOW 3
-#define GROWTH_SLOW 5
-
-struct pokemon_data_table {
- const char* name;
- const Icon* icon;
- const uint8_t index;
- const uint8_t base_hp;
- const uint8_t base_atk;
- const uint8_t base_def;
- const uint8_t base_spd;
- const uint8_t base_special;
- const uint8_t type[2];
- const uint8_t move[4];
- const uint8_t growth;
-};
-
-typedef struct pokemon_data_table PokemonTable;
-
-struct named_list {
- const char* name;
- const uint8_t index;
-};
-
-typedef struct named_list NamedList;
-
-struct pokemon_fap {
- ViewDispatcher* view_dispatcher;
-
- /* View ports for each of the application's steps */
- View* select_view;
- void* trade;
-
- /* Scene manager */
- SceneManager* scene_manager;
-
- /* gui modules used in the application lifetime */
- Submenu* submenu;
- TextInput* text_input;
- VariableItemList* variable_item_list;
-
- /* Table of pokemon data for Gen I */
- const PokemonTable* pokemon_table;
-
- /* List of moves, alphabetically ordered */
- const NamedList* move_list;
-
- /* List of types, alphabetically ordered */
- const NamedList* type_list;
-
- /* Struct for holding trade data */
- /* NOTE: There may be some runtime memory savings by adding more intelligence
- * to views/trade and slimming down this struct to only contain the single
- * pokemon data rather than the full 6 member party data.
- */
- TradeBlock* trade_block;
-
- /* The currently selected pokemon */
- int curr_pokemon;
-
- /* TODO: Other variables will end up here, like selected level, EV/IV,
- * moveset, etc. Likely will want to be another sub struct similar to
- * the actual pokemon data structure.
- */
- int curr_stats;
-};
-
-typedef struct pokemon_fap PokemonFap;
-
-typedef enum {
- AppViewMainMenu,
- AppViewOpts, // Generic view ID meant for module re-use
- AppViewSelectPokemon,
- AppViewTrade,
- AppViewExitConfirm,
-} AppView;
-
-int pokemon_table_get_num_from_index(const PokemonTable* table, uint8_t index);
-
-int pokemon_named_list_get_num_elements(const NamedList* list);
-
-int pokemon_named_list_get_list_pos_from_index(const NamedList* list, uint8_t index);
-
-const char* pokemon_named_list_get_name_from_index(const NamedList* list, uint8_t index);
-
-void pokemon_trade_block_set_default_name(char* dest, PokemonFap* pokemon_fap, size_t n);
-
-void pokemon_trade_block_recalculate(PokemonFap* pokemon_fap);
-
-void pokemon_trade_block_recalculate_stats_from_level(PokemonFap* pokemon_fap);
-
-#endif /* POKEMON_APP_H */
diff --git a/applications/external/malveke_pokemon_trading/pokemon_char_encode.c b/applications/external/malveke_pokemon_trading/pokemon_char_encode.c
deleted file mode 100644
index 14351eae7dc..00000000000
--- a/applications/external/malveke_pokemon_trading/pokemon_char_encode.c
+++ /dev/null
@@ -1,313 +0,0 @@
-#include
-#include