English Amiga Board


Go Back   English Amiga Board > News

 
 
Thread Tools
Old 12 November 2018, 02:01   #121
Reido
Registered User
 
Join Date: Feb 2013
Location: Dublin/Ireland
Posts: 403
Video quality is probably too poor to be of any good to you. Looks amazing on my CRT, doesn't record so well though!

[ Show youtube player ]
Reido is offline  
Old 12 November 2018, 03:39   #122
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
Cool, could you tell any difference in the quality of the sound effects? The sound should be a little clearer with this new build. Also I've doubled the amount of particles and both of these improvements will hit performance a little unfortunately....I'm working on adding a bit more assembler to negate this (hopefully).
NovaCoder is offline  
Old 12 November 2018, 04:24   #123
nexus
Registered User
 
Join Date: Aug 2017
Location: USA
Posts: 728
why did you get rid of your amiga?
nexus is offline  
Old 12 November 2018, 04:35   #124
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
Quote:
Originally Posted by nexus View Post
why did you get rid of your amiga?
I retired

Recently had some time to kill so I thought I'd revisit some of my old Amiga ports and see if I could improve them but I only have WinUAE to test with so you don't always get an accurate idea of performance.

Update: v1.16 in the Zone for testing. This version has some extra assembler (by John Selck), hopefully this will bring some slight performance improvement.

Last edited by NovaCoder; 12 November 2018 at 04:58.
NovaCoder is offline  
Old 13 November 2018, 00:49   #125
Reido
Registered User
 
Join Date: Feb 2013
Location: Dublin/Ireland
Posts: 403
Quote:
Originally Posted by NovaCoder View Post
Cool, could you tell any difference in the quality of the sound effects? The sound should be a little clearer with this new build. Also I've doubled the amount of particles and both of these improvements will hit performance a little unfortunately....I'm working on adding a bit more assembler to negate this (hopefully).
[ Show youtube player ]

There's some distortion of the background sound effects, mostly sporadic (sounds like a crisp bag being squashed briefly), this would be an example of the worst of it. This is V1. 16, same with V1. 15


[ Show youtube player ]

Original V1. 14

I honestly didn't notice much difference in the performance, all good.

Last edited by Reido; 13 November 2018 at 00:56.
Reido is offline  
Old 13 November 2018, 01:41   #126
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
OK thanks, I think some of the updates to the sound effects are causing issues... I'll take a look.

Update: I think I've fixed those sound issues and also increased performance of the particle implementation.

Can someone test on real hardware please....hopefully I haven't broken anything else

v1.17 in the zone...and v1.19 uploaded to AmiNet

For anyone interested on my level of hackery on this port, compare the original WinQuake source with my modified code.

