TempleOSTS_130707.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:45:45 +02:00
1 parent 17b71f1a2d
commit 1343005a29
617 files changed
+14399 -25130

No files matched your search

+1 -1
View File
@@ -51,4 +51,4 @@ class SpanAnimateStruct
extern MyMass PlaceMass(I64 x, I64 y);
extern F64 SpanTime(CTask *task);
extern F64 SpanTime();
+14 -22
View File
@@ -2,7 +2,7 @@
#define SPRING_SCALE 6.0e6
#define COST_SCALE 375.0
#define MASS_RADIUS 3.0
#define MASS_WEIGHT 10.0
#define MASS_MASS 10.0
#define WIRE_PERCENT 0.99
#define RIVER_BANK_COLS 5
@@ -44,28 +44,20 @@ U0 SpanBridge1Init(CMathODE *)
tempm->color=RED;
}
"$$CL$$$$BG,LTCYAN$$";
NewLine(SKY_LINES);
DocClear;
"$$BG,LTCYAN$$"; NewLine(SKY_LINES);
for (i=0;i<10;i++) {
"$$BG,BROWN$$";
Spaces(RIVER_BANK_COLS);
"$$BG,LTCYAN$$";
Spaces(TEXT_COLS-2*RIVER_BANK_COLS);
"$$BG,BROWN$$";
Spaces(RIVER_BANK_COLS);
"$$BG,BROWN$$"; Spaces(RIVER_BANK_COLS);
"$$BG,LTCYAN$$"; Spaces(TEXT_COLS-2*RIVER_BANK_COLS);
"$$BG,BROWN$$"; Spaces(RIVER_BANK_COLS);
NewLine;
}
for (i=0;i<5;i++) {
"$$BG,BROWN$$";
Spaces(RIVER_BANK_COLS+i);
"$$BG,BLUE$$";
Spaces(TEXT_COLS/2-RIVER_BANK_COLS-2*i);
"$$BG,BROWN$$";
Spaces(2*i);
"$$BG,BLUE$$";
Spaces(TEXT_COLS/2-RIVER_BANK_COLS-2*i);
"$$BG,BROWN$$";
Spaces(RIVER_BANK_COLS+i);
for (i=0;i<5;i++) {
"$$BG,BROWN$$"; Spaces(RIVER_BANK_COLS+i);
"$$BG,BLUE$$"; Spaces(TEXT_COLS/2-RIVER_BANK_COLS-2*i);
"$$BG,BROWN$$"; Spaces(2*i);
"$$BG,BLUE$$"; Spaces(TEXT_COLS/2-RIVER_BANK_COLS-2*i);
"$$BG,BROWN$$"; Spaces(RIVER_BANK_COLS+i);
NewLine;
}
}
@@ -73,7 +65,7 @@ U0 SpanBridge1Init(CMathODE *)
U0 AdjustLoads(CTask *task,CMathODE *ode)
{
MyMass *tempm=ode->next_mass;
F64 d,tt=SpanTime(task)/10.0;
F64 d,tt=SpanTime/10.0;
while (tempm!=&ode->next_mass) {
if (tempm->load_t) {
if (tt) {
@@ -81,7 +73,7 @@ U0 AdjustLoads(CTask *task,CMathODE *ode)
tempm->mass=100.0*Sqr(Sqr(d+1.0));
tempm->radius=7.0*d+2.0;
} else {
tempm->mass=MASS_WEIGHT;
tempm->mass=MASS_MASS;
tempm->radius=MASS_RADIUS;
}
}
+10 -13
View File
@@ -86,7 +86,7 @@ MyMass PlaceMass(I64 x, I64 y)
tempm->drag_profile_factor=1.0;
tempm->x=x;
tempm->y=y;
tempm->mass=MASS_WEIGHT;
tempm->mass=MASS_MASS;
tempm->radius=MASS_RADIUS;
tempm->cost=25.0*COST_SCALE;
tempm->color=YELLOW;
@@ -243,11 +243,11 @@ U0 AnimateTask(SpanAnimateStruct *a)
U0 Init(SpanAnimateStruct *a)
{
SpanDel(ode);
ode=SpanNew;
run_button.state=0;
WinMgrSync; //Allow stop to register in animate task.
WinMgrSync;
WinMgrSync(2); //Allow stop to register in animate task.
if (a->saved_ode)
SpanLoad(ode,a->saved_ode);
@@ -264,7 +264,7 @@ U0 SongTask(I64)
music_tempo= 3.636;
music_stacatto_factor= 0.902;
while (TRUE) {
Play("W13q.EeDqED2G3DhE");
Play("3q.EeDqED2G3DhE");
Play("q.EeDqED2G3DhE");
Play("q.FeEFEqF2G3EhF");
Play("q.FeEFEqF2G3EhF");
@@ -281,8 +281,9 @@ U0 Span()
CDC *dc=DCAlias;
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->text_attr=BROWN<<4+BLACK;
WinMax;
Fs->song_task=Spawn(&SongTask,NULL,"Song",Fs);
Fs->song_task=Spawn(&SongTask,NULL,"Song",,Fs);
bt_run =CtrlButtonNew(0,0, 80,,2,"Stopped\0Running\0",run_colors,&run_button),
bt_snap=CtrlButtonNew(0,2.5*FONT_HEIGHT,80,,2,"Snap Off\0Snap On\0",snap_colors,&snap_button),
@@ -329,8 +330,9 @@ U0 Span()
"}"
);
ode=NULL;
Init(&a);
Fs->animate_task=Spawn(&AnimateTask,&a,"Animate",Fs);
Fs->animate_task=Spawn(&AnimateTask,&a,"Animate",,Fs);
Fs->draw_it=&DrawIt;
PopUpOk(
@@ -424,11 +426,9 @@ U0 Span()
Free(a.saved_ode);
a.saved_ode=SpanSave(ode);
}
SpanDel(ode);
Init(&a);
break;
case CH_CTRLN:
SpanDel(ode);
Free(a.saved_ode);
a.saved_ode=NULL;
Init(&a);
@@ -437,7 +437,6 @@ U0 Span()
if (src=SpanRead) {
Free(a.saved_ode);
a.saved_ode=src;
SpanDel(ode);
Init(&a);
}
break;
@@ -446,7 +445,6 @@ U0 Span()
Free(a.saved_ode);
a.saved_ode=SpanSave(ode);
}
SpanDel(ode);
Init(&a);
SpanWrite(ode);
break;
@@ -479,7 +477,6 @@ U0 Span()
Free(a.saved_ode);
a.saved_ode=SpanSave(ode);
}
SpanDel(ode);
Init(&a);
SpanWrite(ode);
case CH_SHIFT_ESC:
@@ -489,8 +486,10 @@ U0 Span()
}
}
span_done: //Don't goto out of try
GetMsg(,,1<<MSG_KEY_UP);
} catch
CatchAll;
DocClear;
SettingsPop;
CtrlButtonDel(bt_run);
CtrlButtonDel(bt_mode);
@@ -499,6 +498,4 @@ span_done: //Don't goto out of try
DCFill(dc);
DCDel(dc);
MenuPop;
DocBottom;
"$$CL$$$$BG$$\n";
}
+8 -8
View File
@@ -1,26 +1,26 @@
CMathODE *SpanNew()
{
ode=ODENew(0,1e-4,ODEF_HAS_MASSES|ODEF_PAUSED);
CMathODE *ode=ODENew(0,1e-4,ODEF_HAS_MASSES|ODEF_PAUSED);
ode->derivative=&MyDerivative;
ode->drag_v2=0.002;
ode->drag_v3=0.00001;
ode->acceleration_limit=5e3;
QueIns(ode,Fs->last_ode);
return ode;
}
U0 SpanDel(CMathODE *ode)
{
QueRem(ode);
QueDel(&ode->next_mass,TRUE);
QueDel(&ode->next_spring,TRUE);
ODEDel(ode);
if (ode) {
QueRem(ode);
QueDel(&ode->next_mass,TRUE);
QueDel(&ode->next_spring,TRUE);
ODEDel(ode);
}
}
#define M_SIZE (sizeof(MyMass)-offset(CMass.start_saved_area))
#define M_SIZE (sizeof(MyMass) -offset(CMass.start_saved_area))
#define S_SIZE (sizeof(MySpring)-offset(CSpring.start_saved_area))
U8 *SpanSave(CMathODE *ode,I64 *_size=NULL)