Giter VIP home page Giter VIP logo

glkarin / com.n0n3m4.diii4a Goto Github PK

View Code? Open in Web Editor NEW
246.0 28.0 16.0 2.46 GB

idTech4A++, idTech engine game For Android, DOOM III/Quake 4/Prey(2006)/DOOM 3 BFG/The Dark Mod/RTCW/Quake 1 2 3/GZDOOM

License: GNU General Public License v3.0

Java 0.46% Makefile 1.48% C 41.13% Roff 0.74% C++ 51.28% Shell 1.70% SAS 0.01% Smalltalk 0.01% WebAssembly 0.01% Assembly 0.18% HTML 1.13% Module Management System 0.01% Python 0.39% Objective-C 0.03% Perl 0.29% CMake 0.44% M4 0.36% CSS 0.01% TeX 0.09% GLSL 0.26%
android doom3 quake4 prey idtech4 diii4a

com.n0n3m4.diii4a's Introduction

idTech4A++ (Harmattan Edition)

DOOM III/Quake 4/Prey(2006)/DOOM 3 BFG/The Dark Mod for Android/Windows/Linux OpenGLES

毁灭战士3/雷神之锤4/掠食(2006)/毁灭战士3 BFG/The Dark Mod 安卓/Windows/Linux OpenGLES移植版.

Original named DIII4A++, based on com.n0n3m4.diii4a's OpenGLES version.

Latest version: 1.1.0harmattan53(natasha)
Latest update: 2024-07-17
Arch: arm64 armv7-a
Platform: Android 4.4+
License: GPLv3


idTech4's feature

  • Linux/Windows(MinGW/MSVC(without editor)) build
  • multi-threading renderer
  • png/dds texture image, jpeg/png/bmp/dds format of screenshot
  • obj/dae format static model
  • pure soft shadow with shadow-mapping
  • soft shadow with stencil-shadow
  • OpenGLES2.0/OpenGLES3.0
  • OpenAL(soft) and EFX Reverb
  • no-lighting rendering and no-lighting material
  • translucent stencil shadow
  • debug render tools support
  • DOOM3(with full body awareness mod)
  • Quake4(with bot mod, full body awareness mod) and Raven's idTech4 engine
  • Prey(2006)(with full body awareness mod) and HumanHead's idTech4 engine
Build DOOM3/Quake4/Prey(2006) mod for Android idTech4A++

DOOM 3 & RoE SDK
Quake 4 SDK
Prey(2006) SDK