PHP Code:
/*
================
R_RotateBmodel
================
*/
void R_RotateBmodel (void)
{
    
float    anglesctemp1[3][3], temp2[3][3], temp3[3][3];

// TODO: should use a look-up table
// TODO: should really be stored with the entity instead of being reconstructed
// TODO: could cache lazily, stored in the entity
// TODO: share work with R_SetUpAliasTransform

// yaw
    
angle currententity->angles[YAW];        
    
angle angle M_PI*360;
    
sin(angle);
    
cos(angle);

    
temp1[0][0] = c;
    
temp1[0][1] = s;
    
temp1[0][2] = 0;
    
temp1[1][0] = -s;
    
temp1[1][1] = c;
    
temp1[1][2] = 0;
    
temp1[2][0] = 0;
    
temp1[2][1] = 0;
    
temp1[2][2] = 1;


// pitch
    
angle currententity->angles[PITCH];        
    
angle angle M_PI*360;
    
sin(angle);
    
cos(angle);

    
temp2[0][0] = c;
    
temp2[0][1] = 0;
    
temp2[0][2] = -s;
    
temp2[1][0] = 0;
    
temp2[1][1] = 1;
    
temp2[1][2] = 0;
    
temp2[2][0] = s;
    
temp2[2][1] = 0;
    
temp2[2][2] = c;

    
R_ConcatRotations (temp2temp1temp3);

// roll
    
angle currententity->angles[ROLL];        
    
angle angle M_PI*360;
    
sin(angle);
    
cos(angle);

    
temp1[0][0] = 1;
    
temp1[0][1] = 0;
    
temp1[0][2] = 0;
    
temp1[1][0] = 0;
    
temp1[1][1] = c;
    
temp1[1][2] = s;
    
temp1[2][0] = 0;
    
temp1[2][1] = -s;
    
temp1[2][2] = c;

    
R_ConcatRotations (temp1temp3entity_rotation);

//
// rotate modelorg and the transformation matrix
//
    
R_EntityRotate (modelorg);
    
R_EntityRotate (vpn);
    
R_EntityRotate (vright);
    
R_EntityRotate (vup);

    
R_TransformFrustum ();

PHP Code:
/*
================
R_RotateBmodel
================
*/
void R_RotateBmodel(void)
{
    if ((
currententity->angles[YAW] == 0.0) && (currententity->angles[PITCH] == 0.0) && (currententity->angles[ROLL] == 0.0)) {
        
R_DefaultEntityRotate(modelorg);

        
R_DefaultEntityRotate(vpn);
        
R_DefaultEntityRotate(vright);
        
R_DefaultEntityRotate(vup);

        
currententity->usingDefaultRotation true;
    } else {
        
float sctemp1[3][3], temp2[3][3], temp3[3][3];

        
// yaw
        
sin_lookup(currententity->angles[YAW]);
        
cos_lookup(currententity->angles[YAW]);

        
temp1[0][0] = c;
        
temp1[0][1] = s;
        
temp1[0][2] = 0;
        
temp1[1][0] = -s;
        
temp1[1][1] = c;
        
temp1[1][2] = 0;
        
temp1[2][0] = 0;
        
temp1[2][1] = 0;
        
temp1[2][2] = 1;


        
// pitch
        
sin_lookup(currententity->angles[PITCH]);
        
cos_lookup(currententity->angles[PITCH]);

        
temp2[0][0] = c;
        
temp2[0][1] = 0;
        
temp2[0][2] = -s;
        
temp2[1][0] = 0;
        
temp2[1][1] = 1;
        
temp2[1][2] = 0;
        
temp2[2][0] = s;
        
temp2[2][1] = 0;
        
temp2[2][2] = c;

        
R_ConcatRotations (temp2temp1temp3);


        
// roll
        
sin_lookup(currententity->angles[ROLL]);
        
cos_lookup(currententity->angles[ROLL]);

        
temp1[0][0] = 1;
        
temp1[0][1] = 0;
        
temp1[0][2] = 0;
        
temp1[1][0] = 0;
        
temp1[1][1] = c;
        
temp1[1][2] = s;
        
temp1[2][0] = 0;
        
temp1[2][1] = -s;
        
temp1[2][2] = c;

        
// Creating the entity rotation for this entity.
        
R_ConcatRotations (temp1temp3currententity->custom_entity_rotation);

        
// rotate modelorg and the transformation matrix
        
R_CustomEntityRotate(modelorg);

        
R_CustomEntityRotate(vpn);
        
R_CustomEntityRotate(vright);
        
R_CustomEntityRotate(vup);

        
currententity->usingDefaultRotation false;
    }


    
R_TransformFrustum ();


Last edited by NovaCoder; 14 November 2018 at 09:50.
NovaCoder is offline  
Old 15 November 2018, 11:12   #127
Reido
Registered User
 
Join Date: Feb 2013
Location: Dublin/Ireland
Posts: 403
[ Show youtube player ]

Some tests by the Vampire lads!

I had a quick go on v1. 17, looks and sounds great! I'll check out V1. 19 this eve.
Reido is offline  
Old 17 November 2018, 13:37   #128
trixster
Guru Meditating
 
Join Date: Jun 2014
Location: England
Posts: 2,337
is it possible to get m_filter added?
trixster is offline  
Old 17 November 2018, 19:52   #129
nujack
Zone Friend
 
nujack's Avatar
 
Join Date: Apr 2005
Location: Leipzig/Germany
Age: 49
Posts: 458
Any chance to get 3D-Support for iglasses?
3D-Mode can be activated via lcd_x 1.0 on console(http://www.stereo3d.com/quake.htm).
Would be cool to play it on my A1200/060 on AGA interlaced mode.
Attached Thumbnails
Click image for larger version

Name:	IMG_6300.JPG
Views:	218
Size:	29.0 KB
ID:	60865  
nujack is offline  
Old 18 November 2018, 00:09   #130
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
Quote:
Originally Posted by trixster View Post
is it possible to get m_filter added?
What does it do?
Quote:
Originally Posted by nujack View Post
Any chance to get 3D-Support for iglasses?
3D-Mode can be activated via lcd_x 1.0 on console(http://www.stereo3d.com/quake.htm).
Would be cool to play it on my A1200/060 on AGA interlaced mode.
No sorry, that would be too much work

Last edited by NovaCoder; 18 November 2018 at 02:27.
NovaCoder is offline  
Old 18 November 2018, 03:40   #131
eXeler0
Registered User
 
eXeler0's Avatar
 
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 2,946
Quote:
Originally Posted by NovaCoder View Post
What does it do?
m_filter gives option to add mouse interpolation, default is set to 0 =off, values higher will enable it.
eXeler0 is offline  
Old 18 November 2018, 05:55   #132
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
Quote:
Originally Posted by eXeler0 View Post
m_filter gives option to add mouse interpolation, default is set to 0 =off, values higher will enable it.
Oh OK, I'll take a quick look.

Has anyone notice any speed improvements with v1.19? Hopefully it's not slower

Last edited by NovaCoder; 18 February 2019 at 10:11.
NovaCoder is offline  
Old 18 November 2018, 19:53   #133
digiflip
Registered User
 
digiflip's Avatar
 
Join Date: Apr 2011
Location: Nottingham, United Kingdom
Posts: 142
thanks Novacoder, works great on replay with 060 at 80 mhz, will there be rtg in a update?
digiflip is offline  
Old 18 November 2018, 22:28   #134
nujack
Zone Friend
 
nujack's Avatar
 
Join Date: Apr 2005
Location: Leipzig/Germany
Age: 49
Posts: 458
Quote:
Originally Posted by NovaCoder View Post
No sorry, that would be too much work
Are you sure? The command lcd_x is already available and afaik you need an interlace-mode for the i-glasses to get a stereoscopic effect (NTSC/PAL-Highres-Interlace should be fine). Is it really much work to support these 2 gfx-modes in your port?
nujack is offline  
Old 18 November 2018, 23:58   #135
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
Quote:
Originally Posted by nujack View Post
Are you sure? The command lcd_x is already available and afaik you need an interlace-mode for the i-glasses to get a stereoscopic effect (NTSC/PAL-Highres-Interlace should be fine). Is it really much work to support these 2 gfx-modes in your port?
Yep I remember commenting out a lot of that code and don't want to try and put it all back in (could break something else).
NovaCoder is offline  
Old 19 November 2018, 02:06   #136
eXeler0
Registered User
 
eXeler0's Avatar
 
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 2,946
@Nova, does this version have a 4096 units size limit for the BSP/ map?
eXeler0 is offline  
Old 19 November 2018, 02:38   #137
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
Quote:
Originally Posted by eXeler0 View Post
@Nova, does this version have a 4096 units size limit for the BSP/ map?
I assume so, it's based on WinQuake which was the original official source port from way back in the day. I have not done anything to improve functionality, I've actually been removing functionality to improve the speed on real hardware

Last edited by NovaCoder; 06 December 2018 at 10:05.
NovaCoder is offline  
Old 19 November 2018, 02:45   #138
klx300r
Registered User
 
klx300r's Avatar
 
Join Date: Oct 2007
Location: Toronto, Canada
Posts: 1,593
Thumbs up

Quote:
Originally Posted by NovaCoder View Post
I found my old AmiQuake source code the other day and noticed that I'd made a few little mistakes (due to optimizations) so I've just built a new version in the Zone for testing on a real 060.

This version has fixes to the maths lookup tables and also should have better sound, particles and lighting. Not sure about performance though as I no longer have a real Amiga to test on.

shame you don't have an Amiga but we still Love ya Nova
klx300r is offline  
Old 19 November 2018, 05:02   #139
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
Thanks mate
NovaCoder is offline  
Old 19 November 2018, 17:26   #140
nujack
Zone Friend
 
nujack's Avatar
 
Join Date: Apr 2005
Location: Leipzig/Germany
Age: 49
Posts: 458
Quote:
Originally Posted by NovaCoder View Post
Yep I remember commenting out a lot of that code and don't want to try and put it all back in (could break something else).
I understand.
Would it be possible to enable NTSC/PAL Highres interlace as alternative screenmodes? I would try out if stereoscopic picture is available with that.
BTW there is a gfx-failure on the left side which appears the whole time(tested on A4000/060, see attachment). Performance is very good.
Attached Thumbnails
Click image for larger version

Name:	IMG_6316.JPG
Views:	213
Size:	170.1 KB
ID:	60884   Click image for larger version

Name:	IMG_6317.JPG
Views:	205
Size:	191.7 KB
ID:	60885  
nujack is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
DosBox v0.74 AGA 68k Port NovaCoder Amiga scene 20 07 June 2018 02:17
quake 2 68k turrican3 support.Games 93 22 May 2014 02:12
68k + Picasso (RTG) Demos ?? Amiten Amiga scene 14 27 August 2013 17:39
ScummVM (v1.0.0) 68K Port NovaCoder project.Amiga Game Factory 7 04 September 2010 12:58
Is there a 68k Quake 2 port for the Amiga? Ironclaw request.Other 7 22 September 2006 20:56

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 17:18.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.14471 seconds with 16 queries