Merge pull request #9 from Clownacy/master
Merge Clownacy/master into master
This commit is contained in:
commit
1f055ccfe8
20 changed files with 1466 additions and 1121 deletions
|
@ -59,6 +59,218 @@ addr = 0x403650
|
||||||
name = "HitBulletMap"
|
name = "HitBulletMap"
|
||||||
addr = 0x403740
|
addr = 0x403740
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "InitBullet"
|
||||||
|
addr = 0x403C00
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "CountArmsBullet"
|
||||||
|
addr = 0x403C40
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "CountBulletNum"
|
||||||
|
addr = 0x403CB0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "DeleteBullet"
|
||||||
|
addr = 0x403D10
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ClearBullet"
|
||||||
|
addr = 0x403D80
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "PutBullet"
|
||||||
|
addr = 0x403DC0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "SetBullet"
|
||||||
|
addr = 0x403F80
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Frontia1"
|
||||||
|
addr = 0x404160
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Frontia2"
|
||||||
|
addr = 0x4043F0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_PoleStar"
|
||||||
|
addr = 0x4047B0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_FireBall"
|
||||||
|
addr = 0x404B30
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_MachineGun"
|
||||||
|
addr = 0x405120
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Missile"
|
||||||
|
addr = 0x4055A0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Bom"
|
||||||
|
addr = 0x405D80
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Bubblin1"
|
||||||
|
addr = 0x405F30
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Bubblin2"
|
||||||
|
addr = 0x406190
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Bubblin3"
|
||||||
|
addr = 0x4064D0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Spine"
|
||||||
|
addr = 0x4068B0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Sword1"
|
||||||
|
addr = 0x406BB0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Sword2"
|
||||||
|
addr = 0x406E60
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Sword3"
|
||||||
|
addr = 0x407110
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Edge"
|
||||||
|
addr = 0x4075E0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Drop"
|
||||||
|
addr = 0x4078A0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_SuperMissile"
|
||||||
|
addr = 0x407910
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_SuperBom"
|
||||||
|
addr = 0x408080
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Nemesis"
|
||||||
|
addr = 0x408230
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Spur"
|
||||||
|
addr = 0x408710
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_SpurTail"
|
||||||
|
addr = 0x408AE0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_EnemyClear"
|
||||||
|
addr = 0x408F40
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet_Star"
|
||||||
|
addr = 0x408F90
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActBullet"
|
||||||
|
addr = 0x408FC0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "IsActiveSomeBullet"
|
||||||
|
addr = 0x4095C0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "InitCaret"
|
||||||
|
addr = 0x409650
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret00"
|
||||||
|
addr = 0x409670
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret01"
|
||||||
|
addr = 0x409680
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret02"
|
||||||
|
addr = 0x409880
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret03"
|
||||||
|
addr = 0x409B80
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret04"
|
||||||
|
addr = 0x409C70
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret05"
|
||||||
|
addr = 0x409E00
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret07"
|
||||||
|
addr = 0x409F60
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret08"
|
||||||
|
addr = 0x40A120
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret09"
|
||||||
|
addr = 0x40A1B0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret10"
|
||||||
|
addr = 0x40A280
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret11"
|
||||||
|
addr = 0x40A3F0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret12"
|
||||||
|
addr = 0x40A5A0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret13"
|
||||||
|
addr = 0x40A650
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret14"
|
||||||
|
addr = 0x40A7E0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret15"
|
||||||
|
addr = 0x40A8F0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret16"
|
||||||
|
addr = 0x40A9E0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret17"
|
||||||
|
addr = 0x40AAA0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ActCaret"
|
||||||
|
addr = 0x40AB50
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "PutCaret"
|
||||||
|
addr = 0x40ABC0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "SetCaret"
|
||||||
|
addr = 0x40AC90
|
||||||
|
|
||||||
[[func]]
|
[[func]]
|
||||||
name = "Call_Escape"
|
name = "Call_Escape"
|
||||||
addr = 0x40DD70
|
addr = 0x40DD70
|
||||||
|
@ -342,6 +554,54 @@ addr = 0x41C8F0
|
||||||
name = "MakePixelWaveData"
|
name = "MakePixelWaveData"
|
||||||
addr = 0x41CB10
|
addr = 0x41CB10
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ShootBullet_Frontia1"
|
||||||
|
addr = 0x41DBD0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ShootBullet_PoleStar"
|
||||||
|
addr = 0x41DE60
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ShootBullet_FireBall"
|
||||||
|
addr = 0x41E110
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ShootBullet_Machinegun1"
|
||||||
|
addr = 0x41E3D0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ShootBullet_Missile"
|
||||||
|
addr = 0x41E7B0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ShootBullet_Bubblin1"
|
||||||
|
addr = 0x41EFD0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ShootBullet_Bubblin2"
|
||||||
|
addr = 0x41F280
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ShootBullet_Sword"
|
||||||
|
addr = 0x41F580
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ShootBullet_Nemesis"
|
||||||
|
addr = 0x41F710
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ResetSpurCharge"
|
||||||
|
addr = 0x41F9E0
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ShootBullet_Spur"
|
||||||
|
addr = 0x41FA10
|
||||||
|
|
||||||
|
[[func]]
|
||||||
|
name = "ShootBullet"
|
||||||
|
addr = 0x41FE70
|
||||||
|
|
||||||
[[func]]
|
[[func]]
|
||||||
name = "PlaySoundObject"
|
name = "PlaySoundObject"
|
||||||
addr = 0x420640
|
addr = 0x420640
|
||||||
|
|
781
src/Bullet.cpp
781
src/Bullet.cpp
File diff suppressed because it is too large
Load diff
|
@ -34,7 +34,7 @@ void ActCaret01(CARET *crt)
|
||||||
{64, 24, 72, 32},
|
{64, 24, 72, 32},
|
||||||
{72, 24, 80, 32},
|
{72, 24, 80, 32},
|
||||||
{80, 24, 88, 32},
|
{80, 24, 88, 32},
|
||||||
{88, 24, 92, 32},
|
{88, 24, 96, 32},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!crt->act_no)
|
if (!crt->act_no)
|
||||||
|
@ -55,10 +55,10 @@ void ActCaret01(CARET *crt)
|
||||||
crt->cond = 0;
|
crt->cond = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (crt->direct)
|
if (crt->direct == 0)
|
||||||
crt->rect = rcRight[crt->ani_no];
|
|
||||||
else
|
|
||||||
crt->rect = rcLeft[crt->ani_no];
|
crt->rect = rcLeft[crt->ani_no];
|
||||||
|
else
|
||||||
|
crt->rect = rcRight[crt->ani_no];
|
||||||
}
|
}
|
||||||
|
|
||||||
void ActCaret02(CARET *crt)
|
void ActCaret02(CARET *crt)
|
||||||
|
@ -88,32 +88,39 @@ void ActCaret02(CARET *crt)
|
||||||
case 0:
|
case 0:
|
||||||
crt->ym -= 0x10;
|
crt->ym -= 0x10;
|
||||||
crt->y += crt->ym;
|
crt->y += crt->ym;
|
||||||
|
|
||||||
if (++crt->ani_wait > 5)
|
if (++crt->ani_wait > 5)
|
||||||
{
|
{
|
||||||
crt->ani_wait = 0;
|
crt->ani_wait = 0;
|
||||||
++crt->ani_no;
|
++crt->ani_no;
|
||||||
}
|
}
|
||||||
if ( crt->ani_no > 3 )
|
|
||||||
|
if (crt->ani_no > 3)
|
||||||
crt->cond = 0;
|
crt->cond = 0;
|
||||||
|
|
||||||
crt->rect = rect_left[crt->ani_no];
|
crt->rect = rect_left[crt->ani_no];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
|
||||||
crt->rect = rect_up[++crt->ani_wait / 2 % 3];
|
|
||||||
if (crt->ani_wait > 24)
|
|
||||||
crt->cond = 0;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
if ( ++crt->ani_wait > 2 )
|
if (++crt->ani_wait > 2)
|
||||||
{
|
{
|
||||||
crt->ani_wait = 0;
|
crt->ani_wait = 0;
|
||||||
++crt->ani_no;
|
++crt->ani_no;
|
||||||
}
|
}
|
||||||
if ( crt->ani_no > 3 )
|
|
||||||
|
if (crt->ani_no > 3)
|
||||||
crt->cond = 0;
|
crt->cond = 0;
|
||||||
|
|
||||||
crt->rect = rect_right[crt->ani_no];
|
crt->rect = rect_right[crt->ani_no];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
crt->rect = rect_up[++crt->ani_wait / 2 % 3];
|
||||||
|
|
||||||
|
if (crt->ani_wait > 24)
|
||||||
|
crt->cond = 0;
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -158,7 +165,7 @@ void ActCaret04(CARET *crt)
|
||||||
crt->cond = 0;
|
crt->cond = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
crt->rect = rect[crt->ani_no + 3 * crt->direct];
|
crt->rect = rect[3 * crt->direct + crt->ani_no];
|
||||||
}
|
}
|
||||||
|
|
||||||
void ActCaret05(CARET *crt)
|
void ActCaret05(CARET *crt)
|
||||||
|
@ -243,9 +250,10 @@ void ActCaret09(CARET *crt)
|
||||||
RECT rcLeft = {0, 80, 16, 96};
|
RECT rcLeft = {0, 80, 16, 96};
|
||||||
RECT rcRight = {48, 64, 64, 80};
|
RECT rcRight = {48, 64, 64, 80};
|
||||||
|
|
||||||
if (++crt->ani_wait <= 4)
|
if (++crt->ani_wait < 5)
|
||||||
crt->y -= 0x800;
|
crt->y -= 0x800;
|
||||||
if (crt->ani_wait == 32 )
|
|
||||||
|
if (crt->ani_wait == 32)
|
||||||
crt->cond = 0;
|
crt->cond = 0;
|
||||||
|
|
||||||
if (crt->direct == 0)
|
if (crt->direct == 0)
|
||||||
|
@ -268,33 +276,37 @@ void ActCaret10(CARET *crt)
|
||||||
|
|
||||||
++crt->ani_wait;
|
++crt->ani_wait;
|
||||||
|
|
||||||
if (crt->direct)
|
if (crt->direct == 0)
|
||||||
{
|
{
|
||||||
if (crt->ani_wait < 20)
|
if (crt->ani_wait < 20)
|
||||||
crt->y -= 0x200;
|
crt->y -= 0x400;
|
||||||
|
|
||||||
if (crt->ani_wait == 80)
|
if (crt->ani_wait == 80)
|
||||||
crt->cond = 0;
|
crt->cond = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (crt->ani_wait < 20)
|
if (crt->ani_wait < 20)
|
||||||
crt->y -= 0x400;
|
crt->y -= 0x200;
|
||||||
|
|
||||||
if (crt->ani_wait == 80)
|
if (crt->ani_wait == 80)
|
||||||
crt->cond = 0;
|
crt->cond = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (crt->direct)
|
if (crt->direct == 0)
|
||||||
crt->rect = rcRight[crt->ani_wait / 2 % 2];
|
|
||||||
else
|
|
||||||
crt->rect = rcLeft[crt->ani_wait / 2 % 2];
|
crt->rect = rcLeft[crt->ani_wait / 2 % 2];
|
||||||
|
else
|
||||||
|
crt->rect = rcRight[crt->ani_wait / 2 % 2];
|
||||||
}
|
}
|
||||||
|
|
||||||
void ActCaret11(CARET *crt)
|
void ActCaret11(CARET *crt)
|
||||||
{
|
{
|
||||||
|
unsigned char deg;
|
||||||
|
|
||||||
if (!crt->act_no)
|
if (!crt->act_no)
|
||||||
{
|
{
|
||||||
crt->act_no = 1;
|
crt->act_no = 1;
|
||||||
uint8_t deg = Random(0, 0xFF);
|
deg = Random(0, 0xFF);
|
||||||
crt->xm = 2 * GetCos(deg);
|
crt->xm = 2 * GetCos(deg);
|
||||||
crt->ym = 2 * GetSin(deg);
|
crt->ym = 2 * GetSin(deg);
|
||||||
}
|
}
|
||||||
|
@ -346,7 +358,7 @@ void ActCaret13(CARET *crt)
|
||||||
{0, 0, 0, 0},
|
{0, 0, 0, 0},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!crt->act_no)
|
if (crt->act_no == 0)
|
||||||
{
|
{
|
||||||
crt->act_no = 1;
|
crt->act_no = 1;
|
||||||
|
|
||||||
|
@ -363,10 +375,12 @@ void ActCaret13(CARET *crt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!crt->direct)
|
switch (crt->direct)
|
||||||
{
|
{
|
||||||
|
case 0:
|
||||||
crt->xm = 4 * crt->xm / 5;
|
crt->xm = 4 * crt->xm / 5;
|
||||||
crt->ym = 4 * crt->ym / 5;
|
crt->ym = 4 * crt->ym / 5;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
crt->x += crt->xm;
|
crt->x += crt->xm;
|
||||||
|
@ -502,10 +516,16 @@ CARETFUNCTION gpCaretFuncTbl[] =
|
||||||
|
|
||||||
void ActCaret()
|
void ActCaret()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < CARET_MAX; i++)
|
int i;
|
||||||
|
int code;
|
||||||
|
|
||||||
|
for (i = 0; i < CARET_MAX; i++)
|
||||||
{
|
{
|
||||||
if (gCrt[i].cond & 0x80)
|
if (gCrt[i].cond & 0x80)
|
||||||
gpCaretFuncTbl[gCrt[i].code](&gCrt[i]);
|
{
|
||||||
|
code = gCrt[i].code;
|
||||||
|
gpCaretFuncTbl[code](&gCrt[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -527,10 +547,14 @@ void PutCaret(int fx, int fy)
|
||||||
|
|
||||||
void SetCaret(int x, int y, int code, int dir)
|
void SetCaret(int x, int y, int code, int dir)
|
||||||
{
|
{
|
||||||
for (int c = 0; c < CARET_MAX; c++)
|
int c;
|
||||||
{
|
for (c = 0; c < CARET_MAX; c++)
|
||||||
if (!gCrt[c].cond)
|
if (gCrt[c].cond == 0)
|
||||||
{
|
break;
|
||||||
|
|
||||||
|
if (c == CARET_MAX)
|
||||||
|
return;
|
||||||
|
|
||||||
memset(&gCrt[c], 0, sizeof(CARET));
|
memset(&gCrt[c], 0, sizeof(CARET));
|
||||||
gCrt[c].cond = 0x80;
|
gCrt[c].cond = 0x80;
|
||||||
gCrt[c].code = code;
|
gCrt[c].code = code;
|
||||||
|
@ -539,7 +563,4 @@ void SetCaret(int x, int y, int code, int dir)
|
||||||
gCrt[c].view_left = gCaretTable[code].view_left;
|
gCrt[c].view_left = gCaretTable[code].view_left;
|
||||||
gCrt[c].view_top = gCaretTable[code].view_top;
|
gCrt[c].view_top = gCaretTable[code].view_top;
|
||||||
gCrt[c].direct = dir;
|
gCrt[c].direct = dir;
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,7 @@ void PutStripper()
|
||||||
}
|
}
|
||||||
|
|
||||||
//Create a cast object
|
//Create a cast object
|
||||||
void SetStripper(int x, int y, char *text, int cast)
|
void SetStripper(int x, int y, const char *text, int cast)
|
||||||
{
|
{
|
||||||
for (int s = 0; s < MAX_STRIP; s++)
|
for (int s = 0; s < MAX_STRIP; s++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -37,7 +37,7 @@ struct ISLAND_SPRITE
|
||||||
|
|
||||||
void ActionStripper();
|
void ActionStripper();
|
||||||
void PutStripper();
|
void PutStripper();
|
||||||
void SetStripper(int x, int y, char *text, int cast);
|
void SetStripper(int x, int y, const char *text, int cast);
|
||||||
void RestoreStripper();
|
void RestoreStripper();
|
||||||
void ActionIllust();
|
void ActionIllust();
|
||||||
void PutIllust();
|
void PutIllust();
|
||||||
|
|
10
src/Fade.cpp
10
src/Fade.cpp
|
@ -16,9 +16,9 @@ struct FADE
|
||||||
int mode;
|
int mode;
|
||||||
BOOL bMask;
|
BOOL bMask;
|
||||||
int count;
|
int count;
|
||||||
char ani_no[FADE_HEIGHT][FADE_WIDTH];
|
signed char ani_no[FADE_HEIGHT][FADE_WIDTH];
|
||||||
char flag[FADE_HEIGHT][FADE_WIDTH]; // Not a BOOLEAN (those are unsigned)
|
signed char flag[FADE_HEIGHT][FADE_WIDTH]; // Not a BOOLEAN (those are unsigned)
|
||||||
char dir;
|
signed char dir;
|
||||||
};
|
};
|
||||||
|
|
||||||
static FADE gFade;
|
static FADE gFade;
|
||||||
|
@ -41,7 +41,7 @@ void ClearFade()
|
||||||
gFade.mode = 0;
|
gFade.mode = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void StartFadeOut(char dir)
|
void StartFadeOut(signed char dir)
|
||||||
{
|
{
|
||||||
gFade.mode = 2;
|
gFade.mode = 2;
|
||||||
gFade.count = 0;
|
gFade.count = 0;
|
||||||
|
@ -58,7 +58,7 @@ void StartFadeOut(char dir)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void StartFadeIn(char dir)
|
void StartFadeIn(signed char dir)
|
||||||
{
|
{
|
||||||
int x;
|
int x;
|
||||||
int y;
|
int y;
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
void InitFade();
|
void InitFade();
|
||||||
void SetFadeMask();
|
void SetFadeMask();
|
||||||
void ClearFade();
|
void ClearFade();
|
||||||
void StartFadeOut(char dir);
|
void StartFadeOut(signed char dir);
|
||||||
void StartFadeIn(char dir);
|
void StartFadeIn(signed char dir);
|
||||||
void ProcFade();
|
void ProcFade();
|
||||||
void PutFade();
|
void PutFade();
|
||||||
BOOL GetFadeActive();
|
BOOL GetFadeActive();
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
#include "SDL.h"
|
#include "SDL.h"
|
||||||
|
|
||||||
|
#include "WindowsWrapper.h"
|
||||||
|
|
||||||
#include "ArmsItem.h"
|
#include "ArmsItem.h"
|
||||||
#include "CommonDefines.h"
|
#include "CommonDefines.h"
|
||||||
#include "Caret.h"
|
#include "Caret.h"
|
||||||
|
@ -92,7 +94,7 @@ void ZeroExpMyChar()
|
||||||
gArmsData[gSelectedArms].exp = 0;
|
gArmsData[gSelectedArms].exp = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsMaxExpMyChar()
|
BOOL IsMaxExpMyChar()
|
||||||
{
|
{
|
||||||
return gArmsData[gSelectedArms].level == 3
|
return gArmsData[gSelectedArms].level == 3
|
||||||
&& gArmsData[gSelectedArms].exp >= gArmsLevelTable[gArmsData[gSelectedArms].code].exp[2];
|
&& gArmsData[gSelectedArms].exp >= gArmsLevelTable[gArmsData[gSelectedArms].code].exp[2];
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#include "WindowsWrapper.h"
|
||||||
|
|
||||||
struct ARMS_LEVEL
|
struct ARMS_LEVEL
|
||||||
{
|
{
|
||||||
int exp[3];
|
int exp[3];
|
||||||
|
@ -17,7 +19,7 @@ extern ARMS_LEVEL gArmsLevelTable[14];
|
||||||
|
|
||||||
void AddExpMyChar(int x);
|
void AddExpMyChar(int x);
|
||||||
void ZeroExpMyChar();
|
void ZeroExpMyChar();
|
||||||
bool IsMaxExpMyChar();
|
BOOL IsMaxExpMyChar();
|
||||||
void DamageMyChar(int damage);
|
void DamageMyChar(int damage);
|
||||||
void ZeroArmsEnergy_All();
|
void ZeroArmsEnergy_All();
|
||||||
void AddBulletMyChar(int no, int val);
|
void AddBulletMyChar(int no, int val);
|
||||||
|
|
|
@ -53,7 +53,7 @@ void SetUniqueParameter(NPCHAR *npc)
|
||||||
npc->view.bottom = gNpcTable[code].view.bottom << 9;
|
npc->view.bottom = gNpcTable[code].view.bottom << 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool LoadEvent(char *path_event)
|
bool LoadEvent(const char *path_event)
|
||||||
{
|
{
|
||||||
char path[PATH_LENGTH];
|
char path[PATH_LENGTH];
|
||||||
sprintf(path, "%s/%s", gDataPath, path_event);
|
sprintf(path, "%s/%s", gDataPath, path_event);
|
||||||
|
|
|
@ -83,7 +83,7 @@ extern int gSuperXpos;
|
||||||
extern int gSuperYpos;
|
extern int gSuperYpos;
|
||||||
|
|
||||||
void InitNpChar();
|
void InitNpChar();
|
||||||
bool LoadEvent(char *path_event);
|
bool LoadEvent(const char *path_event);
|
||||||
void SetNpChar(int code_char, int x, int y, int xm, int ym, int dir, NPCHAR *npc, int start_index);
|
void SetNpChar(int code_char, int x, int y, int xm, int ym, int dir, NPCHAR *npc, int start_index);
|
||||||
void SetDestroyNpChar(int x, int y, int w, int num);
|
void SetDestroyNpChar(int x, int y, int w, int num);
|
||||||
void SetDestroyNpCharUp(int x, int y, int w, int num);
|
void SetDestroyNpCharUp(int x, int y, int w, int num);
|
||||||
|
|
|
@ -303,7 +303,7 @@ void ChangeDramVolume(int32_t volume, int8_t track)
|
||||||
lpDRAMBUFFER[track]->SetVolume((volume - 0xFF) * 8);
|
lpDRAMBUFFER[track]->SetVolume((volume - 0xFF) * 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlayDramObject(unsigned char key, int mode,char track)
|
void PlayDramObject(unsigned char key, int mode, signed char track)
|
||||||
{
|
{
|
||||||
switch(mode)
|
switch(mode)
|
||||||
{
|
{
|
||||||
|
|
|
@ -56,7 +56,7 @@ void MakeWaveTables(void)
|
||||||
// White noise wave
|
// White noise wave
|
||||||
rep_srand(0);
|
rep_srand(0);
|
||||||
for (i = 0; i < 256; ++i)
|
for (i = 0; i < 256; ++i)
|
||||||
gWaveModelTable[5][i] = (char)(rep_rand() & 0xFF) / 2;
|
gWaveModelTable[5][i] = (signed char)(rep_rand() & 0xFF) / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL MakePixelWaveData(const PIXTONEPARAMETER *ptp, unsigned char *pData)
|
BOOL MakePixelWaveData(const PIXTONEPARAMETER *ptp, unsigned char *pData)
|
||||||
|
|
|
@ -40,7 +40,7 @@ bool IsProfile()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SaveProfile(char *name)
|
bool SaveProfile(const char *name)
|
||||||
{
|
{
|
||||||
//Get path
|
//Get path
|
||||||
char path[PATH_LENGTH];
|
char path[PATH_LENGTH];
|
||||||
|
@ -119,7 +119,7 @@ bool SaveProfile(char *name)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool LoadProfile(char *name)
|
bool LoadProfile(const char *name)
|
||||||
{
|
{
|
||||||
//Get path
|
//Get path
|
||||||
char path[PATH_LENGTH];
|
char path[PATH_LENGTH];
|
||||||
|
|
|
@ -25,12 +25,12 @@ struct PROFILE
|
||||||
ARMS arms[8];
|
ARMS arms[8];
|
||||||
ITEM items[32];
|
ITEM items[32];
|
||||||
PERMIT_STAGE permitstage[8];
|
PERMIT_STAGE permitstage[8];
|
||||||
char permit_mapping[0x80];
|
signed char permit_mapping[0x80];
|
||||||
char FLAG[4];
|
char FLAG[4];
|
||||||
uint8_t flags[1000];
|
uint8_t flags[1000];
|
||||||
};
|
};
|
||||||
|
|
||||||
bool IsProfile();
|
bool IsProfile();
|
||||||
bool SaveProfile(char *name);
|
bool SaveProfile(const char *name);
|
||||||
bool LoadProfile(char *name);
|
bool LoadProfile(const char *name);
|
||||||
bool InitializeGame();
|
bool InitializeGame();
|
||||||
|
|
471
src/Shoot.cpp
471
src/Shoot.cpp
|
@ -28,7 +28,10 @@ void ShootBullet_Frontia1(int level)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CountArmsBullet(1) <= 3 && gKeyTrg & gKeyShot)
|
if (CountArmsBullet(1) > 3)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (gKeyTrg & gKeyShot)
|
||||||
{
|
{
|
||||||
if (!UseArmsEnergy(1))
|
if (!UseArmsEnergy(1))
|
||||||
{
|
{
|
||||||
|
@ -86,18 +89,21 @@ void ShootBullet_PoleStar(int level)
|
||||||
int bul_no;
|
int bul_no;
|
||||||
switch (level)
|
switch (level)
|
||||||
{
|
{
|
||||||
|
case 1:
|
||||||
|
bul_no = 4;
|
||||||
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
bul_no = 5;
|
bul_no = 5;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
bul_no = 6;
|
bul_no = 6;
|
||||||
break;
|
break;
|
||||||
case 1:
|
|
||||||
bul_no = 4;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CountArmsBullet(2) < 2 && gKeyTrg & gKeyShot)
|
if (CountArmsBullet(2) > 1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (gKeyTrg & gKeyShot)
|
||||||
{
|
{
|
||||||
if (!UseArmsEnergy(1))
|
if (!UseArmsEnergy(1))
|
||||||
{
|
{
|
||||||
|
@ -107,42 +113,42 @@ void ShootBullet_PoleStar(int level)
|
||||||
{
|
{
|
||||||
if (gMC.up)
|
if (gMC.up)
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(bul_no, gMC.x + 0x200, gMC.y - 0x1000, 1);
|
|
||||||
SetCaret(gMC.x + 0x200, gMC.y - 0x1000, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(bul_no, gMC.x - 0x200, gMC.y - 0x1000, 1);
|
SetBullet(bul_no, gMC.x - 0x200, gMC.y - 0x1000, 1);
|
||||||
SetCaret(gMC.x - 0x200, gMC.y - 0x1000, 3, 0);
|
SetCaret(gMC.x - 0x200, gMC.y - 0x1000, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(bul_no, gMC.x + 0x200, gMC.y - 0x1000, 1);
|
||||||
|
SetCaret(gMC.x + 0x200, gMC.y - 0x1000, 3, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (gMC.down)
|
else if (gMC.down)
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(bul_no, gMC.x + 0x200, gMC.y + 0x1000, 3);
|
|
||||||
SetCaret(gMC.x + 0x200, gMC.y + 0x1000, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(bul_no, gMC.x - 0x200, gMC.y + 0x1000, 3);
|
SetBullet(bul_no, gMC.x - 0x200, gMC.y + 0x1000, 3);
|
||||||
SetCaret(gMC.x - 0x200, gMC.y + 0x1000, 3, 0);
|
SetCaret(gMC.x - 0x200, gMC.y + 0x1000, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(bul_no, gMC.x + 0x200, gMC.y + 0x1000, 3);
|
||||||
|
SetCaret(gMC.x + 0x200, gMC.y + 0x1000, 3, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(bul_no, gMC.x + 0xC00, gMC.y + 0x600, 2);
|
|
||||||
SetCaret(gMC.x + 0x1800, gMC.y + 0x600, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(bul_no, gMC.x - 0xC00, gMC.y + 0x600, 0);
|
SetBullet(bul_no, gMC.x - 0xC00, gMC.y + 0x600, 0);
|
||||||
SetCaret(gMC.x - 0x1800, gMC.y + 0x600, 3, 0);
|
SetCaret(gMC.x - 0x1800, gMC.y + 0x600, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(bul_no, gMC.x + 0xC00, gMC.y + 0x600, 2);
|
||||||
|
SetCaret(gMC.x + 0x1800, gMC.y + 0x600, 3, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (level == 3)
|
if (level == 3)
|
||||||
|
@ -160,17 +166,17 @@ void ShootBullet_FireBall(int level)
|
||||||
switch (level)
|
switch (level)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
if (CountArmsBullet(3) >= 2)
|
if (CountArmsBullet(3) > 1)
|
||||||
return;
|
return;
|
||||||
bul_no = 7;
|
bul_no = 7;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (CountArmsBullet(3) >= 3)
|
if (CountArmsBullet(3) > 2)
|
||||||
return;
|
return;
|
||||||
bul_no = 8;
|
bul_no = 8;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (CountArmsBullet(3) >= 4)
|
if (CountArmsBullet(3) > 3)
|
||||||
return;
|
return;
|
||||||
bul_no = 9;
|
bul_no = 9;
|
||||||
break;
|
break;
|
||||||
|
@ -186,42 +192,42 @@ void ShootBullet_FireBall(int level)
|
||||||
{
|
{
|
||||||
if (gMC.up)
|
if (gMC.up)
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(bul_no, gMC.x + 0x800, gMC.y - 0x1000, 1);
|
|
||||||
SetCaret(gMC.x + 0x800, gMC.y - 0x1000, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(bul_no, gMC.x - 0x800, gMC.y - 0x1000, 1);
|
SetBullet(bul_no, gMC.x - 0x800, gMC.y - 0x1000, 1);
|
||||||
SetCaret(gMC.x - 0x800, gMC.y - 0x1000, 3, 0);
|
SetCaret(gMC.x - 0x800, gMC.y - 0x1000, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(bul_no, gMC.x + 0x800, gMC.y - 0x1000, 1);
|
||||||
|
SetCaret(gMC.x + 0x800, gMC.y - 0x1000, 3, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (gMC.down)
|
else if (gMC.down)
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(bul_no, gMC.x + 0x800, gMC.y + 0x1000, 3);
|
|
||||||
SetCaret(gMC.x + 0x800, gMC.y + 0x1000, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(bul_no, gMC.x - 0x800, gMC.y + 0x1000, 3);
|
SetBullet(bul_no, gMC.x - 0x800, gMC.y + 0x1000, 3);
|
||||||
SetCaret(gMC.x - 0x800, gMC.y + 0x1000, 3, 0);
|
SetCaret(gMC.x - 0x800, gMC.y + 0x1000, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(bul_no, gMC.x + 0x800, gMC.y + 0x1000, 3);
|
||||||
|
SetCaret(gMC.x + 0x800, gMC.y + 0x1000, 3, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(bul_no, gMC.x + 0xC00, gMC.y + 0x400, 2);
|
|
||||||
SetCaret(gMC.x + 0x1800, gMC.y + 0x400, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(bul_no, gMC.x - 0xC00, gMC.y + 0x400, 0);
|
SetBullet(bul_no, gMC.x - 0xC00, gMC.y + 0x400, 0);
|
||||||
SetCaret(gMC.x - 0x1800, gMC.y + 0x400, 3, 0);
|
SetCaret(gMC.x - 0x1800, gMC.y + 0x400, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(bul_no, gMC.x + 0xC00, gMC.y + 0x400, 2);
|
||||||
|
SetCaret(gMC.x + 0x1800, gMC.y + 0x400, 3, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PlaySoundObject(34, 1);
|
PlaySoundObject(34, 1);
|
||||||
|
@ -231,8 +237,9 @@ void ShootBullet_FireBall(int level)
|
||||||
|
|
||||||
void ShootBullet_Machinegun1(int level)
|
void ShootBullet_Machinegun1(int level)
|
||||||
{
|
{
|
||||||
if (CountArmsBullet(4) < 5)
|
if (CountArmsBullet(4) > 4)
|
||||||
{
|
return;
|
||||||
|
|
||||||
int bul_no;
|
int bul_no;
|
||||||
|
|
||||||
switch (level)
|
switch (level)
|
||||||
|
@ -253,18 +260,22 @@ void ShootBullet_Machinegun1(int level)
|
||||||
|
|
||||||
if (gKey & gKeyShot)
|
if (gKey & gKeyShot)
|
||||||
{
|
{
|
||||||
if (++gMC.rensha > 6)
|
if (++gMC.rensha < 6)
|
||||||
{
|
return;
|
||||||
|
|
||||||
gMC.rensha = 0;
|
gMC.rensha = 0;
|
||||||
|
|
||||||
if (!UseArmsEnergy(1))
|
if (!UseArmsEnergy(1))
|
||||||
{
|
{
|
||||||
PlaySoundObject(37, 1);
|
PlaySoundObject(37, 1);
|
||||||
|
|
||||||
if (!empty)
|
if (empty == 0)
|
||||||
{
|
{
|
||||||
SetCaret(gMC.x, gMC.y, 16, 0);
|
SetCaret(gMC.x, gMC.y, 16, 0);
|
||||||
empty = 50;
|
empty = 50;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -273,16 +284,16 @@ void ShootBullet_Machinegun1(int level)
|
||||||
if (level == 3)
|
if (level == 3)
|
||||||
gMC.ym += 0x100;
|
gMC.ym += 0x100;
|
||||||
|
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(bul_no, gMC.x + 0x600, gMC.y - 0x1000, 1);
|
|
||||||
SetCaret(gMC.x + 0x600, gMC.y - 0x1000, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(bul_no, gMC.x - 0x600, gMC.y - 0x1000, 1);
|
SetBullet(bul_no, gMC.x - 0x600, gMC.y - 0x1000, 1);
|
||||||
SetCaret(gMC.x - 0x600, gMC.y - 0x1000, 3, 0);
|
SetCaret(gMC.x - 0x600, gMC.y - 0x1000, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(bul_no, gMC.x + 0x600, gMC.y - 0x1000, 1);
|
||||||
|
SetCaret(gMC.x + 0x600, gMC.y - 0x1000, 3, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (gMC.down)
|
else if (gMC.down)
|
||||||
{
|
{
|
||||||
|
@ -299,29 +310,29 @@ void ShootBullet_Machinegun1(int level)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(bul_no, gMC.x + 0x600, gMC.y + 0x1000, 3);
|
|
||||||
SetCaret(gMC.x + 0x600, gMC.y + 0x1000, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(bul_no, gMC.x - 0x600, gMC.y + 0x1000, 3);
|
SetBullet(bul_no, gMC.x - 0x600, gMC.y + 0x1000, 3);
|
||||||
SetCaret(gMC.x - 0x600, gMC.y + 0x1000, 3, 0);
|
SetCaret(gMC.x - 0x600, gMC.y + 0x1000, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(bul_no, gMC.x + 0x600, gMC.y + 0x1000, 3);
|
||||||
|
SetCaret(gMC.x + 0x600, gMC.y + 0x1000, 3, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(bul_no, gMC.x + 0x1800, gMC.y + 0x600, 2);
|
|
||||||
SetCaret(gMC.x + 0x1800, gMC.y + 0x600, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(bul_no, gMC.x - 0x1800, gMC.y + 0x600, 0);
|
SetBullet(bul_no, gMC.x - 0x1800, gMC.y + 0x600, 0);
|
||||||
SetCaret(gMC.x - 0x1800, gMC.y + 0x600, 3, 0);
|
SetCaret(gMC.x - 0x1800, gMC.y + 0x600, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(bul_no, gMC.x + 0x1800, gMC.y + 0x600, 2);
|
||||||
|
SetCaret(gMC.x + 0x1800, gMC.y + 0x600, 3, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (level == 3)
|
if (level == 3)
|
||||||
|
@ -330,7 +341,6 @@ void ShootBullet_Machinegun1(int level)
|
||||||
PlaySoundObject(32, 1);
|
PlaySoundObject(32, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
static int wait = 0;
|
static int wait = 0;
|
||||||
|
@ -353,10 +363,9 @@ void ShootBullet_Machinegun1(int level)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShootBullet_Missile(int level, bool bSuper)
|
void ShootBullet_Missile(int level, BOOL bSuper)
|
||||||
{
|
{
|
||||||
int bul_no;
|
int bul_no;
|
||||||
|
|
||||||
|
@ -375,20 +384,34 @@ void ShootBullet_Missile(int level, bool bSuper)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (level == 1)
|
switch (level)
|
||||||
{
|
{
|
||||||
if (CountArmsBullet(10) >= 1 || CountArmsBullet(11) >= 1)
|
case 1:
|
||||||
|
if (CountArmsBullet(10) > 0)
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
else if (level == 2)
|
if (CountArmsBullet(11) > 0)
|
||||||
{
|
|
||||||
if (CountArmsBullet(10) >= 2 || CountArmsBullet(11) >= 2)
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
else if (level == 3)
|
break;
|
||||||
{
|
|
||||||
if (CountArmsBullet(10) >= 4 || CountArmsBullet(11) >= 4)
|
case 2:
|
||||||
|
if (CountArmsBullet(10) > 1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (CountArmsBullet(11) > 1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
if (CountArmsBullet(10) > 3)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (CountArmsBullet(11) > 3)
|
||||||
|
return;
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -407,33 +430,46 @@ void ShootBullet_Missile(int level, bool bSuper)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (level == 1)
|
switch (level)
|
||||||
{
|
{
|
||||||
if (CountArmsBullet(5) >= 1 || CountArmsBullet(6) >= 1)
|
case 1:
|
||||||
|
if (CountArmsBullet(5) > 0)
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
else if (level == 2)
|
if (CountArmsBullet(6) > 0)
|
||||||
{
|
|
||||||
if (CountArmsBullet(5) >= 2 || CountArmsBullet(6) >= 2)
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
else if ( level == 3 )
|
break;
|
||||||
{
|
|
||||||
if (CountArmsBullet(5) >= 4 || CountArmsBullet(6) >= 4)
|
case 2:
|
||||||
|
if (CountArmsBullet(5) > 1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (CountArmsBullet(6) > 1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
if (CountArmsBullet(5) > 3)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (CountArmsBullet(6) > 3)
|
||||||
|
return;
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(gKeyTrg & gKeyShot))
|
if (gKeyTrg & gKeyShot)
|
||||||
return;
|
{
|
||||||
|
|
||||||
if (level < 3)
|
if (level < 3)
|
||||||
{
|
{
|
||||||
if (!UseArmsEnergy(1))
|
if (!UseArmsEnergy(1))
|
||||||
{
|
{
|
||||||
PlaySoundObject(37, 1);
|
PlaySoundObject(37, 1);
|
||||||
|
|
||||||
if (!empty)
|
if (empty == 0)
|
||||||
{
|
{
|
||||||
SetCaret(gMC.x, gMC.y, 16, 0);
|
SetCaret(gMC.x, gMC.y, 16, 0);
|
||||||
empty = 50;
|
empty = 50;
|
||||||
|
@ -444,42 +480,42 @@ void ShootBullet_Missile(int level, bool bSuper)
|
||||||
|
|
||||||
if (gMC.up)
|
if (gMC.up)
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(bul_no, gMC.x + 0x200, gMC.y - 0x1000, 1);
|
|
||||||
SetCaret(gMC.x + 0x200, gMC.y - 0x1000, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(bul_no, gMC.x - 0x200, gMC.y - 0x1000, 1);
|
SetBullet(bul_no, gMC.x - 0x200, gMC.y - 0x1000, 1);
|
||||||
SetCaret(gMC.x - 0x200, gMC.y - 0x1000, 3, 0);
|
SetCaret(gMC.x - 0x200, gMC.y - 0x1000, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(bul_no, gMC.x + 0x200, gMC.y - 0x1000, 1);
|
||||||
|
SetCaret(gMC.x + 0x200, gMC.y - 0x1000, 3, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (gMC.down)
|
else if (gMC.down)
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(bul_no, gMC.x + 0x200, gMC.y + 0x1000, 3);
|
|
||||||
SetCaret(gMC.x + 0x200, gMC.y + 0x1000, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(bul_no, gMC.x - 0x200, gMC.y + 0x1000, 3);
|
SetBullet(bul_no, gMC.x - 0x200, gMC.y + 0x1000, 3);
|
||||||
SetCaret(gMC.x - 0x200, gMC.y + 0x1000, 3, 0);
|
SetCaret(gMC.x - 0x200, gMC.y + 0x1000, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(bul_no, gMC.x + 0x200, gMC.y + 0x1000, 3);
|
||||||
|
SetCaret(gMC.x + 0x200, gMC.y + 0x1000, 3, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(bul_no, gMC.x + 0xC00, gMC.y, 2);
|
|
||||||
SetCaret(gMC.x + 0x1800, gMC.y, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(bul_no, gMC.x - 0xC00, gMC.y, 0);
|
SetBullet(bul_no, gMC.x - 0xC00, gMC.y, 0);
|
||||||
SetCaret(gMC.x - 0x1800, gMC.y, 3, 0);
|
SetCaret(gMC.x - 0x1800, gMC.y, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(bul_no, gMC.x + 0xC00, gMC.y, 2);
|
||||||
|
SetCaret(gMC.x + 0x1800, gMC.y, 3, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -488,7 +524,7 @@ void ShootBullet_Missile(int level, bool bSuper)
|
||||||
{
|
{
|
||||||
PlaySoundObject(37, 1);
|
PlaySoundObject(37, 1);
|
||||||
|
|
||||||
if (!empty)
|
if (empty == 0)
|
||||||
{
|
{
|
||||||
SetCaret(gMC.x, gMC.y, 16, 0);
|
SetCaret(gMC.x, gMC.y, 16, 0);
|
||||||
empty = 50;
|
empty = 50;
|
||||||
|
@ -499,114 +535,122 @@ void ShootBullet_Missile(int level, bool bSuper)
|
||||||
|
|
||||||
if (gMC.up)
|
if (gMC.up)
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(bul_no, gMC.x + 0x200, gMC.y - 0x1000, 1);
|
|
||||||
SetCaret(gMC.x + 0x200, gMC.y - 0x1000, 3, 0);
|
|
||||||
SetBullet(bul_no, gMC.x + 0x600, gMC.y, 1);
|
|
||||||
SetBullet(bul_no, gMC.x - 0x600, gMC.y, 1);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(bul_no, gMC.x - 0x200, gMC.y - 0x1000, 1);
|
SetBullet(bul_no, gMC.x - 0x200, gMC.y - 0x1000, 1);
|
||||||
SetCaret(gMC.x - 0x200, gMC.y - 0x1000, 3, 0);
|
SetCaret(gMC.x - 0x200, gMC.y - 0x1000, 3, 0);
|
||||||
SetBullet(bul_no, gMC.x + 0x600, gMC.y, 1);
|
SetBullet(bul_no, gMC.x + 0x600, gMC.y, 1);
|
||||||
SetBullet(bul_no, gMC.x - 0x600, gMC.y, 1);
|
SetBullet(bul_no, gMC.x - 0x600, gMC.y, 1);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(bul_no, gMC.x + 0x200, gMC.y - 0x1000, 1);
|
||||||
|
SetCaret(gMC.x + 0x200, gMC.y - 0x1000, 3, 0);
|
||||||
|
SetBullet(bul_no, gMC.x + 0x600, gMC.y, 1);
|
||||||
|
SetBullet(bul_no, gMC.x - 0x600, gMC.y, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (gMC.down)
|
else if (gMC.down)
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(bul_no, gMC.x + 0x200, gMC.y + 0x1000, 3);
|
|
||||||
SetCaret(gMC.x + 0x200, gMC.y + 0x1000, 3, 0);
|
|
||||||
SetBullet(bul_no, gMC.x - 0x600, gMC.y, 3);
|
|
||||||
SetBullet(bul_no, gMC.x + 0x600, gMC.y, 3);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(bul_no, gMC.x - 0x200, gMC.y + 0x1000, 3);
|
SetBullet(bul_no, gMC.x - 0x200, gMC.y + 0x1000, 3);
|
||||||
SetCaret(gMC.x - 0x200, gMC.y + 0x1000, 3, 0);
|
SetCaret(gMC.x - 0x200, gMC.y + 0x1000, 3, 0);
|
||||||
SetBullet(bul_no, gMC.x + 0x600, gMC.y, 3);
|
SetBullet(bul_no, gMC.x + 0x600, gMC.y, 3);
|
||||||
SetBullet(bul_no, gMC.x - 0x600, gMC.y, 3);
|
SetBullet(bul_no, gMC.x - 0x600, gMC.y, 3);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(bul_no, gMC.x + 0x200, gMC.y + 0x1000, 3);
|
||||||
|
SetCaret(gMC.x + 0x200, gMC.y + 0x1000, 3, 0);
|
||||||
|
SetBullet(bul_no, gMC.x - 0x600, gMC.y, 3);
|
||||||
|
SetBullet(bul_no, gMC.x + 0x600, gMC.y, 3);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(bul_no, gMC.x + 0xC00, gMC.y + 0x200, 2);
|
|
||||||
SetCaret(gMC.x + 0x1800, gMC.y + 0x200, 3, 0);
|
|
||||||
SetBullet(bul_no, gMC.x, gMC.y - 0x1000, 2);
|
|
||||||
SetBullet(bul_no, gMC.x - 0x800, gMC.y - 0x200, 2);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(bul_no, gMC.x - 0xC00, gMC.y + 0x200, 0);
|
SetBullet(bul_no, gMC.x - 0xC00, gMC.y + 0x200, 0);
|
||||||
SetCaret(gMC.x - 0x1800, gMC.y + 0x200, 3, 0);
|
SetCaret(gMC.x - 0x1800, gMC.y + 0x200, 3, 0);
|
||||||
SetBullet(bul_no, gMC.x, gMC.y - 0x1000, 0);
|
SetBullet(bul_no, gMC.x, gMC.y - 0x1000, 0);
|
||||||
SetBullet(bul_no, gMC.x + 0x800, gMC.y - 0x200, 0);
|
SetBullet(bul_no, gMC.x + 0x800, gMC.y - 0x200, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(bul_no, gMC.x + 0xC00, gMC.y + 0x200, 2);
|
||||||
|
SetCaret(gMC.x + 0x1800, gMC.y + 0x200, 3, 0);
|
||||||
|
SetBullet(bul_no, gMC.x, gMC.y - 0x1000, 2);
|
||||||
|
SetBullet(bul_no, gMC.x - 0x800, gMC.y - 0x200, 2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PlaySoundObject(32, 1);
|
PlaySoundObject(32, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShootBullet_Bubblin1(void)
|
void ShootBullet_Bubblin1(void)
|
||||||
{
|
{
|
||||||
static int wait;
|
static int wait;
|
||||||
|
|
||||||
if (CountArmsBullet(7) <= 3)
|
if (CountArmsBullet(7) > 3)
|
||||||
{
|
return;
|
||||||
|
|
||||||
if (gKeyTrg & gKeyShot)
|
if (gKeyTrg & gKeyShot)
|
||||||
{
|
{
|
||||||
if (!UseArmsEnergy(1))
|
if (!UseArmsEnergy(1))
|
||||||
{
|
{
|
||||||
PlaySoundObject(37, 1);
|
PlaySoundObject(37, 1);
|
||||||
if (!empty)
|
|
||||||
|
if (empty == 0)
|
||||||
{
|
{
|
||||||
SetCaret(gMC.x, gMC.y, 16, 0);
|
SetCaret(gMC.x, gMC.y, 16, 0);
|
||||||
empty = 50;
|
empty = 50;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (gMC.up)
|
if (gMC.up)
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(19, gMC.x + 0x200, gMC.y - 0x400, 1);
|
|
||||||
SetCaret(gMC.x + 0x200, gMC.y - 0x400, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(19, gMC.x - 0x200, gMC.y - 0x400, 1);
|
SetBullet(19, gMC.x - 0x200, gMC.y - 0x400, 1);
|
||||||
SetCaret(gMC.x - 0x200, gMC.y - 0x400, 3, 0);
|
SetCaret(gMC.x - 0x200, gMC.y - 0x400, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(19, gMC.x + 0x200, gMC.y - 0x400, 1);
|
||||||
|
SetCaret(gMC.x + 0x200, gMC.y - 0x400, 3, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (gMC.down)
|
else if (gMC.down)
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(19, gMC.x + 0x200, gMC.y + 0x400, 3);
|
|
||||||
SetCaret(gMC.x + 0x200, gMC.y + 0x400, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(19, gMC.x - 0x200, gMC.y + 0x400, 3);
|
SetBullet(19, gMC.x - 0x200, gMC.y + 0x400, 3);
|
||||||
SetCaret(gMC.x - 0x200, gMC.y + 0x400, 3, 0);
|
SetCaret(gMC.x - 0x200, gMC.y + 0x400, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(19, gMC.x + 0x200, gMC.y + 0x400, 3);
|
||||||
|
SetCaret(gMC.x + 0x200, gMC.y + 0x400, 3, 0);
|
||||||
}
|
}
|
||||||
else if (gMC.direct)
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (gMC.direct == 0)
|
||||||
|
{
|
||||||
|
SetBullet(19, gMC.x - 0xC00, gMC.y + 0x600, 0);
|
||||||
|
SetCaret(gMC.x - 0x1800, gMC.y + 0x600, 3, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
SetBullet(19, gMC.x + 0xC00, gMC.y + 0x600, 2);
|
SetBullet(19, gMC.x + 0xC00, gMC.y + 0x600, 2);
|
||||||
SetCaret(gMC.x + 0x1800, gMC.y + 0x600, 3, 0);
|
SetCaret(gMC.x + 0x1800, gMC.y + 0x600, 3, 0);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
SetBullet(19, gMC.x - 0xC00, gMC.y + 0x600, 0);
|
|
||||||
SetCaret(gMC.x - 0x1800, gMC.y + 0x600, 3, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PlaySoundObject(48, 1);
|
PlaySoundObject(48, 1);
|
||||||
|
@ -617,15 +661,15 @@ void ShootBullet_Bubblin1(void)
|
||||||
wait = 0;
|
wait = 0;
|
||||||
ChargeArmsEnergy(1);
|
ChargeArmsEnergy(1);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShootBullet_Bubblin2(int level)
|
void ShootBullet_Bubblin2(int level)
|
||||||
{
|
{
|
||||||
static int wait;
|
static int wait;
|
||||||
|
|
||||||
if (CountArmsBullet(7) <= 15)
|
if (CountArmsBullet(7) > 15)
|
||||||
{
|
return;
|
||||||
|
|
||||||
level += 18;
|
level += 18;
|
||||||
|
|
||||||
if (!(gKey & gKeyShot))
|
if (!(gKey & gKeyShot))
|
||||||
|
@ -633,74 +677,80 @@ void ShootBullet_Bubblin2(int level)
|
||||||
|
|
||||||
if (gKey & gKeyShot)
|
if (gKey & gKeyShot)
|
||||||
{
|
{
|
||||||
if (++gMC.rensha >= 7)
|
if (++gMC.rensha < 7)
|
||||||
{
|
return;
|
||||||
|
|
||||||
gMC.rensha = 0;
|
gMC.rensha = 0;
|
||||||
|
|
||||||
if (!UseArmsEnergy(1))
|
if (!UseArmsEnergy(1))
|
||||||
{
|
{
|
||||||
PlaySoundObject(37, 1);
|
PlaySoundObject(37, 1);
|
||||||
if (!empty)
|
|
||||||
|
if (empty == 0)
|
||||||
{
|
{
|
||||||
SetCaret(gMC.x, gMC.y, 16, 0);
|
SetCaret(gMC.x, gMC.y, 16, 0);
|
||||||
empty = 50;
|
empty = 50;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (gMC.up)
|
if (gMC.up)
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(level, gMC.x + 0x600, gMC.y - 0x1000, 1);
|
|
||||||
SetCaret(gMC.x + 0x600, gMC.y - 0x2000, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(level, gMC.x - 0x600, gMC.y - 0x1000, 1);
|
SetBullet(level, gMC.x - 0x600, gMC.y - 0x1000, 1);
|
||||||
SetCaret(gMC.x - 0x600, gMC.y - 0x2000, 3, 0);
|
SetCaret(gMC.x - 0x600, gMC.y - 0x2000, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(level, gMC.x + 0x600, gMC.y - 0x1000, 1);
|
||||||
|
SetCaret(gMC.x + 0x600, gMC.y - 0x2000, 3, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (gMC.down)
|
else if (gMC.down)
|
||||||
{
|
{
|
||||||
if (gMC.direct)
|
if (gMC.direct == 0)
|
||||||
{
|
|
||||||
SetBullet(level, gMC.x + 0x600, gMC.y + 0x1000, 3);
|
|
||||||
SetCaret(gMC.x + 0x600, gMC.y + 0x2000, 3, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SetBullet(level, gMC.x - 0x600, gMC.y + 0x1000, 3);
|
SetBullet(level, gMC.x - 0x600, gMC.y + 0x1000, 3);
|
||||||
SetCaret(gMC.x - 0x600, gMC.y + 0x2000, 3, 0);
|
SetCaret(gMC.x - 0x600, gMC.y + 0x2000, 3, 0);
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
else if (gMC.direct)
|
|
||||||
{
|
{
|
||||||
SetBullet(level, gMC.x + 0xC00, gMC.y + 0x600, 2);
|
SetBullet(level, gMC.x + 0x600, gMC.y + 0x1000, 3);
|
||||||
SetCaret(gMC.x + 0x1800, gMC.y + 0x600, 3, 0);
|
SetCaret(gMC.x + 0x600, gMC.y + 0x2000, 3, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if (gMC.direct == 0)
|
||||||
{
|
{
|
||||||
SetBullet(level, gMC.x - 0xC00, gMC.y + 0x600, 0);
|
SetBullet(level, gMC.x - 0xC00, gMC.y + 0x600, 0);
|
||||||
SetCaret(gMC.x - 0x1800, gMC.y + 0x600, 3, 0);
|
SetCaret(gMC.x - 0x1800, gMC.y + 0x600, 3, 0);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBullet(level, gMC.x + 0xC00, gMC.y + 0x600, 2);
|
||||||
|
SetCaret(gMC.x + 0x1800, gMC.y + 0x600, 3, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
PlaySoundObject(48, 1);
|
PlaySoundObject(48, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else if (++wait > 1)
|
else if (++wait > 1)
|
||||||
{
|
{
|
||||||
wait = 0;
|
wait = 0;
|
||||||
ChargeArmsEnergy(1);
|
ChargeArmsEnergy(1);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShootBullet_Sword(int level)
|
void ShootBullet_Sword(int level)
|
||||||
{
|
{
|
||||||
if (CountArmsBullet(9) <= 0)
|
if (CountArmsBullet(9) > 0)
|
||||||
{
|
return;
|
||||||
|
|
||||||
int bul_no;
|
int bul_no;
|
||||||
|
|
||||||
switch (level)
|
switch (level)
|
||||||
|
@ -742,7 +792,6 @@ void ShootBullet_Sword(int level)
|
||||||
|
|
||||||
PlaySoundObject(34, 1);
|
PlaySoundObject(34, 1);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShootBullet_Nemesis(int level)
|
void ShootBullet_Nemesis(int level)
|
||||||
|
@ -762,7 +811,10 @@ void ShootBullet_Nemesis(int level)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CountArmsBullet(12) <= 1 && gKeyTrg & gKeyShot)
|
if (CountArmsBullet(12) > 1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (gKeyTrg & gKeyShot)
|
||||||
{
|
{
|
||||||
if (!UseArmsEnergy(1))
|
if (!UseArmsEnergy(1))
|
||||||
{
|
{
|
||||||
|
@ -836,9 +888,11 @@ void ResetSpurCharge(void)
|
||||||
|
|
||||||
void ShootBullet_Spur(int level)
|
void ShootBullet_Spur(int level)
|
||||||
{
|
{
|
||||||
|
static BOOL bMax;
|
||||||
|
BOOL bShot;
|
||||||
int bul_no;
|
int bul_no;
|
||||||
|
|
||||||
bool bShot = false;
|
bShot = FALSE;
|
||||||
|
|
||||||
if (gKey & gKeyShot)
|
if (gKey & gKeyShot)
|
||||||
{
|
{
|
||||||
|
@ -849,42 +903,43 @@ void ShootBullet_Spur(int level)
|
||||||
|
|
||||||
if (++spur_charge / 2 % 2)
|
if (++spur_charge / 2 % 2)
|
||||||
{
|
{
|
||||||
if (level == 1)
|
switch (level)
|
||||||
{
|
{
|
||||||
|
case 1:
|
||||||
PlaySoundObject(59, 1);
|
PlaySoundObject(59, 1);
|
||||||
}
|
break;
|
||||||
else if (level == 2)
|
|
||||||
{
|
case 2:
|
||||||
PlaySoundObject(60, 1);
|
PlaySoundObject(60, 1);
|
||||||
}
|
break;
|
||||||
else if (level == 3)
|
|
||||||
{
|
case 3:
|
||||||
if (!IsMaxExpMyChar())
|
if (!IsMaxExpMyChar())
|
||||||
PlaySoundObject(61, 1);
|
PlaySoundObject(61, 1);
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (spur_charge)
|
if (spur_charge)
|
||||||
bShot = true;
|
bShot = TRUE;
|
||||||
|
|
||||||
spur_charge = 0;
|
spur_charge = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool bMax;
|
|
||||||
|
|
||||||
if (IsMaxExpMyChar())
|
if (IsMaxExpMyChar())
|
||||||
{
|
{
|
||||||
if (bMax == false)
|
if (bMax == FALSE)
|
||||||
{
|
{
|
||||||
bMax = true;
|
bMax = TRUE;
|
||||||
PlaySoundObject(65, 1);
|
PlaySoundObject(65, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
bMax = false;
|
bMax = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(gKey & gKeyShot))
|
if (!(gKey & gKeyShot))
|
||||||
|
@ -894,7 +949,7 @@ void ShootBullet_Spur(int level)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
bul_no = 6;
|
bul_no = 6;
|
||||||
bShot = false;
|
bShot = FALSE;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
bul_no = 37;
|
bul_no = 37;
|
||||||
|
@ -904,10 +959,14 @@ void ShootBullet_Spur(int level)
|
||||||
bul_no = 39;
|
bul_no = 39;
|
||||||
else
|
else
|
||||||
bul_no = 38;
|
bul_no = 38;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CountArmsBullet(13) <= 0 && CountArmsBullet(14) <= 0 && (gKeyTrg & gKeyShot || bShot))
|
if (CountArmsBullet(13) > 0 || CountArmsBullet(14) > 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (gKeyTrg & gKeyShot || bShot)
|
||||||
{
|
{
|
||||||
if (!UseArmsEnergy(1))
|
if (!UseArmsEnergy(1))
|
||||||
{
|
{
|
||||||
|
@ -992,8 +1051,9 @@ void ShootBullet()
|
||||||
}
|
}
|
||||||
|
|
||||||
//Run functions
|
//Run functions
|
||||||
if (!(gMC.cond & 2))
|
if (gMC.cond & 2)
|
||||||
{
|
return;
|
||||||
|
|
||||||
switch (gArmsData[gSelectedArms].code)
|
switch (gArmsData[gSelectedArms].code)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1009,7 +1069,7 @@ void ShootBullet()
|
||||||
ShootBullet_Machinegun1(gArmsData[gSelectedArms].level);
|
ShootBullet_Machinegun1(gArmsData[gSelectedArms].level);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
ShootBullet_Missile(gArmsData[gSelectedArms].level, false);
|
ShootBullet_Missile(gArmsData[gSelectedArms].level, FALSE);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
switch (gArmsData[gSelectedArms].level)
|
switch (gArmsData[gSelectedArms].level)
|
||||||
|
@ -1042,7 +1102,7 @@ void ShootBullet()
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
ShootBullet_Missile(gArmsData[gSelectedArms].level, true);
|
ShootBullet_Missile(gArmsData[gSelectedArms].level, TRUE);
|
||||||
break;
|
break;
|
||||||
case 12:
|
case 12:
|
||||||
ShootBullet_Nemesis(gArmsData[gSelectedArms].level);
|
ShootBullet_Nemesis(gArmsData[gSelectedArms].level);
|
||||||
|
@ -1051,5 +1111,4 @@ void ShootBullet()
|
||||||
ShootBullet_Spur(gArmsData[gSelectedArms].level);
|
ShootBullet_Spur(gArmsData[gSelectedArms].level);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ struct STAGE_TABLE
|
||||||
char back[0x20];
|
char back[0x20];
|
||||||
char npc[0x20];
|
char npc[0x20];
|
||||||
char boss[0x20];
|
char boss[0x20];
|
||||||
char boss_no;
|
signed char boss_no;
|
||||||
char name[0x20];
|
char name[0x20];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -141,7 +141,7 @@ bool LoadTextScript2(const char *name)
|
||||||
}
|
}
|
||||||
|
|
||||||
//Load stage .tsc
|
//Load stage .tsc
|
||||||
bool LoadTextScript_Stage(char *name)
|
bool LoadTextScript_Stage(const char *name)
|
||||||
{
|
{
|
||||||
//Open Head.tsc
|
//Open Head.tsc
|
||||||
char path[PATH_LENGTH];
|
char path[PATH_LENGTH];
|
||||||
|
|
|
@ -16,10 +16,10 @@ struct TEXT_SCRIPT
|
||||||
char *data;
|
char *data;
|
||||||
|
|
||||||
//Mode (ex. NOD, WAI)
|
//Mode (ex. NOD, WAI)
|
||||||
char mode;
|
signed char mode;
|
||||||
|
|
||||||
//Flags
|
//Flags
|
||||||
char flags;
|
signed char flags;
|
||||||
|
|
||||||
//Current positions (read position in buffer, x position in line)
|
//Current positions (read position in buffer, x position in line)
|
||||||
unsigned int p_read;
|
unsigned int p_read;
|
||||||
|
@ -37,7 +37,7 @@ struct TEXT_SCRIPT
|
||||||
int next_event;
|
int next_event;
|
||||||
|
|
||||||
//Yes/no selected
|
//Yes/no selected
|
||||||
char select;
|
signed char select;
|
||||||
|
|
||||||
//Current face
|
//Current face
|
||||||
int face;
|
int face;
|
||||||
|
@ -61,7 +61,7 @@ BOOL InitTextScript2();
|
||||||
void EndTextScript();
|
void EndTextScript();
|
||||||
void EncryptionBinaryData2(uint8_t *pData, int size);
|
void EncryptionBinaryData2(uint8_t *pData, int size);
|
||||||
bool LoadTextScript2(const char *name);
|
bool LoadTextScript2(const char *name);
|
||||||
bool LoadTextScript_Stage(char *name);
|
bool LoadTextScript_Stage(const char *name);
|
||||||
void GetTextScriptPath(char *path);
|
void GetTextScriptPath(char *path);
|
||||||
BOOL StartTextScript(int no);
|
BOOL StartTextScript(int no);
|
||||||
void StopTextScript();
|
void StopTextScript();
|
||||||
|
|
|
@ -13,6 +13,12 @@ typedef int BOOL;
|
||||||
#define TRUE 1
|
#define TRUE 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define SET_RECT(rect, l, t, r, b) \
|
||||||
|
rect.left = l; \
|
||||||
|
rect.top = t; \
|
||||||
|
rect.right = r; \
|
||||||
|
rect.bottom = b;
|
||||||
|
|
||||||
struct RECT
|
struct RECT
|
||||||
{
|
{
|
||||||
union
|
union
|
||||||
|
|
Loading…
Add table
Reference in a new issue