English Amiga Board

English Amiga Board (http://eab.abime.net/index.php)
-   Coders. Releases (http://eab.abime.net/forumdisplay.php?f=115)
-   -   Smokin'Guns (http://eab.abime.net/showthread.php?t=93339)

grelbfarlk 11 August 2018 01:03

Maybe I'm doing it wrong but I'm getting basically the same fps in timedemos with r_primitives=0.

With another timedemo which has more time indoors, it went up a bit to 26.6FPS.

Cowcat 11 August 2018 13:39

Could be gfx performance: Voodoo vs Radeon memory bandwidth just for this particular game. Or other multiple things. :blased

Just the code differences for primitives (educational purpose mumbo-jumbo):

Code:

if ( primitives == 0 )
{
        qglDrawElements( GL_TRIANGLES, numIndexes, GL_INDEX_TYPE, indexes );
        return;
}

And that is what is done for 99% renderings. Just one call.

vs my take on a modded/cleaned DrawStripElements function....

Code:

static void APIENTRY R_ArrayElement( GLint index )
{
        qglArrayElement(index);
}


static void R_DrawStripElements( int numIndexes, const glIndex_t *indexes, void ( APIENTRY *element )(GLint) )
{
        int                i;
        int                last0, last1, last2;
        qboolean        even;

        if ( numIndexes <= 0 )
                return;

        qglBegin( GL_TRIANGLE_STRIP );

        int indexes0 = indexes[0];
        int indexes1 = indexes[1];
        int indexes2 = indexes[2];

        // prime the strip
        element( indexes0 );
        element( indexes1 );
        element( indexes2 );

        last0 = indexes0;
        last1 = indexes1;
        last2 = indexes2;
       
        even = qfalse;

        for ( i = 3; i < numIndexes; i += 3 )
        {
                indexes0 = indexes[i+0];
                indexes1 = indexes[i+1];
                indexes2 = indexes[i+2];

                // odd numbered triangle in potential strip
                if ( !even )
                {
                        // check previous triangle to see if we're continuing a strip
                        if ( ( indexes0 == last2 ) && ( indexes1 == last1 ) )
                        {
                                element( indexes2 );
                                even = qtrue;
                        }

                        else
                                goto startnewstrip;
                }

                else
                {
                        // check previous triangle to see if we're continuing a strip
                        if ( ( last2 == indexes1 ) && ( last0 == indexes0 ) )
                        {
                                element( indexes2 );
                        }

                        // otherwise we're done with this strip so finish it and start
                        // a new one
                        else
                        {
                startnewstrip:
                                qglEnd();

                                qglBegin( GL_TRIANGLE_STRIP );

                                element( indexes0 );
                                element( indexes1 );
                                element( indexes2 );
                        }

                      even = qfalse;
                }

                // cache the last three vertices
                last0 = indexes0;
                last1 = indexes1;
                last2 = indexes2;

      }

        qglEnd();

}

.
.
.// blablabla

if ( primitives == 1 )
{
        R_DrawStripElements( numIndexes, indexes, R_ArrayElement );
        return;
}


BULI 14 August 2018 21:24

Quote:

Originally Posted by Cowcat (Post 1256939)
No idea but the problems you describe looks like those that people had with old Q3 versions with limited ram: Some maps didn't work, sluggish performance, crashes....

If all is in place (own Smokin dir, correct paks, etc), use a current q3config,cfg and modify it disabling audio, enabling vertexlight, switching off compiled qvm (all vm_ at 1 = no JIT) or even windowmode & blablabla...

As newer Q3, "+set sys_nostdout = 0" gives info of what is going if running from shell.

Tip: Some maps could stop loading with some kind of alloc error but no crash. Simply change com_hunkMegs to higher value: default is 64 & I upped this to 96.




Ok. I did some tests and:

Game crashing problem.
Turn off sound game helped- probably some variable was changin by me (but in Q3 this working OK). I will check it later.


Most maps want more memory than I could have in Sonnet. I found only 3 maps witch work. I will try change some variables like: com_hunkMegs etc.


In this 3 maps, game work properly, but in some places (where are more objects) is really slow- about 8-9FPS :-(


Version 1.0_r3 with r_primitives=0 nothing changed, like grelbfarlk written.

BULI 14 August 2018 21:29

Quote:

Originally Posted by grelbfarlk (Post 1259340)
Here's a demo I recorded, showing some very bad gameplay.




Where I should put this demo file after extracting (need I rename it), drawer SmokingGuns, or Q3?

Cowcat 14 August 2018 22:57

Quote:

Where I should put this demo file after extracting
No need to rename. Make a "demos" dir inside smokinguns/(where the paks are) and put it there.


Quote:

Most maps want more memory than I could have in Sonnet.
ram, ram......At least works.
And r_primitives 0...someone could test if with a Voodoo 4/5 that works.

BULI 15 August 2018 20:43

Quote:

Originally Posted by Cowcat (Post 1261173)
No need to rename. Make a "demos" dir inside smokinguns/(where the paks are) and put it there.




ram, ram......At least works.
And r_primitives 0...someone could test if with a Voodoo 4/5 that works.

Thanks- Demo works fine.
I have in this demo 18.4 FPS (timedemo 1) on my Sonnet 400mhz, Voodoo3, in 640x480, vertex, geometric low, texture detail low, JIT on, sound off, cg_drawgun 0 ---> not bad result :-)

BULI 23 August 2018 18:01

Quote:

Originally Posted by Cowcat (Post 1261173)
And r_primitives 0...someone could test if with a Voodoo 4/5 that works.


I done tests again, and compared versions 1.0r2 to 1.0r3 (r_primitives 0).


And I was wrong.
Smokin'Guns with the same setup is faster about 2FPS (in demo from grelbfarlk) in 1.0r3 (r_primitives 0) version! :great

utri007 02 September 2018 17:56

I tried to run this in my OS4 machine. Sakura IT's rewarp has made most of warpos programs to work on OS4.

I have already huno's smoking gun installed and working, so I thought it would be just to run it in same directory.

Didn't work, running it from shell tells "couldn't open default'cfg" it seems to look it from ENV:

Problem is, there is no default.cfg in any directory. So how I get one and where I should put it?

Cowcat 02 September 2018 21:57

Quote:

I tried to run this in my OS4 machine...
Apart from the obvious problems with ReWarp (did you try other similar warpos ports?), looks like an incompatible build vs pak/data files.

Questions are:
Are you using smokinguns 1.0 paks (the older ones)?

If yes, don't use a previously q3config.cfg: Make a new dir with all there and let the game rebuild all what is needed.


Edit:

Of course I have to read more :crazy:

Quote:

I have already huno's smoking gun installed and working, so I thought it would be just to run it in same directory.
Don't do that :guru Make a new dir with the old SmokinGuns pak (1.0).

utri007 15 September 2018 18:59

Quote:

Originally Posted by Cowcat (Post 1266348)
Apart from the obvious problems with ReWarp (did you try other similar warpos ports?), looks like an incompatible build vs pak/data files.

Don't do that :guru Make a new dir with the old SmokinGuns pak (1.0).

It kind a works :D menus etc are OK, but graphics are corrupted. It is weir how some games just works and some doesn't. Like Crosfire II, both 68k and WarpOS versions just works.

But I don't know anything about why, just testing for a fun.

Cowcat 15 September 2018 20:11

@utri007

Test "for fun" if these particular "Amiga Classic" Q3 or OpenArena work: If they, SG should be no problem: Basically a matter of having enough memory and cpu.

Should make a README one of this days, but anyways some tips again:

-Clean dir with no old configurations, only the paks mentioned for every version.

-Game starts by default with no sound & windowmode: Using menu to change settings (like going fullscreen, etc) mess up the render. Change Q3config.cfg file (r_fullscreen "1" and add s_initsound "1" ).

I remember some patch is needed to be running before all for Rewarp/Warp3d, specially for vertex arrays. Q2 works?

utri007 15 September 2018 21:05

You mean this http://os4depot.net/index.php?functi...atchwarp3d.lha

Seems that I should have delete config files from smokingun folder also.? It didn't start windowed, but fullsreen and without sound.

I can test more latter toninght, when I get my wife sleep.

Cowcat 15 September 2018 21:48

Quote:

It didn't start windowed, but fullsreen and without sound.
That's what I'm talking about. :crazy

Hedeon 15 September 2018 23:23

Regarding the patches, it's built-in into ReWarp. See docs. Also, the newer your video card the more likely you get corruption. You can always use wazp3d in combination with ReWarp.

utri007 16 September 2018 00:12

Quote:

Originally Posted by Hedeon (Post 1269158)
Regarding the patches, it's built-in into ReWarp. See docs. Also, the newer your video card the more likely you get corruption. You can always use wazp3d in combination with ReWarp.

I have Sam 440ep Flex with Radeon 9250, so it is not excatly new :)

Seems that it needs to have default.cfg, it wount start without it. Is just says "can load default.cfg"

utri007 16 September 2018 01:22

Quote:

Originally Posted by Cowcat (Post 1269119)
@utri007

Test "for fun" if these particular "Amiga Classic" Q3 or OpenArena work: If they, SG should be no problem: Basically a matter of having enough memory and cpu.

Tested Openarena. It work slightly better than smokin guns. Graphics disortion wasn't that bad IF I didn use stairs to get up, jump etc.

Cowcat 16 September 2018 13:05

Quote:

Seems that it needs to have default.cfg
Whenever this happens is most likely a mismatched pak / game exec combination.
No default.cfg is ever needed with a clean/correct choosen paks installation.

When Q3 - whatever version, system, build year, mod, etc - shows this message or "need to download paks...whatever" at the moment to run the game, you ask for later problems trying to bypass it faking cfg files.

As read on Q3 thread, using an old installation from years ago didn't work quite well: Texture corruption, etc.

utri007 16 September 2018 17:49

Quote:

Originally Posted by Cowcat (Post 1269251)
Whenever this happens is most likely a mismatched pak / game exec combination.
No default.cfg is ever needed with a clean/correct choosen paks installation.

I downloaded it here https://www.smokin-guns.org/legacy-downloads and exact version is "OS-Independent archive from Moddb"

Quote:

When Q3 - whatever version, system, build year, mod, etc - shows this message or "need to download paks...whatever" at the moment to run the game, you ask for later problems trying to bypass it faking cfg files.

As read on Q3 thread, using an old installation from years ago didn't work quite well: Texture corruption, etc.
Open arena works/starts just fine without default.cfg. It works just like you said. Though I'm not sure that I have correct version? it's from here https://www.moddb.com/games/openaren...8-full-version

By the way 68k version crash when it tries start local server. I have grim reaper log of it. Do you want it?

Cowcat 16 September 2018 19:20

Those paks are the correct ones.

Quote:

68k version crash when it tries start local server. I have grim reaper log of it. Do you want it?
Yes. Worth to check out this log, because on ppc hardware emulating 68k something weird happens with those Q3 engines, not so much on UAE with Q3 or OpenArena.

I know the function where code crashes the game (server side - AKA "going single-play"), but have no idea why it does that.

utri007 16 September 2018 19:47

1 Attachment(s)
Here crashlog


All times are GMT +2. The time now is 16:09.

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

Page generated in 0.05297 seconds with 11 queries