More actions
No edit summary |
No edit summary |
||
(10 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{Infobox GBA Homebrews | {{Infobox GBA Homebrews | ||
|title=GBADoom | |title=GBADoom | ||
|image=gbadoom2.png | |image=gbadoom2.png | ||
|description= | |description=Port of prBoom to the Nintendo GBA. | ||
|author=doomhack | |author=doomhack | ||
|lastupdated= | |lastupdated=2024/08/28 | ||
|type=Shooter | |type=Shooter | ||
|version=2. | |version=2.6 | ||
|license=Mixed | |license=Mixed | ||
|download=https://dlhb.gamebrew.org/gbahomebrews/gbadoom.7z | |download=https://dlhb.gamebrew.org/gbahomebrews/gbadoom.7z | ||
Line 18: | Line 12: | ||
|source=https://github.com/doomhack/GBADoom/releases | |source=https://github.com/doomhack/GBADoom/releases | ||
}} | }} | ||
GBA Doom is a port of prBoom to the GBA. | {{#seo: | ||
|title= (Shooter) - GameBrew | |||
|title_mode=append | |||
|image=gbadoom2.png | |||
|image_alt=GBADoom | |||
}} | |||
GBA Doom is a port of prBoom to the GBA. Comes with a pre-compiled build with the shareware wad embedded. | |||
[https://github.com/doomhack/GBADoom#building Build instructions]. | |||
==Features== | ==Features== | ||
Line 26: | Line 28: | ||
* Framerate is pretty variable. Simple areas run at ~35fps. Complex areas (Eg: E4M2) chug along at about 10 FPS. It's running around the same as the original GBA Doom1 and Doom2 ports. Doom1 Episodes 1-3 are all completely playable. Episode 4 chugs. | * Framerate is pretty variable. Simple areas run at ~35fps. Complex areas (Eg: E4M2) chug along at about 10 FPS. It's running around the same as the original GBA Doom1 and Doom2 ports. Doom1 Episodes 1-3 are all completely playable. Episode 4 chugs. | ||
* Sound and music support. Big thanks to BloodShedder for his Chiptune Doom MOD files. | * Sound and music support. Big thanks to BloodShedder for his Chiptune Doom MOD files. | ||
==User guide== | ==User guide== | ||
Cheats | ===Cheats=== | ||
*Chainsaw - L, UP, UP, LEFT, L, SELECT, SELECT, UP | *Chainsaw - L, UP, UP, LEFT, L, SELECT, SELECT, UP | ||
*God mode - UP, UP, DOWN, DOWN, LEFT, LEFT, RIGHT, RIGHT | *God mode - UP, UP, DOWN, DOWN, LEFT, LEFT, RIGHT, RIGHT | ||
Line 65: | Line 44: | ||
*Enemy Rockets (Goldeneye) - A, B, L, R, R, L, B, A | *Enemy Rockets (Goldeneye) - A, B, L, R, R, L, B, A | ||
*Toggle FPS counter - A, B, L, UP, DOWN, B, LEFT, LEFT | *Toggle FPS counter - A, B, L, UP, DOWN, B, LEFT, LEFT | ||
===Mod and conversions=== | |||
* [[GBADoom SVN|GBADoom SVN]] by Kippykip. | |||
* [[GBAFreeDoom|GBAFreeDoom]] by Devin "RetroGamer02". | |||
* [[GBA_Doom_WAD_Conversions|GBA Doom WAD Conversions]] by Bazooka_Face. | |||
* [[Chex Quest GBA|Chex Quest GBA]] by Jinroh. | |||
==Controls== | ==Controls== | ||
Line 100: | Line 85: | ||
==Changelog== | ==Changelog== | ||
'''2.6''' | |||
* Added save type string to ROM so that emulators should detect save type. | |||
* GCC 14 build fixes. | |||
'''2.5''' | |||
*Remove Invulerabiliy cheat on type-11 floors. (E1M8 ending) With thanks to ez-me. | |||
*Fix sprite render error in low-detail mode where sprites would spill off the right edge of the screen | |||
'''2.4''' | '''2.4''' | ||
* Fix sprites not rendering properly. | * Fix sprites not rendering properly. | ||
Line 127: | Line 120: | ||
* GitHub - https://github.com/doomhack/GBADoom | * GitHub - https://github.com/doomhack/GBADoom | ||
* Doomworld - https://www.doomworld.com/forum/topic/110625-gba-doom-source-port-running-on-game-boy-advance/ | * Doomworld - https://www.doomworld.com/forum/topic/110625-gba-doom-source-port-running-on-game-boy-advance/ | ||
Latest revision as of 02:30, 1 September 2024
GBADoom | |
---|---|
General | |
Author | doomhack |
Type | Shooter |
Version | 2.6 |
License | Mixed |
Last Updated | 2024/08/28 |
Links | |
Download | |
Website | |
Source | |
GBA Doom is a port of prBoom to the GBA. Comes with a pre-compiled build with the shareware wad embedded.
Features
- Supports Doom Shareware, Retail, Ultimate and Doom2 IWADS.
- Renderer is largely intact. Z-Depth lighting is gone and there is mip-mapping but it's otherwise complete.
- Monster behaviour is all intact (I.e sound propagation etc).
- Framerate is pretty variable. Simple areas run at ~35fps. Complex areas (Eg: E4M2) chug along at about 10 FPS. It's running around the same as the original GBA Doom1 and Doom2 ports. Doom1 Episodes 1-3 are all completely playable. Episode 4 chugs.
- Sound and music support. Big thanks to BloodShedder for his Chiptune Doom MOD files.
User guide
Cheats
- Chainsaw - L, UP, UP, LEFT, L, SELECT, SELECT, UP
- God mode - UP, UP, DOWN, DOWN, LEFT, LEFT, RIGHT, RIGHT
- Ammo & Keys - L, LEFT, R, RIGHT, SELECT,UP, SELECT, UP
- Ammo - R, R, SELECT,R, SELECT,UP, UP, LEFT
- No Clipping - UP, DOWN, LEFT, RIGHT, UP, DOWN, LEFT, RIGHT
- Invincibility - A, B, L, R, L, R, SELECT, SELECT
- Berserk - B, B, R, UP, A, A, R, B
- Invisibility - A, A, SELECT,B, A, SELECT, L, B
- Auto-map - L, SELECT,R, B, A, R, L, UP
- Lite-Amp Goggles - DOWN,LEFT, R, LEFT, R, L, L, SELECT
- Exit Level - LEFT,R, LEFT, L, B, LEFT, RIGHT, A
- Enemy Rockets (Goldeneye) - A, B, L, R, R, L, B, A
- Toggle FPS counter - A, B, L, UP, DOWN, B, LEFT, LEFT
Mod and conversions
- GBADoom SVN by Kippykip.
- GBAFreeDoom by Devin "RetroGamer02".
- GBA Doom WAD Conversions by Bazooka_Face.
- Chex Quest GBA by Jinroh.
Controls
B - Fire
A - Use, Sprint
D-Pad - Walk
L/R - Strafe
Select - Automap
A+R - Weapon up
A+L - Weapon down
Start - Menu
Screenshots
Compatibility
Plays on most emulators or a real device if you have a flash cart.
Known issues
Demo compatibility is broken.
General optimisation. It is never going to get a perfect 35FPS but there maybe still another 25% left without changing the visual quality/correctness/game behaviour. For reference, the first build ran under the emulator it ran at about 3FPS.
Although it is based on prBoom, most of the engine enhancements (dehacked, limit removing etc) have been reverted back to Vanilla. This is either for memory or performance reasons. Sadly, NUTS.wad and Okuplok are right out.
No multiplayer.
Changelog
2.6
- Added save type string to ROM so that emulators should detect save type.
- GCC 14 build fixes.
2.5
- Remove Invulerabiliy cheat on type-11 floors. (E1M8 ending) With thanks to ez-me.
- Fix sprite render error in low-detail mode where sprites would spill off the right edge of the screen
2.4
- Fix sprites not rendering properly.
2.3
- Fix broken sound in 2.2.
2.2
- Added high detail graphics mode. In this mode sprites are drawn at full resolution and texture mipmapping is removed. There is a modest framerate penalty.
- Various Memory savings. Saved a few kb here and there by using bitfields, factoring out struct members. All of Plutonia with the exception of Map 28 will load and play now on Nightmare.
- Use the original iD Doom Zone memory allocator. This removes some overhead from each memory allocation.
- Minor performance improvements.
2.1
- Add screen wipe effect back in. Backported from here.
- Some fairly minor optimisations. Mainly factoring out division.
- Build with Link time code gen. (-flto).
2.0
- Lots of optimisations. Factored out more division, use reciprocal table, move more code to IWRAM. Offers around a 15-25% improvement in FPS.
- Some memory savings. There's still a couple of levels in Plutonia that won't load, (Map 23 & 28).
- Added framerate display. (Which can be accessed via a cheat. Thanks KipyKip. Why didn't I think of that!?) It replaces your current weapon ammo display and is in 10th's. So 234 = 23.4FPS.
- Fixed cyberdemon and spiderdemon not being drawn at distances over 1280 units.
- Allowed PC build for debugging with MSVC compiler too (Use 32bit. I don't think it works 64bit due to struct alignment).