MAMEWorld >> EmuChat
View all threads Index   Flat Mode Flat  

dkongjr
MAME Fan
Reged: 03/25/16
Posts: 45
Send PM
Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation
04/11/16 09:40 PM


Got it!!! Collision, it's working!



It turns out f60 (int_point) needs to output either (+/-1,0,0), (0,+/-1,0), or (0,0,+/-1), and that's where your mystery three-value integer comes in play. Let me explain with the code, f24_swa (intercept) function:

Code:


// store that number in Qunk variable
// adr++; // 0, 1 or 2...
Qunk= tgp_data[adr++];


// replace x1,y1,z1 with x2,y2,z2
// think it works better for f57 (int_normal)
// which uses these coordinates for bounce translation
ix = x2 + dx*t;
iy = y2 + dy*t;
iz = z2 + dz*t;

// this is the main part here
if(cp == 0 || cp == 4)
{
m_tgp_int_px = ix;
m_tgp_int_py = iy;
m_tgp_int_pz = iz;

collX=collY=collZ= 0;

if(Qunk == 0)
{
if(dx<0)
collX= 1;
else
collX= -1;

m_tgp_int_px+= 900*collX;
}
else
if(Qunk == 1)
{
if(dy<0)
collY= 1;
else
collY= -1;

m_tgp_int_py+= 900*collY;
}
else
if(Qunk == 2)
{
if(dz<0)
collZ= 1;
else
collZ= -1;

m_tgp_int_pz+= 900*collZ;
}


ret = 0;
adr -= 17;
break;
}


I only show differences. So if Qunk is 0 (plane perpendicular to x-axis), then f60 (int_point) function should output either (-1,0,0) or (1,0,0). If Qunk is 1 (plane perpendicular to y-axis), then f60 (int_point) function should output either (0,-1,0) or (0,1,0). And if Qunk is 2 (plane perpendicular to z-axis), then f60 (int_point) function should output either (0,0,-1) or (0,0,1). I also increase m_tgp_int_px/py/pz for 900 units to increase bounce distance, although the whole bounce reaction is likely handled some other way, but for now that works well enough.


f60 (int_point) and f57 (int_normal):

Code:


static void f60(void)
{
fifoout_push_f(collX);
fifoout_push_f(collY);
fifoout_push_f(collZ);

next_fn();
}

static void f57(void)
{
fifoout_push_f(m_tgp_int_px);
fifoout_push_f(m_tgp_int_py);
fifoout_push_f(m_tgp_int_pz);

next_fn();
}



Now, there are still some little problems. For stage 2 I had to make collZ positive for both dz<0 and dz>0 or the ship would collide with something at the very entrance of stage 2 when autopilot disengages, possibly the wall behind. But after the ship moves a bit from the starting point then it's all good. Another problem is with asteroids, sometimes collision triggers only after the ship has already went through it. Also, sometimes the ship manages to go through walls despite the bounce, which can be helped by increasing bounce distance, however large bounce distance is not good for narrow corridors and tunnels in the final stage as it can bounce the ship outside through the opposite wall.







