DarkPlacesEngine / DarkPlaces

The DarkPlaces Quake engine, created by LadyHavoc. Official Git repository (replaces SVN).
https://icculus.org/twilight/darkplaces/
GNU General Public License v2.0
293 stars 43 forks source link

Needs explanation to `KTX` usage (when building for Android) #53

Open NaitLee opened 2 years ago

NaitLee commented 2 years ago

I’m trying to build an “dedicated” DarkPlaces executable for Android (with clang from Android NDK) (purpose? to host server in Termux or from an apk package, or test if Xonotic on Android is ever possible)

I’ve found that DP have some special code for Android, that involves usage of KTX headers.

It’s included around here, and there are usages to something like KTX_dimensions, ktxLoadTextureM, etc.

But the problem is, none of these things are found in KTX header files — some are only mentioned in Revision History.

From git blame, relative code is written in 2013 by probably @ladyhavoc. Maybe they’ve existed that time?

Anyway, without documentation, there’s no way to continue. Maybe I could revert KTX git history to 2013 to have a look. But reality condition is preventing me to successfully clone it.

Explanation is appreciated 😉

P.S. I’m wondering in this case if it’s really useful for a “dedicated” server to have texture processing ability.

Shpoike commented 2 years ago

dedicated servers shouldn't really be using gpu-friendly compression formats. I believe DP servers support transcoding of jpg files to crappy low quality ones for xonotics load screens, but frankly the whole idea of servers loading textures sucks. it sucks that DP cannot handle .dds files on android and cant handle ktx on windows/linux, the whole thing looks like a quicky hack. you should probably just change those #ifdefs to '#if 0', especially when xonotic DOES use .dds files rather than .ktx.

NaitLee commented 2 years ago

Just leave a note, I’ve circumstanced Android by putting a GNU system inside Termux (from AnLinux instruction) So a server on “Android” is okay.

(will test removing Android detection later, anyway)