Raptor007 / aq2-tng

Action Quake 2: The Next Generation. Raptor007's sandbox for testing changes. When verified stable, this code is pushed to the official aq2-tng repo:
https://github.com/aq2-tng/aq2-tng/tree/bots
4 stars 2 forks source link

Quetoo build target #63

Closed Raptor007 closed 2 years ago

Raptor007 commented 7 years ago

Try to build AQ2:TNG for Quetoo: https://github.com/jdolan/quetoo/tree/master/src/game

@deluv @stan0x

Raptor007 commented 7 years ago

This is looking like it might be a huge pain, but I started a branch to try: https://github.com/Raptor007/aq2-tng/tree/quetoo

First step is making G_LoadGame (Quetoo's version of GetGameAPI) and the relevant data structures: Quake2: https://github.com/Raptor007/aq2-tng/blob/b704373848c930347cb044c52dc5c375930dbb15/source/g_main.c#L505 Quetoo: https://github.com/Raptor007/aq2-tng/blob/ee2c8279e5751b004775f10bda4e810c7c6162c8/source/quetoo/g_main.c#L1554

Some of the imported/exported functions may need wrappers, especially if their arguments or data structures are different than the Quake2 versions.

I'll need to reconcile some data structures, especially how they handle game-specific entity/client members. It might be easiest to set Quetoo's locals.opaque to the unmodified Quake2 data structures, and synchronize the parts they have in common every frame: Quake2: https://github.com/Raptor007/aq2-tng/blob/b704373848c930347cb044c52dc5c375930dbb15/source/g_local.h#L1722-L1723 Quetoo: https://github.com/Raptor007/aq2-tng/blob/ee2c8279e5751b004775f10bda4e810c7c6162c8/source/quetoo/game.h#L94

At least the fact that Quetoo runs at 40fps shouldn't be a problem. I'll just need to set game.framerate to QUETOO_TICK_RATE and calculate the other relevant values from that: https://github.com/Raptor007/aq2-tng/blob/b704373848c930347cb044c52dc5c375930dbb15/source/g_save.c#L586

Raptor007 commented 6 years ago

Working on it... https://github.com/Raptor007/aq2-tng/commits/quetoo make QUETOO=y

Raptor007 commented 4 years ago

At this point, I think it makes more sense (and would be much less work) to simply clean up AQ2 for Quake 2 RTX. The main issue to solve is that there are .md3 models of Quake2 weapons and items in baseq2/q2rtx_media.pkz, which seem to override the .md2 files in any mod directory.

Raptor007 commented 2 years ago

Per the Quetoo issue tracker, their code is now too significantly different to support a Quake2-style mod. Action Quetoo will have to be a total rewrite forked from Quetoo, not a fork of the AQ2 code. https://github.com/jdolan/quetoo/issues/550#issuecomment-1013217238