Entire thread
Subject Posted by Posted on
* Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr 03/25/16 01:15 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/20/16 12:08 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Roman  04/20/16 12:55 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/20/16 01:23 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  04/20/16 04:06 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation SailorSat  06/25/16 09:03 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation John IV  04/20/16 05:24 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation R. Belmont  04/20/16 09:15 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation jonwil  04/08/16 02:23 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation jonwil  04/05/16 01:28 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation R. Belmont  04/05/16 05:15 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation AaronGiles  04/05/16 06:59 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  04/05/16 02:33 PM
. * May the Force be with you SmitdoggAdministrator  03/30/16 03:27 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  03/26/16 04:40 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation drewcifer  03/27/16 09:19 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  03/27/16 02:35 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation gregf  03/27/16 07:55 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation R. Belmont  03/28/16 10:31 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  03/29/16 03:28 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  03/29/16 03:13 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  03/29/16 06:24 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Ville Linde  03/29/16 06:35 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Osso1  03/29/16 06:43 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  03/30/16 07:15 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation MooglyGuy  03/30/16 08:28 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  03/30/16 09:23 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation R. Belmont  03/30/16 04:46 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  03/30/16 09:59 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  03/30/16 12:30 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Ville Linde  03/30/16 03:11 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  03/31/16 12:22 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Traso  04/07/16 05:37 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/02/16 06:52 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/04/16 02:53 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Ville Linde  04/04/16 05:37 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/04/16 09:26 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  04/04/16 10:55 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/05/16 07:15 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  04/05/16 10:39 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation R. Belmont  04/06/16 05:57 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  04/06/16 07:48 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/07/16 11:42 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Ville Linde  04/07/16 05:28 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/07/16 09:04 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  04/07/16 11:16 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/08/16 06:32 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  04/08/16 07:05 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/08/16 11:22 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/09/16 12:03 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/10/16 07:50 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Ville Linde  04/11/16 07:45 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/11/16 08:36 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Ville Linde  04/11/16 08:50 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  04/11/16 10:42 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/15/16 03:50 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/15/16 11:35 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation R. Belmont  04/19/16 07:39 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/20/16 12:49 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Haze  04/20/16 01:00 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation R. Belmont  04/20/16 04:38 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/20/16 09:35 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation R. Belmont  04/20/16 10:20 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/21/16 12:39 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/28/16 10:35 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/28/16 04:26 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation uman  04/29/16 01:12 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation lettuce  05/02/16 04:14 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation terminento  05/10/16 05:29 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation MooglyGuy  05/10/16 05:52 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation terminento  05/10/16 06:07 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Artman99  06/15/16 05:48 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation R. Belmont  06/15/16 07:36 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Ville Linde  06/16/16 07:28 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  06/16/16 07:47 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Artman99  06/16/16 02:44 AM
. * Hi Bart Simo *nt* MooglyGuy  06/16/16 06:19 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation R. Belmont  06/16/16 05:14 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Artman99  06/16/16 08:24 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation gamez fan  05/11/16 12:28 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation MooglyGuy  05/10/16 06:27 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation terminento  05/10/16 07:01 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation terminento  05/10/16 11:48 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  05/11/16 05:49 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  05/11/16 04:14 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  05/11/16 05:37 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation DarthMarino  05/11/16 02:57 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation terminento  05/11/16 02:18 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Anonymous  05/11/16 01:19 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation R. Belmont  05/12/16 04:52 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation terminento  05/14/16 04:10 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Vas Crabb  05/11/16 04:25 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Anonymous  05/11/16 07:16 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Envisaged0ne  05/11/16 06:55 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Anonymous  05/11/16 07:34 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation terminento  05/11/16 08:36 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation R. Belmont  04/22/16 05:16 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation LensLarque  04/15/16 11:47 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/11/16 09:40 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/13/16 07:40 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation R. Belmont  04/13/16 09:33 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/13/16 10:34 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation R. Belmont  04/14/16 05:02 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/14/16 05:57 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation MooglyGuy  04/14/16 01:41 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/14/16 06:22 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Master O  04/14/16 04:44 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Ziggy100  04/15/16 10:23 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Master O  04/15/16 11:42 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation joey35car  04/12/16 12:46 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/08/16 12:10 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  04/08/16 08:17 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/08/16 01:11 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/05/16 11:17 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  04/05/16 11:45 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/05/16 11:53 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/05/16 11:45 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/05/16 03:21 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Ville Linde  04/05/16 07:00 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/05/16 11:18 AM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Ville Linde  04/05/16 01:23 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  04/05/16 02:46 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation MooglyGuy  04/04/16 03:41 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation Olivier Galibert  03/25/16 02:17 PM
. * Re: Star Wars Arcade (SEGA, 1993): fixing model1 emulation dkongjr  03/25/16 06:18 PM

Extra information Permissions
Moderator:  Robbbert, Tafoid 
1 registered and 14 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 28698