Previous 199869 Revisions Next

r17794 Tuesday 11th September, 2012 at 13:19:05 UTC by Angelo Salese
0x588 is just a mirror of 0x580 apparently ...
[src/mame/machine]seicop.c

trunk/src/mame/machine/seicop.c
r17793r17794
17741774
17751775   /* outbound X check */
17761776   if(cop_collision_info[0].max_x >= cop_collision_info[1].min_x && cop_collision_info[0].min_x <= cop_collision_info[1].max_x)
1777      res &= ~1;
1777      res &= ~2;
17781778
17791779   /* outbound Y check */
17801780   if(cop_collision_info[0].max_y >= cop_collision_info[1].min_y && cop_collision_info[0].min_y <= cop_collision_info[1].max_y)
1781      res &= ~2;
1781      res &= ~1;
17821782
1783   /* TODO: Legionnaire does collision detection via the other two regs,
1784             for now just implement a version that allows the player to spam flying kicks and hit everything else on the screen ;-) */
17851783   cop_hit_val_x = (cop_collision_info[0].min_x - cop_collision_info[1].min_x) >> 16;
17861784   cop_hit_val_y = (cop_collision_info[0].min_y - cop_collision_info[1].min_y) >> 16;
17871785   cop_hit_val_z = 1;
1788   cop_hit_val_unk = 0;//((cop_collision_info[0].min_y >> 16) != (cop_collision_info[1].min_y >> 16));
1786   cop_hit_val_unk = res;//((cop_collision_info[0].min_y >> 16) != (cop_collision_info[1].min_y >> 16));
17891787
17901788   //if(res == 0)
17911789   //popmessage("0:%08x %08x %08x 1:%08x %08x %08x\n",cop_collision_info[0].x,cop_collision_info[0].y,cop_collision_info[0].hitbox,cop_collision_info[1].x,cop_collision_info[1].y,cop_collision_info[1].hitbox);
r17793r17794
22982296         //(heatbrl)  | 9 | ffff | b080 | b40 bc0 bc2
22992297         if(COP_CMD(0xb40,0xbc0,0xbc2,0x000,0x000,0x000,0x000,0x000,u1,u2))
23002298         {
2301            UINT8 start_x,/*start_y,*/end_x,end_y;
2299            UINT8 start_x,end_x,end_y;
2300            //UINT8 start_y;
23022301            cop_collision_info[0].hitbox = space->read_word(cop_register[2]);
23032302            cop_collision_info[0].hitbox_y = space->read_word((cop_register[2]&0xffff0000)|(cop_collision_info[0].hitbox));
23042303            cop_collision_info[0].hitbox_x = space->read_word(((cop_register[2]&0xffff0000)|(cop_collision_info[0].hitbox))+2);
r17793r17794
23352334         //(heatbrl)  | 6 | ffff | b880 | b60 be0 be2
23362335         if(COP_CMD(0xb60,0xbe0,0xbe2,0x000,0x000,0x000,0x000,0x000,u1,u2))
23372336         {
2338            UINT8 start_x,/*start_y,*/end_x,end_y;
2337            UINT8 start_x, end_x,end_y;
2338            //UINT8 start_y;
23392339
23402340            /* Take hitbox param, TODO */
23412341            cop_collision_info[1].hitbox = space->read_word(cop_register[3]);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team