Compare with other OpenGLES rendering version of DOOM3
Feature idTech4A++ Other
Multi-threading Support
(but can't switch in gaming)
d3es-multithread support
(and support switch in gaming)
New stage shader
(heatHaze, heatHazeWithMask, heatHazeWithMaskAndVertex, colorProcess)
Yes -
TexGen shader Yes -
Shadow mapping for pure soft shadow Yes -
Translucent stencil shadow Yes -
Soft stencil shadow Yes
(Only OpenGLES3.1+)
-
OpenGL ES version 2.0 and 3.0+
(shadow mapping shaders has different version)
2.0(3.0+ compat)
No lighting Yes
(And support switch in gaming)
Yes
Debug render tools Yes
(need to set harm_r_renderToolsMultithread to 1 if in multi-threading enabled)
-
Support games
Game Engine Version OpenGL ES version Mods
DOOM III n0n3m4's dante - 2.0/3.0 Resurrection of Evil
The Lost Mission
Classic DOOM3
Rivensin
HardCorps
Overthinked Doom^3
Sabot(a7x)
HeXen:Edge of Chaos
Fragging Free
LibreCoop
Quake IV n0n3m4's dante - 2.0/3.0
Prey(2006) n0n3m4's dante - 2.0/3.0
DOOM 3 BFG(Classic DOOM 1&2) RBDOOM-3-BFG 1.4.0
(The last OpenGL renderer version)
3.0
The Dark Mod Dark Mod 2.12 3.2
(require geometry shader support)
Return to Castle Wolfenstein iortcw - 1.1
Quake III Arena ioquake3 - 1.1 Quake III Team Arena
Quake II Yamagi Quake II - 1.1/3.2 ctf
rogue
xatrix
zaero
Quake I Darkplaces - 2.0
GZDOOM GZDOOM 64bits - 3.2

Get it on F-Droid

Or download the latest APK from the Releases Section. Tag with -free only for F-Droid update.

Feature Github F-Droid
Ouya TV Yes No

Update

  • Fix GZDOOM sound.
  • Update screen resolution settings on launcher.

  • 修复GZDOOM声音.
  • 启动器更新屏幕分辨率设置.

About Prey(2006)

For playing Prey(2006)(jmarshall 's PreyDoom). Now can play all levels, but some levels has bugs.
  1. Putting PC Prey game data file to preybase folder and START directly.
  2. Some problems solution: e.g. using cvar harm_ui_translateAlienFont to translate Alien text on GUI.
  3. Exists bugs: e.g. some incorrect collision(using noclip), some GUIs not work(Music CD in RoadHouse).
  4. If settings UI is not work, can edit preyconfig.cfg for binding extras key.
  • bind "Your key of spirit walk" "_impulse54"
  • bind "Your key of second mode attack of weapons" "_attackAlt"
  • bind "Your key of toggle lighter" "_impulse16"
  • bind "Your key of drop" "_impulse25"

About Quake IV

For playing Quake 4(jmarshall 's Quake4Doom). Now can play all levels, but some levels has bugs.
  1. Putting PC Quake 4 game data file to q4base folder and START directly.
  2. Suggest to extract Quake 4 patch resource to q4base game data folder first(in menu Other -> Extract resource).
  • SABot a9 mod multiplayer-game map aas files and bot scripts(for bots in multiplayer-game).
Problems and resolutions
  1. Particle system: Now is not work(Quake4 using new advanced BSE particle system, it not open-source, jmarshall has realized and added by decompiling ETQW's BSE binary file, also see jmarshall23/Quake4BSE), but it not work yet. Now implementing a OpenBSE with DOOM3 original FX/Particle system, some effects can played, but has incorrect render.
  2. Entity render: Some game entities render incorrect.
Bot mod
  1. Added SABot a7 mod support.
  2. Extract q4base/sabot_a9.pk4 file in apk to Quake4 game data folder, it includes some defs, scripts and MP game map AAS file.
  3. Set cvar harm_g_autoGenAASFileInMPGame to 1 for generating a bad AAS file when loading map in Multiplayer-Game and not valid AAS file in current map, you can also put your MP map's AAS file to maps/mp folder(botaas32).
  4. Set harm_si_autoFillBots to 1 for automatic fill bots when start MP game.
  5. Execute addbots for add multiplayer bot.
  6. Execute fillbots for auto fill multiplayer bots.

Screenshot

Game

Classic bathroom

Classic bathroom in Rivensin mod

Quake IV on DOOM3

Prey(2006) on DOOM3

DOOM3 BFG

Mod

Resurrection of EvilThe lost mission Classic DOOM

Other

Quake III : ArenaQuake III : Team Arena Return to Castle WolfensteinThe Dark Mod Quake IIQuake I DOOM 3 BFG: DOOM IDOOM 3 BFG: DOOM IIIDOOM 3 BFG: DOOM II


Changes:

Change logs


Build:

Engine

  1. _MULTITHREAD: Add multithread support for rendering.
  2. _USING_STB: Using stb header for jpeg/png/dds texture image and jpeg/png/bmp/dds screenshot support.
  3. _K_CLANG: If compiling by clang not GCC.
  4. _MODEL_OBJ: Add obj static model support.
  5. _MODEL_DAE: Add dae static model support.
  6. _SHADOW_MAPPING: Add Shadow mapping support.
  7. _OPENGLES3: Add OpenGLES3.0 support.
  8. _OPENAL _OPENAL_EFX _OPENAL_SOFT: Add OpenAL(soft) and EFX Reverb support.
  9. _NO_LIGHT: Add no lighting support.
  10. _STENCIL_SHADOW_IMPROVE: Add stencil shadow improve support(soft shadow(OpenGLES3.1+), translucent shadow, force combine global shadow and self local shadow).

If want to port Quake4 or Prey(2006) to PC or other platform of based on DOOM3 engine open-source version, because DIII4A based on Android platform and OpenGLES, so has some differences with original version. But I mark some macros in source as patches at all changes, although must find these macros in source code and manual use these patches.

And for keeping original DOOM3 source file structures, for all new source files, I put them on a new folder, and in these folder has same directory structure with DOOM3(e.g. framework, renderer, idlib...).

Quake 4

_RAVEN, _QUAKE4 is patches macros, find them in DIII4A source code.
All new sources files put on raven folder.
  1. _RAVEN: for compile core engine (DOOM3 source code) and idlib (DOOM3 source code).
  2. _QUAKE4: for compile game (Q4SDK source code) library.
  3. Build core engine: define macro _RAVEN, _RAVEN_FX(OpenBSE if need, unnecessary)
  4. Build game library: define macro _RAVEN, _QUAKE4
About BSE

Because BSE not open-source, so I default supply a NULL implement and a uncompleted but working implement with DOOM3 Particle/Fx system(using macros _RAVEN_FX marked).

About BOT

Define macro MOD_BOTS will compile SABot a7(from DOOM3) mod source code for bot support in multiplayer-game.

About Full body awareness support

Define macro _MOD_FULL_BODY_AWARENESS will compile Full-body-awareness support.

Prey(2006)

_HUMANHEAD, _PREY is patches macros, find them in DIII4A source code.
All new sources files put on humanhead folder.
  1. _HUMANHEAD: for compile core engine (DOOM3 source code) and idlib (DOOM3 source code).
  2. _PREY: for compile game (PreySDK source code) library.
  3. Build core engine: define macro _HUMANHEAD
  4. Build game library: define macro _HUMANHEAD, _PREY, and original SDK macros HUMANHEAD
About Full body awareness support

Define macro _MOD_FULL_BODY_AWARENESS will compile Full-body-awareness support.

Android

Define macro __ANDROID__.
  1. _OPENSLES: Add OpenSLES support for sound.

Linux

  1. REQUIRE ALSA, zlib, X11, EGL
  2. ./cmake_linux_build.sh

Windows(MinGW/MSVC)

  1. REQUIRE SDL2, zlib, cURL
  2. cmake_msvc_build.bat

About:

  • Source in assets/source folder in APK file.
  • Using exportGLSLShaderSource command can export GLSL shaders.

Branch:

master:

  • /idTech4Amm: frontend source
  • /Q3E /Q3E/src/main/jni/doom3: game source
  • /CHECK_FOR_UPDATE.json: Check for update config JSON

free:

  • For F-Droid pure free version.

package:

  • /screenshot: screenshot pictures
  • /source: Reference source
  • /pak: Game resource

n0n3m4_original_old_version:

  • Original old n0n3m4 version source.

Extras download:


com.n0n3m4.diii4a's People

Contributors

alex3474247 avatar alord7 avatar artems2 avatar dependabot[bot] avatar glkarin avatar lvonasek avatar poussinou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

com.n0n3m4.diii4a's Issues

Многопоточность

Порт очень хороший, но в нем не хватает поддержки многопоточности.

Controls

Hello. Can you implement in the launcher a function to adjust the overall size of the controls? It's just that some people have difficulty adjusting the size of each button individually.

App does not provide option to give 'Write External Storage' permission, but it SHOULD, because it is required if you want to store game files on External!

Self explanatory. Apps which require external storage permissions are meant to ask for them, but this one hasn't ever given me the opportunity to 'grant' this permission. I'm able to load into Quake 4 and Doom 3 by manually typing in the External Directory, but this is not a solution because I need to be able to 'write' files, not just read them, for things like the autoexec and .cfg (when I click the autoexec or .cfg, I get a message saying "File Cannot Access (/storage/"external SD directory where my files are"/config.cfg). Prey also refuses to boot at all, for the exact same reason. (Tested by moving only preybase to root of "storage/emulated/0".)
I am using Android 9.

Multi-threading support

The original DIII4A lacked multi-threading support and only uses 1 CPU. Any chance this can be resolved here?

(great work btw!)

Gyro Support

will there be gyro support in the future updates?, I would really love to play it with gyro support,

Is porting overthinked doom 3 to the project possible?

Hi, my name's Trey. Is it possible to port the mod overthinked doom 3 to your idtech github project? The reason I'm asking is that Well, a user named GuyMcBroFist (nice guy by the way) helped me by porting the mod on to dhewm 3 Windows and dhewm 3 Linux. (Thanks buddy if you are seeing this). He has a doom world account if you want to talk to him but, I'm crediting him with these links he provided me but just to let you know, HE created these, NOT ME. Compatible Dhewm3 DLL For Windows (by GuyMcBroFist): https://www.mediafire.com/file/rvr6wlxtrd8ou1u/overthinked.zip/file
Compatible Dhewm3 SO File For Linux (by GuyMcBroFist):
https://www.mediafire.com/file/rhsqm6mro1ds1f1/overthinked.so/file

Multiplayer

Does multiplayer work? If yes, how to use it?

Game freeze

Game is freeze upon 100% loading
device: Mi9t pro SD855
OS: MIUI 12 android 10

Screenshot_2022-10-16-18-07-41-015_com.karin.idTech4Amm.jpg

logfile:
stdout.txt

Multi-threading support ?

The port is very good, if not the best, but the port has a problem the port does not multi-threading support

Problem with effects

Is it possible to make projectile effects show? When playing against the Harvester, it is impossible to immediately see his missiles, which makes it noticeably more difficult to play. In addition, normal enemies have the same problem - their bullets are not visible. And the barrels (and some enemies) simply disappear instead of exploding.

No funciona para Android 12

Bueno antes normal me funcionaba actualize mi teléfono a androi 12 y dejo de funcionar en pokas palabras le doy iniciar y me bota del juego solo se pone pantalla en blanca

debug apk for quake 4 fix?

i think theirs a way to debug diii4a apk and leave doom 3 and prey out of it to have functional effects afterwards.

Start white screen freeze and very slow loadings

Hello,
there is not too much info, what is device is supported... I just donwloaded and started it on unrooted Xperia 10 II (Snapdragon + Adreno 610), Android 12.. with Doom3 1.3.0 vanilla data not Steam.. and just got starting white screen and app freeze and phone is after that quick slow, until and shutdown app.

Black Sky Textures (bug)

Screenshot_20200829_182849_com n0n3m4 DIII4A
There is a problem with the sky. The sky is always either black or gray. I have tried all old Diii4a versions but could not fix the problem. The game files are from my original Doom 3 DVD. I am using Huawei P30 Lite with Mali gpu. How can i fix this problem? Thanks in advance 👍

Russian language

When adding the Russian language, the letters are not displayed. When will the Cyrillic alphabet be added

Doom 3, quake 4, prey (2006)

Hi, thanks for your great work, I just wanted to know if you can remove the touch buttons on the loading screens of the game as it was before, it's just for aesthetics nothing more, thanks.

Doom 3. Stretching an image.

Hello. There is a point about stretching the screen, because of which the interface becomes a little flattened. Can you fix this please?

Многопоточность

Здравствуйте.
Прежде всего, хочу поблагодарить Вас за отличную работу над портом.
Но есть один момент, который лучше добавить в следующих обновлениях: а именно - многопоточность.

Gamepad support for vanilla Doom3 info in Launcher is missleading

In description is that gamepad support is in game.. Well i dont think that Vanilla game has it at all, maybe only BFG edition, so it would be nice somehow map gamepad controlls to mouse and keyboard controlls.
Update: But it seems that its working with Vanilla so im confused.. Im using PS4 controller.. Now i need only hide touch controls.
There is only option named Hide onscreen buttons and enable mouse (Root required).. but gamepad is working even without root..
Update: Hide is working even without root, so only label is missleading.

Doom 3

Hello.

Thank you for your work on the port.
One moment.
Does the port support multithreading? If not, can you add?

Other idTech4 games ???

if it's a port of the idTech4 engine, does that mean we'll probably be able to launch other games on the same engine soon (like Prey or Wolfenstein 2009)?

Vibration support

Hey, amazing job on creating this emulator.
This is probably the best emulator currently out.

Question, would it possible to add support for vibration?

Think it would add to the immersion of the game.

Keep up the good work.

Будут ли видны выстрелы и эффекты от них?

Как бы, можно пройти и без них, но с ними ты хотя бы понимаешь, откуда в тебя стреляют и куда сам попадешь. С ними было бы гораздо комфортнее, хоть и понимаю, что это доп оптимизация и та ещё морока. Как те же взрывы бочек и тд. Надеюсь, что в дальнейшем всё же добавят

Mod support

There needs to be a more detailed description of how to use mods. A list of fully supported (no tinkering needed!) mods would also make it easier than try to figure out why mods don't work.

Request for 2nd attack button

most FPS now a days have 2nd attack button, I think it would be better to have 2nd attack button for more accuracy, thank you for the port by the way @glKarin

IMG_20221017_111733.jpg

On-screen joystick

Greetings!) Is it possible to hide the on-screen joystick during the game? Or it could be made completely invisible in the on-screen menu control settings.

Quake 4 particles

Paticles are missing for me, like fires, explosions, smoke, muzzleflash, blood. Can it be fixed somehow currently? Otherwise great job :)

Problems prey

  1. Strong overlights on locations
  2. In portals, the display is not correct, as well as the skybox display is not clear
  3. The problem is in the settings menu, it's broken.
  4. There is no music in the main menu, and if you start a new game from the menu and not from saving. There will be no sound in the game
  5. Make the management under prey separate. What would be clear to an ordinary player, it differs from Doom 3 and Quake in that it has new chips

Unclear resolution settings and aspect ratio

I dont fully understand graphics resolution setting.
I have 2440x1080 21:9 phone.
Screen resolution is set to Normal:1x.. but under is 640x480 setting without any label for what it is.

When i check resolution in game there is 640x480 but i dont believe it.. it look higher and full screen is used (21:9) and aspect ration seems right is not stretched.
It would be nice to add some force aspect ratio option, to use only part of screen and improve performance, for me would be 16:9 or 4:3, 21:9 for gaming is not great.

Sound & Video

Hello, thanks for a great job! One question: can you fix the crackling sound problem?

Sound, settings menu and over-lights, control

Hello. Will the settings menu be updated in the next version? There is no sound in the main menu, according to my guesses due to an uninfected audio codec. There are also problems with re-lighting in some locations. There is also no skybox. Having completely completed the game, I noticed such problems as the lack of an image on the portals. Opaque glass in many moments. And when you switch to ghost mode, there is no levitating body of the main character. It's just not visible in ghost mode. Strange eye problems can be noticed at the beginning of the game. The standard management has to be bound independently. If a person does not know how to do this, he can throw the game at the head of the country of the ancients. Because in order to switch to ghost mode, I had to bind the buttons to activate this mode.
UjUS8WpYGUY

Текстуры неба черные,это фиксация,так они цвета радуги!

Пожалуйста исправьте текстуры неба на оригинальные...я может на правильно как то выражают но по другому не умею...
Хотелось бы увидеть уже наконец то Doom 3 во всей красе на diii4a сборке...Delta Touch крайне не удобная...управление кривое и отскочить в нем сложно в сторону..самое идиотское то что резкость движения в лево и вправо не изменить в настройках...звук как буд то в туалете находишься
Даже артефакты присутствуют! Вылеты ...
Пожалуйста исправьте небо( Всегда пользовался этой сборкой и очень ей доволен...ещё чють чють и Delta ей не конкурент..и самое главное она бесплатная по сравнению с той кривезной
Ах да...Delta в отличии от diii4a не запускает вообще глобальные моды Doom 3..а вот diii4a запускает! 60% глобальных модов идут отлично...но есть один мод,именно in hell, в нем даже фикс с черными текстурами для неба не подходит..(
Очень надеюсь что вы меня увидите и зделает все возможное...

Заранее спасибо!

Please correct the sky textures to original ... me. Maybe they say it correctly, but I don't know how to do it differently ... I would like to see it already. Finally, Doom 3 in all its glory on the diii4a build ... Delta Touch is extremely uncomfortable ... the controls are crooked and bounce.
Even artifacts are present! Departures ... Please correct the sky (I have always used this assembly and am very pleased with it ... still almost and Delta is not a competitor to it ... and. Most importantly, it is free compared to that crooked one Oh yeah ... Delta.
Unlike diii4a, it does not launch global Doom 3 mods ... a. Here is diii4a launches! 60% of global mods go great ... but there is one mod, namely in hell, in it even a fix with black textures for the sky is not suitable .. (
I really hope that you will see me and will do everything possible ... Thanks in advance!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.