TempleOSCDV5.01.ISO
This commit is contained in:
1 parent
f6eacf7744
commit
320c7ee98a
219 files changed
+5211
-4853
No files matched your search
@@ -36,7 +36,7 @@ U0 BgtIns(CBgtEntry *tmpb)
|
||||
class CBgtEntryForm
|
||||
{
|
||||
U8 date[512] fmtstr "$$DA-P,A=\"Date :%s\"$$\n";
|
||||
F64 amount fmtstr "Amount $$$$$$DA,A=\"%6.2f\"$$\n";
|
||||
F64 amount fmtstr "Amount $$$$$$DA,A=\"%8.2f\"$$\n";
|
||||
U8 credit[512] fmtstr "$$DA-P,A=\"Credit Acct:%s\"$$\n";
|
||||
U8 debit [512] fmtstr "$$DA-P,A=\"Debit Acct:%s\"$$\n";
|
||||
U8 desc [512] fmtstr "$$DA-P,A=\"Desc :%s\"$$\n";
|
||||
|
||||
@@ -46,7 +46,7 @@ class CBgtTemplate
|
||||
U16 flags;
|
||||
U8 start_date[16] fmtstr "$$DA-P,A=\"Start Date:%s\"$$\n";
|
||||
U8 end_date[16] fmtstr "$$DA-P,A=\"End Date :%s\"$$\n";
|
||||
F64 period fmtstr "$$DA,A=\"Period :%6.2f\"$$\n";
|
||||
F64 period fmtstr "$$DA,A=\"Period :%8.2f\"$$\n";
|
||||
U0 end;
|
||||
|
||||
CBgtEntry b;
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
//Makes a mesh ball.
|
||||
|
||||
#define MAX_VERTICES 1024
|
||||
#define MAX_TRIS 1024
|
||||
#define VERTICES_NUM 1024
|
||||
#define TRIS_NUM 1024
|
||||
|
||||
class Ball
|
||||
{
|
||||
I32 vertex_cnt;
|
||||
I32 tri_cnt;
|
||||
CD3I32 v[MAX_VERTICES];
|
||||
CMeshTri t[MAX_TRIS];
|
||||
CD3I32 v[VERTICES_NUM];
|
||||
CMeshTri t[TRIS_NUM];
|
||||
} *b;
|
||||
|
||||
class BallDefineStruct
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
//Makes a mesh man.
|
||||
|
||||
#define MAX_VERTICES 1024
|
||||
#define MAX_TRIS 1024
|
||||
#define VERTICES_NUM 1024
|
||||
#define TRIS_NUM 1024
|
||||
|
||||
class Man
|
||||
{
|
||||
I32 vertex_cnt;
|
||||
I32 tri_cnt;
|
||||
CD3I32 v[MAX_VERTICES];
|
||||
CMeshTri t[MAX_TRIS];
|
||||
CD3I32 v[VERTICES_NUM];
|
||||
CMeshTri t[TRIS_NUM];
|
||||
} *m;
|
||||
|
||||
class ManDefineStruct
|
||||
|
||||
+33
-33
@@ -200,36 +200,36 @@ This is just a video game. Relax.
|
||||
|
||||
#define FIRST_STANDING 0
|
||||
|
||||
#define NUM_RUNNING_IMGS 4
|
||||
#define RUNNING_IMGS_NUM 4
|
||||
#define FIRST_RUNNING 0
|
||||
#define LAST_RUNNING (FIRST_RUNNING+NUM_RUNNING_IMGS-1)
|
||||
#define LAST_RUNNING (FIRST_RUNNING+RUNNING_IMGS_NUM-1)
|
||||
|
||||
#define NUM_SHOOTING_IMGS 5
|
||||
#define SHOOTING_IMGS_NUM 5
|
||||
#define FIRST_SHOOTING (LAST_RUNNING+1)
|
||||
#define LAST_SHOOTING (FIRST_SHOOTING+NUM_SHOOTING_IMGS-1)
|
||||
#define LAST_SHOOTING (FIRST_SHOOTING+SHOOTING_IMGS_NUM-1)
|
||||
|
||||
#define NUM_DRIBBLING_IMGS 4
|
||||
#define DRIBBLING_IMGS_NUM 4
|
||||
#define FIRST_DRIBBLING (LAST_SHOOTING+1)
|
||||
#define LAST_DRIBBLING (FIRST_DRIBBLING+NUM_DRIBBLING_IMGS-1)
|
||||
#define LAST_DRIBBLING (FIRST_DRIBBLING+DRIBBLING_IMGS_NUM-1)
|
||||
|
||||
#define NUM_STOPPED_DRIBBLING_IMGS 2
|
||||
#define STOPPED_DRIBBLING_IMGS_NUM 2
|
||||
#define FIRST_STOPPED_DRIBBLING (LAST_DRIBBLING+1)
|
||||
#define LAST_STOPPED_DRIBBLING \
|
||||
(FIRST_STOPPED_DRIBBLING+NUM_STOPPED_DRIBBLING_IMGS-1)
|
||||
(FIRST_STOPPED_DRIBBLING+STOPPED_DRIBBLING_IMGS_NUM-1)
|
||||
|
||||
Frame imgs[LAST_STOPPED_DRIBBLING+1]={
|
||||
{{$IB,"<6>",BI=6$,$IB,"<7>",BI=7$},2*DRIBBLE_T/NUM_RUNNING_IMGS},
|
||||
{{$IB,"<2>",BI=2$,$IB,"<3>",BI=3$},2*DRIBBLE_T/NUM_RUNNING_IMGS},
|
||||
{{$IB,"<6>",BI=6$,$IB,"<7>",BI=7$},2*DRIBBLE_T/NUM_RUNNING_IMGS},
|
||||
{{$IB,"<4>",BI=4$,$IB,"<5>",BI=5$},2*DRIBBLE_T/NUM_RUNNING_IMGS},
|
||||
{{$IB,"<6>",BI=6$,$IB,"<7>",BI=7$},2*DRIBBLE_T/RUNNING_IMGS_NUM},
|
||||
{{$IB,"<2>",BI=2$,$IB,"<3>",BI=3$},2*DRIBBLE_T/RUNNING_IMGS_NUM},
|
||||
{{$IB,"<6>",BI=6$,$IB,"<7>",BI=7$},2*DRIBBLE_T/RUNNING_IMGS_NUM},
|
||||
{{$IB,"<4>",BI=4$,$IB,"<5>",BI=5$},2*DRIBBLE_T/RUNNING_IMGS_NUM},
|
||||
{{$IB,"<8>",BI=8$,$IB,"<9>",BI=9$},0.1},{{$IB,"<10>",BI=10$,$IB,"<11>",BI=11$},0.2},
|
||||
{{$IB,"<12>",BI=12$,$IB,"<13>",BI=13$},0.2},{{$IB,"<12>",BI=12$,$IB,"<13>",BI=13$},0.1},{{$IB,"<14>",BI=14$,$IB,"<15>",BI=15$},0.1},
|
||||
{{$IB,"<20>",BI=20$,$IB,"<21>",BI=21$},2*DRIBBLE_T/NUM_DRIBBLING_IMGS},
|
||||
{{$IB,"<16>",BI=16$,$IB,"<17>",BI=17$},2*DRIBBLE_T/NUM_DRIBBLING_IMGS},
|
||||
{{$IB,"<20>",BI=20$,$IB,"<21>",BI=21$},2*DRIBBLE_T/NUM_DRIBBLING_IMGS},
|
||||
{{$IB,"<18>",BI=18$,$IB,"<19>",BI=19$},2*DRIBBLE_T/NUM_DRIBBLING_IMGS},
|
||||
{{$IB,"<20>",BI=20$,$IB,"<21>",BI=21$},DRIBBLE_T/NUM_STOPPED_DRIBBLING_IMGS},
|
||||
{{$IB,"<22>",BI=22$,$IB,"<23>",BI=23$},DRIBBLE_T/NUM_STOPPED_DRIBBLING_IMGS},
|
||||
{{$IB,"<20>",BI=20$,$IB,"<21>",BI=21$},2*DRIBBLE_T/DRIBBLING_IMGS_NUM},
|
||||
{{$IB,"<16>",BI=16$,$IB,"<17>",BI=17$},2*DRIBBLE_T/DRIBBLING_IMGS_NUM},
|
||||
{{$IB,"<20>",BI=20$,$IB,"<21>",BI=21$},2*DRIBBLE_T/DRIBBLING_IMGS_NUM},
|
||||
{{$IB,"<18>",BI=18$,$IB,"<19>",BI=19$},2*DRIBBLE_T/DRIBBLING_IMGS_NUM},
|
||||
{{$IB,"<20>",BI=20$,$IB,"<21>",BI=21$},DRIBBLE_T/STOPPED_DRIBBLING_IMGS_NUM},
|
||||
{{$IB,"<22>",BI=22$,$IB,"<23>",BI=23$},DRIBBLE_T/STOPPED_DRIBBLING_IMGS_NUM},
|
||||
};
|
||||
|
||||
RegDft("TempleOS/KeepAway","I64 best_score0=0,best_score1=9999;\n");
|
||||
@@ -238,8 +238,8 @@ RegExe("TempleOS/KeepAway");
|
||||
F64 game_t_end,foul_t_end;
|
||||
I64 score0,score1;
|
||||
|
||||
#define NUM_PER_SIDE 3
|
||||
#define NUM_OBJS (NUM_PER_SIDE*2+1)
|
||||
#define PER_SIDE_NUM 3
|
||||
#define OBJS_NUM (PER_SIDE_NUM*2+1)
|
||||
Bool someone_shooting,someone_has_ball;
|
||||
F64 shot_land_t;
|
||||
|
||||
@@ -250,7 +250,7 @@ class Obj
|
||||
F64 get_ball_dt,get_ball_é,nearest_man_dd,last_t0,next_t0,foul_t0;
|
||||
I64 last_img,next_img;
|
||||
Bool stopped,shooting,has_ball,nearest_ball,pad[4];
|
||||
} objs[NUM_OBJS],*ball,*human,*last_owner;
|
||||
} objs[OBJS_NUM],*ball,*human,*last_owner;
|
||||
|
||||
/*Just to be different, I didn't use the built-in
|
||||
DCF_TRANSFORMATION flag in this game.
|
||||
@@ -297,7 +297,7 @@ U0 DrawIt(CTask *task,CDC *dc)
|
||||
{
|
||||
F64 tt=tS,d,d_down,d_up;
|
||||
I64 i;
|
||||
Obj *o_sort[NUM_OBJS],*o;
|
||||
Obj *o_sort[OBJS_NUM],*o;
|
||||
|
||||
DCDepthBufAlloc(dc);
|
||||
dc->ls.x=10000;
|
||||
@@ -313,7 +313,7 @@ U0 DrawIt(CTask *task,CDC *dc)
|
||||
GrBorder(dc,COURT_BORDER,COURT_BORDER,
|
||||
task->pix_width -1-COURT_BORDER,
|
||||
task->pix_height-1-COURT_BORDER);
|
||||
for (i=0;i<NUM_OBJS;i++) {
|
||||
for (i=0;i<OBJS_NUM;i++) {
|
||||
o=o_sort[i]=&objs[i];
|
||||
if (o!=ball) {
|
||||
if (o->has_ball) {
|
||||
@@ -385,8 +385,8 @@ U0 DrawIt(CTask *task,CDC *dc)
|
||||
}
|
||||
}
|
||||
|
||||
QSortI64(o_sort,NUM_OBJS,&ObjCompare);
|
||||
for (i=0;i<NUM_OBJS;i++)
|
||||
QSortI64(o_sort,OBJS_NUM,&ObjCompare);
|
||||
for (i=0;i<OBJS_NUM;i++)
|
||||
DrawObj(dc,o_sort[i],tt);
|
||||
tt=(game_t_end-tS)/60;
|
||||
if (tt<=0) {
|
||||
@@ -449,7 +449,7 @@ U0 AnimateTask(CTask *parent_task)
|
||||
|
||||
if (game_t_end) {
|
||||
MemSet(&nearest_ball,0,sizeof(nearest_ball));
|
||||
for (i=0;i<NUM_OBJS;i++) {
|
||||
for (i=0;i<OBJS_NUM;i++) {
|
||||
o=&objs[i];
|
||||
o->nearest_ball=FALSE;
|
||||
if (o!=ball) {
|
||||
@@ -468,7 +468,7 @@ U0 AnimateTask(CTask *parent_task)
|
||||
nearest_ball[0]->nearest_ball=TRUE;
|
||||
nearest_ball[1]->nearest_ball=TRUE;
|
||||
|
||||
for (i=0;i<NUM_OBJS;i++) {
|
||||
for (i=0;i<OBJS_NUM;i++) {
|
||||
o=&objs[i];
|
||||
if (o==ball) {
|
||||
o->x+=dt*o->DxDt;
|
||||
@@ -482,7 +482,7 @@ U0 AnimateTask(CTask *parent_task)
|
||||
dy=ball->y-o->y;
|
||||
if (dx*dx+dy*dy<HAND_SQR_OFFSET && ball->z<o->z+HAND_Z_OFFSET) {
|
||||
gets_ball=TRUE;
|
||||
for (j=0;j<NUM_PER_SIDE*2;j++)
|
||||
for (j=0;j<PER_SIDE_NUM*2;j++)
|
||||
if (j!=i && objs[j].has_ball) {
|
||||
if (Rand<2.0*dt) {
|
||||
objs[j].stolen_t0=t0;
|
||||
@@ -523,8 +523,8 @@ U0 AnimateTask(CTask *parent_task)
|
||||
dx=o->DxDt=MAN_VELOCITY*Cos(o->get_ball_é);
|
||||
dy=o->DyDt=MAN_VELOCITY*Sin(o->get_ball_é);
|
||||
} else {
|
||||
dx=o->DxDt+=RANDOM_MAN_ACCELERATION/sqrt2*RandI16/MAX_I16*dt;
|
||||
dy=o->DyDt+=RANDOM_MAN_ACCELERATION/sqrt2*RandI16/MAX_I16*dt;
|
||||
dx=o->DxDt+=RANDOM_MAN_ACCELERATION/sqrt2*RandI16/I16_MAX*dt;
|
||||
dy=o->DyDt+=RANDOM_MAN_ACCELERATION/sqrt2*RandI16/I16_MAX*dt;
|
||||
}
|
||||
}
|
||||
d=Sqrt(dx*dx+dy*dy);
|
||||
@@ -532,8 +532,8 @@ U0 AnimateTask(CTask *parent_task)
|
||||
o->é=Arg(dx,dy)+ã/2;
|
||||
dx*=MAN_VELOCITY/sqrt2*dt/d;
|
||||
dy*=MAN_VELOCITY/sqrt2*dt/d;
|
||||
o->nearest_man_dd=MAX_F64;
|
||||
for (j=0;j<NUM_PER_SIDE*2;j++)
|
||||
o->nearest_man_dd=F64_MAX;
|
||||
for (j=0;j<PER_SIDE_NUM*2;j++)
|
||||
if (j!=i) {
|
||||
dx2=objs[j].x-o->x;
|
||||
dy2=objs[j].y-o->y;
|
||||
@@ -626,7 +626,7 @@ U0 Init()
|
||||
someone_shooting=FALSE;
|
||||
shot_land_t=0;
|
||||
MemSet(&objs,0,sizeof(objs));
|
||||
for (i=0;i<NUM_PER_SIDE*2;i++) {
|
||||
for (i=0;i<PER_SIDE_NUM*2;i++) {
|
||||
objs[i].team=i&1;
|
||||
objs[i].x=Fs->pix_width/2;
|
||||
objs[i].y=2*Fs->pix_height/2;
|
||||
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
#define MAX_TABLE_SIZE 0x10000
|
||||
#define TABLE_SIZE_MAX 0x10000
|
||||
|
||||
I64 output_found,passes,table_size;
|
||||
|
||||
@@ -65,16 +65,16 @@ U8 *gate_type_lst="NULL\0OUTPUT\0INPUT\0"
|
||||
#define GT_OR3 10
|
||||
#define GT_NAND3 11
|
||||
#define GT_NOR3 12
|
||||
#define GT_NUM_ENTRIES 13
|
||||
#define GT_ENTRIES_NUM 13
|
||||
|
||||
#define MAX_SEL_GATES 128
|
||||
#define SEL_GATES_NUM 128
|
||||
|
||||
U8 *imgs[GT_NUM_ENTRIES]={NULL,NULL,NULL,
|
||||
U8 *imgs[GT_ENTRIES_NUM]={NULL,NULL,NULL,
|
||||
$IB,"<NOT>",BI=1$,$IB,"<AND>",BI=2$,$IB,"<OR>",BI=3$,$IB,"<NAND>",BI=4$,$IB,"<NOR>",BI=5$,$IB,"<XOR>",BI=6$,$IB,"<AND3>",BI=7$,$IB,"<OR3>",BI=8$,$IB,"<NAND3>",BI=9$,$IB,"<NOR3>",BI=10$};
|
||||
|
||||
I64 num_inputs_entered,num_outputs_entered;
|
||||
I64 num_sel_gates,
|
||||
sel_gates[MAX_SEL_GATES];
|
||||
sel_gates[SEL_GATES_NUM];
|
||||
|
||||
U0 GetGates()
|
||||
{
|
||||
@@ -83,12 +83,12 @@ U0 GetGates()
|
||||
|
||||
"\nEnter the available gate types in the order you prefer them to be used.\n"
|
||||
"Your choices are:\n";
|
||||
for (i=GT_FIRST_REAL_GATE;i<GT_NUM_ENTRIES;i++)
|
||||
for (i=GT_FIRST_REAL_GATE;i<GT_ENTRIES_NUM;i++)
|
||||
"%z ",i,gate_type_lst;
|
||||
'\n';
|
||||
|
||||
num_sel_gates=0;
|
||||
while (num_sel_gates<GT_NUM_ENTRIES) {
|
||||
while (num_sel_gates<GT_ENTRIES_NUM) {
|
||||
"%d",num_sel_gates;
|
||||
st=GetStr(" Gate: ");
|
||||
if (!*st) {
|
||||
@@ -110,13 +110,13 @@ U0 Init()
|
||||
|
||||
do {
|
||||
table_size=GetI64("\nTable size in hex (3 input=0x100,4=0x10000): ",0);
|
||||
if (table_size>MAX_TABLE_SIZE)
|
||||
if (table_size>TABLE_SIZE_MAX)
|
||||
"Too large\n";
|
||||
else if (table_size<1) {
|
||||
"No table specified, aborting.\n";
|
||||
throw;
|
||||
}
|
||||
} while (table_size>MAX_TABLE_SIZE);
|
||||
} while (table_size>TABLE_SIZE_MAX);
|
||||
|
||||
gate_type_table =CAlloc(table_size*sizeof(U8));
|
||||
displayed_design=MAlloc((table_size+7)/8);
|
||||
|
||||
@@ -71,7 +71,7 @@ U0 JukeSongPuppet(CTask *juke_task,I64 passes,I64 song_num,U8 *name)
|
||||
}
|
||||
|
||||
public U0 JukeSongsPuppet(U8 *dirname="~/Psalmody",I64 passes=2,
|
||||
I64 start_song=0,I64 end_song=MAX_I64)
|
||||
I64 start_song=0,I64 end_song=I64_MAX)
|
||||
{//Help make music video by puppeting JukeBox task.
|
||||
I64 i;
|
||||
CDirEntry *tmpde,*tmpde1;
|
||||
|
||||
@@ -48,14 +48,14 @@ $SP,"<15>",BI=15$
|
||||
$SP,"<16>",BI=16$
|
||||
$ID,-8$
|
||||
#define PSM_NOTE_SPACING 9
|
||||
#define PSM_NUM_DURATIONS 12
|
||||
#define PSM_DURATIONS_NUM 12
|
||||
|
||||
F64 psm_durations[PSM_NUM_DURATIONS+1]={
|
||||
F64 psm_durations[PSM_DURATIONS_NUM+1]={
|
||||
2*.25/3,.25,2*.5/3,.5,2.0/3.0,0.5*1.5,1.0,1.5,2.0,3.0,4.0,6.0,1000000.0};
|
||||
U8 *psm_duration_lst="st\0s\0et\0e\0qt\0e.\0q\0q.\0h\0h.\0w\0w.\0";
|
||||
U8 *psm_duration_imgs[PSM_NUM_DURATIONS]={
|
||||
U8 *psm_duration_imgs[PSM_DURATIONS_NUM]={
|
||||
$IB,"<1>",BI=1$,$IB,"<1>",BI=1$,$IB,"<2>",BI=2$,$IB,"<2>",BI=2$,$IB,"<3>",BI=3$,$IB,"<2>",BI=2$,$IB,"<3>",BI=3$,$IB,"<3>",BI=3$,$IB,"<4>",BI=4$,$IB,"<4>",BI=4$,$IB,"<5>",BI=5$,$IB,"<5>",BI=5$};
|
||||
Bool psm_triplet_durations[PSM_NUM_DURATIONS]={TRUE,FALSE,TRUE,
|
||||
Bool psm_triplet_durations[PSM_DURATIONS_NUM]={TRUE,FALSE,TRUE,
|
||||
FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE};
|
||||
|
||||
Bool PsmBlink()
|
||||
@@ -127,7 +127,7 @@ U0 PsmSetOctave(I64 octave)
|
||||
|
||||
U0 DrawNote(CDC *dc,I64 x,I64 y,I64 duration)
|
||||
{
|
||||
if (0<=duration<=PSM_NUM_DURATIONS) {
|
||||
if (0<=duration<=PSM_DURATIONS_NUM) {
|
||||
Sprite3(dc,x,y,0,psm_duration_imgs[duration]);
|
||||
if (psm_triplet_durations[duration])
|
||||
Sprite3(dc,x,y,0,$IB,"<16>",BI=16$);
|
||||
@@ -273,7 +273,7 @@ I64 PsmGetPickNoteBoxDuration(I64 xx,I64 yy)
|
||||
{
|
||||
I64 i,x1,x2;
|
||||
if (PSM_NOTE_BOX_Y-14<=yy<PSM_NOTE_BOX_Y+6) {
|
||||
for (i=0;i<PSM_NUM_DURATIONS;i++) {
|
||||
for (i=0;i<PSM_DURATIONS_NUM;i++) {
|
||||
PsmSetPickNoteBoxX(i,&x1);
|
||||
PsmSetPickNoteBoxX(i+1,&x2);
|
||||
if (x1<=xx+PSM_NOTE_SPACING/2<x2)
|
||||
@@ -286,7 +286,7 @@ I64 PsmGetPickNoteBoxDuration(I64 xx,I64 yy)
|
||||
U0 DrawPickNoteBox()
|
||||
{
|
||||
I64 i,x;
|
||||
for (i=0;i<PSM_NUM_DURATIONS;i++) {
|
||||
for (i=0;i<PSM_DURATIONS_NUM;i++) {
|
||||
PsmSetPickNoteBoxX(i,&x);
|
||||
if (PsmIsDotted(i))
|
||||
psm.dc2->color=RED;
|
||||
@@ -330,9 +330,9 @@ Bool PsmGetPickToolBox(I64 xx,I64 yy)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#define PSM_NUM_METERS 7
|
||||
I64 meter_tops[PSM_NUM_METERS] ={2,3,4,5,6,7,9},
|
||||
meter_bottoms[PSM_NUM_METERS]={4,4,4,4,8,8,8};
|
||||
#define PSM_METERS_NUM 7
|
||||
I64 meter_tops[PSM_METERS_NUM] ={2,3,4,5,6,7,9},
|
||||
meter_bottoms[PSM_METERS_NUM]={4,4,4,4,8,8,8};
|
||||
|
||||
#define PSM_METER_X 485
|
||||
#define PSM_METER_Y 13*FONT_HEIGHT
|
||||
@@ -340,7 +340,7 @@ I64 meter_tops[PSM_NUM_METERS] ={2,3,4,5,6,7,9},
|
||||
Bool PsmGetPickMeterBox(I64 xx,I64 yy,I64 *top,I64 *bottom)
|
||||
{
|
||||
I64 i;
|
||||
if (PSM_METER_X<=xx<PSM_METER_X+PSM_METER_W*PSM_NUM_METERS &&
|
||||
if (PSM_METER_X<=xx<PSM_METER_X+PSM_METER_W*PSM_METERS_NUM &&
|
||||
PSM_METER_Y<=yy<PSM_METER_Y+2*FONT_HEIGHT) {
|
||||
i=(xx-PSM_METER_X)/PSM_METER_W;
|
||||
*top=meter_tops[i];
|
||||
@@ -354,7 +354,7 @@ U0 DrawPickMeterBox()
|
||||
{
|
||||
I64 i;
|
||||
psm.dc2->color=BLACK;
|
||||
for (i=0;i<PSM_NUM_METERS;i++)
|
||||
for (i=0;i<PSM_METERS_NUM;i++)
|
||||
DrawTimeSignature(psm.dc2,PSM_METER_X+i*PSM_METER_W,PSM_METER_Y,
|
||||
meter_tops[i],meter_bottoms[i]);
|
||||
}
|
||||
|
||||
@@ -253,7 +253,7 @@ U8 *PsmCvtSong()
|
||||
|
||||
i=0;
|
||||
tmpn=psm.head.next;
|
||||
last_octave=MIN_I64;
|
||||
last_octave=I64_MIN;
|
||||
last_duration=-1;
|
||||
while (tmpn!=&psm.head) {
|
||||
dst=&tmpn->ascii;
|
||||
|
||||
@@ -17,7 +17,7 @@ F64 PopUpDuration()
|
||||
"$$MU,\"Make Rest\",LE=PSMR_REST$$\n"
|
||||
"$$MU,\"Insert Note\",LE=PSMR_INS_NOTE$$\n"
|
||||
"$$MU,\"Delete Note\",LE=PSMR_DELETE_NOTE$$\n\n");
|
||||
for (i=0;i<PSM_NUM_DURATIONS;i++)
|
||||
for (i=0;i<PSM_DURATIONS_NUM;i++)
|
||||
DocPrint(doc,"$$MU,\"%7.5f\",LE=%d$$\n",psm_durations[i],i);
|
||||
DocPrint(doc,"\n$$MU,\"CANCEL\",LE=DOCM_CANCEL$$\n");
|
||||
i=PopUpMenu(doc);
|
||||
@@ -35,7 +35,7 @@ U0 PsmRightClick(I64 x,I64 y)
|
||||
if (tmpn!=&psm.head) {
|
||||
Fs->win_inhibit=WIG_USER_TASK_DFT;
|
||||
i=PopUpDuration;
|
||||
if (0<=i<PSM_NUM_DURATIONS) {
|
||||
if (0<=i<PSM_DURATIONS_NUM) {
|
||||
if (tmpn->type==PSMT_NOTE)
|
||||
tmpn->duration=i;
|
||||
} else {
|
||||
@@ -240,7 +240,7 @@ U0 PsmLeftClick(I64 x,I64 y)
|
||||
PsmLeftClickStaffBox(x,y);
|
||||
} else {
|
||||
duration=PsmGetPickNoteBoxDuration(x,y);
|
||||
if (0<=duration<PSM_NUM_DURATIONS)
|
||||
if (0<=duration<PSM_DURATIONS_NUM)
|
||||
PsmLeftClickPickNoteBox(duration);
|
||||
else if (PsmGetPickMeterBox(x,y,&top,&bottom))
|
||||
PsmLeftClickPickMeterBox(top,bottom);
|
||||
@@ -253,7 +253,7 @@ U8 PsmCvtDuration(F64 d)
|
||||
{
|
||||
F64 d1,d2;
|
||||
I64 j;
|
||||
for (j=0;j<PSM_NUM_DURATIONS;j++) {
|
||||
for (j=0;j<PSM_DURATIONS_NUM;j++) {
|
||||
d1=psm_durations[j];
|
||||
d2=psm_durations[j+1];
|
||||
if (d<d1*d2/(d1+d2))
|
||||
@@ -262,7 +262,7 @@ U8 PsmCvtDuration(F64 d)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define PSM_NUM_KEYS 20
|
||||
#define PSM_KEYS_NUM 20
|
||||
class PsmKey
|
||||
{
|
||||
U8 x,w,h,ascii;
|
||||
@@ -273,7 +273,7 @@ class PsmKey
|
||||
#define PSM_B_W 8
|
||||
#define PSM_B_H 20
|
||||
|
||||
PsmKey psm_kbd[PSM_NUM_KEYS]={
|
||||
PsmKey psm_kbd[PSM_KEYS_NUM]={
|
||||
{ 2*PSM_W_W-4,PSM_B_W,PSM_B_H,'e' },
|
||||
{ 3*PSM_W_W-4,PSM_B_W,PSM_B_H,'r' },
|
||||
{ 4*PSM_W_W-4,PSM_B_W,PSM_B_H,'t' },
|
||||
@@ -304,7 +304,7 @@ U0 PsmDownKey(I64 x,I64 y)
|
||||
y-=FONT_HEIGHT*13;
|
||||
if (0<=y<PSM_W_H) {
|
||||
x-=16;
|
||||
for (i=0;i<PSM_NUM_KEYS;i++) {
|
||||
for (i=0;i<PSM_KEYS_NUM;i++) {
|
||||
o=&psm_kbd[i];
|
||||
if (o->x<=x<o->x+o->w && y<o->h) {
|
||||
Msg(MSG_KEY_DOWN,o->ascii,0);
|
||||
@@ -321,7 +321,7 @@ U0 PsmUpKey(I64 x,I64 y)
|
||||
y-=FONT_HEIGHT*13;
|
||||
if (0<=y<PSM_W_H) {
|
||||
x-=16;
|
||||
for (i=0;i<PSM_NUM_KEYS;i++) {
|
||||
for (i=0;i<PSM_KEYS_NUM;i++) {
|
||||
o=&psm_kbd[i];
|
||||
if (o->x<=x<o->x+o->w && y<o->h) {
|
||||
Msg(MSG_KEY_UP,o->ascii,0);
|
||||
|
||||
+2
-2
@@ -34,8 +34,8 @@ CColorROPU32 run_colors[2]={RED,GREEN};
|
||||
#define MD_WIRE 3
|
||||
#define MD_MOVE 4
|
||||
#define MD_DELETE 5
|
||||
#define MD_NUM_MODES 6
|
||||
CColorROPU32 mode_colors[MD_NUM_MODES]=
|
||||
#define MD_MODES_NUM 6
|
||||
CColorROPU32 mode_colors[MD_MODES_NUM]=
|
||||
{BROWN,LTGRAY,DKGRAY,RED,PURPLE,RED};
|
||||
DefineLstLoad("ST_SPAN_MODES","Mass\0Concrete\0Steel\0Wire\0Move\0Delete\0");
|
||||
|
||||
|
||||
@@ -275,7 +275,7 @@ U0 Span()
|
||||
bt_run =CtrlBttnNew(0,0, 80,,
|
||||
2,"Stopped\0Running\0",run_colors,&run_bttn);
|
||||
bt_mode=CtrlBttnNew(0,3.0*FONT_HEIGHT,80,,
|
||||
MD_NUM_MODES,Define("ST_SPAN_MODES"),mode_colors,&mode_bttn);
|
||||
MD_MODES_NUM,Define("ST_SPAN_MODES"),mode_colors,&mode_bttn);
|
||||
a.saved_ode=NULL;
|
||||
|
||||
Fs->win_inhibit|=WIG_DBL_CLICK;
|
||||
@@ -386,7 +386,7 @@ U0 Span()
|
||||
break;
|
||||
case MSG_MS_R_DOWN:
|
||||
mode_bttn.state++;
|
||||
if (mode_bttn.state>=MD_NUM_MODES)
|
||||
if (mode_bttn.state>=MD_MODES_NUM)
|
||||
mode_bttn.state=0;
|
||||
cursor_mass=tmpm1=tmpm2=NULL;
|
||||
break;
|
||||
|
||||
+13
-13
@@ -7,8 +7,8 @@ $SP,"<2>",BI=2$
|
||||
$SP,"<3>",BI=3$
|
||||
|
||||
$BG$
|
||||
#define NUM_STARS 8192
|
||||
I64 stars_x[NUM_STARS],stars_y[NUM_STARS];
|
||||
#define STARS_NUM 8192
|
||||
I64 stars_x[STARS_NUM],stars_y[STARS_NUM];
|
||||
|
||||
#define RADIUS 7
|
||||
|
||||
@@ -25,8 +25,8 @@ class MySpring:CSpring
|
||||
//Main Modses
|
||||
#define MMD_EDIT 0
|
||||
#define MMD_PLAY 1
|
||||
#define MMD_NUM_MODES 2
|
||||
CColorROPU32 main_mode_colors[MMD_NUM_MODES]={LTRED,LTGREEN};
|
||||
#define MMD_MODES_NUM 2
|
||||
CColorROPU32 main_mode_colors[MMD_MODES_NUM]={LTRED,LTGREEN};
|
||||
DefineLstLoad("ST_MAIN_MODES","Edit\0Play\0");
|
||||
CCtrlBttnState main_mode_bttn;
|
||||
|
||||
@@ -36,8 +36,8 @@ CCtrlBttnState main_mode_bttn;
|
||||
#define EMD_CONNECTOR 2
|
||||
#define EMD_THRUSTER 3
|
||||
#define EMD_MOVE 4
|
||||
#define EMD_NUM_MODES 5
|
||||
CColorROPU32 edit_mode_colors[EMD_NUM_MODES]={LTGRAY,LTCYAN,CYAN,YELLOW,LTBLUE};
|
||||
#define EMD_MODES_NUM 5
|
||||
CColorROPU32 edit_mode_colors[EMD_MODES_NUM]={LTGRAY,LTCYAN,CYAN,YELLOW,LTBLUE};
|
||||
DefineLstLoad("ST_EDIT_MODES","Mass\0Spring\0Connector\0Thruster\0Move\0");
|
||||
CCtrlBttnState edit_mode_bttn;
|
||||
|
||||
@@ -100,7 +100,7 @@ U0 DrawIt(CTask *,CDC *dc)
|
||||
case MMD_PLAY:
|
||||
task->text_attr=BLACK<<4+WHITE;
|
||||
dc->color=WHITE;
|
||||
for (i=0;i<NUM_STARS;i++)
|
||||
for (i=0;i<STARS_NUM;i++)
|
||||
GrPlot3(dc,stars_x[i],stars_y[i],0);
|
||||
break;
|
||||
}
|
||||
@@ -293,7 +293,7 @@ U0 Init()
|
||||
task=Fs;
|
||||
for (i=0;i<=9;i++)
|
||||
action_scan_codes[i]=Char2ScanCode('0'+i);
|
||||
for (i=0;i<NUM_STARS;i++) {
|
||||
for (i=0;i<STARS_NUM;i++) {
|
||||
stars_x[i]=RandU32%8192-4096;
|
||||
stars_y[i]=RandU32%8192-4096;
|
||||
}
|
||||
@@ -378,7 +378,7 @@ U0 PlayShip()
|
||||
ode->drag_v3=0.0001;
|
||||
break;
|
||||
case CH_SPACE:
|
||||
if (++main_mode_bttn.state==MMD_NUM_MODES)
|
||||
if (++main_mode_bttn.state==MMD_MODES_NUM)
|
||||
main_mode_bttn.state=0;
|
||||
GetMsg(,,1<<MSG_KEY_UP);
|
||||
goto ps_done;
|
||||
@@ -415,7 +415,7 @@ U0 EditShip()
|
||||
F64 wx,wy;
|
||||
Bool okay;
|
||||
MyMass *tmpm1=NULL,*tmpm2=NULL;
|
||||
CCtrl *bt_edit_mode=CtrlBttnNew(0,5*FONT_HEIGHT+4,80,,EMD_NUM_MODES,
|
||||
CCtrl *bt_edit_mode=CtrlBttnNew(0,5*FONT_HEIGHT+4,80,,EMD_MODES_NUM,
|
||||
Define("ST_EDIT_MODES"),edit_mode_colors,&edit_mode_bttn);
|
||||
ode->flags|=ODEF_PAUSED;
|
||||
MenuPush(
|
||||
@@ -516,7 +516,7 @@ U0 EditShip()
|
||||
}
|
||||
break;
|
||||
case MSG_MS_R_DOWN:
|
||||
if (++edit_mode_bttn.state==EMD_NUM_MODES)
|
||||
if (++edit_mode_bttn.state==EMD_MODES_NUM)
|
||||
edit_mode_bttn.state=0;
|
||||
break;
|
||||
case MSG_MS_R_UP:
|
||||
@@ -560,7 +560,7 @@ U0 EditShip()
|
||||
Spawn(&Zoom,0.5(I64));
|
||||
break;
|
||||
case CH_SPACE:
|
||||
if (++main_mode_bttn.state==MMD_NUM_MODES)
|
||||
if (++main_mode_bttn.state==MMD_MODES_NUM)
|
||||
main_mode_bttn.state=0;
|
||||
GetMsg(,,1<<MSG_KEY_UP);
|
||||
goto es_done;
|
||||
@@ -615,7 +615,7 @@ U0 Strut()
|
||||
|
||||
PressAKey;
|
||||
bt_main_mode=CtrlBttnNew(
|
||||
(GR_WIDTH-4*FONT_WIDTH-16)>>1,1*FONT_HEIGHT+4,80,,MMD_NUM_MODES,
|
||||
(GR_WIDTH-4*FONT_WIDTH-16)>>1,1*FONT_HEIGHT+4,80,,MMD_MODES_NUM,
|
||||
Define("ST_MAIN_MODES"),main_mode_colors,&main_mode_bttn);
|
||||
DocClear;
|
||||
Init;
|
||||
|
||||
+38
-38
@@ -19,9 +19,9 @@ F64
|
||||
#define PHASES_GROUPS 8
|
||||
#define HACK_DIST 5
|
||||
|
||||
#define U_NUM_ENEMY (PHASES_GROUPS*64)
|
||||
#define U_NUM_FRIENDLY (PHASES_GROUPS*16)
|
||||
#define U_NUM (U_NUM_FRIENDLY+U_NUM_ENEMY)
|
||||
#define U_ENEMY_NUM (PHASES_GROUPS*64)
|
||||
#define U_FRIENDLY_NUM (PHASES_GROUPS*16)
|
||||
#define U_NUM (U_FRIENDLY_NUM+U_ENEMY_NUM)
|
||||
class Unit
|
||||
{
|
||||
I64 x,y,best_dd;
|
||||
@@ -181,8 +181,8 @@ U8 *enemy_hacking_imgs[4]={$IB,"<14>",BI=14$,$IB,"<13>",BI=13$,$IB,"<14>",BI=14$
|
||||
|
||||
|
||||
$BG$
|
||||
#define LS_NUM_APTS 20
|
||||
#define LS_NUM_MOUNTAINS 3
|
||||
#define LS_APTS_NUM 20
|
||||
#define LS_MOUNTAINS_NUM 3
|
||||
#define LS_NUM 128
|
||||
class LandScapeItem
|
||||
{
|
||||
@@ -456,7 +456,7 @@ U0 ExplosionDo(I64 x,I64 y,I64 scroll_y)
|
||||
ManDie(tmpu,TRUE);
|
||||
}
|
||||
}
|
||||
for (i=0;i<LS_NUM_APTS;i++) {
|
||||
for (i=0;i<LS_APTS_NUM;i++) {
|
||||
x2=ls[i].x;
|
||||
y2=(ls[i].y-scroll_y)&(MAP_HEIGHT-1);
|
||||
if (SqrI64(x-x2)+SqrI64(y-y2)<100*100) {
|
||||
@@ -514,7 +514,7 @@ U0 CheckCollisions()
|
||||
}
|
||||
}
|
||||
if (!tmpb->dead)
|
||||
for (i=0;i<LS_NUM_APTS;i++)
|
||||
for (i=0;i<LS_APTS_NUM;i++)
|
||||
if (2*SqrI64(x-ls[i].x)+
|
||||
3*SqrI64(y+35-(ls[i].y-scroll_y)&(MAP_HEIGHT-1))<2*60*60) {
|
||||
tmpb->dead=TRUE;
|
||||
@@ -543,38 +543,38 @@ U0 Init()
|
||||
é=-ã/2;
|
||||
|
||||
for (i=0;i<LS_NUM;i++) {
|
||||
ls[i].x=(Fs->pix_width-100)*RandU32/MAX_U32+50;
|
||||
ls[i].y=(MAP_HEIGHT-100)*RandU32/MAX_U32+50;
|
||||
ls[i].x=(Fs->pix_width-100)*RandU32/U32_MAX+50;
|
||||
ls[i].y=(MAP_HEIGHT-100)*RandU32/U32_MAX+50;
|
||||
ls[i].img=landscape_imgs[RandU16%(LS_TYPES-2)];
|
||||
}
|
||||
|
||||
for (i=0;i<LS_NUM_APTS;i++)
|
||||
for (i=0;i<LS_APTS_NUM;i++)
|
||||
ls[i].img=landscape_imgs[LS_TYPES-1]; //Apartment
|
||||
|
||||
for (;i<LS_NUM_APTS+LS_NUM_MOUNTAINS;i++)
|
||||
for (;i<LS_APTS_NUM+LS_MOUNTAINS_NUM;i++)
|
||||
ls[i].img=landscape_imgs[LS_TYPES-2]; //mountain
|
||||
|
||||
MemSet(u,0,sizeof(u));
|
||||
for (i=0,tmpu=u;i<U_NUM;i++,tmpu++) {
|
||||
if (i<U_NUM_FRIENDLY) {
|
||||
if (i<U_FRIENDLY_NUM) {
|
||||
tmpu->friendly=TRUE;
|
||||
if (!(i&7)) {
|
||||
xx=(Fs->pix_width-200)*RandU32/MAX_U32;
|
||||
yy=(MAP_HEIGHT-200)*RandU32/MAX_U32;
|
||||
xx=(Fs->pix_width-200)*RandU32/U32_MAX;
|
||||
yy=(MAP_HEIGHT-200)*RandU32/U32_MAX;
|
||||
}
|
||||
} else {
|
||||
tmpu->friendly=FALSE;
|
||||
if (!(i&31)) {
|
||||
xx=(Fs->pix_width-200)*RandU32/MAX_U32;
|
||||
yy=(MAP_HEIGHT-200)*RandU32/MAX_U32;
|
||||
xx=(Fs->pix_width-200)*RandU32/U32_MAX;
|
||||
yy=(MAP_HEIGHT-200)*RandU32/U32_MAX;
|
||||
}
|
||||
if (!(i&15))
|
||||
tmpu->tank=TRUE;
|
||||
}
|
||||
tmpu->dead=FALSE;
|
||||
tmpu->x=xx+64*RandI32/MAX_I32+100;
|
||||
tmpu->y=yy+64*RandU32/MAX_I32-64+100;
|
||||
tmpu->best_dd=MAX_I64;
|
||||
tmpu->x=xx+64*RandI32/I32_MAX+100;
|
||||
tmpu->y=yy+64*RandU32/I32_MAX-64+100;
|
||||
tmpu->best_dd=I64_MAX;
|
||||
tmpu->é=ã/2;
|
||||
tmpu->phase=2*ã*Rand;
|
||||
}
|
||||
@@ -584,8 +584,8 @@ U0 Init()
|
||||
e[i].dead=TRUE;
|
||||
e[i].num=i;
|
||||
}
|
||||
friendly_left=U_NUM_FRIENDLY;
|
||||
enemy_left =U_NUM_ENEMY;
|
||||
friendly_left=U_FRIENDLY_NUM;
|
||||
enemy_left =U_ENEMY_NUM;
|
||||
enemy_by_friendly=0;
|
||||
bullets_fired=0;
|
||||
missile_bmp =15;
|
||||
@@ -661,11 +661,11 @@ Bool FireMissile(I64 n)
|
||||
U0 MenMove(I64 phase_group)
|
||||
{
|
||||
I64 i,j,dd,best,best_dd;
|
||||
for (i=phase_group;i<U_NUM_FRIENDLY;i+=PHASES_GROUPS) {
|
||||
for (i=phase_group;i<U_FRIENDLY_NUM;i+=PHASES_GROUPS) {
|
||||
if (!u[i].dead) {
|
||||
best=U_NUM_FRIENDLY;
|
||||
best_dd=MAX_I64;
|
||||
for (j=U_NUM_FRIENDLY;j<U_NUM;j++) {
|
||||
best=U_FRIENDLY_NUM;
|
||||
best_dd=I64_MAX;
|
||||
for (j=U_FRIENDLY_NUM;j<U_NUM;j++) {
|
||||
if (!u[j].dead) {
|
||||
dd=SqrI64(u[i].x-u[j].x)+SqrI64(u[i].y-u[j].y);
|
||||
if (dd<best_dd) {
|
||||
@@ -675,18 +675,18 @@ U0 MenMove(I64 phase_group)
|
||||
}
|
||||
}
|
||||
u[i].best_dd=best_dd;
|
||||
if (best_dd!=MAX_I64) {
|
||||
if (best_dd!=I64_MAX) {
|
||||
u[i].x+=4*SignI64(u[best].x-u[i].x);
|
||||
u[i].y+=4*SignI64(u[best].y-u[i].y);
|
||||
u[i].é=Arg(u[best].x-u[i].x,u[best].y-u[i].y);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (i=U_NUM_FRIENDLY+phase_group;i<U_NUM;i+=PHASES_GROUPS) {
|
||||
for (i=U_FRIENDLY_NUM+phase_group;i<U_NUM;i+=PHASES_GROUPS) {
|
||||
if (!u[i].dead) {
|
||||
best=0;
|
||||
best_dd=MAX_I64;
|
||||
for (j=0;j<U_NUM_FRIENDLY;j++) {
|
||||
best_dd=I64_MAX;
|
||||
for (j=0;j<U_FRIENDLY_NUM;j++) {
|
||||
if (!u[j].dead) {
|
||||
dd=SqrI64(u[i].x-u[j].x)+SqrI64(u[i].y-u[j].y);
|
||||
if (dd<best_dd) {
|
||||
@@ -696,7 +696,7 @@ U0 MenMove(I64 phase_group)
|
||||
}
|
||||
}
|
||||
u[i].best_dd=best_dd;
|
||||
if (best_dd!=MAX_I64) {
|
||||
if (best_dd!=I64_MAX) {
|
||||
u[i].x+=4*SignI64(u[best].x-u[i].x);
|
||||
u[i].y+=4*SignI64(u[best].y-u[i].y);
|
||||
u[i].é=Arg(u[best].x-u[i].x,u[best].y-u[i].y);
|
||||
@@ -708,11 +708,11 @@ U0 MenMove(I64 phase_group)
|
||||
U0 MenFight(I64 phase_group)
|
||||
{
|
||||
I64 i,j,dd,best,best_dd;
|
||||
for (i=phase_group;i<U_NUM_FRIENDLY;i+=PHASES_GROUPS) {
|
||||
for (i=phase_group;i<U_FRIENDLY_NUM;i+=PHASES_GROUPS) {
|
||||
if (!u[i].dead) {
|
||||
best=U_NUM_FRIENDLY;
|
||||
best_dd=MAX_I64;
|
||||
for (j=U_NUM_FRIENDLY;j<U_NUM;j++) {
|
||||
best=U_FRIENDLY_NUM;
|
||||
best_dd=I64_MAX;
|
||||
for (j=U_FRIENDLY_NUM;j<U_NUM;j++) {
|
||||
if (!u[j].dead && u[i].y-u[j].y<8) {
|
||||
dd=SqrI64(u[i].x-u[j].x)+SqrI64(u[i].y-u[j].y);
|
||||
if (dd<best_dd) {
|
||||
@@ -726,11 +726,11 @@ U0 MenFight(I64 phase_group)
|
||||
ManDie(&u[best],FALSE);
|
||||
}
|
||||
}
|
||||
for (i=U_NUM_FRIENDLY+phase_group;i<U_NUM;i+=PHASES_GROUPS) {
|
||||
for (i=U_FRIENDLY_NUM+phase_group;i<U_NUM;i+=PHASES_GROUPS) {
|
||||
if (!u[i].dead) {
|
||||
best=0;
|
||||
best_dd=MAX_I64;
|
||||
for (j=0;j<U_NUM_FRIENDLY;j++) {
|
||||
best_dd=I64_MAX;
|
||||
for (j=0;j<U_FRIENDLY_NUM;j++) {
|
||||
if (!u[j].dead&& u[i].y-u[j].y<8) {
|
||||
dd=SqrI64(u[i].x-u[j].x)+SqrI64(u[i].y-u[j].y);
|
||||
if (dd<best_dd) {
|
||||
@@ -898,7 +898,7 @@ U0 Titanium()
|
||||
}
|
||||
SleepUntil(next_update_jiffy);
|
||||
|
||||
total_score=3*(U_NUM_ENEMY-enemy_left)+5*enemy_by_friendly
|
||||
total_score=3*(U_ENEMY_NUM-enemy_left)+5*enemy_by_friendly
|
||||
-100*friendly_fire-10*(tS-t0)-bullets_fired;
|
||||
if (game_over) {
|
||||
tf=tS;
|
||||
|
||||
@@ -4,7 +4,7 @@ U0 PlayerIndirect()
|
||||
I64 i,remaining=0,msg_code,arg1,arg2;
|
||||
F64 target_x,target_y;
|
||||
ViewPlayerSet(cur_player);
|
||||
for (i=0;i<MAX_UNITS;i++) {
|
||||
for (i=0;i<UNITS_NUM;i++) {
|
||||
tmpu=&units[cur_player][i];
|
||||
if (tmpu->life>0 && tmpu->indirect_fire)
|
||||
remaining++;
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
Unit *UnitNearestFind(I64 row,I64 col,I64 player,Bool in_LOS,F64 range=-1)
|
||||
{
|
||||
I64 i;
|
||||
F64 dd,best_dd=MAX_F64,x1,y1,x2,y2;
|
||||
F64 dd,best_dd=F64_MAX,x1,y1,x2,y2;
|
||||
Unit *best=NULL;
|
||||
//$LK,"Sqrt",A="MN:Sqrt"$() is slow, so work with squared distances.
|
||||
if (range<0)
|
||||
range=MAX_F64;
|
||||
range=F64_MAX;
|
||||
else
|
||||
range*=range;
|
||||
RowCol2XY(&x1,&y1,row,col);
|
||||
for (i=0;i<MAX_UNITS;i++)
|
||||
for (i=0;i<UNITS_NUM;i++)
|
||||
if (units[player][i].life>0) {
|
||||
if (!in_LOS || LOS(row,col,units[player][i].row,units[player][i].col)) {
|
||||
RowCol2XY(&x2,&y2,units[player][i].row,units[player][i].col);
|
||||
@@ -27,7 +27,7 @@ U0 PlayerIndirect()
|
||||
{
|
||||
Unit *target,*tmpu;
|
||||
I64 i;
|
||||
for (i=0;i<MAX_UNITS;i++) {
|
||||
for (i=0;i<UNITS_NUM;i++) {
|
||||
UserChk;
|
||||
tmpu=&units[cur_player][i];
|
||||
if (tmpu->life>0 && tmpu->indirect_fire &&
|
||||
@@ -43,7 +43,7 @@ U0 PlayerMove()
|
||||
Unit *target,*tmpu;
|
||||
I64 i;
|
||||
F64 x,y;
|
||||
for (i=0;i<MAX_UNITS;i++) {
|
||||
for (i=0;i<UNITS_NUM;i++) {
|
||||
UserChk;
|
||||
tmpu=&units[cur_player][i];
|
||||
if (tmpu->life>0) {
|
||||
@@ -64,7 +64,7 @@ U0 PlayerDirect()
|
||||
{
|
||||
Unit *target,*tmpu;
|
||||
I64 i;
|
||||
for (i=0;i<MAX_UNITS;i++) {
|
||||
for (i=0;i<UNITS_NUM;i++) {
|
||||
UserChk;
|
||||
tmpu=&units[cur_player][i];
|
||||
if (tmpu->life>0 && !tmpu->indirect_fire &&
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
#define MAP_WIDTH 640 //Change this, if you like.
|
||||
#define MAX_UNITS 32 //Change this, if you like.
|
||||
#define UNITS_NUM 32 //Change this, if you like.
|
||||
#define HEX_SIDE 11
|
||||
|
||||
U0 InitDefines()
|
||||
@@ -60,10 +60,10 @@ class Unit
|
||||
Bool vis[2],fired,infantry,indirect_fire,pad[3];
|
||||
};
|
||||
|
||||
Unit units[2][MAX_UNITS];
|
||||
Unit units[2][UNITS_NUM];
|
||||
|
||||
// Bt(vis_unit_bitmap,player1+player0*((MAX_UNITS+7)&~7))
|
||||
U8 vis_unit_bitmap[2][(((MAX_UNITS+7)&~7)*MAX_UNITS)>>3];
|
||||
// Bt(vis_unit_bitmap,player1+player0*((UNITS_NUM+7)&~7))
|
||||
U8 vis_unit_bitmap[2][(((UNITS_NUM+7)&~7)*UNITS_NUM)>>3];
|
||||
|
||||
#define PHASE_START 0
|
||||
#define PHASE_INDIRECT 0
|
||||
|
||||
@@ -234,7 +234,7 @@ U0 InitUnits()
|
||||
I64 i,j,row,col,type;
|
||||
Unit *tmpu;
|
||||
MemSet(units,0,sizeof(units));
|
||||
alive_cnt[0]=alive_cnt[1]=MAX_UNITS;
|
||||
alive_cnt[0]=alive_cnt[1]=UNITS_NUM;
|
||||
for (j=0;j<2;j++)
|
||||
for (i=0;i<alive_cnt[j];i++) {
|
||||
tmpu=&units[j][i];
|
||||
@@ -243,25 +243,25 @@ U0 InitUnits()
|
||||
tmpu->life=100;
|
||||
tmpu->facing=RandU16%6;
|
||||
if (!j) {
|
||||
if (i>=MAX_UNITS/2) {
|
||||
if (i>=15*MAX_UNITS/16)
|
||||
if (i>=UNITS_NUM/2) {
|
||||
if (i>=15*UNITS_NUM/16)
|
||||
type=UT_ARTILLERY;
|
||||
else
|
||||
type=UT_INFANTRY;
|
||||
} else {
|
||||
if (i>=MAX_UNITS/4)
|
||||
if (i>=UNITS_NUM/4)
|
||||
type=UT_MD_TANK;
|
||||
else
|
||||
type=UT_LT_TANK;
|
||||
}
|
||||
} else {
|
||||
if (i>=MAX_UNITS/2) {
|
||||
if (i>=15*MAX_UNITS/16)
|
||||
if (i>=UNITS_NUM/2) {
|
||||
if (i>=15*UNITS_NUM/16)
|
||||
type=UT_ARTILLERY;
|
||||
else
|
||||
type=UT_INFANTRY;
|
||||
} else {
|
||||
if (i>=MAX_UNITS/4)
|
||||
if (i>=UNITS_NUM/4)
|
||||
type=UT_MD_TANK;
|
||||
else
|
||||
type=UT_LT_TANK;
|
||||
|
||||
@@ -61,7 +61,7 @@ Unit *UnitFind(I64 row,I64 col)
|
||||
{//Finds unit in a hexagon.
|
||||
I64 i,j;
|
||||
for (j=0;j<2;j++)
|
||||
for (i=0;i<MAX_UNITS;i++)
|
||||
for (i=0;i<UNITS_NUM;i++)
|
||||
if (units[j][i].life>0 &&
|
||||
units[j][i].row==row &&
|
||||
units[j][i].col==col)
|
||||
|
||||
+20
-20
@@ -22,7 +22,7 @@ U0 VRSetUp(I64 player)
|
||||
Unit *ut0,*ut1;
|
||||
ut0=&units[player][0];
|
||||
ut1=&units[player^1][0];
|
||||
for (i=0;i<MAX_UNITS;i++,ut0++,ut1++) {
|
||||
for (i=0;i<UNITS_NUM;i++,ut0++,ut1++) {
|
||||
LBtr(&ut1->vis[player],0);
|
||||
LBEqu(&ut0->vis[player],0,ut0->life>0);
|
||||
}
|
||||
@@ -32,15 +32,15 @@ U0 VRMerge(I64 player)
|
||||
{
|
||||
I64 i,j;
|
||||
Unit *ut1;
|
||||
U8 *dst,*src,*mask=CAlloc((MAX_UNITS+7)>>3);
|
||||
for (j=0;j<MAX_UNITS;j++) {//p0
|
||||
src=&vis_unit_bitmap[player][(((MAX_UNITS+7)&~7)*j)>>3];
|
||||
U8 *dst,*src,*mask=CAlloc((UNITS_NUM+7)>>3);
|
||||
for (j=0;j<UNITS_NUM;j++) {//p0
|
||||
src=&vis_unit_bitmap[player][(((UNITS_NUM+7)&~7)*j)>>3];
|
||||
dst=mask;
|
||||
for (i=0;i<(MAX_UNITS+7)>>3;i++) //player1
|
||||
for (i=0;i<(UNITS_NUM+7)>>3;i++) //player1
|
||||
*dst++|=*src++;
|
||||
}
|
||||
ut1=&units[player^1][0];
|
||||
for (j=0;j<MAX_UNITS;j++,ut1++)
|
||||
for (j=0;j<UNITS_NUM;j++,ut1++)
|
||||
LBEqu(&ut1->vis[player],0,Bt(mask,j) && ut1->life>0);
|
||||
Free(mask);
|
||||
}
|
||||
@@ -63,7 +63,7 @@ Bool MPVisRecalc(MPCtrl1 *job)
|
||||
case VR_UPDATE_FRIENDLY_UNIT:
|
||||
case VR_ONE_FRIENDLY_UNIT:
|
||||
if (job->mode==VR_UPDATE_FRIENDLY_UNIT)
|
||||
range=MAX_F64;
|
||||
range=F64_MAX;
|
||||
RowCol2XY(&x1,&y1,row,col);
|
||||
for (i=job->lo;i<job->hi;i++,ut1++) {
|
||||
seen=FALSE;
|
||||
@@ -78,7 +78,7 @@ Bool MPVisRecalc(MPCtrl1 *job)
|
||||
}
|
||||
if (job->mode==VR_UPDATE_FRIENDLY_UNIT)
|
||||
LBEqu(&vis_unit_bitmap[cur_player],
|
||||
i+job->tmpu->num*((MAX_UNITS+7)&~7),seen);
|
||||
i+job->tmpu->num*((UNITS_NUM+7)&~7),seen);
|
||||
}
|
||||
break;
|
||||
case VR_ONE_ENEMY_UNIT:
|
||||
@@ -87,15 +87,15 @@ Bool MPVisRecalc(MPCtrl1 *job)
|
||||
if (ut1->life>0 &&
|
||||
LOS(row,col,ut1->row,ut1->col)) {
|
||||
LBts(&vis_unit_bitmap[enemy_player],
|
||||
job->tmpu->num+i*((MAX_UNITS+7)&~7));
|
||||
job->tmpu->num+i*((UNITS_NUM+7)&~7));
|
||||
res=TRUE;
|
||||
} else
|
||||
LBtr(&vis_unit_bitmap[enemy_player],
|
||||
job->tmpu->num+i*((MAX_UNITS+7)&~7));
|
||||
job->tmpu->num+i*((UNITS_NUM+7)&~7));
|
||||
break;
|
||||
case VR_ALL_UNITS:
|
||||
ut0=&units[cur_player][0];
|
||||
for (i=0;i<MAX_UNITS;i++,ut0++)
|
||||
for (i=0;i<UNITS_NUM;i++,ut0++)
|
||||
if (ut0->life>0) {
|
||||
RowCol2XY(&x1,&y1,ut0->row,ut0->col);
|
||||
ut1=&units[enemy_player][job->lo];
|
||||
@@ -103,15 +103,15 @@ Bool MPVisRecalc(MPCtrl1 *job)
|
||||
if (ut1->life>0 &&
|
||||
LOS(ut0->row,ut0->col,ut1->row,ut1->col)) {
|
||||
LBts(&ut1->vis[cur_player],0);
|
||||
LBts(&vis_unit_bitmap[cur_player],j+i*((MAX_UNITS+7)&~7));
|
||||
LBts(&vis_unit_bitmap[cur_player],j+i*((UNITS_NUM+7)&~7));
|
||||
} else
|
||||
LBtr(&vis_unit_bitmap[cur_player],j+i*((MAX_UNITS+7)&~7));
|
||||
LBtr(&vis_unit_bitmap[cur_player],j+i*((UNITS_NUM+7)&~7));
|
||||
}
|
||||
} else
|
||||
for (j=job->lo;j<job->hi;j++)
|
||||
LBtr(&vis_unit_bitmap[cur_player],j+i*((MAX_UNITS+7)&~7));
|
||||
LBtr(&vis_unit_bitmap[cur_player],j+i*((UNITS_NUM+7)&~7));
|
||||
ut0=&units[enemy_player][0];
|
||||
for (i=0;i<MAX_UNITS;i++,ut0++)
|
||||
for (i=0;i<UNITS_NUM;i++,ut0++)
|
||||
if (ut0->life>0) {
|
||||
RowCol2XY(&x1,&y1,ut0->row,ut0->col);
|
||||
ut1=&units[cur_player][job->lo];
|
||||
@@ -119,13 +119,13 @@ Bool MPVisRecalc(MPCtrl1 *job)
|
||||
if (ut1->life>0 &&
|
||||
LOS(ut0->row,ut0->col,ut1->row,ut1->col)) {
|
||||
LBts(&ut1->vis[enemy_player],0);
|
||||
LBts(&vis_unit_bitmap[enemy_player],j+i*((MAX_UNITS+7)&~7));
|
||||
LBts(&vis_unit_bitmap[enemy_player],j+i*((UNITS_NUM+7)&~7));
|
||||
} else
|
||||
LBtr(&vis_unit_bitmap[enemy_player],j+i*((MAX_UNITS+7)&~7));
|
||||
LBtr(&vis_unit_bitmap[enemy_player],j+i*((UNITS_NUM+7)&~7));
|
||||
}
|
||||
} else
|
||||
for (j=job->lo;j<job->hi;j++)
|
||||
LBtr(&vis_unit_bitmap[enemy_player],j+i*((MAX_UNITS+7)&~7));
|
||||
LBtr(&vis_unit_bitmap[enemy_player],j+i*((UNITS_NUM+7)&~7));
|
||||
break;
|
||||
}
|
||||
return res;
|
||||
@@ -148,13 +148,13 @@ $LK,"MAlloc",A="MN:MAlloc"$() would probably be the better choice.
|
||||
|
||||
if (mode==VR_FRIENDLY_UNIT_DIED) {
|
||||
MemSet((&vis_unit_bitmap[enemy_player])(U8 *)+
|
||||
(tmpu->num*((MAX_UNITS+7)&~7))>>3,0,(MAX_UNITS+7)>>3);
|
||||
(tmpu->num*((UNITS_NUM+7)&~7))>>3,0,(UNITS_NUM+7)>>3);
|
||||
VRMerge(enemy_player);
|
||||
return 0; //Return any value--don't care
|
||||
}
|
||||
|
||||
cnt=mp_cnt; //Cores
|
||||
hi=MAX_UNITS;
|
||||
hi=UNITS_NUM;
|
||||
if (mode==VR_ONE_ENEMY_UNIT) {
|
||||
for (hi--;hi>=0;hi--)
|
||||
if (units[enemy_player][hi].life>0)
|
||||
|
||||
@@ -7,7 +7,7 @@ U0 TurnNew()
|
||||
{
|
||||
I64 i,j;
|
||||
for (j=0;j<2;j++)
|
||||
for (i=0;i<MAX_UNITS;i++) {
|
||||
for (i=0;i<UNITS_NUM;i++) {
|
||||
units[j][i].remaining_movement=units[j][i].movement;
|
||||
units[j][i].fired=FALSE;
|
||||
}
|
||||
|
||||
+35
-35
@@ -28,9 +28,9 @@ class MySpring:CSpring
|
||||
};
|
||||
|
||||
#define SPIN_GAIN 0.25
|
||||
#define MAX_MASSES 8
|
||||
#define MAX_SPRINGS 16
|
||||
#define MAX_MISSILES 2
|
||||
#define MASSES_NUM 8
|
||||
#define SPRINGS_NUM 16
|
||||
#define MISSILES_NUM 2
|
||||
#define ST_HUMAN1 0
|
||||
#define ST_ENEMY1 1
|
||||
#define ST_ENEMY2 2
|
||||
@@ -53,14 +53,14 @@ class Ship
|
||||
{
|
||||
Ship *next,*last;
|
||||
I64 type,masses,springs;
|
||||
MyMass p[MAX_MASSES];
|
||||
MySpring s[MAX_SPRINGS];
|
||||
MyMass p[MASSES_NUM];
|
||||
MySpring s[SPRINGS_NUM];
|
||||
F64 fire_rate;
|
||||
F64 reload_timeout,spacewalk_timeout;
|
||||
F64 die_time,die_timeout;
|
||||
I64 spacewalk_side;
|
||||
F64 laser_temperature;
|
||||
Missile missiles[MAX_MISSILES];
|
||||
Missile missiles[MISSILES_NUM];
|
||||
Bool lasering,exploding,laser_overheat;
|
||||
} ship_head,*human;
|
||||
|
||||
@@ -77,8 +77,8 @@ class Shot
|
||||
F64 t_solar_storm;
|
||||
Bool alarm;
|
||||
|
||||
#define MAX_THRUST 200.0
|
||||
#define MAX_ANTISPIN 25.0
|
||||
#define THRUST_MAX 200.0
|
||||
#define ANTISPIN_MAX 25.0
|
||||
#define SPACEWALK_TIME 7.5
|
||||
|
||||
#define CMD_NULL 0
|
||||
@@ -89,8 +89,8 @@ Bool alarm;
|
||||
#define CMD_EXIT 5
|
||||
Bool game_over,show_level_msg;
|
||||
|
||||
#define NUM_STARS 100
|
||||
I64 stars_x[NUM_STARS],stars_y[NUM_STARS];
|
||||
#define STARS_NUM 100
|
||||
I64 stars_x[STARS_NUM],stars_y[STARS_NUM];
|
||||
|
||||
CMathODE *ode=NULL;
|
||||
I64 level,score,remaining;
|
||||
@@ -471,7 +471,7 @@ U0 DrawIt(CTask *task,CDC *dc)
|
||||
(task->pix_height-FONT_HEIGHT)/2+50,"Level %d",level);
|
||||
}
|
||||
|
||||
for (i=0;i<NUM_STARS;i++)
|
||||
for (i=0;i<STARS_NUM;i++)
|
||||
GrPlot(dc,stars_x[i],stars_y[i]);
|
||||
|
||||
tmpm=ode->next_mass;
|
||||
@@ -534,7 +534,7 @@ U0 DrawIt(CTask *task,CDC *dc)
|
||||
} else
|
||||
spin=0;
|
||||
t_left =Clamp(human_t_left+SPIN_GAIN*spin*human_antispin,
|
||||
0,MAX_THRUST);
|
||||
0,THRUST_MAX);
|
||||
|
||||
if (d=D3Norm(D3Sub(&p1,&tmpsp->p[0].x,&tmpsp->p[2].x))) {
|
||||
D3Sub(&p2,&tmpsp->p[0].DxDt,&tmpsp->p[2].DxDt);
|
||||
@@ -543,7 +543,7 @@ U0 DrawIt(CTask *task,CDC *dc)
|
||||
} else
|
||||
spin=0;
|
||||
t_right=Clamp(human_t_right-SPIN_GAIN*spin*human_antispin,
|
||||
0,MAX_THRUST);
|
||||
0,THRUST_MAX);
|
||||
}
|
||||
|
||||
D3Sub(&p1,&tmpsp->p[1].x,&tmpsp->p[0].x);
|
||||
@@ -737,7 +737,7 @@ U0 Explosion(MyMass *tmpm1,MyMass *tmpm2,F64 tons)
|
||||
Ship TargetGet(Missile *tmpmi)
|
||||
{
|
||||
Ship *tmpsp,*res=NULL;
|
||||
F64 dd,best_dd=MAX_F64;
|
||||
F64 dd,best_dd=F64_MAX;
|
||||
I64 i;
|
||||
CD3 p,p1,p2;
|
||||
D3Unit(D3Sub(&p,&tmpmi->p_front.state->x,&tmpmi->p_back.state->x));
|
||||
@@ -831,15 +831,15 @@ U0 MyDerivative(CMathODE *ode,F64,COrder2D3 *,COrder2D3 *)
|
||||
if (0.485<d<0.515) {
|
||||
D3Unit(D3Sub(&p,&tmpsp->p[2].state->x,&tmpsp->p[1].state->x));
|
||||
if (tmpsp->spacewalk_side==3) {
|
||||
tmpsp->p[3].DstateDt->DxDt-=10*MAX_THRUST*p.x;
|
||||
tmpsp->p[3].DstateDt->DyDt-=10*MAX_THRUST*p.y;
|
||||
tmpsp->p[1].DstateDt->DxDt+=10*MAX_THRUST*p.x;
|
||||
tmpsp->p[1].DstateDt->DyDt+=10*MAX_THRUST*p.y;
|
||||
tmpsp->p[3].DstateDt->DxDt-=10*THRUST_MAX*p.x;
|
||||
tmpsp->p[3].DstateDt->DyDt-=10*THRUST_MAX*p.y;
|
||||
tmpsp->p[1].DstateDt->DxDt+=10*THRUST_MAX*p.x;
|
||||
tmpsp->p[1].DstateDt->DyDt+=10*THRUST_MAX*p.y;
|
||||
} else {
|
||||
tmpsp->p[4].DstateDt->DxDt+=10*MAX_THRUST*p.x;
|
||||
tmpsp->p[4].DstateDt->DyDt+=10*MAX_THRUST*p.y;
|
||||
tmpsp->p[2].DstateDt->DxDt-=10*MAX_THRUST*p.x;
|
||||
tmpsp->p[2].DstateDt->DyDt-=10*MAX_THRUST*p.y;
|
||||
tmpsp->p[4].DstateDt->DxDt+=10*THRUST_MAX*p.x;
|
||||
tmpsp->p[4].DstateDt->DyDt+=10*THRUST_MAX*p.y;
|
||||
tmpsp->p[2].DstateDt->DxDt-=10*THRUST_MAX*p.x;
|
||||
tmpsp->p[2].DstateDt->DyDt-=10*THRUST_MAX*p.y;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -851,7 +851,7 @@ U0 MyDerivative(CMathODE *ode,F64,COrder2D3 *,COrder2D3 *)
|
||||
} else
|
||||
spin=0;
|
||||
t_left =Clamp(human_t_left+SPIN_GAIN*spin*human_antispin,
|
||||
0,MAX_THRUST);
|
||||
0,THRUST_MAX);
|
||||
|
||||
if (d=D3Norm(D3Sub(&p1,&tmpsp->p[0].state->x,
|
||||
&tmpsp->p[2].state->x))) {
|
||||
@@ -861,7 +861,7 @@ U0 MyDerivative(CMathODE *ode,F64,COrder2D3 *,COrder2D3 *)
|
||||
} else
|
||||
spin=0;
|
||||
t_right=Clamp(human_t_right-SPIN_GAIN*spin*human_antispin,
|
||||
0,MAX_THRUST);
|
||||
0,THRUST_MAX);
|
||||
|
||||
D3Sub(&p1,&tmpsp->p[0].state->x,&tmpsp->p[1].state->x);
|
||||
D3Sub(&p2,&tmpsp->p[0].state->x,&tmpsp->p[2].state->x);
|
||||
@@ -905,7 +905,7 @@ U0 MyDerivative(CMathODE *ode,F64,COrder2D3 *,COrder2D3 *)
|
||||
p2.x=p.x*Cos(é_thrust)-p.y*Sin(é_thrust);
|
||||
p2.y=p.y*Cos(é_thrust)+p.x*Sin(é_thrust);
|
||||
p2.z=0;
|
||||
D3AddEqu(&tmpmi->p_back.DstateDt->DxDt,D3MulEqu(&p2,MAX_THRUST));
|
||||
D3AddEqu(&tmpmi->p_back.DstateDt->DxDt,D3MulEqu(&p2,THRUST_MAX));
|
||||
}
|
||||
}
|
||||
} else
|
||||
@@ -970,7 +970,7 @@ U0 CheckDamage()
|
||||
human->laser_overheat=FALSE;
|
||||
}
|
||||
if (!human->laser_overheat && human->lasering) {
|
||||
if (human->laser_temperature>=LASER_MAX_TEMP) {
|
||||
if (human->laser_temperature>=LASER_TEMP_MAX) {
|
||||
human->laser_overheat=TRUE;
|
||||
Snd;
|
||||
} else {
|
||||
@@ -982,7 +982,7 @@ U0 CheckDamage()
|
||||
p2.y=-p.x;
|
||||
p2.z=0;
|
||||
best_mass=NULL;
|
||||
best_distance=MAX_F64;
|
||||
best_distance=F64_MAX;
|
||||
tmpm=ode->next_mass;
|
||||
while (tmpm!=&ode->next_mass) {
|
||||
D3Sub(&p1,&human->p[0].x,&tmpm->x);
|
||||
@@ -1050,7 +1050,7 @@ U0 CheckDamage()
|
||||
}
|
||||
if (!tmpsp->exploding) {
|
||||
for (i=0;i<tmpsp->masses;i++)
|
||||
if (tmpsp->p[i].temperature>MAX_MASS_TEMP)
|
||||
if (tmpsp->p[i].temperature>MASS_TEMP_MAX)
|
||||
death_score++;
|
||||
if (death_score) {
|
||||
tmpsp->exploding=TRUE;
|
||||
@@ -1249,7 +1249,7 @@ U0 ExpireMissiles()
|
||||
while (tmpmi!=&missile_head) {
|
||||
tmpm1=tmpmi->next;
|
||||
if (tmpmi->launched) {
|
||||
best_dd=MAX_F64;
|
||||
best_dd=F64_MAX;
|
||||
if (tmpmi->target)
|
||||
for (i=0;i<tmpmi->target->masses;i++) {
|
||||
dd=D3DistSqr(&tmpmi->p_front.x,&tmpmi->target->p[i].x);
|
||||
@@ -1331,7 +1331,7 @@ U0 Init()
|
||||
QueInit(&shot_head);
|
||||
QueInit(&missile_head);
|
||||
|
||||
for (i=0;i<NUM_STARS;i++) {
|
||||
for (i=0;i<STARS_NUM;i++) {
|
||||
stars_x[i]=RandU16%GR_WIDTH;
|
||||
stars_y[i]=RandU16%GR_HEIGHT;
|
||||
}
|
||||
@@ -1407,7 +1407,7 @@ U0 XCaliber()
|
||||
else if (sc&SCF_SHIFT)
|
||||
ctrl_panel.fuse_time+=2;
|
||||
else
|
||||
human_t_right=MAX_THRUST;
|
||||
human_t_right=THRUST_MAX;
|
||||
break;
|
||||
case SC_CURSOR_LEFT:
|
||||
if (sc&SCF_CTRL)
|
||||
@@ -1415,21 +1415,21 @@ U0 XCaliber()
|
||||
else if (sc&SCF_SHIFT)
|
||||
ctrl_panel.fuse_time-=2;
|
||||
else
|
||||
human_t_left =MAX_THRUST;
|
||||
human_t_left =THRUST_MAX;
|
||||
break;
|
||||
case SC_CURSOR_UP:
|
||||
if (sc&SCF_SHIFT)
|
||||
ctrl_panel.shot_radius+=2;
|
||||
else {
|
||||
human_t_right=MAX_THRUST;
|
||||
human_t_left =MAX_THRUST;
|
||||
human_t_right=THRUST_MAX;
|
||||
human_t_left =THRUST_MAX;
|
||||
}
|
||||
break;
|
||||
case SC_CURSOR_DOWN:
|
||||
if (sc&SCF_SHIFT)
|
||||
ctrl_panel.shot_radius-=2;
|
||||
else
|
||||
human_antispin=MAX_ANTISPIN;
|
||||
human_antispin=ANTISPIN_MAX;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#define LASER_MAX_TEMP 30.0
|
||||
#define LASER_TEMP_MAX 30.0
|
||||
#define LASER_THRESHOLD_TEMP 10.0
|
||||
#define MAX_MASS_TEMP 5.0
|
||||
#define MASS_TEMP_MAX 5.0
|
||||
|
||||
class CtrlPanelState
|
||||
{
|
||||
@@ -82,7 +82,7 @@ U0 DrawCtrlPanelCtrl(CDC *dc,CCtrl *c)
|
||||
CTRL_PANEL_RANGE-1-s->fuse_time-1,5,3);
|
||||
|
||||
d_range=c->right-c->left-5-5;
|
||||
d=s->laser_temperature*d_range/LASER_MAX_TEMP;
|
||||
d=s->laser_temperature*d_range/LASER_TEMP_MAX;
|
||||
dc->color=BLACK;
|
||||
GrRect(dc,c->left+5-1,c->bottom+TMP_Y-2,d_range+2,2+1+1);
|
||||
if (d>1.0) {
|
||||
|
||||
Reference in new issue
Block a user