English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   Coders. Releases (https://eab.abime.net/forumdisplay.php?f=115)
-   -   Quake 3 on Classic (https://eab.abime.net/showthread.php?t=89741)

Cowcat 08 December 2017 21:36

Quake 3 on Classic
 
Some stuff to try for those with bigger ppc cpus + 256mg ram:

This is an attempt to recreate Q3 with the old minigl, although it works "mostly" with my Morphed machine.

Hedeon and grelbfarlk tested early versions and told me about problems with audio ahi with 8 bits that lead to crashes, so it's disabled by default. Can be enabled with "s_initsound" "snd_restart" plus if you use 8 bits "sndbits 8" (console or q3config.cfg)

It is in alpha state: If you are lucky enough to run it, only the free demos work: Going to the full game it stays for ever with the dreaded "awaiting snapshot". Cinema support doesn't work so it's off by now.

Works with the demo packs also.

In some systems/sometimes just when starting it stays in "zombie" state (maybe a socket issue ) but finally runs.

Sources will be soon uploaded.

trixster 08 December 2017 22:44

Absolutely incredible!

trixster 09 December 2017 00:22

Hmmm, I just keep getting an error saying "you need to install Quake III in order to play"

This is with both the Q3 Demo and the full install baseq3 directory taken from a pc.

Any ideas what I'm doing wrong?

grelbfarlk 09 December 2017 00:28

Ah finally NDA lifted ;) I have to upload my video...

Cowcat 09 December 2017 09:19

Quote:

"you need to install Quake III in order to play"
It is imperative to have nothing else than baseq3 dir with the paks: No config, no qkey...etc.


Quote:

Ah finally NDA lifted
Oh !! forgot to tell... :laughing.


There are important sets on q3config.cfg once it's created from game, and dozens of vars to toggle: Some of them are disabled by default or non-functional like changing "primitives" drawing that is now hardcoded on "3".

Of course it's very heavy on calculations. Look out for a Sonnet G4 :blased

trixster 09 December 2017 11:58

ok, i'm up and running. I had to copy across my morphos install onto the A4000.

Wohoo, what an achievement cowcat, amazing work! :D

Here's a very quick video, default settings:

https://youtu.be/06N6Vd0q3qw

Cowcat 09 December 2017 12:49

Thanks trixter !!
I had no idea of what could be the result on real Amigas.
From the video it looks awesome :great

By the way I realized now that multiplayer option is not working, and was working before that version ....oh well.

trixster 09 December 2017 12:51

It is awesome. I'm surprised it runs so quickly.

Now it's time to try sound and some config tweaks.

grelbfarlk 09 December 2017 14:08

Seems like it has improved since Alpha 4, with that version I turned the gfx options way down to get 29FPS at 640x480.

Cowcat 09 December 2017 14:42

Quote:

Seems like it has improved since Alpha 4
There are some endian inlines in some places also take a look at this code used on original Q3 sources:

Code:

       
        width = xmax - xmin;
        height = ymax - ymin;
       
        dest->projectionMatrix[0] = 2 * zProj / width;
        dest->projectionMatrix[4] = 0;
        dest->projectionMatrix[8] = (xmax + xmin + 2 * stereoSep) / width;
        dest->projectionMatrix[12] = 2 * zProj * stereoSep / width;

        dest->projectionMatrix[1] = 0;
        dest->projectionMatrix[5] = 2 * zProj / height;
        dest->projectionMatrix[9] = ( ymax + ymin ) / height;        // normally 0
        dest->projectionMatrix[13] = 0;

Now my version:

Code:


        width = 1.0f / (xmax - xmin);
        height = 1.0f / (ymax - ymin);
       
        dest->projectionMatrix[0] = 2 * zProj * width;
        dest->projectionMatrix[4] = 0;
        dest->projectionMatrix[8] = (xmax + xmin + 2 * stereoSep) * width;
        dest->projectionMatrix[12] = 2 * zProj * stereoSep * width;

        dest->projectionMatrix[1] = 0;
        dest->projectionMatrix[5] = 2 * zProj * height;
        dest->projectionMatrix[9] = ( ymax + ymin ) * height;        // normally 0
        dest->projectionMatrix[13] = 0;

Half of this stuff is how minigl does things for projections, but Q3 bypasses opengl functions by doing it his own way. I don't claim this to be the result of the increased speed but even the "inexact" calculations by saving divisions, it seems to work (besides other faster calculations in other places).

Gibberish for people, but this is Coders thread :)

Sir_Lucas 09 December 2017 15:01

WoW!! Well done!! Great job!! :)

Sinphaltimus 09 December 2017 16:40

This is utterly astounding.

Marlon_ 09 December 2017 18:30

Awesome! I'm glad you're releasing the sources. Will it be put on github or something like that?

nexus 09 December 2017 20:35

woot

jack-3d 09 December 2017 20:44

The best Christmas present we could ever get!!! You are the best! Downloading...
:bowdown:great:bowdown:great:bowdown

trixster 09 December 2017 21:45

We need some vids from people with G3 500 and G4 ppc. And some csppc and cvisionppc

Cowcat 09 December 2017 22:32

Sources will be uploaded here as I always do and a new version with the multiplayer side working. Hope to find soon where is the problem.

No vm ppc bytecode, no dlls, etc....too complicated now.

I have a 68k version :crazy but doesn't work right now at the time to load scenes. :nuts

There are some issues with one of the levels I played (demo/full game) that crash the game at random times. Only once I could complete it: "Q3DM7".

About sound I don't know: I tried some stuff from Q2, forced the engine to use 8 bits sampling, even forced AHI code to run only with 8 bit, but didn't see any particular issue with MOS besides non-working, noise or OK. No crash there.


Thanks for your words guys :great

jack-3d 09 December 2017 22:52

Quote:

Originally Posted by trixster (Post 1205001)
We need some vids from people with G3 500 and G4 ppc. And some csppc and cvisionppc

Waiting my kids and wife goes sleep, then I will try on CSPPC+CVPPC and also on Sonnets (500, 400/1, 400/512).

Marlon_ 10 December 2017 00:02

Quote:

Originally Posted by Cowcat (Post 1205008)
Sources will be uploaded here as I always do

Why not publish it on a public version system so others can contribute? Would it be okay for someone else to put it on github?

Hedeon 10 December 2017 00:38

What are the settings for 29'fps?


All times are GMT +2. The time now is 08:06.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.08415 seconds with 11 queries