From b7b03f2108389acfdccced2c0cf2d99be83af132 Mon Sep 17 00:00:00 2001
From: MX <10697207+xMasterX@users.noreply.github.com>
Date: Mon, 24 Jul 2023 00:01:18 +0300
Subject: [PATCH] Doom fixes and updates
---
ReadMe.md | 2 +-
applications/external/doom/.gitignore | 4 +
applications/external/doom/README.md | 70 ++--------------
applications/external/doom/application.fam | 4 +
.../{compiled/assets_icons.c => assets.c} | 76 +-----------------
.../{compiled/assets_icons.h => assets.h} | 6 --
.../external/doom/assets/screenshot-imp2.jpg | Bin 2160250 -> 0 bytes
.../doom/assets/screenshot-intro2.jpg | Bin 2362783 -> 0 bytes
.../doom/assets/screenshot-medkit2.jpg | Bin 2162491 -> 0 bytes
.../doom/assets/screenshot-start2.jpg | Bin 2383868 -> 0 bytes
applications/external/doom/display.h | 26 +++---
applications/external/doom/doom.c | 12 ++-
.../{assets/screenshot1.png => img/1.png} | Bin
.../{assets/screenshot2.png => img/2.png} | Bin
.../{assets/screenshot3.png => img/3.png} | Bin
15 files changed, 33 insertions(+), 167 deletions(-)
create mode 100644 applications/external/doom/.gitignore
rename applications/external/doom/{compiled/assets_icons.c => assets.c} (84%)
rename applications/external/doom/{compiled/assets_icons.h => assets.h} (94%)
delete mode 100644 applications/external/doom/assets/screenshot-imp2.jpg
delete mode 100644 applications/external/doom/assets/screenshot-intro2.jpg
delete mode 100644 applications/external/doom/assets/screenshot-medkit2.jpg
delete mode 100644 applications/external/doom/assets/screenshot-start2.jpg
rename applications/external/doom/{assets/screenshot1.png => img/1.png} (100%)
rename applications/external/doom/{assets/screenshot2.png => img/2.png} (100%)
rename applications/external/doom/{assets/screenshot3.png => img/3.png} (100%)
diff --git a/ReadMe.md b/ReadMe.md
index a73fa5221..1cedb8b6c 100644
--- a/ReadMe.md
+++ b/ReadMe.md
@@ -174,7 +174,7 @@ You can support us by using links or addresses below:
- ESP32-CAM -> Camera Suite [(by CodyTolene)](https://github.com/CodyTolene/Flipper-Zero-Camera-Suite)
Games:
-- DOOM (fixed) [(by p4nic4ttack)](https://github.com/p4nic4ttack/doom-flipper-zero/)
+- DOOM (ported and fixed by @xMasterX & @Svarich & @hedger) [(original by p4nic4ttack)](https://github.com/p4nic4ttack/doom-flipper-zero/)
- Zombiez [(Reworked By DevMilanIan)](https://github.com/RogueMaster/flipperzero-firmware-wPlugins/pull/240) [(Original By Dooskington)](https://github.com/Dooskington/flipperzero-zombiez)
- Flappy Bird [(by DroomOne)](https://github.com/DroomOne/flipperzero-firmware/tree/dev/applications/flappy_bird)
- Arkanoid (refactored by xMasterX) [(by gotnull)](https://github.com/gotnull/flipperzero-firmware-wPlugins)
diff --git a/applications/external/doom/.gitignore b/applications/external/doom/.gitignore
new file mode 100644
index 000000000..e2a15a10a
--- /dev/null
+++ b/applications/external/doom/.gitignore
@@ -0,0 +1,4 @@
+dist/*
+.vscode
+.clang-format
+.editorconfig
\ No newline at end of file
diff --git a/applications/external/doom/README.md b/applications/external/doom/README.md
index 86e8d6d28..501f644d1 100644
--- a/applications/external/doom/README.md
+++ b/applications/external/doom/README.md
@@ -1,68 +1,10 @@
# Doom Flipper Zero edition
-
-

-
## Will it run Doom?
-As tradition goes, Doom is being ported to almost every possible embedded electronic device. Therefore I did an attempt to come up with something close to Doom and still compatible on the Flipper Zero's hardware.
This is not the actual Doom game but a port made from yet another Doom port to the Arduino Nano (https://github.com/daveruiz/doom-nano/). This port is basically a raycasting engine, using Doom sprites.
+As tradition goes, Doom is being ported to almost every possible embedded electronic device. Therefore I did an attempt to come up with something close to Doom and still compatible on the Flipper Zero's hardware. This is not the actual Doom game but a port made from yet another Doom port to the Arduino Nano - https://github.com/daveruiz/doom-nano/. This port is basically a raycasting engine, using Doom sprites.
This version is very basic and might be improved over time.
-## How to install on Flipper Zero
-During the porting process, minor changes were made to the workings (and build options) of the current firmware. These changes are documented here and are necessary in order to get a working firmware build that contains this Doom port.
-### Modifying the firmware & build options
- * In the `sites/cc.scons` add the following values to the `CCFLAGS` section:
- ```
- ...
-"-Wno-unused-parameter",
-"-Wno-type-limits",
-"-Wno-unused-variable",
-...
- ```
- * In `applications/gui/canvas_i.h` comment out the following line:
- `uint8_t* canvas_get_buffer(Canvas* canvas);` --> `//uint8_t* canvas_get_buffer(Canvas* canvas);`
-
- * In `applications/gui/canvas.h` add the following lines:
- ```
- uint8_t* canvas_get_buffer(Canvas* canvas);
- void canvas_draw_icon_bitmap(Canvas* canvas, uint8_t x, uint8_t y, int16_t w, int16_t h, const Icon* icon);
- ```
- * In `applications/gui/canvas.c` add the following function:
- ```
- void canvas_draw_icon_bitmap(Canvas* canvas, uint8_t x, uint8_t y, int16_t w, int16_t h, const Icon* icon){
- furi_assert(canvas);
- furi_assert(icon);
-
- x += canvas->offset_x;
- y += canvas->offset_y;
- uint8_t* icon_data = NULL;
- furi_hal_compress_icon_decode(icon_get_data(icon), &icon_data);
- u8g2_DrawXBM(&canvas->fb, x, y, w, h, icon_data);
- }
- ```
-
-### Installing the plugin in the firmware
- * Make a folder called Doom in the applications folder. Add all the source files (also the compiled folder and it's files) in the Doom folder.
- * Make the `applications/meta/application.fam` look like the following:
- ```
- App(
- appid="basic_plugins",
- name="Basic applications for plug-in menu",
- apptype=FlipperAppType.METAPACKAGE,
- provides=[
- ...
- "doom_game",
- ...
-
- ],
- )
- ```
-
-If all went well the only thing left to do is building the firmware and installing it to the Flipper.
-
-## Screenshots
-
-
-
-
-
-
-
+## Credits
+@xMasterX - Porting to latest firmware using new plugins system, fixing many issues, adding sound
+@Svaarich - New logo screen and cool icon
+@hedger - uFBT fixes and some bugfixes
+@p4nic4ttack - First raw implementation based on doom-nano
\ No newline at end of file
diff --git a/applications/external/doom/application.fam b/applications/external/doom/application.fam
index 94fa9ab67..5ff6878ee 100644
--- a/applications/external/doom/application.fam
+++ b/applications/external/doom/application.fam
@@ -11,4 +11,8 @@ App(
order=75,
fap_icon="doom_10px.png",
fap_category="Games",
+ fap_icon_assets="assets",
+ fap_author="@xMasterX & @Svarich & @hedger (original code by @p4nic4ttack)",
+ fap_version="1.0",
+ fap_description="Will it run Doom?",
)
diff --git a/applications/external/doom/compiled/assets_icons.c b/applications/external/doom/assets.c
similarity index 84%
rename from applications/external/doom/compiled/assets_icons.c
rename to applications/external/doom/assets.c
index cbdbbc94d..864588581 100644
--- a/applications/external/doom/compiled/assets_icons.c
+++ b/applications/external/doom/assets.c
@@ -1,78 +1,4 @@
-#include "assets_icons.h"
-
-#include
-
-// Inverted icons
-
-const uint8_t _I_fire_inv_0[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x40, 0xee, 0x00, 0x80, 0xe6, 0x00,
- 0x80, 0xa7, 0x01, 0x80, 0xc7, 0x03, 0x40, 0x45, 0x03, 0xe0, 0x41, 0x07, 0xf8, 0x82, 0x9f, 0xb9,
- 0x01, 0x3e, 0x7c, 0x00, 0x7a, 0x6e, 0x00, 0x56, 0x1c, 0x00, 0x6c, 0xf4, 0x01, 0x3a, 0x6c, 0x00,
- 0x7e, 0xfc, 0x00, 0x1a, 0x08, 0x00, 0x3c, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-const uint8_t* const _I_fire_inv[] = {_I_fire_inv_0};
-
-const uint8_t _I_gun_inv_0[] = {
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x80, 0x23, 0x00, 0x00, 0x40,
- 0x20, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x40, 0x57, 0x00, 0x00, 0x20, 0x8b, 0x00, 0x00,
- 0x90, 0x11, 0x01, 0x00, 0x98, 0x00, 0x00, 0x00, 0xb0, 0x43, 0x01, 0x00, 0x94, 0x81, 0x03,
- 0x00, 0xd0, 0x45, 0x04, 0x00, 0x8c, 0x02, 0x02, 0x00, 0xc4, 0x00, 0x03, 0x00, 0xc8, 0x00,
- 0x02, 0x00, 0x4e, 0x40, 0x00, 0x00, 0x92, 0x00, 0x02, 0x80, 0x07, 0x15, 0x04, 0xe0, 0x8f,
- 0x00, 0x0c, 0xd0, 0x9d, 0x07, 0x17, 0xe0, 0x3a, 0xc0, 0x3f, 0xe0, 0xf7, 0xff, 0x77, 0xe0,
- 0xae, 0xfe, 0x4b, 0xd8, 0xdd, 0xff, 0x4d, 0x88, 0xea, 0xbe, 0x26, 0x4c, 0xf5, 0xff, 0x17,
- 0xc8, 0xfa, 0xae, 0x0b, 0xcc, 0xff, 0xdf, 0x19, 0xe8, 0xeb, 0xa7, 0x00, 0xd8, 0xf1, 0x4d,
- 0x0c, 0xc0, 0xbe, 0x1a, 0x08, 0xf6, 0xfd, 0x37, 0x04,
-};
-const uint8_t* const _I_gun_inv[] = {_I_gun_inv_0};
-
-const uint8_t _I_gun_mask_inv_0[] = {
- 0x01, 0x00, 0x53, 0x00, 0x00, 0x0c, 0x38, 0x04, 0x38, 0x09, 0xf8, 0x0c, 0x78, 0x17, 0xf0,
- 0x18, 0xf8, 0x00, 0x67, 0xff, 0x01, 0xaf, 0xc3, 0xff, 0x01, 0x80, 0x7e, 0x3f, 0xf0, 0x38,
- 0x07, 0xf0, 0x0e, 0x40, 0x31, 0x03, 0x8f, 0xfb, 0xff, 0x07, 0x01, 0x94, 0x3c, 0x0e, 0xc0,
- 0x35, 0xff, 0x85, 0xc8, 0x06, 0x30, 0x7e, 0x00, 0x0c, 0x61, 0xe2, 0xe1, 0xff, 0xc7, 0xc5,
- 0xc3, 0xff, 0x9f, 0x80, 0xca, 0xfe, 0x03, 0x2f, 0xf8, 0x0c, 0xc6, 0xc2, 0x03, 0x4b, 0xf8,
- 0xa8, 0x42, 0xe2, 0x03, 0x28, 0xf8, 0x1e, 0x80, 0x68, 0x1e, 0x28, 0x78,
-};
-const uint8_t* const _I_gun_mask_inv[] = {_I_gun_mask_inv_0};
-
-const uint8_t _I_logo_inv_0[] = {
- 0x01, 0x00, 0x92, 0x01, 0x00, 0x78, 0x03, 0xc0, 0x03, 0xfc, 0xff, 0xff, 0xfc, 0x1f, 0xf9, 0xff,
- 0xe3, 0xff, 0x0f, 0x8f, 0xfc, 0x2f, 0xe0, 0xf3, 0xdc, 0x6e, 0xf7, 0x7b, 0x1d, 0xdd, 0xef, 0x79,
- 0xbb, 0xcd, 0xce, 0xf7, 0x13, 0xb0, 0x79, 0xfc, 0x03, 0xe3, 0xfb, 0x01, 0x0f, 0xfb, 0xff, 0xbf,
- 0x11, 0x8c, 0x7c, 0x1e, 0x7e, 0x0f, 0x77, 0xbb, 0xd4, 0x02, 0x10, 0x00, 0xeb, 0xad, 0xde, 0xc8,
- 0x70, 0x3c, 0xf8, 0x01, 0xf7, 0xbf, 0xff, 0x20, 0xe0, 0xf3, 0xc0, 0x6e, 0x80, 0x0d, 0x7a, 0xde,
- 0x40, 0x83, 0xf8, 0x03, 0x10, 0xfa, 0x70, 0x07, 0xee, 0x02, 0x18, 0x30, 0x3d, 0x0a, 0xe3, 0xfb,
- 0x83, 0x86, 0xc7, 0x82, 0x1f, 0x1f, 0xf8, 0xfd, 0x61, 0x5a, 0x0d, 0x54, 0x0b, 0x55, 0xaa, 0xc0,
- 0x00, 0x84, 0x0c, 0x21, 0xf4, 0x8f, 0xf4, 0x3b, 0x70, 0x3e, 0xf7, 0x7b, 0x01, 0x9f, 0xef, 0xf7,
- 0xc3, 0xfe, 0x1f, 0x6f, 0x87, 0xee, 0x07, 0xfe, 0xff, 0x60, 0x07, 0xfe, 0x1f, 0x88, 0xef, 0xc3,
- 0xf3, 0x01, 0xfe, 0x7f, 0x30, 0x1b, 0xdf, 0xef, 0xf6, 0x0a, 0x1f, 0xf0, 0x79, 0xd0, 0x22, 0xf7,
- 0x0b, 0x9c, 0x0e, 0xed, 0x76, 0x80, 0x4d, 0xee, 0xf7, 0x71, 0xff, 0x87, 0xd6, 0x2b, 0x50, 0xa8,
- 0xc0, 0x6a, 0x95, 0x48, 0x04, 0x56, 0xab, 0x55, 0x1f, 0xf8, 0xff, 0xc7, 0xfe, 0x3f, 0xaa, 0xe4,
- 0x02, 0x3b, 0x55, 0xae, 0x8f, 0xfc, 0xbf, 0xe1, 0xff, 0x0f, 0xf8, 0x7d, 0x61, 0x18, 0x0c, 0x44,
- 0x03, 0x11, 0x88, 0x02, 0x0e, 0x23, 0x04, 0x0e, 0x30, 0xfa, 0x41, 0x43, 0xe2, 0x06, 0x18, 0xa8,
- 0x18, 0x43, 0xe9, 0x02, 0xd0, 0x68, 0xa1, 0x5a, 0x2d, 0x51, 0x10, 0x70, 0x5a, 0x21, 0xfc, 0x45,
- 0x43, 0xe3, 0x50, 0x0f, 0xc4, 0x20, 0x72, 0x20, 0x22, 0x02, 0x16, 0x00, 0x7e, 0xd5, 0x4a, 0x8d,
- 0x54, 0x3e, 0x35, 0x40, 0xfb, 0x80, 0x3c, 0x3e, 0x35, 0x5a, 0x09, 0xe8, 0x6a, 0x87, 0xc1, 0x23,
- 0x88, 0xfd, 0x40, 0x0c, 0x09, 0x20, 0xfa, 0x87, 0x06, 0x00, 0x1f, 0x38, 0x0c, 0x50, 0x3e, 0xa0,
- 0x0f, 0x0f, 0x8c, 0x56, 0x00, 0x5c, 0x1a, 0x80, 0x90, 0x62, 0x03, 0xf6, 0x80, 0x42, 0x17, 0xc2,
- 0x7b, 0x10, 0x20, 0x87, 0xde, 0xa9, 0x04, 0x80, 0x54, 0x20, 0x94, 0x08, 0xa0, 0x24, 0x47, 0xf5,
- 0x01, 0x20, 0x54, 0x44, 0x18, 0x80, 0x42, 0x88, 0x17, 0xfc, 0x7e, 0xb4, 0x40, 0x4c, 0x12, 0x04,
- 0x01, 0xe3, 0xf4, 0x2a, 0xf8, 0x03, 0xc0, 0x1f, 0xe0, 0xbc, 0xcf, 0xb8, 0xf8, 0x1e, 0xbf, 0xcc,
- 0x5b, 0x12, 0x0c, 0x56, 0x0a, 0x51, 0x82, 0xa8, 0x28, 0x08, 0x1f, 0x32, 0x0c, 0x00, 0x3e, 0x85,
- 0xe3, 0x1e, 0x17, 0x8f, 0x4f, 0xe6, 0x1f, 0x99, 0x44, 0x0a, 0x10, 0x2f, 0x13, 0xb4, 0xc8, 0x29,
- 0x03, 0xf3, 0x89, 0x03, 0xe7, 0x10, 0x5f, 0x2a, 0x87, 0xd1, 0x1b, 0xe0, 0x0f, 0x00, 0x78, 0x03,
- 0xc0, 0x1e, 0x00, 0xf0, 0x02, 0x00,
-};
-const uint8_t* const _I_logo_inv[] = {_I_logo_inv_0};
-
-const Icon I_fire_inv =
- {.width = 24, .height = 20, .frame_count = 1, .frame_rate = 0, .frames = _I_fire_inv};
-const Icon I_gun_inv =
- {.width = 32, .height = 32, .frame_count = 1, .frame_rate = 0, .frames = _I_gun_inv};
-const Icon I_gun_mask_inv =
- {.width = 32, .height = 32, .frame_count = 1, .frame_rate = 0, .frames = _I_gun_mask_inv};
-const Icon I_logo_inv =
- {.width = 128, .height = 64, .frame_count = 1, .frame_rate = 0, .frames = _I_logo_inv};
+#include "assets.h"
const uint8_t space[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
const uint8_t zero[] = {0x00, 0x60, 0x90, 0x90, 0x90, 0x60};
diff --git a/applications/external/doom/compiled/assets_icons.h b/applications/external/doom/assets.h
similarity index 94%
rename from applications/external/doom/compiled/assets_icons.h
rename to applications/external/doom/assets.h
index 3521728de..546d7607d 100644
--- a/applications/external/doom/compiled/assets_icons.h
+++ b/applications/external/doom/assets.h
@@ -41,12 +41,6 @@
#define GRADIENT_WHITE 7
#define GRADIENT_BLACK 0
-// Inverted icons
-extern const Icon I_fire_inv;
-extern const Icon I_gun_inv;
-extern const Icon I_gun_mask_inv;
-extern const Icon I_logo_inv;
-
// Fonts
extern const uint8_t zero[];
extern const uint8_t one[];
diff --git a/applications/external/doom/assets/screenshot-imp2.jpg b/applications/external/doom/assets/screenshot-imp2.jpg
deleted file mode 100644
index 0b4c29c4f2f3b7f92e78813ca5b6a7dec5f2c78b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 2160250
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