forked from KolibriOS/kolibrios
add new program 'Blocks'
git-svn-id: svn://kolibrios.org@8824 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
61c769beee
commit
f9d251a1fc
@ -49,7 +49,7 @@ void KolibriOnPaint(void)
|
||||
void KolibriOnButton(long id, TThreadData /*th*/)
|
||||
{
|
||||
FileInfoBlock* file;
|
||||
long int k;
|
||||
unsigned long int k;
|
||||
|
||||
switch(id){
|
||||
case 2:
|
||||
|
19
programs/bcc32/games/blocks/Makefile
Normal file
19
programs/bcc32/games/blocks/Makefile
Normal file
@ -0,0 +1,19 @@
|
||||
# Path to /programs
|
||||
SVN_PROGR:=../../..
|
||||
|
||||
# Path to /programs/bcc32
|
||||
SVN_BCC32:=$(SVN_PROGR)/bcc32
|
||||
|
||||
# Path to t2fasm
|
||||
T2FASM:=$(SVN_BCC32)/t2fasm
|
||||
|
||||
# Path to include
|
||||
INCLUDE:=$(SVN_BCC32)/include
|
||||
|
||||
# Path to Bin folder
|
||||
KOS32_BCC:=/home/autobuild/borlandcpp/bin
|
||||
|
||||
# Filename without .cpp
|
||||
FILENAME:=blocks
|
||||
|
||||
include $(SVN_BCC32)/Makefile_app
|
66275
programs/bcc32/games/blocks/block.asm
Normal file
66275
programs/bcc32/games/blocks/block.asm
Normal file
File diff suppressed because it is too large
Load Diff
554
programs/bcc32/games/blocks/blocks.cpp
Normal file
554
programs/bcc32/games/blocks/blocks.cpp
Normal file
@ -0,0 +1,554 @@
|
||||
#include <kolibri.h>
|
||||
#include <kos_heap.h>
|
||||
#include <kos_file.h>
|
||||
#include <kos_unpack.h>
|
||||
#include <load_lib.h>
|
||||
#include <l_proc_lib.h>
|
||||
#include <l_tinygl.h>
|
||||
|
||||
using namespace Kolibri;
|
||||
|
||||
const char header[] = "Blocks";
|
||||
char library_path[2048];
|
||||
|
||||
OpenDialog_data ofd;
|
||||
unsigned char procinfo[1024];
|
||||
char plugin_path[4096], openfile_path[4096], filename_area[256];
|
||||
od_filter filter1 = { 7, "JS\0\0" };
|
||||
|
||||
namespace Kolibri{
|
||||
char CurrentDirectoryPath[2048];
|
||||
}
|
||||
|
||||
struct BlockList{
|
||||
unsigned char* name;
|
||||
long int id_l, p_cou;
|
||||
float* vert_d;
|
||||
float* norm_d;
|
||||
};
|
||||
|
||||
BlockList* b_list = 0;
|
||||
long int b_count;
|
||||
|
||||
unsigned char* b_data = 0;
|
||||
unsigned char* f_data = 0;
|
||||
|
||||
struct ColorList{
|
||||
unsigned char* name;
|
||||
long int color;
|
||||
};
|
||||
|
||||
const long C_COUNT_MAX = 32;
|
||||
ColorList c_list[C_COUNT_MAX];
|
||||
long c_count = 0;
|
||||
|
||||
struct ModelList{
|
||||
char* name;
|
||||
long int color, t_cr;
|
||||
float x,y,z, r_x,r_y,r_z;
|
||||
long int level, id_l;
|
||||
};
|
||||
|
||||
ModelList* model_list = 0;
|
||||
long int m_count;
|
||||
|
||||
TinyGLContext ctx1;
|
||||
float angle_x = 135.0, angle_y = 0.0, angle_z = 0.0, delt_size = 3.0,
|
||||
scale_o = 0.1, trans_z = 0.0;
|
||||
double rat_h = 1.0;
|
||||
bool mouse_drag = false;
|
||||
short mouse_x, mouse_y;
|
||||
float angle_dwm, //~ wnd_w/180 - прибавление углов поворота сцены при вращении мышей
|
||||
angle_dhm; //~ wnd_h/180
|
||||
|
||||
float light_position[] = {-30.0, 80.0, -50.0, 1.0}; //Расположение источника [0][1][2]
|
||||
//[3] = (0.0 - бесконечно удаленный источник, 1.0 - источник света на определенном расстоянии)
|
||||
float light_dir[] = {0.0,0.0,0.0}; //направление лампы
|
||||
|
||||
float mat_specular[] = {0.3, 0.3, 0.3, 1.0}; //Цвет блика
|
||||
float mat_shininess = 3.0; //Размер блика (обратная пропорция)
|
||||
float white_light[] = {1.0, 1.0, 1.0, 1.0}; //Цвет и интенсивность освещения, генерируемого источником
|
||||
float lmodel_ambient[] = {0.3, 0.3, 0.3, 1.0}; //Параметры фонового освещения
|
||||
|
||||
void SetLight()
|
||||
{
|
||||
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
|
||||
glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, light_dir);
|
||||
|
||||
glLightfv(GL_LIGHT0, GL_DIFFUSE, white_light);
|
||||
glLightfv(GL_LIGHT0, GL_SPECULAR, white_light);
|
||||
|
||||
glEnable(GL_COLOR_MATERIAL);
|
||||
glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);
|
||||
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
|
||||
glMaterialf(GL_FRONT, GL_SHININESS, mat_shininess);
|
||||
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
|
||||
|
||||
glEnable(GL_LIGHTING);
|
||||
glEnable(GL_LIGHT0);
|
||||
}
|
||||
|
||||
long list_get_id(char* name)
|
||||
{
|
||||
long i;
|
||||
long n = strchr(name, '\'')-name;
|
||||
if(n) name[n] = 0;
|
||||
for(i=0;i<b_count;i++){
|
||||
if(!strcmp(name,b_list[i].name)) return b_list[i].id_l;
|
||||
}
|
||||
return b_list[0].id_l; //not found
|
||||
}
|
||||
|
||||
long color_get_id(char* name)
|
||||
{
|
||||
long i;
|
||||
char* buf;
|
||||
for(i=0;i<c_count;i++){
|
||||
buf = strchr(c_list[i].name, '=');
|
||||
if(buf){
|
||||
buf[0]=0;
|
||||
while(buf>c_list[i].name && buf[-1]==' '){
|
||||
buf--; buf[0]=0;
|
||||
};
|
||||
}
|
||||
while(name[0]==' '){
|
||||
name++;
|
||||
};
|
||||
if(!strcmp(name,c_list[i].name)) return i;
|
||||
}
|
||||
return -1; //not found
|
||||
}
|
||||
|
||||
void draw_3d()
|
||||
{
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //очистим буфер цвета и глубины
|
||||
glPushMatrix();
|
||||
|
||||
if(b_list){
|
||||
SetLight();
|
||||
glTranslatef(0.0,0.0,0.5);
|
||||
glScalef(scale_o*rat_h,-scale_o,scale_o/4.0); // z/2.0
|
||||
glTranslatef(0.0, trans_z, 0.0);
|
||||
glRotatef(angle_x,1.0,0.0,0.0);
|
||||
glRotatef(angle_y,0.0,1.0,0.0);
|
||||
glRotatef(angle_z,0.0,0.0,1.0);
|
||||
|
||||
long i;
|
||||
if(model_list){
|
||||
unsigned long pu_cou=0, pu_lvl=0;
|
||||
for(i=0;i<m_count;i++){
|
||||
while(model_list[i].level<=pu_lvl && pu_cou){
|
||||
pu_cou--;
|
||||
pu_lvl--;
|
||||
glPopMatrix();
|
||||
};
|
||||
pu_lvl=model_list[i].level;
|
||||
pu_cou++;
|
||||
glPushMatrix();
|
||||
glTranslatef(model_list[i].x, model_list[i].y, model_list[i].z);
|
||||
glRotatef(model_list[i].r_x, 1.0,0.0,0.0);
|
||||
glRotatef(model_list[i].r_y, 0.0,1.0,0.0);
|
||||
glRotatef(model_list[i].r_z, 0.0,0.0,1.0);
|
||||
glColor3ub((model_list[i].color>>16)&255,
|
||||
(model_list[i].color>> 8)&255,
|
||||
model_list[i].color&255);
|
||||
glCallList(model_list[i].id_l);
|
||||
}
|
||||
while(pu_cou){
|
||||
pu_cou--;
|
||||
glPopMatrix();
|
||||
};
|
||||
}
|
||||
else{
|
||||
glColor3f(1.0, 1.0, 0.0);
|
||||
glCallList(b_list[0].id_l);
|
||||
}
|
||||
}
|
||||
|
||||
glPopMatrix();
|
||||
}
|
||||
|
||||
void compile_list(BlockList *list){
|
||||
long int i;
|
||||
list->id_l = glGenLists(1);
|
||||
if(list->id_l<1) return; //not found
|
||||
glNewList(list->id_l, GL_COMPILE);
|
||||
glBegin(GL_TRIANGLES);
|
||||
for(i=0;i<list->p_cou;i++){
|
||||
glNormal3fv((float*)(list->norm_d+i*3));
|
||||
glVertex3fv((float*)(list->vert_d+i*3));
|
||||
}
|
||||
glEnd();
|
||||
glEndList();
|
||||
}
|
||||
|
||||
bool init_block(){
|
||||
FileInfoBlock* file;
|
||||
unsigned long int k;
|
||||
|
||||
file = FileOpen("block.bin");
|
||||
if (!file){
|
||||
//SetWindowCaption("Error open file 'block.bin'");
|
||||
return false;
|
||||
}
|
||||
k = FileGetLength(file);
|
||||
if (k > 0){
|
||||
if(b_data) delete b_data;
|
||||
b_data = new unsigned char[k];
|
||||
|
||||
if (b_data){
|
||||
if(FileRead(file, b_data, k) != k){
|
||||
delete b_data; b_data = 0;
|
||||
}
|
||||
else if((long&)b_data[0]==0x4b43504b){ //"KPCK"
|
||||
k = (long&)b_data[4];
|
||||
f_data = new unsigned char[k];
|
||||
unpack(b_data, f_data);
|
||||
delete b_data;
|
||||
b_data = f_data;
|
||||
f_data = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
FileClose(file);
|
||||
|
||||
if (b_data){
|
||||
unsigned long i=0, n=0;
|
||||
b_count=0;
|
||||
while((long&)b_data[i] && i<k){
|
||||
while(b_data[i]){ i++; };
|
||||
i = (i|3)+1;
|
||||
i += 4+((long&)b_data[i])*24;
|
||||
b_count++;
|
||||
};
|
||||
b_list = new BlockList[b_count];
|
||||
i=0;
|
||||
while((long&)b_data[i] && i<k){
|
||||
b_list[n].name = (unsigned char*)(b_data+i);
|
||||
while(b_data[i]){ i++; };
|
||||
i = (i|3)+1;
|
||||
b_list[n].p_cou = (long&)b_data[i];
|
||||
i += 4;
|
||||
b_list[n].vert_d = (float*)(b_data+i);
|
||||
i += b_list[n].p_cou*12;
|
||||
b_list[n].norm_d = (float*)(b_data+i);
|
||||
i += b_list[n].p_cou*12;
|
||||
compile_list(&b_list[n]);
|
||||
n++;
|
||||
};
|
||||
}
|
||||
return (bool)b_data;
|
||||
}
|
||||
|
||||
bool init_model()
|
||||
{
|
||||
long i, n;
|
||||
char *ft = strstr(f_data, "const");
|
||||
char *fe; //end ']'
|
||||
char *fp; //perv ','
|
||||
|
||||
c_count=0;
|
||||
while(ft && c_count<C_COUNT_MAX){
|
||||
fp = ft+5;
|
||||
while(fp[0]==' ') fp++;
|
||||
c_list[c_count].name = fp;
|
||||
ft = strchr(ft, '=')+1;
|
||||
fe = strchr(ft, ';');
|
||||
fe[0] = 0;
|
||||
c_list[c_count].color = StrToInt(ft);
|
||||
fe[0] = ';';
|
||||
c_count++;
|
||||
ft = strstr(ft, "const");
|
||||
}
|
||||
|
||||
float mz_min=0.0, mz_max=0.0;
|
||||
ft = strstr(f_data, "model_list");
|
||||
if(ft==0) return false;
|
||||
|
||||
m_count=0;
|
||||
fe=strchr(ft, ';');
|
||||
if(fe==0) return false;
|
||||
do{
|
||||
ft=strchr(ft, '[');
|
||||
ft=strchr(ft, ']');
|
||||
if(ft && ft<fe) m_count++;
|
||||
}while(ft && ft<fe);
|
||||
|
||||
if(model_list) delete model_list;
|
||||
model_list = new ModelList[m_count];
|
||||
|
||||
ft = strstr(f_data, "model_list");
|
||||
ft=strchr(ft, '[')+1;
|
||||
for(i=0;i<m_count;i++){
|
||||
ft=strchr(ft, '[')+1;
|
||||
fe=strchr(ft, ']')+1;
|
||||
ft=strchr(ft, '\'')+1;
|
||||
model_list[i].name = ft;
|
||||
ft=strchr(ft, ',')+1; //color
|
||||
|
||||
fp=ft;
|
||||
ft=strchr(ft, ',')+1;
|
||||
ft[-1]=0;
|
||||
n=color_get_id(fp);
|
||||
if(n>-1){
|
||||
model_list[i].color=c_list[n].color;
|
||||
}
|
||||
else{
|
||||
model_list[i].color=StrToInt(fp);
|
||||
}
|
||||
|
||||
fp=ft;
|
||||
ft=strchr(ft, ',')+1;
|
||||
ft[-1]=0;
|
||||
model_list[i].t_cr=StrToInt(fp);
|
||||
|
||||
fp=ft;
|
||||
ft=strchr(ft, ',')+1;
|
||||
ft[-1]=0;
|
||||
model_list[i].x=StrToDouble(fp);
|
||||
|
||||
fp=ft;
|
||||
ft=strchr(ft, ',')+1;
|
||||
ft[-1]=0;
|
||||
model_list[i].y=StrToDouble(fp);
|
||||
|
||||
fp=ft;
|
||||
ft=strchr(ft, ',')+1;
|
||||
ft[-1]=0;
|
||||
model_list[i].z=StrToDouble(fp);
|
||||
|
||||
fp=ft;
|
||||
ft=strchr(ft, ',')+1;
|
||||
ft[-1]=0;
|
||||
model_list[i].r_x=StrToDouble(fp);
|
||||
|
||||
fp=ft;
|
||||
ft=strchr(ft, ',')+1;
|
||||
ft[-1]=0;
|
||||
model_list[i].r_y=StrToDouble(fp);
|
||||
|
||||
fp=ft;
|
||||
ft=strchr(ft, ',')+1;
|
||||
if(!ft || fe<ft){
|
||||
ft=fe;
|
||||
model_list[i].level=0;
|
||||
if(mz_min>model_list[i].z) mz_min=model_list[i].z;
|
||||
if(mz_max<model_list[i].z) mz_max=model_list[i].z;
|
||||
}
|
||||
ft[-1]=0;
|
||||
model_list[i].r_z=StrToDouble(fp);
|
||||
if(ft!=fe){
|
||||
fp=ft;
|
||||
ft=fe;
|
||||
ft[-1]=0;
|
||||
model_list[i].level=StrToInt(fp);
|
||||
}
|
||||
model_list[i].id_l = list_get_id(model_list[i].name);
|
||||
}
|
||||
trans_z = (mz_max-mz_min)/2.0;
|
||||
scale_o = .5/trans_z;
|
||||
angle_x = 135.0;
|
||||
angle_z = -45.0;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void KolibriOnPaint(void);
|
||||
|
||||
void __stdcall DrawWindow()
|
||||
{
|
||||
asm{
|
||||
push ebx
|
||||
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
||||
}
|
||||
KolibriOnPaint();
|
||||
asm{
|
||||
mcall SF_REDRAW,SSF_END_DRAW
|
||||
pop ebx
|
||||
}
|
||||
}
|
||||
|
||||
bool KolibriOnStart(TStartData &kos_start, TThreadData /*th*/)
|
||||
{
|
||||
kos_start.Left = 10;
|
||||
kos_start.Top = 40;
|
||||
kos_start.Width = 640;
|
||||
kos_start.Height = 480;
|
||||
kos_start.WinData.WindowColor = 0xFFFFFF;
|
||||
kos_start.WinData.WindowType = 0x33; // 0x34 - fixed, 0x33 - not fixed
|
||||
kos_start.WinData.Title = header;
|
||||
|
||||
if(LoadLibrary("proc_lib.obj", library_path, "/sys/lib/proc_lib.obj", &import_proc_lib))
|
||||
{
|
||||
ofd.procinfo = procinfo;
|
||||
ofd.com_area_name = "FFFFFFFF_open_dialog";
|
||||
ofd.com_area = 0;
|
||||
ofd.opendir_path = plugin_path;
|
||||
ofd.dir_default_path = "/rd/1";
|
||||
ofd.start_path = "/rd/1/File managers/opendial";
|
||||
ofd.draw_window = DrawWindow;
|
||||
ofd.status = 0;
|
||||
ofd.openfile_path = openfile_path;
|
||||
ofd.filename_area = filename_area;
|
||||
ofd.filter_area = &filter1;
|
||||
ofd.x_size = 420;
|
||||
ofd.x_start = 10;
|
||||
ofd.y_size = 320;
|
||||
ofd.y_start = 10;
|
||||
OpenDialog_Init(&ofd);
|
||||
} else return false;
|
||||
if(LoadLibrary("tinygl.obj", library_path, "/sys/lib/tinygl.obj", &import_tinygl))
|
||||
{
|
||||
kosglMakeCurrent(0,0,kos_start.Width,kos_start.Height,&ctx1);
|
||||
rat_h = kos_start.Height;
|
||||
rat_h /= kos_start.Width;
|
||||
angle_dwm = kos_start.Width/180.0;
|
||||
angle_dhm = kos_start.Height/180.0;
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
glClearColor(0.2,0.2,0.2,0.0);
|
||||
glEnable(GL_NORMALIZE);
|
||||
//draw_3d();
|
||||
return init_block();
|
||||
} else return false;
|
||||
}
|
||||
|
||||
void KolibriOnPaint(void)
|
||||
{
|
||||
kosglSwapBuffers();
|
||||
|
||||
// If button have ID 1, this is close button
|
||||
DrawButton(2,0xf0f0f0, 10,10,50,20);
|
||||
DrawText(20,16,0,"Open");
|
||||
}
|
||||
|
||||
void KolibriOnButton(long id, TThreadData /*th*/)
|
||||
{
|
||||
FileInfoBlock* file;
|
||||
unsigned long int k;
|
||||
|
||||
switch(id){
|
||||
case 2:
|
||||
ofd.type = 0; // 0 - open
|
||||
OpenDialog_Start(&ofd);
|
||||
if(ofd.status==1){
|
||||
file = FileOpen(ofd.openfile_path);
|
||||
if (!file){
|
||||
SetWindowCaption("Error open file ...");
|
||||
break;
|
||||
}
|
||||
k = FileGetLength(file);
|
||||
if (k > 0){
|
||||
if(f_data) delete f_data;
|
||||
f_data = new unsigned char[k];
|
||||
if (f_data){
|
||||
if (FileRead(file, f_data, k) != k){
|
||||
delete f_data; f_data = 0;
|
||||
}
|
||||
else{
|
||||
init_model();
|
||||
draw_3d();
|
||||
SetWindowCaption(ofd.openfile_path);
|
||||
Redraw(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
FileClose(file);
|
||||
}
|
||||
//break;
|
||||
};
|
||||
}
|
||||
|
||||
void KolibriOnKeyPress(TThreadData /*th*/)
|
||||
{
|
||||
long key = GetKey();
|
||||
switch(key){
|
||||
case 178: //Up
|
||||
angle_x+=delt_size;
|
||||
draw_3d();
|
||||
kosglSwapBuffers();
|
||||
break;
|
||||
case 177: //Down
|
||||
angle_x-=delt_size;
|
||||
draw_3d();
|
||||
kosglSwapBuffers();
|
||||
break;
|
||||
case 176: //Left
|
||||
angle_z+=delt_size;
|
||||
draw_3d();
|
||||
kosglSwapBuffers();
|
||||
break;
|
||||
case 179: //Right
|
||||
angle_z-=delt_size;
|
||||
draw_3d();
|
||||
kosglSwapBuffers();
|
||||
//break;
|
||||
};
|
||||
}
|
||||
|
||||
void KolibriOnMouse(TThreadData /*th*/)
|
||||
{
|
||||
int m = GetMouseButton();
|
||||
short m_x_old, m_y_old;
|
||||
|
||||
if(m&1 && mouse_drag){
|
||||
//mouse l. but. move
|
||||
m_x_old = mouse_x;
|
||||
m_y_old = mouse_y;
|
||||
GetMousePosPicture(mouse_x, mouse_y);
|
||||
|
||||
//если курсор движется по оси y (вверх или вниз) то поворот делаем вокруг оси x
|
||||
angle_x -= (m_y_old - mouse_y) / angle_dwm;
|
||||
|
||||
//если курсор движется по оси x (влево или вправо) то поворот делаем вокруг оси z
|
||||
angle_z -= (m_x_old - mouse_x) / angle_dhm;
|
||||
|
||||
draw_3d();
|
||||
kosglSwapBuffers();
|
||||
}
|
||||
if(m&0x10000){
|
||||
//mouse l. but. up
|
||||
mouse_drag=false;
|
||||
}
|
||||
if(m&0x100){
|
||||
//mouse l. but. press
|
||||
GetMousePosPicture(mouse_x, mouse_y);
|
||||
if(mouse_x>0 && mouse_y>0) mouse_drag=true;
|
||||
}
|
||||
|
||||
GetMouseScrollData(m_x_old, m_y_old);
|
||||
if(m_y_old<0 && scale_o<0.5){
|
||||
scale_o *= 1.414213562;
|
||||
draw_3d();
|
||||
kosglSwapBuffers();
|
||||
}
|
||||
else if(m_y_old>0 && scale_o>0.005){
|
||||
scale_o /= 1.414213562;
|
||||
draw_3d();
|
||||
kosglSwapBuffers();
|
||||
}
|
||||
}
|
||||
|
||||
void KolibriOnSize(int window_rect[], TThreadData /*th*/)
|
||||
{
|
||||
unsigned short int width, height;
|
||||
GetClientSize(width, height);
|
||||
if(!width || !height) return;
|
||||
if(width<100) width=100;
|
||||
if(height<80) height=80;
|
||||
rat_h = (float)height / (float)width;
|
||||
angle_dwm = (float)width/180.0;
|
||||
angle_dhm = (float)height/180.0;
|
||||
glViewport(0, 0, width, height);
|
||||
draw_3d();
|
||||
}
|
||||
|
||||
bool KolibriOnClose(TThreadData /*th*/)
|
||||
{
|
||||
if(b_data){
|
||||
delete b_data;
|
||||
delete b_list;
|
||||
}
|
||||
if(f_data) delete f_data;
|
||||
if(model_list) delete model_list;
|
||||
return true;
|
||||
}
|
19
programs/bcc32/games/blocks/blocks_cpp.bat
Normal file
19
programs/bcc32/games/blocks/blocks_cpp.bat
Normal file
@ -0,0 +1,19 @@
|
||||
Set NAME=blocks
|
||||
Set BCC_DIR=..\..\..\bcc32
|
||||
kos32-bcc -S -v- -R- -6 -a4 -O2 -Og -Oi -Ov -OS -k- -D__KOLIBRI__ -I..\..\..\bcc32\include %NAME%.cpp
|
||||
|
||||
echo STACKSIZE equ 8192> kos_make.inc
|
||||
echo HEAPSIZE equ 0>> kos_make.inc
|
||||
echo include "%BCC_DIR%\include\kos_start.inc">> kos_make.inc
|
||||
echo include "%BCC_DIR%\include\kos_func.inc">> kos_make.inc
|
||||
echo include "%BCC_DIR%\include\kos_heap.inc">> kos_make.inc
|
||||
|
||||
echo include "kos_make.inc" > f_%NAME%.asm
|
||||
t2fasm < %NAME%.asm >> f_%NAME%.asm
|
||||
fasm f_%NAME%.asm %NAME%.kex
|
||||
if exist %NAME%.kex kpack %NAME%.kex
|
||||
if exist %NAME%.kex del kos_make.inc
|
||||
|
||||
@fasm.exe -m 65636 block.asm block.bin
|
||||
@kpack block.bin
|
||||
pause
|
110
programs/bcc32/games/blocks/model_a10_owl.js
Normal file
110
programs/bcc32/games/blocks/model_a10_owl.js
Normal file
@ -0,0 +1,110 @@
|
||||
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
||||
|
||||
const m1 = 0x080808; //черный
|
||||
const m2 = 0xc0c0c0; //серый
|
||||
const m3 = 0xffffff; //белый
|
||||
const m4 = 0xc97e3b; //коричневый
|
||||
|
||||
model_list=[
|
||||
|
||||
['b2x8x1', m4, 0, 8, -4, 18, 0,0,90],
|
||||
['b1x2x1', m1, 0, 8,-12, 18, 0,0,0],
|
||||
['b1x2x1', m1, 0, -8,-12, 18, 0,0,0],
|
||||
['b2x3x1', m3, 0, 4, 4, 18, 0,0,90],
|
||||
['b2x3x1', m3, 0, 4, 12, 18, 0,0,90],
|
||||
['b2x4x1', m3, 1, 4, -8, 21, 0,0,0],
|
||||
['b1x4x1', m3, 1, 0,-12, 21, 0,0,0],
|
||||
['b2x4x1', m3, 1, -8, -8, 21, 0,0,0],
|
||||
['b2x4x1', m3, 1, 0, 8, 21, 0,0,90],
|
||||
['b2x3x1', m3, 1, 12, 8, 21, 0,0,90],
|
||||
['b2x3x1', m3, 1, 4, 16, 21, 0,0,90],
|
||||
['b2x3x1', m3, 2, 8, -8, 24, 0,0,0],
|
||||
['b1x4x1', m3, 2, 4,-12, 24, 0,0,0],
|
||||
['b1x4x1', m2, 2, 0,-12, 24, 0,0,0],
|
||||
['b1x4x1', m3, 2, -4,-12, 24, 0,0,0],
|
||||
['b2x3x1', m3, 2,-12, -8, 24, 0,0,0],
|
||||
['b2x4x1', m3, 2, -4, 4, 24, 0,0,90],
|
||||
['b2x3x1', m3, 2, 0, 12, 24, 0,0,90],
|
||||
['b2x2x1', m3, 2, 8, 12, 24, 0,0,90],
|
||||
['b2x4x1', m3, 2, 16, 4, 24, 0,0,90],
|
||||
['l2x2x1', m3, 3, 8, -8, 27, 0,0,-90],
|
||||
['b1x4x1', m2, 3, 4,-12, 27, 0,0,0],
|
||||
['b1x4x1', m3, 3, 0,-12, 27, 0,0,0],
|
||||
['b1x4x1', m2, 3, -4,-12, 27, 0,0,0],
|
||||
['l2x2x1', m3, 3, -8, -8, 27, 0,0,180],
|
||||
['l2x2x1', m3, 3,-12, 0, 27, 0,0,180],
|
||||
['b2x4x1', m3, 3, -4, 4, 27, 0,0,90],
|
||||
['b2x3x1', m3, 3, -4, 12, 27, 0,0,90],
|
||||
['b2x4x1', m3, 3, 12, 12, 27, 0,0,90],
|
||||
['b2x4x1', m3, 3, 16, 4, 27, 0,0,90],
|
||||
['l2x2x1', m3, 3, 12, 0, 27, 0,0,-90],
|
||||
['b1x4x1', m2, 4, 0,-12, 30, 0,0,0],
|
||||
['b1x4x1', m3, 4, -4,-12, 30, 0,0,0],
|
||||
['b1x4x1', m2, 4, -8,-12, 30, 0,0,0],
|
||||
['b1x2x1', m3, 4,-12,-12, 30, 0,0,0],
|
||||
['b2x4x1', m3, 4,-16, -4, 30, 0,0,0],
|
||||
['l2x2x1', m3, 4, -8, 12, 30, 0,0,90],
|
||||
['b2x3x1', m3, 4, 4, 12, 30, 0,0,90],
|
||||
['l2x2x1', m3, 4, 8, 12, 30, 0,0,0],
|
||||
['b2x4x1', m3, 4, 12, -4, 30, 0,0,0],
|
||||
['b1x2x1', m3, 4, 12,-12, 30, 0,0,0],
|
||||
['b1x4x1', m2, 4, 8,-12, 30, 0,0,0],
|
||||
['b1x4x1', m3, 4, 4,-12, 30, 0,0,0],
|
||||
['b2x4x1', m3, 5, 0,-12, 33, 0,0,90],
|
||||
['b2x3x1', m3, 5,-16, -4, 33, 0,0,0],
|
||||
['l2x2x1', m3, 5, -8, 8, 33, 0,0,90],
|
||||
['b2x3x1', m3, 5, 4, 12, 33, 0,0,90],
|
||||
['l2x2x1', m3, 5, 8, 8, 33, 0,0,0],
|
||||
['b2x3x1', m3, 5, 12, -4, 33, 0,0,0],
|
||||
['b2x3x1', m3, 5, 12,-12, 33, 0,0,90],
|
||||
['b2x2x1', m3, 6, -4, -8, 36, 0,0,90],
|
||||
['b1x3x1', m3, 6,-12, -4, 36, 0,0,0],
|
||||
['b2x2x1', m3, 6, -4, 8, 36, 0,0,90],
|
||||
['b2x3x1', m3, 6, 8, 8, 36, 0,0,90],
|
||||
['b1x3x1', m3, 6, 12, -4, 36, 0,0,0],
|
||||
['b2x3x1', m3, 6, 8, -8, 36, 0,0,90],
|
||||
['b2x3x1', m3, 7, -4, -8, 39, 0,0,90],
|
||||
['b2x4x1', m3, 7, 0, 0, 39, 0,0,90],
|
||||
['l2x2x1', m3, 7, -8, 8, 39, 0,0,90],
|
||||
['b2x3x1', m3, 7, 4, 8, 39, 0,0,90],
|
||||
['l2x2x1', m3, 7, 8, 8, 39, 0,0,0],
|
||||
['b2x3x1', m3, 7, 12, 0, 39, 0,0,90],
|
||||
['b2x4x1', m3, 7, 12, -8, 39, 0,0,90],
|
||||
['b1x3x1', m1, 8, 0,-16, 42, 0,0,0],
|
||||
['l2x2x1', m3, 8, -4, -8, 42, 0,0,-180],
|
||||
['l2x2x1', m3, 8,-12, -4, 42, 0,0,-180],
|
||||
['b2x4x1', m3, 8, -4, 0, 42, 0,0,90],
|
||||
['b1x2x1', m3, 8, -8, 8, 42, 0,0,90],
|
||||
['b2x3x1', m3, 8, 4, 8, 42, 0,0,90],
|
||||
['b1x2x1', m3, 8, 12, 8, 42, 0,0,90],
|
||||
['b2x4x1', m3, 8, 16, 0, 42, 0,0,90],
|
||||
['l2x2x1', m3, 8, 12, -4, 42, 0,0,-90],
|
||||
['l2x2x1', m3, 8, 4, -8, 42, 0,0,-90],
|
||||
['b1x3x1', m1, 9, 0,-16, 45, 0,0,0],
|
||||
['b1x3x1', m3, 9, -4, -8, 45, 0,0,0],
|
||||
['b1x3x1', m1, 9, -8, -8, 45, 0,0,0],
|
||||
['b2x2x1', m3, 9,-16, -4, 45, 0,0,0],
|
||||
['l2x2x1', m3, 9, -8, 4, 45, 0,0,90],
|
||||
['b2x3x1', m3, 9, 4, 4, 45, 0,0,90],
|
||||
['l2x2x1', m3, 9, 8, 4, 45, 0,0,0],
|
||||
['b2x2x1', m3, 9, 12, -4, 45, 0,0,0],
|
||||
['b1x3x1', m1, 9, 8, -8, 45, 0,0,0],
|
||||
['b1x3x1', m3, 9, 4, -8, 45, 0,0,0],
|
||||
['b2x3x1', m3, 10, 4,-12, 48, 0,0,90],
|
||||
['b2x4x1', m3, 10,-12, -8, 48, 0,0,0],
|
||||
['l2x2x1', m3, 10, -4, 8, 48, 0,0,180],
|
||||
['b1x3x1', m3, 10, 0, 8, 48, 0,0,180],
|
||||
['l2x2x1', m3, 10, 4, 8, 48, 0,0,-90],
|
||||
['b2x4x1', m3, 10, 8, -8, 48, 0,0,0],
|
||||
['b2x3x1', m3, 11, 4, -4, 51, 0,0,0],
|
||||
['b1x3x1', m3, 11, 0, -4, 51, 0,0,0],
|
||||
['b2x3x1', m3, 11, -8, -4, 51, 0,0,0],
|
||||
['b1x3x1', m3, 11, 4, -8, 51, 0,0,90],
|
||||
['b10x10x1', m1, 12,-20,-20, 0, 0,0,0],
|
||||
['b2x2x1', m4, 13, 12, -4, 3, 0,0,90],
|
||||
['b2x2x1', m4, 14, 12, -4, 6, 0,0,90],
|
||||
['b2x2x1', m4, 15, 12, -4, 9, 0,0,90],
|
||||
['b2x2x1', m4, 16, 12, -4, 12, 0,0,90],
|
||||
['b2x8x1', m4, 17, 20, -4, 15, 0,0,90],
|
||||
|
||||
];
|
103
programs/bcc32/games/blocks/model_a3_panda.js
Normal file
103
programs/bcc32/games/blocks/model_a3_panda.js
Normal file
@ -0,0 +1,103 @@
|
||||
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
||||
|
||||
const m1 = 0x008000;
|
||||
const m2 = 0xffffff;
|
||||
const m3 = 0x080808;
|
||||
const m4 = 0x00ff00;
|
||||
|
||||
model_list=[
|
||||
['b10x10x1', m1, 0,-20, -20, 0, 0,0,0],
|
||||
['b2x3x1', m2, 1, -4, -4, 3, 0,0,90],
|
||||
['b2x3x1', m2, 1, 8, -4, 3, 0,0,90],
|
||||
['b2x4x1', m2, 1, 4, 12, 3, 0,0,90],
|
||||
['b2x4x1', m3, 1,-20, -12, 3, 0,0,0],
|
||||
['b2x4x1', m3, 1, 12, -12, 3, 0,0,0],
|
||||
['b2x8x1', m3, 1, 12, 4, 3, 0,0,90],
|
||||
['b2x4x1', m3, 2,-20, -12, 6, 0,0,0],
|
||||
['b2x4x1', m3, 2, 12, -12, 6, 0,0,0],
|
||||
['b2x4x1', m2, 2, 4, -8, 6, 0,0,90],
|
||||
['b2x3x1', m2, 2,-12, 8, 6, 0,0,0],
|
||||
['b2x4x1', m2, 2, -4, 8, 6, 0,0,0],
|
||||
['b2x3x1', m2, 2, 4, 8, 6, 0,0,0],
|
||||
['b1x2x1', m3, 2, 12, 4, 6, 0,0,0],
|
||||
['b1x2x1', m3, 2,-16, 4, 6, 0,0,0],
|
||||
['l2x2x1', m2, 2,-12, 0, 6, 0,0,-90],
|
||||
['l2x2x1', m2, 2, 8, 0, 6, 0,0,180],
|
||||
['b2x2x1', m2, 3, 4, -8, 9, 0,0,0],
|
||||
['b2x4x1', m2, 3, 0, -8, 9, 0,0,90],
|
||||
['b2x4x1', m2, 3, 8, 0, 9, 0,0,0],
|
||||
['b2x4x1', m2, 3,-16, 0, 9, 0,0,0],
|
||||
['b1x3x1', m2, 3, -4, 16, 9, 0,0,90],
|
||||
['b1x3x1', m2, 3, 0, 16, 9, 0,0,-90],
|
||||
['b1x2x1', m2, 3, 0, 20, 9, 0,0,90],
|
||||
['l2x2x1', m2, 4, 8, 12, 12, 0,0,0],
|
||||
['l2x2x1', m2, 4,-12, 12, 12, 0,0,90],
|
||||
['b2x4x1', m2, 4, 4, 12, 12, 0,0,90],
|
||||
['b2x4x1', m2, 4, 4, -8, 12, 0,0,90],
|
||||
['b2x2x1', m2, 4,-16, 4, 12, 0,0,0],
|
||||
['b2x2x1', m2, 4, 8, 4, 12, 0,0,0],
|
||||
['b2x3x1', m3, 4,-16, -8, 12, 0,0,0],
|
||||
['b2x3x1', m3, 4, 8, -8, 12, 0,0,0],
|
||||
['l2x2x1', m2, 5, 8, 8, 15, 0,0,0],
|
||||
['l2x2x1', m2, 5,-12, 8, 15, 0,0,90],
|
||||
['b2x4x1', m2, 5, 4, 12, 15, 0,0,90],
|
||||
['b2x4x1', m2, 5, 4, -4, 15, 0,0,90],
|
||||
['b2x4x1', m3, 5,-16, -8, 15, 0,0,0],
|
||||
['b2x4x1', m3, 5, 8, -8, 15, 0,0,0],
|
||||
['b2x4x1', m2, 6, 4, 12, 18, 0,0,90],
|
||||
['b2x4x1', m2, 6, 4, -4, 18, 0,0,90],
|
||||
['b1x3x1', m3, 6,-12, 4, 18, 0,0,0],
|
||||
['b1x3x1', m3, 6, 8, 4, 18, 0,0,0],
|
||||
['b2x4x1', m3, 7, 4, 8, 21, 0,0,90],
|
||||
['b2x4x1', m2, 7, 4, 0, 21, 0,0,90],
|
||||
['b1x2x1', m3, 7,-12, 8, 21, 0,0,0],
|
||||
['b1x2x1', m3, 7, 8, 8, 21, 0,0,0],
|
||||
['b2x3x1', m2, 8, -4, -8, 24, 0,0,0],
|
||||
['b2x2x1', m2, 8, 4, -4, 24, 0,0,0],
|
||||
['b2x2x1', m2, 8,-12, -4, 24, 0,0,0],
|
||||
['b2x4x1', m2, 8, -4, 4, 24, 0,0,90],
|
||||
['b2x4x1', m2, 8, 12, 4, 24, 0,0,90],
|
||||
['b2x4x1', m2, 8, 4, 12, 24, 0,0,90],
|
||||
['b2x4x1', m2, 9, 4, -8, 27, 0,0,90],
|
||||
['b2x3x1', m2, 9,-16, 4, 27, 0,0,0],
|
||||
['b2x3x1', m2, 9, 8, 4, 27, 0,0,0],
|
||||
['b1x3x1', m2, 9, -4, 16, 27, 0,0,90],
|
||||
['b1x3x1', m2, 9, 8, 16, 27, 0,0,90],
|
||||
['l2x2x1', m2, 9,-12, 0, 27, 0,0,180],
|
||||
['l2x2x1', m2, 9, 8, 0, 27, 0,0,-90],
|
||||
['b1x2x1', m3, 10, 0, -8, 30, 0,0,90],
|
||||
['b1x2x1', m3, 10,-12, -4, 30, 0,0,0],
|
||||
['b1x2x1', m3, 10, 8, -4, 30, 0,0,0],
|
||||
['b1x4x1', m2, 10,-16, 0, 30, 0,0,0],
|
||||
['b1x4x1', m2, 10, 12, 0, 30, 0,0,0],
|
||||
['b2x4x1', m2, 10, 4, -4, 30, 0,0,90],
|
||||
['b2x3x1', m2, 10, -4, 12, 30, 0,0,90],
|
||||
['b2x3x1', m2, 10, 8, 12, 30, 0,0,90],
|
||||
['b1x2x1', m3, 11, -8, -4, 33, 0,0,90],
|
||||
['b1x2x1', m3, 11, 8, -4, 33, 0,0,90],
|
||||
['b2x4x1', m2, 11,-16, 0, 33, 0,0,0],
|
||||
['b2x4x1', m2, 11, 8, 0, 33, 0,0,0],
|
||||
['b2x3x1', m2, 11, -4, -4, 33, 0,0,0],
|
||||
['b2x4x1', m2, 11, 4, 12, 33, 0,0,90],
|
||||
['b2x4x1', m2, 12,-12, 0, 36, 0,0,0],
|
||||
['b2x4x1', m2, 12, -4, 0, 36, 0,0,0],
|
||||
['b2x4x1', m2, 12, 4, 0, 36, 0,0,0],
|
||||
['b2x4x1', m2, 13, 4, 4, 39, 0,0,90],
|
||||
['b1x2x1', m3, 13,-12, 12, 39, 0,0,90],
|
||||
['b1x2x1', m3, 13, 8, 12, 39, 0,0,-90],
|
||||
['b1x2x1', m3, 14,-12, 12, 42, 0,0,90],
|
||||
['b1x2x1', m3, 14, 8, 12, 42, 0,0,-90],
|
||||
['c1x1x1', m4, 15,-12, -16, 3, 0,0,0],
|
||||
['c1x1x1', m4, 15,-12, -16, 6, 0,0,0],
|
||||
['c1x1x1', m4, 15,-12, -16, 9, 0,0,0],
|
||||
['c1x1x1', m4, 15,-12, -16, 12, 0,0,0],
|
||||
['c1x1x1', m4, 15,-12, -16, 15, 0,0,0],
|
||||
['b1x2x1', m4, 15,-12, -16, 18, 0,0,135],
|
||||
['c1x1x1', m4, 15,-12, -16, 21, 0,0,0],
|
||||
['c1x1x1', m4, 16, -8, -20, 3, 0,0,0],
|
||||
['c1x1x1', m4, 16, -8, -20, 6, 0,0,0],
|
||||
['c1x1x1', m4, 16, -8, -20, 9, 0,0,0],
|
||||
['c1x1x1', m4, 16, -8, -20, 12, 0,0,0],
|
||||
['b1x2x1', m4, 16, -8, -20, 15, 0,0,-135],
|
||||
['c1x1x1', m4, 16, -8, -20, 18, 0,0,0],
|
||||
];
|
107
programs/bcc32/games/blocks/model_a4_giraffe.js
Normal file
107
programs/bcc32/games/blocks/model_a4_giraffe.js
Normal file
@ -0,0 +1,107 @@
|
||||
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
||||
|
||||
const m1 = 0x1bff4c; //зеленый
|
||||
const m2 = 0xc97e3b; //коричневый
|
||||
const m3 = 0xffff00; //yellow
|
||||
const m4 = 0x080808; //black
|
||||
|
||||
model_list=[
|
||||
['b2x4x1', m3, 0, 8, 0, 24, 0,0,90],
|
||||
['l2x2x1', m3, 0, 4, 8, 24, 0,0,0],
|
||||
['l2x2x1', m2, 0, 0, 8, 24, 0,0,90],
|
||||
['b1x3x1', m3, 0, -4, 28, 24, 0,0,0],
|
||||
['b1x3x1', m3, 0, 8, 28, 24, 0,0,0],
|
||||
['b1x3x1', m2, 1, -4, 28, 27, 0,0,0],
|
||||
['b1x3x1', m2, 1, 8, 28, 27, 0,0,0],
|
||||
['b1x4x1', m2, 1, 8, 0, 27, 0,0,90],
|
||||
['b1x2x1', m2, 1, -4, 4, 27, 0,0,0],
|
||||
['b2x8x1', m3, 1, 0, 4, 27, 0,0,0],
|
||||
['b1x2x1', m2, 1, 8, 4, 27, 0,0,0],
|
||||
['b2x4x1', m3, 2, 8, 32, 30, 0,0,90],
|
||||
['l2x2x1', m2, 2, -4, 28, 30, 0,0,-90],
|
||||
['l2x2x1', m3, 2, 8, 28, 30, 0,0,180],
|
||||
['b2x4x1', m2, 2, 0, 12, 30, 0,0,0],
|
||||
['b1x4x1', m2, 2, -4, 0, 30, 0,0,0],
|
||||
['b2x4x1', m2, 2, 0, -4, 30, 0,0,0],
|
||||
['b1x4x1', m3, 2, 8, 0, 30, 0,0,0],
|
||||
['b2x4x1', m2, 3, 8, -4, 33, 0,0,90],
|
||||
['b2x8x1', m3, 3, -4, 4, 33, 0,0,0],
|
||||
['b2x8x1', m3, 3, 4, 4, 33, 0,0,0],
|
||||
['b1x1x1', m3, 3, -4, 36, 33, 0,0,0],
|
||||
['f1x2x1', m2, 3, 4, 36, 33, 0,0,90],
|
||||
['b1x1x1', m2, 3, 8, 36, 33, 0,0,90],
|
||||
['b1x2x1', m3, 4, 4, -4, 36, 0,0,90],
|
||||
['b2x4x1', m3, 4, -4, 0, 36, 0,0,0],
|
||||
['b2x4x1', m2, 4, -4, 16, 36, 0,0,0],
|
||||
['b1x4x1', m2, 4, 8, 32, 36, 0,0,90],
|
||||
['b2x8x1', m3, 4, 4, 0, 36, 0,0,0],
|
||||
['b1x3x1', m3, 4, 2, 36, 36, 0,0,0],
|
||||
['b1x2x1', m2, 5, 4, 0, 39, 0,0,90],
|
||||
['b2x4x1', m3, 5, 8, 4, 39, 0,0,90],
|
||||
['b2x4x1', m3, 5, 8, 12, 39, 0,0,90],
|
||||
['b1x2x1', m3, 5, 4, 20, 39, 0,0,90],
|
||||
['b2x4x1', m2, 6, 0, 4, 42, 0,0,0],
|
||||
['b1x2x1', m3, 6, 4, 0, 42, 0,0,90],
|
||||
['b2x4x1', m2, 7, 0, 0, 45, 0,0,0],
|
||||
['b2x3x1', m3, 8, 0, 0, 48, 0,0,0],
|
||||
['b2x2x1', m2, 9, 0, 0, 51, 0,0,0],
|
||||
['b1x2x1', m2, 10, 4, 0, 54, 0,0,90],
|
||||
['b1x2x1', m3, 10, 4, 4, 54, 0,0,90],
|
||||
['b2x3x1', m3, 11, 0, -4, 57, 0,0,0],
|
||||
['b2x3x1', m3, 12, 0, -8, 60, 0,0,0],
|
||||
['b2x3x1', m2, 13, 0, -8, 63, 0,0,0],
|
||||
['b2x4x1', m3, 14, 0,-12, 66, 0,0,0],
|
||||
['b2x2x1', m3, 15, 0,-16, 69, 0,0,0],
|
||||
['b2x4x1', m3, 15, 8, -8, 69, 0,0,90],
|
||||
['b1x2x1', m3, 15, 4, 0, 69, 0,0,90],
|
||||
['b2x2x1', m2, 15, 0,-24, 69, 0,0,0],
|
||||
['b2x4x1', m3, 16, 8, -4, 72, 0,0,90],
|
||||
['b2x4x1', m3, 16, 8,-12, 72, 0,0,90],
|
||||
['l2x2x1', m3, 16, 0,-16, 72, 0,0,-180],
|
||||
['l2x2x1', m3, 16, 4,-16, 72, 0,0,-90],
|
||||
['b2x2x1', m3, 17, 0,-16, 75, 0,0,0],
|
||||
['b2x4x1', m3, 17, 8, -8, 75, 0,0,90],
|
||||
['c1x1x1', m4, 17, -4,-12, 75, 0,0,0],
|
||||
['c1x1x1', m4, 17, 8,-12, 75, 0,0,0],
|
||||
['b2x4x1', m3, 18, 8,-12, 78, 0,0,90],
|
||||
['b1x3x1', m3, 18, 0, -4, 78, 0,0,90],
|
||||
['b1x3x1', m3, 18, 4, -4, 78, 0,0,-90],
|
||||
['c1x1x1', m2, 19, 0, -4, 81, 0,0,0],
|
||||
['c1x1x1', m2, 19, 4, -4, 81, 0,0,0],
|
||||
['c1x1x1', m2, 20, 0, -4, 84, 0,0,0],
|
||||
['c1x1x1', m2, 20, 4, -4, 84, 0,0,0],
|
||||
['b1x2x1', m3, 21, 2, 44, 33, 0,0,0],
|
||||
['b1x1x1', m3, 22, 2, 48, 30, 0,0,0],
|
||||
['c1x1x1', m2, 23, 2, 48, 27, 0,0,0],
|
||||
['c1x1x1', m2, 24, 2, 48, 24, 0,0,0],
|
||||
['b10x10x1', m1, 25,-16, 4, 0, 0,0,0],
|
||||
['c1x1x1', m4, 26, -4, 8, 3, 0,0,0],
|
||||
['c1x1x1', m4, 26, 8, 8, 3, 0,0,0],
|
||||
['c1x1x1', m4, 26, -4, 36, 3, 0,0,0],
|
||||
['c1x1x1', m4, 26, 8, 36, 3, 0,0,0],
|
||||
['b1x1x1', m3, 27, -4, 8, 6, 0,0,0],
|
||||
['b1x1x1', m3, 27, 8, 8, 6, 0,0,0],
|
||||
['b1x1x1', m3, 27, -4, 36, 6, 0,0,0],
|
||||
['b1x1x1', m3, 27, 8, 36, 6, 0,0,0],
|
||||
['b1x1x1', m3, 28, -4, 8, 9, 0,0,0],
|
||||
['b1x1x1', m3, 28, 8, 8, 9, 0,0,0],
|
||||
['b1x1x1', m2, 28, -4, 36, 9, 0,0,0],
|
||||
['b1x1x1', m3, 28, 8, 36, 9, 0,0,0],
|
||||
['b1x1x1', m2, 29, -4, 8, 12, 0,0,0],
|
||||
['b1x1x1', m3, 29, 8, 8, 12, 0,0,0],
|
||||
['b1x1x1', m2, 29, 8, 36, 12, 0,0,0],
|
||||
['b1x1x1', m3, 29, -4, 36, 12, 0,0,0],
|
||||
['b1x1x1', m3, 30, -4, 8, 15, 0,0,0],
|
||||
['b1x1x1', m2, 30, 8, 8, 15, 0,0,0],
|
||||
['b1x1x1', m3, 30, -4, 36, 15, 0,0,0],
|
||||
['b1x1x1', m3, 30, 8, 36, 15, 0,0,0],
|
||||
['b1x1x1', m2, 31, -4, 8, 18, 0,0,0],
|
||||
['b1x1x1', m3, 31, 8, 8, 18, 0,0,0],
|
||||
['b1x2x1', m3, 31, -4, 32, 18, 0,0,0],
|
||||
['b1x2x1', m2, 31, 8, 32, 18, 0,0,0],
|
||||
['b1x2x1', m2, 32, -4, 4, 21, 0,0,0],
|
||||
['b1x2x1', m2, 32, 8, 4, 21, 0,0,0],
|
||||
['b1x2x1', m2, 32, -4, 32, 21, 0,0,0],
|
||||
['b1x2x1', m2, 32, 8, 32, 21, 0,0,0],
|
||||
|
||||
];
|
93
programs/bcc32/games/blocks/model_a7_corgi.js
Normal file
93
programs/bcc32/games/blocks/model_a7_corgi.js
Normal file
@ -0,0 +1,93 @@
|
||||
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
||||
|
||||
const m1 = 0x1bff4c; //зеленый
|
||||
const m2 = 0xffffff; //белый
|
||||
const m3 = 0xc97e3b; //коричневый
|
||||
const m4 = 0xff0000; //красный
|
||||
const m5 = 0xffa0a0; //розовый
|
||||
const m6 = 0x080808; //черный
|
||||
|
||||
model_list=[
|
||||
['b10x10x1', m1, 0,-20, -20, 0, 0,0,0],
|
||||
['b1x2x1', m2, 1,-12,-16, 3, 0,0,0],
|
||||
['b1x2x1', m2, 1, 8,-16, 3, 0,0,0],
|
||||
['b1x2x1', m2, 1,-12, 8, 3, 0,0,0],
|
||||
['b1x2x1', m2, 1, 8, 8, 3, 0,0,0],
|
||||
['b1x1x1', m2, 2,-12,-12, 6, 0,0,0],
|
||||
['b1x1x1', m2, 2, 8,-12, 6, 0,0,0],
|
||||
['b1x3x1', m2, 2,-12, 12, 6, 0,0,0],
|
||||
['b1x3x1', m2, 2, 8, 12, 6, 0,0,0],
|
||||
['b2x8x1', m2, 2, -4,-12, 6, 0,0,0],
|
||||
['b2x3x1', m2, 3, -4,-12, 9, 0,0,90],
|
||||
['b2x3x1', m2, 3, 8,-12, 9, 0,0,90],
|
||||
['b2x4x1', m2, 3, -8, -4, 9, 0,0,0],
|
||||
['b2x4x1', m2, 3, 0, -4, 9, 0,0,0],
|
||||
['b1x3x1', m2, 3, -4, 12, 9, 0,0,90],
|
||||
['b1x3x1', m2, 3, 8, 12, 9, 0,0,90],
|
||||
['b2x3x1', m2, 3, -4, 16, 9, 0,0,90],
|
||||
['b2x3x1', m2, 3, 8, 16, 9, 0,0,90],
|
||||
['b2x8x1', m3, 4,-12,-12, 12, 0,0,0],
|
||||
['b2x8x1', m3, 4, 4,-12, 12, 0,0,0],
|
||||
['b1x3x1', m3, 4, -4, 20, 12, 0,0,90],
|
||||
['b1x3x1', m3, 4, 8, 20, 12, 0,0,90],
|
||||
['b2x4x1', m2, 4, -4,-16, 12, 0,0,0],
|
||||
['b2x4x1', m3, 5, 4,-16, 15, 0,0,90],
|
||||
['b1x4x1', m3, 5,-12,-12, 15, 0,0,0],
|
||||
['b1x1x1', m3, 5,-12, 4, 15, 0,0,0],
|
||||
['b1x4x1', m3, 5,-12, 8, 15, 0,0,0],
|
||||
['b2x8x1', m3, 5, -8, -8, 15, 0,0,0],
|
||||
['b2x8x1', m3, 5, 0, -8, 15, 0,0,0],
|
||||
['b1x4x1', m3, 5, 8, 8, 15, 0,0,0],
|
||||
['b1x1x1', m3, 5, 8, 4, 15, 0,0,0],
|
||||
['b1x4x1', m3, 5, 8,-12, 15, 0,0,0],
|
||||
['b2x4x1', m2, 6, 4,-16, 18, 0,0,90],
|
||||
['b1x4x1', m3, 6,-12,-12, 18, 0,0,0],
|
||||
['b1x4x1', m3, 6, 8,-12, 18, 0,0,0],
|
||||
['b2x4x1', m3, 6, 4, -4, 18, 0,0,90],
|
||||
['b2x3x1', m3, 6, -4, 4, 18, 0,0,90],
|
||||
['b2x3x1', m3, 6, 8, 4, 18, 0,0,90],
|
||||
['b2x3x1', m3, 6, -4, 12, 18, 0,0,90],
|
||||
['b2x3x1', m3, 6, 8, 12, 18, 0,0,90],
|
||||
['b1x4x1', m3, 6, 4, 20, 18, 0,0,90],
|
||||
['b2x2x1', m2, 7, -4,-20, 21, 0,0,0],
|
||||
['b1x1x1', m2, 7, -8,-16, 21, 0,0,0],
|
||||
['b1x1x1', m2, 7, 4,-16, 21, 0,0,0],
|
||||
['b2x4x1', m4, 7, 4,-12, 21, 0,0,90],
|
||||
['b2x3x1', m3, 7, -4, -4, 21, 0,0,90],
|
||||
['b2x3x1', m3, 7, 8, -4, 21, 0,0,90],
|
||||
['b2x4x1', m3, 7, 4, 4, 21, 0,0,90],
|
||||
['b2x4x1', m2, 8, -4,-32, 24, 0,0,0],
|
||||
['b1x2x1', m5, 8, 0,-28, 21, 0,0,90],
|
||||
['b2x4x1', m2, 9, 4, -4, 24, 0,0,90],
|
||||
['b2x4x1', m2, 9, 4,-12, 24, 0,0,90],
|
||||
['l2x2x1', m2, 9, -8,-16, 24, 0,0,-90],
|
||||
['l2x2x1', m2, 9, 4,-16, 24, 0,0,180],
|
||||
['f1x2x1', m6, 10, 0,-32, 27, 0,0,90],
|
||||
['b2x4x1', m2, 10, -4,-28, 27, 0,0,0],
|
||||
['l2x2x1', m3, 10, 4,-16, 27, 0,0,-90],
|
||||
['l2x2x1', m3, 10, -8,-16, 27, 0,0,180],
|
||||
['b1x3x1', m3, 10, -4,-12, 27, 0,0,90],
|
||||
['b1x3x1', m3, 10, 8,-12, 27, 0,0,90],
|
||||
['b2x4x1', m2, 10, 4, -8, 27, 0,0,90],
|
||||
['b1x2x1', m2, 10, 0, 0, 27, 0,0,90],
|
||||
['b2x2x1', m2, 11, -4,-24, 30, 0,0,0],
|
||||
['c1x1x1', m6, 11, -8,-20, 30, 0,0,0],
|
||||
['c1x1x1', m6, 11, 4,-20, 30, 0,0,0],
|
||||
['b2x3x1', m3, 11, -4,-16, 30, 0,0,90],
|
||||
['b2x3x1', m3, 11, 8,-16, 30, 0,0,90],
|
||||
['b2x4x1', m3, 11, 4, -8, 30, 0,0,90],
|
||||
['b2x2x1', m2, 12, -4,-24, 33, 0,0,0],
|
||||
['l2x2x1', m3, 12, -8,-16, 33, 0,0,-90],
|
||||
['l2x2x1', m3, 12, 4,-16, 33, 0,0,-180],
|
||||
['b2x4x1', m3, 12, 4,-12, 33, 0,0,90],
|
||||
['b1x4x1', m3, 12, 4, -4, 33, 0,0,90],
|
||||
['b1x2x1', m2, 13, -4,-16, 36, 0,0,-90],
|
||||
['b2x2x1', m3, 13, -4,-12, 36, 0,0,0],
|
||||
['b1x2x1', m3, 13, -8, -8, 36, 0,0,90],
|
||||
['b1x2x1', m3, 13, 4, -8, 36, 0,0,-90],
|
||||
['b1x2x1', m3, 14, -8, -8, 39, 0,0,90],
|
||||
['b1x2x1', m3, 14, 4, -8, 39, 0,0,-90],
|
||||
['b1x1x1', m3, 15,-12, -8, 42, 0,0,0],
|
||||
['b1x1x1', m3, 15, 8, -8, 42, 0,0,0],
|
||||
|
||||
];
|
132
programs/bcc32/games/blocks/model_b13_excavator.js
Normal file
132
programs/bcc32/games/blocks/model_b13_excavator.js
Normal file
@ -0,0 +1,132 @@
|
||||
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
||||
|
||||
const m1 = 0x080808; //черный
|
||||
const m2 = 0x808080; //серый
|
||||
const m3 = 0xffff00; //желтый
|
||||
const m4 = 0x80ff0000; //прозр. красный
|
||||
const m5 = 0x80a4c2f4; //прозр. голубой
|
||||
|
||||
|
||||
model_list=[
|
||||
['b2x2x1', m1, 0,-16,-16, 0, 0,0,0],
|
||||
['b2x8x1', m1, 0,-16, -8, 0, 0,0,0],
|
||||
['b2x2x1', m1, 1,-16,-20, 3, 0,0,0],
|
||||
['b1x2x1', m2, 1,-16,-12, 3, 0,0,0],
|
||||
['b1x3x1', m2, 1,-12,-12, 3, 0,0,0],
|
||||
['b2x4x1', m2, 1,-12, 0, 3, 0,0,0],
|
||||
['l2x2x1', m2, 1,-16, 16, 3, 0,0,-90],
|
||||
['b2x2x1', m1, 1,-16, 20, 3, 0,0,0],
|
||||
['b2x8x1', m1, 2,-16,-16, 6, 0,0,0],
|
||||
['b2x2x1', m1, 2,-16, 16, 6, 0,0,0],
|
||||
['b2x2x1', m1, 3, 8,-16, 0, 0,0,0],
|
||||
['b2x8x1', m1, 3, 8, -8, 0, 0,0,0],
|
||||
['b2x2x1', m1, 4, 8,-20, 3, 0,0,0],
|
||||
['b1x2x1', m2, 4, 12,-12, 3, 0,0,0],
|
||||
['b1x3x1', m2, 4, 8,-12, 3, 0,0,0],
|
||||
['b2x4x1', m2, 4, 4, 0, 3, 0,0,0],
|
||||
['l2x2x1', m2, 4, 12, 16, 3, 0,0,180],
|
||||
['b2x2x1', m1, 4, 8, 20, 3, 0,0,0],
|
||||
['b2x8x1', m1, 5, 8,-16, 6, 0,0,0],
|
||||
['b2x2x1', m1, 5, 8, 16, 6, 0,0,0],
|
||||
['b2x4x1', m1, 6, -4, 0, 3, 0,0,0],
|
||||
['b2x4x1', m2, 7, 4, 0, 6, 0,0,90],
|
||||
['b2x4x1', m2, 7, 4, 8, 6, 0,0,90],
|
||||
['c1x1x1', m2, 8, -8, 0, 9, 0,0,0],
|
||||
['c1x1x1', m2, 8, -8, 12, 9, 0,0,0],
|
||||
['c1x1x1', m2, 8, 4, 12, 9, 0,0,0],
|
||||
['c1x1x1', m2, 8, 4, 0, 9, 0,0,0],
|
||||
['b2x2x1', m1, 8, -4, 4, 9, 0,0,0],
|
||||
['b1x3x1', m3, 9, 12,-12, 12, 0,0,90],
|
||||
['b2x8x1', m3, 9, 12, -8, 12, 0,0,90],
|
||||
['b2x8x1', m3, 9, 12, 0, 12, 0,0,90],
|
||||
['b2x8x1', m3, 9, 12, 8, 12, 0,0,90],
|
||||
['b2x8x1', m3, 9, 12, 16, 12, 0,0,90],
|
||||
['b1x3x1', m3, 9, 8, 24, 12, 0,0,90],
|
||||
['b1x3x1', m3, 9, -4, 24, 12, 0,0,90],
|
||||
['b2x3x1', m1, 10, 12,-12, 15, 0,0,90],
|
||||
['b1x2x1', m2, 10, 0, -8, 15, 0,0,90],
|
||||
['b1x4x1', m2, 10, -8, -8, 15, 0,0,0],
|
||||
['b2x8x1', m3, 10,-16, -8, 15, 0,0,0],
|
||||
['b2x4x1', m3, 10, 4, 8, 15, 0,0,90],
|
||||
['b2x4x1', m3, 10, 8, -4, 15, 0,0,0],
|
||||
['b2x3x1', m3, 10, 8, 12, 15, 0,0,0],
|
||||
['b2x4x1', m1, 10, 4, 20, 15, 0,0,90],
|
||||
['b1x1x1', m2, 10,-12, 24, 15, 0,0,0],
|
||||
['b1x1x1', m2, 10, 8, 24, 15, 0,0,0],
|
||||
['b1x1x1', m4, 11,-16, -8, 18, 0,0,0],
|
||||
['b1x1x1', m4, 11,-12, 24, 18, 0,0,0],
|
||||
['b1x1x1', m4, 11, 8, 24, 18, 0,0,0],
|
||||
['sf2x2x1', m2, 11, -2, 2, 19.5, 0,0,0],
|
||||
['b1x4x1', m2, 12, -8, -8, 18, 0,0,0],
|
||||
['b2x3x1', m3, 12,-16, 0, 18, 0,0,0],
|
||||
['b2x3x1', m3, 12,-16, 12, 18, 0,0,0],
|
||||
['b2x4x1', m1, 12, 4, 20, 18, 0,0,90],
|
||||
['b2x4x1', m3, 12, 8, 8, 18, 0,0,0],
|
||||
['b2x3x1', m1, 12, 12, 0, 18, 0,0,90],
|
||||
['b2x3x1', m1, 12, 12, -8, 18, 0,0,90],
|
||||
['b1x3x1', m5, 12, 12,-12, 18, 0,0,90],
|
||||
['b2x3x1', m3, 13, -8, 0, 21, 0,0,90],
|
||||
['b1x4x1', m3, 13, -4, 8, 21, 0,0,90],
|
||||
['b1x4x1', m3, 13, 12, 8, 21, 0,0,90],
|
||||
['b2x8x1', m3, 13, 12, 12, 21, 0,0,90],
|
||||
['b2x3x1', m3, 13, -4, 20, 21, 0,0,90],
|
||||
['b2x3x1', m3, 13, 8, 20, 21, 0,0,90],
|
||||
['b2x3x1', m1, 13, 12, 0, 21, 0,0,90],
|
||||
['b2x3x1', m5, 13, 12, -8, 21, 0,0,90],
|
||||
['b1x3x1', m5, 13, 12,-12, 21, 0,0,90],
|
||||
['b1x3x1', m5, 14, 12, 4, 24, 0,0,90],
|
||||
['b1x3x1', m1, 14, 12, 0, 24, 0,0,90],
|
||||
['b2x3x1', m5, 14, 12, -8, 24, 0,0,90],
|
||||
['b1x3x1', m5, 14, 12,-12, 24, 0,0,90],
|
||||
['b1x3x1', m5, 15, 12, 4, 27, 0,0,90],
|
||||
['b1x3x1', m1, 15, 12, 0, 27, 0,0,90],
|
||||
['b2x3x1', m5, 15, 12, -8, 27, 0,0,90],
|
||||
['b1x3x1', m5, 15, 12,-12, 27, 0,0,90],
|
||||
['b2x3x1', m3, 16, 12,-12, 30, 0,0,90],
|
||||
['b2x3x1', m3, 16, 12, -4, 30, 0,0,90],
|
||||
['b1x3x1', m3, 16, 12, 4, 30, 0,0,90],
|
||||
['b2x4x1', m1, 17, 4, 16, 24, 0,0,90],
|
||||
['sm2x2x1', m3, 18, -2, 2, 19.5, -15,0,180],
|
||||
['b2x3x1', m3, 19, -2, 6, 1.5, 0,0,0, 1],
|
||||
['b2x4x1', m3, 20, -2, 2, 4.5, 0,0,0, 1],
|
||||
['b2x3x1', m3, 21, -2, 6, 7.5, 0,0,0, 1],
|
||||
['b2x4x1', m3, 22, -2, 6, 10.5, 0,0,0, 1],
|
||||
['b2x2x1', m3, 23, -2, 6, 13.5, 0,0,0, 1],
|
||||
['b2x4x1', m3, 23, -2, 14, 13.5, 0,0,0, 1],
|
||||
['sf2x2x1', m3, 24, 0, 40, 15, 0,0,-180, 1],
|
||||
['b2x8x1', m3, 25, -2, 6, 16.5, 0,0,0, 1],
|
||||
['b1x2x1', m2, 26, 2, 14, 19.5, 0,0,90, 1],
|
||||
['b1x4x1', m2, 26, 2, 18, 19.5, 0,0,0, 1],
|
||||
['b1x2x1', m2, 26, 2, 34, 19.5, 0,0,90, 1],
|
||||
['sm2x2x1', m3, 27, 0, 40, 15, -17,0,0, 1],
|
||||
['b2x3x1', m3, 28, -2, 6, 1.5, 0,0,0, 2],
|
||||
['b2x2x1', m3, 28, -2, 18, 1.5, 0,0,0, 2],
|
||||
['sm2x2x1', m3, 28, 0, 36, 3, 0,0,-180, 2],
|
||||
['sf2x2x1', m3, 31, 0, 36, 3, 0,0,0, 2],
|
||||
['b2x2x1', m3, 31, -2, 14, -1.5, 0,0,0, 3],
|
||||
['b1x4x1', m3, 31, 6, 6, -1.5, 0,0,0, 3],
|
||||
['b1x4x1', m3, 31, -6, 6, -1.5, 0,0,0, 3],
|
||||
['b2x4x1', m3, 32, 6, 10, 1.5, 0,0,90, 3],
|
||||
['b1x2x1', m2, 32, -2, 6, 1.5, 0,0,-90, 3],
|
||||
['b1x2x1', m2, 33, -6, 10, -4.5, 0,0,0, 3],
|
||||
['b1x2x1', m2, 33, 6, 10, -4.5, 0,0,0, 3],
|
||||
['b1x4x1', m2, 33, 6, 18, -4.5, 0,0,90, 3],
|
||||
['b1x4x1', m3, 33, 6, 6, -4.5, 0,0,90, 3],
|
||||
['l2x2x1', m2, 34, -6, 18, -7.5, 0,0,-90, 3],
|
||||
['l2x2x1', m2, 34, 6, 18, -7.5, 0,0,-180, 3],
|
||||
['b2x8x1', m3, 29, -2, 2, 4.5, 0,0,0, 2],
|
||||
['b2x4x1', m3, 30, -2, -6, 7.5, 0,0,0, 2],
|
||||
['b1x4x1', m2, 30, 2, 10, 7.5, 0,0,0, 2],
|
||||
['l2x2x1', m2, 30, -2, 26, 7.5, 0,0,0, 2],
|
||||
|
||||
];
|
||||
|
||||
//-41,-12,1
|
||||
//-90,-17,1
|
||||
//-90,80,1
|
||||
|
||||
model_animat=[
|
||||
[78,'rotation','x','*1', -0.715584993, -0.20943951, 0.017453293],
|
||||
[90,'rotation','x','*2', -1.570796327, -0.296705973, 0.017453293],
|
||||
[94,'rotation','x','*3', -1.570796327, 1.396263402, 0.017453293],
|
||||
];
|
125
programs/bcc32/games/blocks/model_b15_helicopter.js
Normal file
125
programs/bcc32/games/blocks/model_b15_helicopter.js
Normal file
@ -0,0 +1,125 @@
|
||||
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
||||
|
||||
const m1 = 0xff0000; //red
|
||||
const m2 = 0xffffff; //white
|
||||
const m3 = 0x808080; //gray
|
||||
const m4 = 0xffff00; //yellow
|
||||
const m5 = 0x080808; //black
|
||||
|
||||
model_list=[
|
||||
['b2x3x1', m1, 0, -4,-24, 3, 0,0,-90],
|
||||
['b2x2x1', m2, 0, -8,-20, 3, 0,0,0],
|
||||
['b2x2x1', m2, 0, 4,-20, 3, 0,0,0],
|
||||
['b2x4x1', m1, 0, -8,-12, 3, 0,0,0],
|
||||
['b2x4x1', m1, 0, 4,-12, 3, 0,0,0],
|
||||
['b1x2x1', m1, 0, -8, 4, 3, 0,0,90],
|
||||
['b1x2x1', m1, 0, 12, 4, 3, 0,0,90],
|
||||
['b1x3x1', m1, 0, -8, 8, 3, 0,0,0],
|
||||
['b1x3x1', m1, 0, 8, 8, 3, 0,0,0],
|
||||
['b1x3x1', m3, 0,-12, 8, 3, 0,0,0],
|
||||
['b1x3x1', m3, 0, 12, 8, 3, 0,0,0],
|
||||
['b2x4x1', m1, 1,-12, 4, 6, 0,0,0],
|
||||
['b2x4x1', m1, 1, 8, 4, 6, 0,0,0],
|
||||
['b1x4x1', m1, 1, 0,-36, 6, 0,0,0],
|
||||
['b1x4x1', m1, 1, -4,-32, 6, 0,0,0],
|
||||
['b1x4x1', m1, 1, 4,-32, 6, 0,0,0],
|
||||
['b1x4x1', m1, 1, -8,-24, 6, 0,0,0],
|
||||
['b1x4x1', m1, 1, 8,-24, 6, 0,0,0],
|
||||
['b2x3x1', m1, 1, -8, -8, 6, 0,0,0],
|
||||
['b2x3x1', m1, 1, 4, -8, 6, 0,0,0],
|
||||
['b1x1x1', m4, 1, -8,-28, 6, 0,0,0],
|
||||
['b1x1x1', m4, 1, 8,-28, 6, 0,0,0],
|
||||
['b2x3x1', m1, 2, 4,-36, 9, 0,0,90],
|
||||
['b2x3x1', m1, 2, -8,-28, 9, 0,0,0],
|
||||
['b2x3x1', m1, 2, 4,-28, 9, 0,0,0],
|
||||
['b1x4x1', m2, 2, -8,-16, 9, 0,0,0],
|
||||
['b1x4x1', m2, 2, 8,-16, 9, 0,0,0],
|
||||
['b1x4x1', m2, 2, -8, 0, 9, 0,0,0],
|
||||
['b1x4x1', m2, 2, 8, 0, 9, 0,0,0],
|
||||
['b1x2x1', m1, 2, -8, 16, 9, 0,0,0],
|
||||
['b1x2x1', m1, 2, 8, 16, 9, 0,0,0],
|
||||
['b2x3x1', m1, 3, 4, 4, 9, 0,0,90],
|
||||
['b1x3x1', m3, 3, 4, 4, 6, 0,0,90],
|
||||
['b1x3x1', m3, 3, 4, 8, 6, 0,0,90],
|
||||
['sf2x2x1', m1, 3, 0, 14, 4.5, 0,0,180],
|
||||
['b1x4x1', m2, 4, -8, 12, 12, 0,0,0],
|
||||
['b1x4x1', m2, 4, 8, 12, 12, 0,0,0],
|
||||
['b2x8x1', m1, 4, -8,-20, 12, 0,0,0],
|
||||
['b2x8x1', m1, 4, 4,-20, 12, 0,0,0],
|
||||
['l2x2x1', m5, 4, -8,-24, 12, 0,0,-90],
|
||||
['l2x2x1', m5, 4, 8,-24, 12, 0,0,-180],
|
||||
['b2x3x1', m5, 4, 4,-32, 12, 0,0,90],
|
||||
['l2x2x1', m5, 5, -8,-20, 15, 0,0,-90],
|
||||
['l2x2x1', m5, 5, 8,-20, 15, 0,0,-180],
|
||||
['b2x3x1', m5, 5, 4,-28, 15, 0,0,90],
|
||||
['b1x1x1', m1, 5, -8,-16, 15, 0,0,0],
|
||||
['b1x1x1', m1, 5, 8,-16, 15, 0,0,0],
|
||||
['b1x4x1', m5, 5, -8,-12, 15, 0,0,0],
|
||||
['b1x4x1', m5, 5, 8,-12, 15, 0,0,0],
|
||||
['b1x4x1', m1, 5, -8, 4, 15, 0,0,0],
|
||||
['b1x4x1', m1, 5, 8, 4, 15, 0,0,0],
|
||||
['b2x2x1', m1, 6, -8, 8, 18, 0,0,0],
|
||||
['b2x2x1', m1, 6, 4, 8, 18, 0,0,0],
|
||||
['b1x4x1', m5, 6, -8, -8, 18, 0,0,0],
|
||||
['b1x4x1', m5, 6, 8, -8, 18, 0,0,0],
|
||||
['b1x1x1', m1, 6, -8,-12, 18, 0,0,0],
|
||||
['b1x1x1', m1, 6, 8,-12, 18, 0,0,0],
|
||||
['b2x3x1', m5, 6, 4,-24, 18, 0,0,90],
|
||||
['l2x2x1', m5, 6, -8,-16, 18, 0,0,-90],
|
||||
['l2x2x1', m5, 6, 8,-16, 18, 0,0,180],
|
||||
['b1x3x1', m1, 7, 4,-20, 21, 0,0,90],
|
||||
['b2x3x1', m1, 7, -8,-16, 21, 0,0,0],
|
||||
['b2x3x1', m1, 7, 4,-16, 21, 0,0,0],
|
||||
['b2x3x1', m1, 7, -8, -4, 21, 0,0,0],
|
||||
['b2x3x1', m1, 7, 4, -4, 21, 0,0,0],
|
||||
['b1x2x1', m1, 7, -8, 8, 21, 0,0,0],
|
||||
['b2x4x1', m1, 7, -4, 12, 21, 0,0,-90],
|
||||
['b1x3x1', m1, 7, -4, 16, 21, 0,0,-90],
|
||||
['b2x3x1', m1, 8, 4, 0, 24, 0,0,90],
|
||||
['b2x3x1', m1, 8, 4, -8, 24, 0,0,90],
|
||||
['b2x3x1', m1, 8, 4,-16, 24, 0,0,90],
|
||||
['f1x2x1', m3, 9, 0, -4, 27, 0,0,0],
|
||||
['sm2x2x1', m1, 10, 0, 14, 4.5, 90,90,0],
|
||||
['b2x8x1', m1, 11, 2, 14, -4.5, 0,0,-90, 1],
|
||||
['b2x4x1', m1, 11, 42, 10, -4.5, 0,0,0, 1],
|
||||
['b2x8x1', m1, 12, 46, 10, -1.5, 0,0,90, 1],
|
||||
['b1x4x1', m1, 12, 46, 18, -1.5, 0,0,0, 1],
|
||||
['b2x3x1', m1, 12, 14, 10, -1.5, 0,0,90, 1],
|
||||
['f1x2x1', m3, 12, 42, 18, -1.5, 0,0,0, 1],
|
||||
['b1x1x1', m3, 13, 42, 20, 1.5, 0,0,45, 1],
|
||||
['b1x3x1', m3, 14, 0, -4, 3, 0,0,0, 2],
|
||||
['b1x3x1', m3, 14, 4, 0, 6, 0,0,90, 2],
|
||||
['b1x2x1', m1, 13, 46, 10, 1.5, 0,0,90, 1],
|
||||
['b2x8x1', m1, 13, 2, 14, 1.5, 0,0,-90, 1],
|
||||
['b1x2x1', m1, 15, 46, 10, 4.5, 0,0,90, 1],
|
||||
['b1x1x1', m1, 15, 46, 10, 7.5, 0,0,90, 1],
|
||||
['b1x2x1', m1, 15, 46, 10, -7.5, 0,0,90, 1],
|
||||
['b1x2x1', m5, 16, 0,-28, 0, 0,0,0],
|
||||
['b1x2x1', m5, 16, 8, 8, 0, 0,0,0],
|
||||
['b1x2x1', m5, 16, -8, 8, 0, 0,0,0],
|
||||
['b1x1x1', m1, 18, 0, -2, 36, 0,0,-45],
|
||||
['b1x3x1', m1, 16, 0, -4, -6, 0,0,0, 1],
|
||||
['b1x1x1', m1, 17, 0, 4, -3, 0,0,0, 1],
|
||||
['b1x1x1', m1, 17, 0, -4, -3, 0,0,0, 1],
|
||||
['b1x3x1', m1, 17, 4, 0, -3, 0,0,90, 1],
|
||||
['b1x4x1', m3, 18, 0, 4, 0, 0,0,0, 1],
|
||||
['b1x4x1', m3, 18, -4, 0, 0, 0,0,90, 1],
|
||||
['b1x4x1', m3, 18, 0, -4, 0, 0,0,180, 1],
|
||||
['b1x4x1', m3, 18, 4, 0, 0, 0,0,-90, 1],
|
||||
['b1x3x1', m3, 19, 0, -4, 3, 0,0,0, 1],
|
||||
['b1x1x1', m3, 19, -4, 0, 3, 0,0,0, 1],
|
||||
['b1x1x1', m3, 19, 4, 0, 3, 0,0,0, 1],
|
||||
['b2x8x1', m5, 19, -4, 12, 3, 0,0,0, 1],
|
||||
['b2x8x1', m5, 19,-12, -4, 3, 0,0,90, 1],
|
||||
['b2x8x1', m5, 19, 4,-12, 3, 0,0,180, 1],
|
||||
['b2x8x1', m5, 19, 40, 0, 3, 0,0,90, 1],
|
||||
['b1x3x1', m4, 20, 4, 0, 6, 0,0,90, 1],
|
||||
['b1x1x1', m4, 20, 0, -4, 6, 0,0,0, 1],
|
||||
['b1x1x1', m4, 20, 0, 4, 6, 0,0,0, 1],
|
||||
|
||||
];
|
||||
|
||||
model_animat=[
|
||||
[90,'rotation','z','Screw 1', 0,3.141592654,.09817477],
|
||||
[79,'rotation','z','Screw 2', 0,3.141592654,.09817477],
|
||||
];
|
121
programs/bcc32/games/blocks/model_b3_elephant.js
Normal file
121
programs/bcc32/games/blocks/model_b3_elephant.js
Normal file
@ -0,0 +1,121 @@
|
||||
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
||||
|
||||
const m1 = 0x1bff4c; //зеленый
|
||||
const m2 = 0xffffff; //white
|
||||
const m3 = 0x808080; //gray
|
||||
const m4 = 0x080808; //black
|
||||
|
||||
model_list=[
|
||||
['b10x10x1', m1, 0,-16, -8, 0, 0,0,0],
|
||||
['b1x2x1', m2, 1, -4, -8, 3, 0,0,90],
|
||||
['b1x2x1', m2, 1, 12, -8, 3, 0,0,90],
|
||||
['b1x2x1', m2, 1, -4, 24, 3, 0,0,90],
|
||||
['b1x2x1', m2, 1, 12, 24, 3, 0,0,90],
|
||||
['b2x2x1', m3, 1, -8, -4, 3, 0,0,0],
|
||||
['b2x2x1', m3, 1, 8, -4, 3, 0,0,0],
|
||||
['b2x2x1', m3, 1, -8, 28, 3, 0,0,0],
|
||||
['b2x2x1', m3, 1, 8, 28, 3, 0,0,0],
|
||||
['b2x3x1', m3, 2, -8, -8, 6, 0,0,0],
|
||||
['b2x3x1', m3, 2, 8, -8, 6, 0,0,0],
|
||||
['b2x3x1', m3, 2, -8, 24, 6, 0,0,0],
|
||||
['b2x3x1', m3, 2, 8, 24, 6, 0,0,0],
|
||||
['b2x3x1', m3, 3, -8, -8, 9, 0,0,0],
|
||||
['b2x3x1', m3, 3, 8, -8, 9, 0,0,0],
|
||||
['b2x3x1', m3, 3, -8, 24, 9, 0,0,0],
|
||||
['b2x3x1', m3, 3, 8, 24, 9, 0,0,0],
|
||||
['b2x3x1', m3, 4, -8, -8, 12, 0,0,0],
|
||||
['b2x3x1', m3, 4, 8, -8, 12, 0,0,0],
|
||||
['b2x4x1', m3, 4, -8, 20, 12, 0,0,0],
|
||||
['b2x4x1', m3, 4, 8, 20, 12, 0,0,0],
|
||||
['b2x4x1', m3, 5, -8, -8, 15, 0,0,0],
|
||||
['b2x4x1', m3, 5, 8, -8, 15, 0,0,0],
|
||||
['b2x4x1', m3, 5, -8, 20, 15, 0,0,0],
|
||||
['b2x4x1', m3, 5, 8, 20, 15, 0,0,0],
|
||||
['b2x4x1', m3, 5, 8, 12, 15, 0,0,90],
|
||||
['b1x4x1', m3, 5, 8, 8, 15, 0,0,90],
|
||||
['b2x8x1', m3, 6, -8, -8, 18, 0,0,0],
|
||||
['b2x8x1', m3, 6, 0, -4, 18, 0,0,0],
|
||||
['b2x8x1', m3, 6, 8, -8, 18, 0,0,0],
|
||||
['b2x3x1', m3, 6, -8, 24, 18, 0,0,0],
|
||||
['b2x3x1', m3, 6, 8, 24, 18, 0,0,0],
|
||||
['b2x8x1', m3, 7, -8, -8, 21, 0,0,0],
|
||||
['b2x3x1', m3, 7, 0, 24, 21, 0,0,90],
|
||||
['b1x6x1', m3, 7, 12, 32, 21, 0,0,90],
|
||||
['b2x3x1', m3, 7, 12, 24, 21, 0,0,90],
|
||||
['b2x8x1', m3, 7, 8, -8, 21, 0,0,0],
|
||||
['b2x4x1', m3, 7, 0,-12, 21, 0,0,0],
|
||||
['b2x2x1', m3, 8, 0,-16, 24, 0,0,0],
|
||||
['b2x4x1', m3, 8, 8, -8, 24, 0,0,90],
|
||||
['l2x2x1', m3, 8, -8, 0, 24, 0,0,-90],
|
||||
['l2x2x1', m3, 8, 12, 0, 24, 0,0,180],
|
||||
['b2x8x1', m3, 8, -8, 4, 24, 0,0,0],
|
||||
['b2x8x1', m3, 8, 8, 4, 24, 0,0,0],
|
||||
['f1x2x1', m3, 8, 4, 32, 24, 0,0,90],
|
||||
['l2x2x1', m3, 9, 0, -8, 27, 0,0,180],
|
||||
['l2x2x1', m3, 9, 4, -8, 27, 0,0,-90],
|
||||
['b2x8x1', m3, 9, -8, -4, 27, 0,0,0],
|
||||
['b2x8x1', m3, 9, 8, -4, 27, 0,0,0],
|
||||
['b2x2x1', m3, 9, -8, 28, 27, 0,0,0],
|
||||
['b2x2x1', m3, 9, 8, 28, 27, 0,0,0],
|
||||
['b1x2x1', m3, 9, 2, 32, 27, 0,0,0],
|
||||
['b2x4x1', m3, 10, 8, -8, 30, 0,0,90],
|
||||
['b2x8x1', m3, 10, -8, 0, 30, 0,0,0],
|
||||
['b2x8x1', m3, 10, 8, 0, 30, 0,0,0],
|
||||
['b1x4x1', m3, 10, 8, 32, 30, 0,0,90],
|
||||
['b2x2x1', m3, 11, 0, -8, 33, 0,0,0],
|
||||
['b2x8x1', m3, 11, -4, 0, 33, 0,0,0],
|
||||
['b2x8x1', m3, 11, 4, 0, 33, 0,0,0],
|
||||
['b2x4x1', m3, 12, 0,-32, 24, 0,0,0],
|
||||
['b1x2x1', m3, 12, -4,-20, 24, 0,0,0],
|
||||
['b1x2x1', m3, 12, 8,-20, 24, 0,0,0],
|
||||
['b1x2x1', m3, 13, 4,-32, 27, 0,0,90],
|
||||
['b2x4x1', m3, 13, 8,-28, 27, 0,0,90],
|
||||
['b2x4x1', m3, 13, 8,-20, 27, 0,0,90],
|
||||
['b1x2x1', m2, 13, -8,-32, 27, 0,0,0],
|
||||
['b1x2x1', m2, 13, 12,-32, 27, 0,0,0],
|
||||
['b1x2x1', m3, 13, -8,-12, 27, 0,0,75],
|
||||
['b1x3x1', m3, 14, 0, 0, 3, 0,0,0, 1],
|
||||
['b1x2x1', m3, 15, 0, 8, 6, 0,0,0, 1],
|
||||
['b1x3x1', m3, 16, 0, 0, 9, 0,0,0, 1],
|
||||
['b1x2x1', m3, 16, 0, 12, 9, 0,0,0, 1],
|
||||
['b1x2x1', m3, 17, 0, 8, 12, 0,0,0, 1],
|
||||
['b1x3x1', m3, 18, 0, 0, 15, 0,0,0, 1],
|
||||
['b1x2x1', m3, 13, 12,-12, 27, 0,0,-75],
|
||||
['b1x3x1', m3, 14, 0, 0, 3, 0,0,0, 1],
|
||||
['b1x2x1', m3, 15, 0, 8, 6, 0,0,0, 1],
|
||||
['b1x3x1', m3, 16, 0, 0, 9, 0,0,0, 1],
|
||||
['b1x2x1', m3, 16, 0, 12, 9, 0,0,0, 1],
|
||||
['b1x2x1', m3, 17, 0, 8, 12, 0,0,0, 1],
|
||||
['b1x3x1', m3, 18, 0, 0, 15, 0,0,0, 1],
|
||||
['b2x2x1', m3, 14, 0,-16, 30, 0,0,0],
|
||||
['b2x4x1', m3, 14, 0,-32, 30, 0,0,0],
|
||||
['b2x3x1', m3, 14, -8,-28, 30, 0,0,0],
|
||||
['b2x3x1', m3, 14, 8,-28, 30, 0,0,0],
|
||||
['b2x3x1', m3, 15, 0,-16, 33, 0,0,90],
|
||||
['b2x3x1', m3, 15, 12,-16, 33, 0,0,90],
|
||||
['b2x3x1', m3, 15, 0,-24, 33, 0,0,90],
|
||||
['b2x3x1', m3, 15, 12,-24, 33, 0,0,90],
|
||||
['l2x2x1', m3, 15, 0,-28, 33, 0,0,180],
|
||||
['l2x2x1', m3, 15, 4,-28, 33, 0,0,-90],
|
||||
['c1x1x1', m4, 16, -4,-28, 36, 0,0,0],
|
||||
['c1x1x1', m4, 16, 8,-28, 36, 0,0,0],
|
||||
['b2x4x1', m3, 16, 0,-28, 36, 0,0,0],
|
||||
['b2x2x1', m3, 16, -8,-24, 36, 0,0,0],
|
||||
['b2x2x1', m3, 16, 8,-24, 36, 0,0,0],
|
||||
['b1x2x1', m3, 16, 4,-12, 36, 0,0,90],
|
||||
['b2x4x1', m3, 17, 8,-28, 39, 0,0,90],
|
||||
['b2x3x1', m3, 17, -8,-20, 39, 0,0,0],
|
||||
['b2x3x1', m3, 17, 0,-20, 39, 0,0,0],
|
||||
['b2x3x1', m3, 17, 8,-20, 39, 0,0,0],
|
||||
['b2x3x1', m3, 19, 0,-36, 21, 0,0,0],
|
||||
['b2x2x1', m3, 20, 0,-36, 18, 0,0,0],
|
||||
['b2x2x1', m3, 21, 0,-36, 15, 0,0,0],
|
||||
['b2x2x1', m3, 22, 0,-36, 12, 0,0,0],
|
||||
//['b2x2x1', m3, 23, 0,-40, 9, 0,0,0],
|
||||
|
||||
];
|
||||
|
||||
model_animat=[
|
||||
[67,'rotation','z','*1', 0.49087385,2.15984494,.09817477],
|
||||
[74,'rotation','z','*2', -2.15984494,-0.49087385,.09817477],
|
||||
];
|
115
programs/bcc32/games/blocks/model_b9_whale.js
Normal file
115
programs/bcc32/games/blocks/model_b9_whale.js
Normal file
@ -0,0 +1,115 @@
|
||||
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
||||
|
||||
const m1 = 0x80000080; //синий прозр.
|
||||
const m2 = 0x000050; //синий тёмн.
|
||||
const m3 = 0xffffff; //белый
|
||||
|
||||
model_list=[
|
||||
['b2x2x1', m3, 0, -4,-20, 21, 0,0,0],
|
||||
['l2x2x1', m3, 0, 4,-16, 21, 0,0,-90],
|
||||
['l2x2x1', m3, 0, -8,-16, 21, 0,0,-180],
|
||||
['b2x3x1', m3, 0, -4,-12, 21, 0,0,90],
|
||||
['b2x3x1', m3, 0, 8,-12, 21, 0,0,90],
|
||||
['b2x3x1', m2, 0, -4, -4, 21, 0,0,90],
|
||||
['b2x3x1', m2, 0, 8, -4, 21, 0,0,90],
|
||||
['b2x4x1', m2, 0, -8, 4, 21, 0,0,90],
|
||||
['b2x4x1', m2, 0, 16, 4, 21, 0,0,90],
|
||||
['b2x3x1', m2, 0, -4, 12, 21, 0,0,90],
|
||||
['b2x3x1', m2, 0, 8, 12, 21, 0,0,90],
|
||||
['b2x4x1', m3, 0, 4, 20, 21, 0,0,90],
|
||||
['b1x2x1', m3, 0, 0, 28, 21, 0,0,90],
|
||||
['b2x4x1', m2, 1, 4,-20, 24, 0,0,90],
|
||||
['l2x2x1', m2, 1, 8,-12, 24, 0,0,-90],
|
||||
['l2x2x1', m2, 1,-12,-12, 24, 0,0,-180],
|
||||
['b2x4x1', m2, 1,-12, 4, 24, 0,0,-180],
|
||||
['b2x4x1', m2, 1, 12, 4, 24, 0,0,-180],
|
||||
['b2x2x1', m2, 1,-12, 12, 24, 0,0,-180],
|
||||
['b2x2x1', m2, 1, 12, 12, 24, 0,0,-180],
|
||||
['b2x3x1', m2, 1, -4, 16, 24, 0,0,90],
|
||||
['b2x3x1', m2, 1, 8, 16, 24, 0,0,90],
|
||||
['l2x2x1', m2, 1, -4, 24, 24, 0,0,90],
|
||||
['l2x2x1', m2, 1, 0, 24, 24, 0,0,0],
|
||||
['b1x2x1', m2, 1, 0, 32, 24, 0,0,90],
|
||||
['b2x8x1', m3, 2, -4,-16, 18, 0,0,0],
|
||||
['b1x2x1', m3, 2, 4,-12, 18, 0,0,0],
|
||||
['b1x2x1', m3, 2, -8,-12, 18, 0,0,0],
|
||||
['b2x3x1', m3, 2, 4, -4, 18, 0,0,0],
|
||||
['b2x3x1', m3, 2,-12, -4, 18, 0,0,0],
|
||||
['b2x2x1', m3, 2, 4, 8, 18, 0,0,0],
|
||||
['b2x2x1', m3, 2,-12, 8, 18, 0,0,0],
|
||||
['b2x3x1', m3, 2, -4, 16, 18, 0,0,0],
|
||||
['b1x2x1', m3, 2, 4, 16, 18, 0,0,0],
|
||||
['b1x2x1', m3, 2, -8, 16, 18, 0,0,0],
|
||||
['b2x4x1', m2, 3, 4,-20, 27, 0,0,90],
|
||||
['l2x2x1', m2, 3,-12,-12, 27, 0,0,180],
|
||||
['l2x2x1', m2, 3, 8,-12, 27, 0,0,-90],
|
||||
['b2x3x1', m2, 3,-12, 0, 27, 0,0,-180],
|
||||
['b2x3x1', m2, 3, 12, 0, 27, 0,0,-180],
|
||||
['b2x3x1', m2, 3,-12, 12, 27, 0,0,-180],
|
||||
['b2x3x1', m2, 3, 12, 12, 27, 0,0,-180],
|
||||
['l2x2x1', m2, 3, -8, 16, 27, 0,0,90],
|
||||
['l2x2x1', m2, 3, 4, 16, 27, 0,0,0],
|
||||
['b2x4x1', m2, 3, -4, 24, 27, 0,0,0],
|
||||
['l2x2x1', m2, 4, -8,-16, 30, 0,0,180],
|
||||
['l2x2x1', m2, 4,-12, -8, 30, 0,0,180],
|
||||
['l2x2x1', m2, 4, 4,-16, 30, 0,0,-90],
|
||||
['l2x2x1', m2, 4, 8, -8, 30, 0,0,-90],
|
||||
['b2x4x1', m2, 4, -4,-20, 30, 0,0,0],
|
||||
['c1x1x1', m3, 4,-16,-12, 30, 0,0,0],
|
||||
['c1x1x1', m3, 4, 12,-12, 30, 0,0,0],
|
||||
['b2x4x1', m2, 4,-16, -4, 30, 0,0,0],
|
||||
['b2x4x1', m2, 4, 8, -4, 30, 0,0,0],
|
||||
['l2x2x1', m2, 4,-12, 12, 30, 0,0,90],
|
||||
['l2x2x1', m2, 4, 8, 12, 30, 0,0,0],
|
||||
['b2x4x1', m2, 4, 4, 16, 30, 0,0,90],
|
||||
['b1x2x1', m2, 4, 0, 24, 30, 0,0,90],
|
||||
['b2x2x1', m2, 4, 0, 36, 30, 0,0,90],
|
||||
['b2x4x1', m2, 5, 4,-20, 33, 0,0,90],
|
||||
['l2x2x1', m2, 5,-12,-12, 33, 0,0,-90],
|
||||
['l2x2x1', m2, 5, 8,-12, 33, 0,0,180],
|
||||
['b2x4x1', m2, 5,-16, -8, 33, 0,0,0],
|
||||
['b2x4x1', m2, 5, 8, -8, 33, 0,0,0],
|
||||
['l2x2x1', m2, 5,-12, 8, 33, 0,0,90],
|
||||
['l2x2x1', m2, 5, 8, 8, 33, 0,0,0],
|
||||
['b2x4x1', m2, 5, 4, 12, 33, 0,0,90],
|
||||
['b1x2x1', m2, 5, 0, 20, 33, 0,0,90],
|
||||
['b1x2x1', m2, 6, 0,-20, 36, 0,0,90],
|
||||
['b1x4x1', m2, 6, 4,-16, 36, 0,0,90],
|
||||
['l2x2x1', m2, 6,-12,-12, 36, 0,0,-90],
|
||||
['l2x2x1', m2, 6, 8,-12, 36, 0,0,-180],
|
||||
['b2x4x1', m2, 6,-12, 4, 36, 0,0,-180],
|
||||
['b2x4x1', m2, 6, 12, 4, 36, 0,0,-180],
|
||||
['l2x2x1', m2, 6, -8, 8, 36, 0,0,90],
|
||||
['l2x2x1', m2, 6, 4, 8, 36, 0,0,0],
|
||||
['b2x2x1', m2, 6, -4, 12, 36, 0,0,0],
|
||||
['b1x4x1', m2, 7, 4,-16, 39, 0,0,90],
|
||||
['b2x3x1', m2, 7,-12,-12, 39, 0,0,0],
|
||||
['b2x3x1', m2, 7, 4,-12, 39, 0,0,0],
|
||||
['b2x3x1', m2, 7, -4, 0, 39, 0,0,90],
|
||||
['b2x3x1', m2, 7, 8, 0, 39, 0,0,90],
|
||||
['b1x4x1', m2, 7, 4, 8, 39, 0,0,90],
|
||||
['b1x2x1', m2, 7, 0, 12, 39, 0,0,90],
|
||||
['b2x4x1', m2, 8, 4,-12, 42, 0,0,90],
|
||||
['l2x2x1', m2, 8, -8, -4, 42, 0,0,0],
|
||||
['l2x2x1', m2, 8, 4, -4, 42, 0,0,90],
|
||||
['f1x2x1', m2, 8, 0, 0, 42, 0,0,90],
|
||||
['b1x2x1', m2, 8, 0, 4, 42, 0,0,90],
|
||||
['b1x4x1', m2, 9, 4, 40, 33, 0,0,90],
|
||||
['b1x1x1', m2, 10, -8, 40, 36, 0,0,0],
|
||||
['b1x1x1', m2, 10, 4, 40, 36, 0,0,0],
|
||||
['b1x2x1', m2, 11,-20, 8, 18, 0,0,0],
|
||||
['b1x2x1', m2, 11, 16, 8, 18, 0,0,0],
|
||||
['b10x10x1', m1, 12,-20,-20, 0, 0,0,0],
|
||||
['b2x2x1', m1, 13, -4, -4, 3, 0,0,0],
|
||||
['b2x2x1', m1, 14, -4, -4, 6, 0,0,0],
|
||||
['b2x2x1', m1, 15, -4, -4, 9, 0,0,0],
|
||||
['b2x2x1', m1, 16, -4, -4, 12, 0,0,0],
|
||||
['b2x2x1', m1, 17, -4, -4, 15, 0,0,0],
|
||||
['b1x1x1', m1, 18, -2, 0, 45, 0,0,0],
|
||||
['b1x1x1', m1, 19, -2, 0, 48, 0,0,0],
|
||||
['b1x3x1', m1, 20, 2, 0, 51, 0,0,90],
|
||||
['b1x3x1', m1, 21, -6, 0, 54, 0,0,90],
|
||||
['b1x3x1', m1, 21, 2, 0, 54, 0,0,-90],
|
||||
|
||||
];
|
||||
|
144
programs/bcc32/games/blocks/model_c2_tabby_cat.js
Normal file
144
programs/bcc32/games/blocks/model_c2_tabby_cat.js
Normal file
@ -0,0 +1,144 @@
|
||||
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
||||
|
||||
const m1 = 0xa49121; //темный
|
||||
const m2 = 0xffdf52; //светлый
|
||||
const m3 = 0xffffff;
|
||||
const m4 = 0xffacac; //розовый
|
||||
const m5 = 0x080808;
|
||||
|
||||
model_list=[
|
||||
['b1x6x1', m1, 0, -4, 4, 18, 0,0,0],
|
||||
['b1x6x1', m1, 0, 0, 0, 18, 0,0,0],
|
||||
['b1x4x1', m1, 0, 4, 4, 18, 0,0,0],
|
||||
['b1x4x1', m1, 0, -8, 4, 18, 0,0,0],
|
||||
['b1x4x1', m1, 0, -8, -8, 18, 0,0,-90],
|
||||
['b1x4x1', m2, 0, -8, -4, 18, 0,0,-90],
|
||||
['b1x1x1', m1, 0,-12, 8, 18, 0,0,0],
|
||||
['b1x1x1', m1, 0, 8, 8, 18, 0,0,0],
|
||||
['b1x1x1', m2, 0, 8, 12, 18, 0,0,0],
|
||||
['b1x1x1', m2, 0, 8, 4, 18, 0,0,0],
|
||||
['b1x1x1', m2, 0,-12, 12, 18, 0,0,0],
|
||||
['b1x1x1', m2, 0,-12, 4, 18, 0,0,0],
|
||||
['u1x2x1', m1, 0, -8, 0, 18, 0,0,90],
|
||||
['u1x2x1', m1, 0, 4, 0, 18, 0,0,-90],
|
||||
['b2x4x1', m2, 1, -4, -12, 21, 0,0,0],
|
||||
['b1x1x1', m1, 1, -8, -8, 21, 0,0,0],
|
||||
['b1x1x1', m1, 1, 4, -8, 21, 0,0,0],
|
||||
['b1x2x1', m2, 1, -8, -4, 21, 0,0,90],
|
||||
['b1x2x1', m2, 1, 8, -4, 21, 0,0,90],
|
||||
['b1x1x1', m1, 1,-12, 0, 21, 0,0,0],
|
||||
['b1x1x1', m1, 1, 8, 0, 21, 0,0,0],
|
||||
['l2x2x1', m2, 1, 4, 4, 21, 0,0,-90],
|
||||
['l2x2x1', m2, 1, -8, 4, 21, 0,0,180],
|
||||
['b1x6x1', m1, 1, 8, 8, 21, 0,0,90],
|
||||
['b1x3x1', m2, 1, 8, 12, 21, 0,0,90],
|
||||
['b1x3x1', m2, 1, -4, 12, 21, 0,0,90],
|
||||
['b1x4x1', m1, 1, 4, 16, 21, 0,0,90],
|
||||
['b1x2x1', m2, 1, 0, 20, 21, 0,0,90],
|
||||
['b1x1x1', m1, 1, -4, 24, 21, 0,0,0],
|
||||
['a1x2x2', m1, 2,-12, 0, 24, 0,0,180],
|
||||
['a1x2x2', m1, 2, 8, 0, 24, 0,0,180],
|
||||
['a1x2x2', m1, 2, -8, 8, 24, 0,0,90],
|
||||
['a1x2x2', m1, 2, 4, 8, 24, 0,0,-90],
|
||||
['a1x2x2', m1, 2, -4, 16, 24, 0,0,90],
|
||||
['a1x2x2', m1, 2, 0, 16, 24, 0,0,-90],
|
||||
['a1x2x2', m2, 2, -8, 12, 24, 0,0,90],
|
||||
['a1x2x2', m2, 2, 4, 12, 24, 0,0,-90],
|
||||
['b1x1x1', m2, 2, -4, 24, 24, 0,0,0],
|
||||
['b1x1x1', m2, 2, 8, 4, 24, 0,0,0],
|
||||
['b1x1x1', m2, 2,-12, 4, 24, 0,0,0],
|
||||
['b2x4x1', m2, 2, -8, -8, 24, 0,0,0],
|
||||
['b2x4x1', m2, 2, 0, -8, 24, 0,0,0],
|
||||
['a1x2x2', m1, 3, -4, -4, 27, 0,0,180],
|
||||
['a1x2x2', m2, 3, -8, -4, 27, 0,0,180],
|
||||
['a1x2x2', m1, 3, 0, -4, 27, 0,0,-180],
|
||||
['a1x2x2', m2, 3, 4, -4, 27, 0,0,180],
|
||||
['a1x2x2', m1, 3, 4, 0, 27, 0,0,-90],
|
||||
['a1x2x2', m2, 3, 4, 4, 27, 0,0,-90],
|
||||
['a1x2x2', m1, 3, -8, 0, 27, 0,0,90],
|
||||
['a1x2x2', m2, 3, -8, 4, 27, 0,0,90],
|
||||
['l2x2x1', m1, 3, 0, 8, 27, 0,0,-90],
|
||||
['l2x2x1', m1, 3, -4, 8, 27, 0,0,180],
|
||||
['l2x2x1', m2, 3, 0, 12, 27, 0,0,0],
|
||||
['l2x2x1', m2, 3, -4, 12, 27, 0,0,90],
|
||||
['b1x1x1', m1, 3, -4, 24, 27, 0,0,0],
|
||||
['b2x4x1', m1, 4, 4, -4, 30, 0,0,90],
|
||||
['b1x4x1', m2, 4, 4, 4, 30, 0,0,90],
|
||||
['b1x2x1', m1, 4, 0, 8, 30, 0,0,90],
|
||||
['b1x2x1', m2, 4, 0, 12, 30, 0,0,90],
|
||||
['b1x1x1', m2, 4, -4, 24, 30, 0,0,0],
|
||||
['b1x1x1', m1, 5, -4, 24, 33, 0,0,0],
|
||||
['b1x2x1', m2, 6, -4, 24, 36, 0,0,0],
|
||||
['b1x2x1', m1, 7, -4, 28, 39, 0,0,0],
|
||||
['u1x2x1', m2, 8, -4, -4, 15, 0,0,90],
|
||||
['u1x2x1', m2, 8, -8, 4, 15, 0,0,90],
|
||||
['u1x2x1', m2, 8, 0, -4, 15, 0,0,-90],
|
||||
['u1x2x1', m2, 8, 4, 4, 15, 0,0,-90],
|
||||
['b2x2x1', m3, 8, -4, 0, 15, 0,0,0],
|
||||
['b1x6x1', m1, 8, 8, 8, 15, 0,0,90],
|
||||
['b1x3x1', m2, 8, -4, 12, 15, 0,0,90],
|
||||
['b1x3x1', m2, 8, 8, 12, 15, 0,0,90],
|
||||
['b1x2x1', m1, 8, 0, 16, 15, 0,0,-90],
|
||||
['l2x2x1', m1, 8, -4, 16, 15, 0,0,90],
|
||||
['b2x2x1', m3, 9, -4, 4, 12, 0,0,0],
|
||||
['u1x2x1', m1, 9, -8, 8, 12, 0,0,90],
|
||||
['u1x2x1', m1, 9, 4, 8, 12, 0,0,-90],
|
||||
['u1x2x1', m2, 9, -8, 12, 12, 0,0,90],
|
||||
['u1x2x1', m2, 9, 4, 12, 12, 0,0,-90],
|
||||
['b1x2x1', m1, 9, 0, 12, 12, 0,0,0],
|
||||
['b1x2x1', m1, 9, -4, 12, 12, 0,0,0],
|
||||
['b2x2x1', m3, 10, -4, 8, 9, 0,0,0],
|
||||
['f1x2x1', m1, 10, -8, 10, 9, 0,0,0],
|
||||
['f1x2x1', m1, 10, 4, 10, 9, 0,0,0],
|
||||
['f1x2x1', m2, 11, -8, 10, 6, 0,0,0],
|
||||
['f1x2x1', m2, 11, 4, 10, 6, 0,0,0],
|
||||
['b1x1x1', m1, 12, -8, 10, 3, 0,0,45],
|
||||
['b1x1x1', m1, 12, 4, 10, 3, 0,0,45],
|
||||
['c2x2x1', m2, 13, -8, 10, 0, 0,0,-135],
|
||||
['c2x2x1', m2, 13, 4, 10, 0, 0,0,-135],
|
||||
['b1x1x1', m1, 14, 4, -8, 15, 0,0,0],
|
||||
['b1x1x1', m1, 14, -8, -8, 15, 0,0,0],
|
||||
['b1x1x1', m2, 14, 4, -8, 12, 0,0,0],
|
||||
['b1x1x1', m2, 14, -8, -8, 12, 0,0,0],
|
||||
['b1x1x1', m1, 14, 4, -8, 9, 0,0,0],
|
||||
['b1x1x1', m1, 14, -8, -8, 9, 0,0,0],
|
||||
['b1x1x1', m2, 14, 4, -8, 6, 0,0,0],
|
||||
['b1x1x1', m2, 14, -8, -8, 6, 0,0,0],
|
||||
['b1x1x1', m1, 15, 4, -8, 3, 0,0,45],
|
||||
['b1x1x1', m1, 15, -8, -8, 3, 0,0,45],
|
||||
['c2x2x1', m2, 15, 4, -8, 0, 0,0,-135],
|
||||
['c2x2x1', m2, 15, -8, -8, 0, 0,0,-135],
|
||||
['t2x3x1', m2, 16, -2, -12, 24, 0,0,-90],
|
||||
['b1x3x1', m2, 16,-10, -22, 24, 0,0,0],
|
||||
['b1x3x1', m2, 16, 6, -22, 24, 0,0,0],
|
||||
['f1x3x1', m3, 16, -6, -26, 24, 0,0,0],
|
||||
['f1x3x1', m3, 16, 2, -26, 24, 0,0,0],
|
||||
['f1x3x1', m4, 16, -2, -28, 24, 0,0,0],
|
||||
['f1x3x1', m1, 17,-10, -22, 27, 0,0,0],
|
||||
['f1x3x1', m1, 17, 6, -22, 27, 0,0,0],
|
||||
['b1x3x1', m1, 17, 2, -20, 27, 0,0,0],
|
||||
['l2x2x1', m1, 17, -6, -12, 27, 0,0,-90],
|
||||
['b1x1x1', m1, 17, -6, -20, 27, 0,0,0],
|
||||
['f1x2x1', m3, 17, -2, -26, 27, 0,0,0],
|
||||
['c1x1x1', m5, 17, -6, -24, 27, 0,0,0],
|
||||
['c1x1x1', m5, 17, 2, -24, 27, 0,0,0],
|
||||
['c1x1x1', m2, 18, -6, -24, 30, 0,0,0],
|
||||
['c1x1x1', m2, 18, 2, -24, 30, 0,0,0],
|
||||
['a1x2x2', m1, 18, -2, -20, 30, 0,0,180],
|
||||
['a1x2x2', m2, 18, 2, -20, 30, 0,0,-90],
|
||||
['a1x2x2', m2, 18, -6, -20, 30, 0,0,90],
|
||||
['b1x6x1', m1, 18, 8, -16, 30, 0,0,90],
|
||||
['f1x3x1', m2, 18, 2, -12, 30, 0,0,90],
|
||||
['f1x3x1', m1, 19, 2, -20, 33, 0,0,90],
|
||||
['a1x2x2', m2, 19,-12, -16, 33, 0,0,-90],
|
||||
['a1x2x2', m2, 19, 8, -16, 33, 0,0,90],
|
||||
['b2x2x1', m1, 19, -4, -16, 33, 0,0,0],
|
||||
['b1x1x1', m1, 20,-12, -16, 36, 0,0,0],
|
||||
['b1x1x1', m1, 20, 8, -16, 36, 0,0,0],
|
||||
['u1x2x1', m3, 21, -6, -22, 21, 0,0,90],
|
||||
['u1x2x1', m3, 21, -6, -18, 21, 0,0,90],
|
||||
['u1x2x1', m3, 21, 2, -22, 21, 0,0,-90],
|
||||
['u1x2x1', m3, 21, 2, -18, 21, 0,0,-90],
|
||||
['f1x2x1', m3, 21, -2, -22, 21, 0,0,0],
|
||||
['f1x2x1', m3, 21, -4, -26, 21, 0,0,-90],
|
||||
];
|
152
programs/bcc32/games/blocks/model_c7_calico_cat.js
Normal file
152
programs/bcc32/games/blocks/model_c7_calico_cat.js
Normal file
@ -0,0 +1,152 @@
|
||||
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
||||
|
||||
const m1 = 0xffffff; //белый
|
||||
const m2 = 0x9e5d1a; //коричневый
|
||||
const m3 = 0x080808; //черный
|
||||
const m4 = 0xff8080; //
|
||||
|
||||
model_list=[
|
||||
['b2x3x1', m1, 0, 4, -16, 6, 0,0,90],
|
||||
['b2x3x1', m1, 0, 0, -8, 6, 0,0,90],
|
||||
['b2x2x1', m1, 0, 4, -8, 6, 0,0,0],
|
||||
['b2x3x1', m1, 0, 4, 0, 6, 0,0,90],
|
||||
['b2x3x1', m1, 0,-12, 4, 6, 0,0,0],
|
||||
['b2x3x1', m1, 0, 4, 8, 6, 0,0,90],
|
||||
['b2x3x1', m1, 0, 8, 4, 6, 0,0,0],
|
||||
['b2x3x1', m1, 0, 8, 16, 6, 0,0,90],
|
||||
['b2x2x1', m1, 0, -8, 16, 6, 0,0,0],
|
||||
['b1x3x1', m1, 1, 4, -16, 9, 0,0,90],
|
||||
['b2x3x1', m1, 1, 0, -12, 9, 0,0,90],
|
||||
['b2x2x1', m2, 1, 8, -12, 9, 0,0,90],
|
||||
['b2x2x1', m1, 1, -8, -4, 9, 0,0,0],
|
||||
['b2x3x1', m1, 1, 8, -4, 9, 0,0,90],
|
||||
['b2x3x1', m1, 1, -4, 4, 9, 0,0,90],
|
||||
['b2x3x1', m1, 1, -4, 12, 9, 0,0,90],
|
||||
['b2x3x1', m1, 1, 12, 4, 9, 0,0,90],
|
||||
['b2x3x1', m1, 1, 12, 12, 9, 0,0,90],
|
||||
['b1x1x1', m1, 1, 0, 16, 9, 0,0,0],
|
||||
['b1x1x1', m1, 1, -8, 20, 9, 0,0,0],
|
||||
['b1x2x1', m3, 1, 0, 20, 9, 0,0,90],
|
||||
['b1x2x1', m1, 1, 8, 20, 9, 0,0,90],
|
||||
['b1x3x1', m1, 2, 0, -20, 12, 0,0,0],
|
||||
['b1x2x1', m1, 2, -4, -16, 12, 0,0,0],
|
||||
['b1x2x1', m1, 2, 4, -16, 12, 0,0,0],
|
||||
['a1x2x2', m3, 2, -8, -8, 12, 0,0,180],
|
||||
['a1x2x2', m2, 2, 8, -8, 12, 0,0,180],
|
||||
['t2x3x1', m1, 2, -4, -4, 12, 0,0,180],
|
||||
['t2x3x1', m1, 2, 4, -4, 12, 0,0,0],
|
||||
['b2x3x1', m1, 2,-12, 0, 12, 0,0,0],
|
||||
['b2x3x1', m1, 2, 8, 0, 12, 0,0,0],
|
||||
['a1x2x3', m3, 2,-12, 12, 12, 0,0,0],
|
||||
['a1x2x2', m1, 2, -8, 16, 12, 0,0,0],
|
||||
['a1x2x2', m3, 2, -4, 16, 12, 0,0,0],
|
||||
['a1x2x2', m3, 2, 0, 16, 12, 0,0,0],
|
||||
['a1x2x2', m1, 2, 4, 16, 12, 0,0,0],
|
||||
['a1x2x2', m1, 2, 8, 16, 12, 0,0,0],
|
||||
['a1x2x3', m2, 2, 12, 12, 12, 0,0,0],
|
||||
['f1x3x1', m3, 3, 4,-20, 15, 0,0,90],
|
||||
['f1x3x1', m1, 3, 4,-16, 15, 0,0,90],
|
||||
['b1x3x1', m1, 3, 4,-12, 15, 0,0,90],
|
||||
['b1x2x1', m3, 3, -8, -8, 15, 0,0,0],
|
||||
['b2x2x1', m1, 3, -4, -8, 15, 0,0,0],
|
||||
['b2x2x1', m2, 3, 4, -8, 15, 0,0,0],
|
||||
['b2x3x1', m1, 3, -4, 0, 15, 0,0,90],
|
||||
['b2x3x1', m1, 3, 8, 0, 15, 0,0,90],
|
||||
['b1x2x1', m3, 3, 12, 0, 15, 0,0,0],
|
||||
['b2x2x1', m2, 3,-12, 8, 15, 0,0,0],
|
||||
['b2x3x1', m1, 3, 4, 12, 15, 0,0,90],
|
||||
['b2x2x1', m1, 3, 8, 8, 15, 0,0,0],
|
||||
['b1x1x1', m3, 3, -8, 16, 15, 0,0,0],
|
||||
['b1x1x1', m1, 3, 8, 16, 15, 0,0,0],
|
||||
['f1x2x1', m1, 4, 2,-16, 18, 0,0,90],
|
||||
['b1x1x1', m1, 4, -8, -4, 18, 0,0,0],
|
||||
['a1x3x2', m1, 4, -4, -4, 18, 0,0,180],
|
||||
['a1x3x2', m1, 4, 0, -4, 18, 0,0,180],
|
||||
['a1x3x2', m1, 4, 4, -4, 18, 0,0,180],
|
||||
['b1x1x1', m1, 4, 8, -4, 18, 0,0,0],
|
||||
['a1x2x2', m1, 4, -8, 0, 18, 0,0,90],
|
||||
['a1x2x2', m1, 4, -8, 4, 18, 0,0,90],
|
||||
['a1x2x2', m3, 4, -8, 8, 18, 0,0,90],
|
||||
['b2x3x1', m1, 4, -4, 0, 18, 0,0,0],
|
||||
['b1x3x1', m1, 4, 4, 0, 18, 0,0,0],
|
||||
['a1x2x2', m3, 4, 8, 0, 18, 0,0,-90],
|
||||
['a1x2x2', m3, 4, 8, 4, 18, 0,0,-90],
|
||||
['a1x2x2', m1, 4, 8, 8, 18, 0,0,-90],
|
||||
['b1x1x1', m2, 4,-12, 12, 18, 0,0,0],
|
||||
['b1x1x1', m1, 4, 12, 12, 18, 0,0,0],
|
||||
['a1x2x2', m2, 4, -8, 12, 18, 0,0,0],
|
||||
['a1x2x2', m2, 4, -4, 12, 18, 0,0,0],
|
||||
['a1x2x2', m3, 4, 0, 12, 18, 0,0,0],
|
||||
['a1x2x2', m3, 4, 4, 12, 18, 0,0,0],
|
||||
['a1x2x2', m1, 4, 8, 12, 18, 0,0,0],
|
||||
['b1x1x1', m2, 5, -8, 0, 21, 0,0,0],
|
||||
['b2x2x1', m2, 5, -4, -4, 21, 0,0,0],
|
||||
['b1x1x1', m1, 5, 4, -4, 21, 0,0,0],
|
||||
['b1x2x1', m3, 5, 8, 0, 21, 0,0,90],
|
||||
['b1x2x1', m3, 5, 8, 4, 21, 0,0,90],
|
||||
['b1x2x1', m1, 5, -4, 4, 21, 0,0,90],
|
||||
['b1x3x1', m1, 5, 0, 4, 21, 0,0,0],
|
||||
['b2x2x1', m2, 5, -8, 8, 21, 0,0,0],
|
||||
['b2x2x1', m1, 5, 4, 8, 21, 0,0,0],
|
||||
['b1x2x1', m1, 6, 4, -12, 3, 0,0,0],
|
||||
['b1x3x1', m1, 6, 0, -16, 3, 0,0,0],
|
||||
['b1x2x1', m1, 6, -4, -12, 3, 0,0,0],
|
||||
['b2x3x1', m1, 6, 4, 4, 3, 0,0,90],
|
||||
['b1x3x1', m1, 6, 8, 8, 3, 0,0,0],
|
||||
['b1x3x1', m1, 6, 4, 12, 3, 0,0,0],
|
||||
['b1x2x1', m1, 6, 0, 12, 3, 0,0,0],
|
||||
['a1x2x2', m2, 6, 0, 20, 3, 0,0,0],
|
||||
['b1x3x1', m1, 6, -4, 12, 3, 0,0,0],
|
||||
['b1x3x1', m1, 6, -8, 8, 3, 0,0,0],
|
||||
['u1x2x1', m1, 7, -4,-30, 6, 0,0,90],
|
||||
['u1x2x1', m1, 7, -4,-26, 6, 0,0,90],
|
||||
['b1x3x1', m1, 8, -8,-30, 9, 0,0,0],
|
||||
['f1x3x1', m1, 8, -4,-34, 9, 0,0,0],
|
||||
['f1x3x1', m3, 9, -8,-30, 12, 0,0,0],
|
||||
['b1x3x1', m1, 9, -4,-28, 12, 0,0,0],
|
||||
['c1x1x1', m3, 10, -4,-32, 12, 0,0,0],
|
||||
['c1x1x1', m3, 10, -4,-32, 15, 0,0,0],
|
||||
['f1x2x1', m1, 11, 2,-34, 6, 0,0,90],
|
||||
['f1x3x1', m1, 11, 0,-30, 6, 0,0,0],
|
||||
['f1x3x1', m4, 12, 0,-36, 9, 0,0,0],
|
||||
['t2x3x1', m1, 12, 0,-20, 9, 0,0,-90],
|
||||
['f1x2x1', m1, 13, 0,-34, 12, 0,0,0],
|
||||
['a1x2x2', m2, 13, 0,-28, 15, 0,0,180],
|
||||
['u1x2x1', m1, 14, 4,-30, 6, 0,0,-90],
|
||||
['u1x2x1', m1, 14, 4,-26, 6, 0,0,-90],
|
||||
['b1x3x1', m1, 15, 8,-30, 9, 0,0,0],
|
||||
['f1x3x1', m1, 15, 4,-34, 9, 0,0,0],
|
||||
['f1x3x1', m2, 16, 8,-30, 12, 0,0,0],
|
||||
['b1x3x1', m1, 16, 4,-28, 12, 0,0,0],
|
||||
['c1x1x1', m3, 17, 4,-32, 12, 0,0,0],
|
||||
['c1x1x1', m2, 17, 4,-32, 15, 0,0,0],
|
||||
['a1x2x2', m3, 18, -4,-28, 15, 0,0,90],
|
||||
['a1x2x2', m2, 18, 4,-28, 15, 0,0,-90],
|
||||
['b1x3x1', m2, 18, -2,-24, 15, 0,0,90],
|
||||
['b1x3x1', m3, 18, 10,-24, 15, 0,0,90],
|
||||
['f1x3x1', m3, 19, 4,-28, 18, 0,0,90],
|
||||
['b1x2x1', m3, 19, 2,-24, 18, 0,0,90],
|
||||
['a1x2x2', m3, 19, 10,-24, 18, 0,0,90],
|
||||
['a1x2x2', m2, 19,-10,-24, 18, 0,0,-90],
|
||||
['b1x1x1', m3, 20, 10,-24, 21, 0,0,0],
|
||||
['b1x1x1', m3, 20,-10,-24, 21, 0,0,0],
|
||||
['b1x1x1', m2, 21, 10,-24, 24, 0,0,0],
|
||||
['b1x1x1', m2, 21,-10,-24, 24, 0,0,0],
|
||||
['c1x3x1', m1, 22, 4,-20, 0, 0,0,0],
|
||||
['c1x3x1', m1, 22, -4,-20, 0, 0,0,0],
|
||||
['c1x4x1', m1, 22, 8, 0, 0, 0,0,0],
|
||||
['c1x4x1', m1, 22, -8, 0, 0, 0,0,0],
|
||||
['b2x3x1', m1, 22, 4, 8, 0, 0,0,90],
|
||||
['t2x3x1', m1, 22, 0, 16, 0, 0,0,90],
|
||||
['c1x3x1', m2, 22, 0, 24, 0, 0,0,-45],
|
||||
['c1x4x1', m3, 23, 0, 8, 3, 0,0,-45, 1],
|
||||
['c1x4x1', m3, 23, 0, 12, -3, 0,0,-45, 2],
|
||||
['c1x4x1', m3, 23, 0, 12, 3, 0,0,-45, 3],
|
||||
];
|
||||
|
||||
model_animat=[
|
||||
[132,'rotation','z','*1', -0.883572934,0.883572934,.09817477],
|
||||
[133,'rotation','z','*2', -0.883572934,0.883572934,.09817477],
|
||||
[134,'rotation','z','*3', -0.883572934,0.883572934,.09817477],
|
||||
[135,'rotation','z','*4', -0.883572934,0.883572934,.09817477],
|
||||
];
|
324
programs/bcc32/games/blocks/molen_Kinderdijk.js
Normal file
324
programs/bcc32/games/blocks/molen_Kinderdijk.js
Normal file
@ -0,0 +1,324 @@
|
||||
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
||||
|
||||
const m1 = 0x80000080; //синий
|
||||
const m2 = 0xffd14a; //16765258 //желт.
|
||||
const m3 = 0x844a00; //8669696 //коричн.
|
||||
const m4 = 0x1bff4c; //зеленый
|
||||
const m5 = 0xff0000; //красный
|
||||
const m6 = 0x126a2b; //зеленый тёмн.
|
||||
const m7 = 0xffffff; //белый
|
||||
const m8 = 0xfc8031; //оранжевый
|
||||
const m9 = 0x808080; //серый
|
||||
const m10 = 0x000040; //синий тёмн.
|
||||
const m11 = 0x90c7fe; //голубой
|
||||
|
||||
model_list=[
|
||||
['b20x20x1', m1, 0,-40, -40, 0, 0,0,0],
|
||||
['b1x4x1', m2, 1,-28, 36, 3, 0,0,90],
|
||||
['b1x4x1', m2, 1,-28, 32, 3, 0,0,90],
|
||||
['b1x4x1', m2, 1,-28, 28, 3, 0,0,90],
|
||||
['b1x4x1', m2, 1,-40, 12, 3, 0,0,0],
|
||||
['b1x2x1', m2, 1,-40, 4, 3, 0,0,0],
|
||||
['b2x8x1', m2, 1,-12, -4, 3, 0,0,90],
|
||||
['b1x4x1', m2, 1,-24, -8, 3, 0,0,90],
|
||||
['c1x1x1', m3, 1, -8, 0, 3, 0,0,0],
|
||||
['c1x1x1', m3, 1, -8, 4, 3, 0,0,0],
|
||||
['b1x2x1', m2, 1,-12, 4, 3, 0,0,0],
|
||||
['b1x4x1', m2, 1,-12, 12, 3, 0,0,0],
|
||||
['b1x4x1', m2, 1,-12, 28, 3, 0,0,90],
|
||||
['b2x8x1', m2, 1, 4, 32, 3, 0,0,90],
|
||||
['b2x8x1', m2, 1, 36, 32, 3, 0,0,90],
|
||||
['b2x8x1', m4, 2, 36, 24, 3, 0,0,90],
|
||||
['b1x2x1', m4, 2, 4, 24, 3, 0,0,0],
|
||||
['b1x2x1', m4, 2, 0, 24, 3, 0,0,0],
|
||||
['b1x2x1', m4, 2, -4, 24, 3, 0,0,0],
|
||||
['b1x4x1', m4, 2, -4, 8, 3, 0,0,0],
|
||||
['b1x2x1', m4, 2, 4, 8, 3, 0,0,90],
|
||||
['b1x2x1', m4, 2, 4, 20, 3, 0,0,90],
|
||||
['b1x2x1', m2, 2, -8, 24, 3, 0,0,0],
|
||||
['b1x4x1', m2, 2, -8, 8, 3, 0,0,0],
|
||||
['c1x1x1', m3, 2, 4, 4, 3, 0,0,0],
|
||||
['c1x1x1', m3, 2, 4, 0, 3, 0,0,0],
|
||||
['b2x8x1', m2, 2, 36, 4, 3, 0,0,90],
|
||||
['b1x4x1', m2, 2, 20, 0, 3, 0,0,90],
|
||||
['b1x3x1', m3, 2, 32, 0, 3, 0,0,90],
|
||||
['b2x8x1', m4, 2, 36, 12, 3, 0,0,90],
|
||||
['b1x2x1', m4, 2, 36, 20, 3, 0,0,90],
|
||||
['b1x4x1', m4, 3, 36, 36, 6, 0,0,90],
|
||||
['c1x1x1', m5, 3, 32, 32, 6, 0,0,0],
|
||||
['b1x4x1', m4, 3, 20, 36, 6, 0,0,90],
|
||||
['b1x4x1', m4, 3, 4, 36, 6, 0,0,90],
|
||||
['b1x4x1', m4, 3,-12, 36, 6, 0,0,90],
|
||||
['b1x4x1', m4, 3, -4, 8, 6, 0,0,90],
|
||||
['b1x4x1', m4, 3, -28,36, 6, 0,0,90],
|
||||
['b2x8x1', m4, 3,-40, 0, 6, 0,0,0],
|
||||
['b2x8x1', m4, 3,-32, 0, 6, 0,0,0],
|
||||
['b2x8x1', m4, 3,-24, 0, 6, 0,0,0],
|
||||
['b2x8x1', m4, 3,-16, 0, 6, 0,0,0],
|
||||
['b1x4x1', m4, 3,-24, -4, 6, 0,0,90],
|
||||
['b1x4x1', m3, 4, 4, 0, 6, 0,0,90],
|
||||
['b1x4x1', m3, 4, 4, 4, 6, 0,0,90],
|
||||
['b1x4x1', m4, 4, 0, 8, 6, 0,0,0],
|
||||
['b1x4x1', m4, 4, 4, 8, 6, 0,0,0],
|
||||
['b1x2x1', m4, 4, 4, 24, 6, 0,0,90],
|
||||
['b2x8x1', m4, 4, 36, 20, 6, 0,0,90],
|
||||
['b1x2x1', m6, 4, 8, 12, 6, 0,0,0],
|
||||
['b1x2x1', m7, 4, 12, 12, 6, 0,0,0],
|
||||
['b1x2x1', m7, 4, 20, 16, 6, 0,0,90],
|
||||
['b1x3x1', m7, 4, 24, 8, 6, 0,0,0],
|
||||
['b1x1x1', m3, 4, 20, 8, 6, 0,0,90],
|
||||
['b1x2x1', m7, 4, 16, 8, 6, 0,0,90],
|
||||
['c1x1x1', m6, 5, 8, 12, 9, 0,0,0],
|
||||
['c1x1x1', m6, 5, 8, 16, 9, 0,0,0],
|
||||
['b1x2x1', m7, 5, 16, 16, 9, 0,0,90],
|
||||
['b1x2x1', m7, 5, 24, 16, 9, 0,0,90],
|
||||
['b1x1x1', m1, 5, 24, 12, 9, 0,0,0],
|
||||
['b1x1x1', m7, 5, 24, 8, 9, 0,0,0],
|
||||
['b1x1x1', m3, 5, 20, 8, 9, 0,0,0],
|
||||
['b1x1x1', m1, 5, 16, 8, 9, 0,0,0],
|
||||
['b1x2x1', m7, 5, 12, 8, 9, 0,0,0],
|
||||
['b1x4x1', m8, 6, 12, 6, 12, 0,0,0],
|
||||
['b1x4x1', m8, 6, 24, 6, 12, 0,0,0],
|
||||
['b1x2x1', m7, 6, 20, 8, 12, 0,0,90],
|
||||
['b1x2x1', m7, 6, 20, 16, 12, 0,0,90],
|
||||
['b1x4x1', m8, 7, 16, 6, 15, 0,0,0],
|
||||
['b1x4x1', m8, 7, 20, 6, 15, 0,0,0],
|
||||
['c1x1x1', m3, 8, 32, 8, 6, 0,0,0],
|
||||
['b1x2x1', m6, 8, 32, 8, 9, 0,0,-90],
|
||||
['b1x2x1', m6, 8, 32, 8, 12, 0,0,-30],
|
||||
['b1x2x1', m6, 8, 32, 8, 15, 0,0,30],
|
||||
['b1x2x1', m6, 8, 32, 8, 18, 0,0,-30],
|
||||
['c1x1x1', m2, 9, 32, 32, 9, 0,0,0],
|
||||
['c1x1x1', m6, 9, 8, 36, 9, 0,0,0],
|
||||
['c1x1x1', m6, 9, 4, 36, 9, 0,0,0],
|
||||
['c1x1x1', m6, 9,-12, 36, 9, 0,0,0],
|
||||
['c1x1x1', m6, 9,-36, 36, 9, 0,0,0],
|
||||
['c1x1x1', m6, 9,-40, 36, 9, 0,0,0],
|
||||
['c1x1x1', m6, 9,-40, 0, 9, 0,0,0],
|
||||
['c1x1x1', m6, 9,-16, 0, 9, 0,0,0],
|
||||
['c1x1x1', m6, 9,-12, 0, 9, 0,0,0],
|
||||
['b1x2x1', m7, 10,-20, 4, 9, 0,0,90],
|
||||
['b1x2x1', m7, 10,-16, 8, 9, 0,0,90],
|
||||
['b1x1x1', m7, 10,-16, 12, 9, 0,0,0],
|
||||
['b1x2x1', m6, 10,-16, 16, 9, 0,0,90],
|
||||
['b1x2x1', m7, 10,-16, 20, 9, 0,0,90],
|
||||
['b1x2x1', m7, 10,-20, 24, 9, 0,0,90],
|
||||
['b1x2x1', m7, 10,-28, 24, 9, 0,0,90],
|
||||
['b1x2x1', m7, 10,-32, 20, 9, 0,0,90],
|
||||
['b1x2x1', m7, 10,-36, 12, 9, 0,0,0],
|
||||
['b1x2x1', m7, 10,-32, 8, 9, 0,0,90],
|
||||
['b1x2x1', m7, 10,-28, 4, 9, 0,0,90],
|
||||
['b1x1x1', m7, 11,-24, 4, 12, 0,0,0],
|
||||
['b1x2x1', m7, 11,-20, 4, 12, 0,0,0],
|
||||
['b1x1x1', m7, 11,-16, 8, 12, 0,0,0],
|
||||
['b1x1x1', m1, 11,-16, 12, 12, 0,0,0],
|
||||
['b1x2x1', m6, 11,-16, 16, 12, 0,0,90],
|
||||
['b1x1x1', m7, 11,-16, 20, 12, 0,0,0],
|
||||
['b1x2x1', m7, 11,-20, 20, 12, 0,0,0],
|
||||
['b1x2x1', m7, 11,-24, 24, 12, 0,0,90],
|
||||
['b1x2x1', m7, 11,-32, 20, 12, 0,0,0],
|
||||
['b1x2x1', m7, 11,-36, 16, 12, 0,0,0],
|
||||
['b1x2x1', m7, 11,-36, 8, 12, 0,0,0],
|
||||
['b1x2x1', m7, 11,-32, 4, 12, 0,0,0],
|
||||
['b1x1x1', m1, 11,-28, 4, 12, 0,0,0],
|
||||
['b2x4x1', m9, 12,-20, 4, 15, 0,0,0],
|
||||
['b2x4x1', m9, 12,-16, 20, 15, 0,0,90],
|
||||
['b2x4x1', m9, 12,-32, 24, 15, 0,0,180],
|
||||
['b2x4x1', m9, 12,-36, 8, 15, 0,0,-90],
|
||||
['b2x4x1', m9, 13,-16, 8, 18, 0,0,0],
|
||||
['b1x4x1', m9, 13,-20, 8, 18, 0,0,0],
|
||||
['b1x1x1', m9, 13,-16, 24, 18, 0,0,0],
|
||||
['b2x4x1', m9, 13,-20, 24, 18, 0,0,90],
|
||||
['b1x1x1', m9, 13,-36, 24, 18, 0,0,0],
|
||||
['b2x4x1', m9, 13,-40, 8, 18, 0,0,0],
|
||||
['b1x4x1', m9, 13,-32, 8, 18, 0,0,0],
|
||||
['b1x1x1', m9, 13,-36, 4, 18, 0,0,0],
|
||||
['b2x4x1', m9, 13,-20, 0, 18, 0,0,90],
|
||||
['b1x1x1', m9, 13,-16, 4, 18, 0,0,0],
|
||||
['b1x2x1', m9, 14,-20, 4, 21, 0,0,0],
|
||||
['b1x4x1', m9, 14,-16, 8, 21, 0,0,0],
|
||||
['b1x2x1', m9, 14,-20, 20, 21, 0,0,0],
|
||||
['b1x2x1', m9, 14,-24, 24, 21, 0,0,90],
|
||||
['b1x2x1', m9, 14,-32, 20, 21, 0,0,0],
|
||||
['b1x4x1', m9, 14,-36, 8, 21, 0,0,0],
|
||||
['b1x2x1', m9, 14,-32, 4, 21, 0,0,0],
|
||||
['b1x2x1', m9, 14,-24, 4, 21, 0,0,90],
|
||||
['b1x2x1', m9, 15,-16, 8, 24, 0,0,90],
|
||||
['f1x2x1', m9, 15,-16, 12, 24, 0,0,0],
|
||||
['b1x2x1', m9, 15,-16, 20, 24, 0,0,90],
|
||||
['b1x4x1', m9, 15,-20, 24, 24, 0,0,90],
|
||||
['b1x2x1', m9, 15,-32, 20, 24, 0,0,90],
|
||||
['f1x2x1', m9, 15,-36, 12, 24, 0,0,0],
|
||||
['b1x2x1', m9, 15,-32, 8, 24, 0,0,90],
|
||||
['b1x4x1', m9, 15,-20, 4, 24, 0,0,90],
|
||||
['b1x4x1', m9, 16,-20, 4, 27, 0,0,90],
|
||||
['b1x4x1', m9, 16,-20, 8, 27, 0,0,0],
|
||||
['b1x1x1', m9, 16,-16, 8, 27, 0,0,0],
|
||||
['b1x1x1', m7, 16,-16, 14, 27, 0,0,0],
|
||||
['b1x1x1', m9, 16,-16, 20, 27, 0,0,0],
|
||||
['b1x4x1', m9, 16,-20, 24, 27, 0,0,90],
|
||||
['b1x4x1', m9, 16,-32, 8, 27, 0,0,0],
|
||||
['b1x1x1', m9, 16,-36, 20, 27, 0,0,0],
|
||||
['b1x1x1', m7, 16,-36, 14, 27, 0,0,0],
|
||||
['b1x1x1', m9, 16,-36, 8, 27, 0,0,0],
|
||||
['b1x2x1', m9, 17,-20, 4, 30, 0,0,0],
|
||||
['b1x4x1', m9, 17,-16, 8, 30, 0,0,0],
|
||||
['b1x2x1', m9, 17,-20, 20, 30, 0,0,0],
|
||||
['b1x2x1', m9, 17,-24, 24, 30, 0,0,90],
|
||||
['b1x2x1', m9, 17,-32, 20, 30, 0,0,0],
|
||||
['b1x4x1', m9, 17,-36, 8, 30, 0,0,0],
|
||||
['b1x2x1', m9, 17,-32, 4, 30, 0,0,0],
|
||||
['b1x2x1', m9, 17,-24, 4, 30, 0,0,90],
|
||||
['b1x2x1', m9, 18,-16, 8, 33, 0,0,90],
|
||||
['f1x2x1', m9, 18,-16, 12, 33, 0,0,0],
|
||||
['b1x2x1', m9, 18,-16, 20, 33, 0,0,90],
|
||||
['b1x4x1', m9, 18,-20, 24, 33, 0,0,90],
|
||||
['b1x2x1', m9, 18,-32, 20, 33, 0,0,90],
|
||||
['f1x2x1', m9, 18,-36, 12, 33, 0,0,0],
|
||||
['b1x2x1', m9, 18,-32, 8, 33, 0,0,90],
|
||||
['b1x4x1', m9, 18,-20, 4, 33, 0,0,90],
|
||||
['b1x2x1', m9, 19,-20, 4, 36, 0,0,0],
|
||||
['b1x4x1', m9, 19,-16, 8, 36, 0,0,0],
|
||||
['b1x2x1', m9, 19,-20, 20, 36, 0,0,0],
|
||||
['b1x2x1', m9, 19,-24, 24, 36, 0,0,90],
|
||||
['b1x2x1', m9, 19,-32, 20, 36, 0,0,0],
|
||||
['b1x4x1', m9, 19,-36, 8, 36, 0,0,0],
|
||||
['b1x2x1', m9, 19,-32, 4, 36, 0,0,0],
|
||||
['b1x2x1', m9, 19,-24, 4, 36, 0,0,90],
|
||||
['b1x2x1', m9, 20,-16, 8, 39, 0,0,90],
|
||||
['f1x2x1', m9, 20,-16, 12, 39, 0,0,0],
|
||||
['b1x2x1', m9, 20,-16, 20, 39, 0,0,90],
|
||||
['b1x4x1', m9, 20,-20, 24, 39, 0,0,90],
|
||||
['b1x2x1', m9, 20,-32, 20, 39, 0,0,90],
|
||||
['f1x2x1', m9, 20,-36, 12, 39, 0,0,0],
|
||||
['b1x2x1', m9, 20,-32, 8, 39, 0,0,90],
|
||||
['b1x4x1', m9, 20,-20, 4, 39, 0,0,90],
|
||||
['b1x4x1', m9, 21,-20, 4, 42, 0,0,90],
|
||||
['f1x2x1', m9, 21,-20, 16, 42, 0,0,0],
|
||||
['b1x2x1', m9, 21,-16, 8, 42, 0,0,90],
|
||||
['b1x1x1', m7, 21,-16, 14, 42, 0,0,0],
|
||||
['b1x1x1', m9, 21,-16, 20, 42, 0,0,0],
|
||||
['b1x4x1', m9, 21,-20, 24, 42, 0,0,90],
|
||||
['f1x2x1', m9, 21,-32, 16, 42, 0,0,0],
|
||||
['b1x1x1', m9, 21,-36, 20, 42, 0,0,0],
|
||||
['b1x1x1', m7, 21,-36, 14, 42, 0,0,0],
|
||||
['b1x2x1', m9, 21,-32, 8, 42, 0,0,90],
|
||||
['b1x1x1', m9, 22,-20, 8, 45, 0,0,0],
|
||||
['b1x4x1', m9, 22,-16, 8, 45, 0,0,0],
|
||||
['b1x1x1', m10, 22,-20, 24, 45, 0,0,0],
|
||||
['f1x2x1', m10, 22,-24, 24, 45, 0,0,0],
|
||||
['f1x2x1', m10, 22,-28, 24, 45, 0,0,0],
|
||||
['b1x1x1', m10, 22,-32, 24, 45, 0,0,0],
|
||||
['b1x4x1', m9, 22,-36, 8, 45, 0,0,0],
|
||||
['b1x1x1', m9, 22,-32, 8, 45, 0,0,0],
|
||||
['f1x2x1', m9, 22,-20, 4, 45, 0,0,90],
|
||||
['f1x2x1', m9, 22,-28, 4, 45, 0,0,90],
|
||||
['b1x2x1', m9, 23,-24, 18, 42, 0,0,90],
|
||||
['f1x2x1', m9, 23,-28, 18, 45, 0,0,90],
|
||||
['f1x2x1', m9, 23,-20, 18, 45, 0,0,90],
|
||||
['f1x2x1', m10, 24,-20, 24, 48, 0,0,0],
|
||||
['b1x2x1', m10, 24,-24, 26, 48, 0,0,0],
|
||||
['b1x2x1', m10, 24,-28, 26, 48, 0,0,0],
|
||||
['f1x2x1', m10, 24,-32, 24, 48, 0,0,0],
|
||||
['b1x3x1', m10, 24,-22, 18, 48, 0,0,90],
|
||||
['b2x4x1', m10, 24,-40, 8, 48, 0,0,0],
|
||||
['b2x4x1', m10, 24,-16, 8, 48, 0,0,0],
|
||||
['b1x3x1', m10, 24,-22, 4, 48, 0,0,90],
|
||||
['b2x4x1', m10, 25,-20, 26, 51, 0,0,90],
|
||||
['b1x1x1', m10, 25,-22, 18, 51, 0,0,0],
|
||||
['b1x1x1', m10, 25,-30, 18, 51, 0,0,0],
|
||||
['b1x1x1', m10, 25,-40, 8, 51, 0,0,0],
|
||||
['b1x1x1', m10, 25,-36, 8, 51, 0,0,0],
|
||||
['b1x2x1', m10, 25,-40, 12, 51, 0,0,0],
|
||||
['b1x4x1', m10, 25,-36, 12, 51, 0,0,0],
|
||||
['b1x1x1', m10, 25,-16, 8, 51, 0,0,0],
|
||||
['b1x1x1', m10, 25,-12, 8, 51, 0,0,0],
|
||||
['b1x2x1', m10, 25,-12, 12, 51, 0,0,0],
|
||||
['b1x4x1', m10, 25,-16, 12, 51, 0,0,0],
|
||||
['b1x2x1', m10, 25,-22, 4, 51, 0,0,-90],
|
||||
['b1x2x1', m10, 25,-30, 4, 51, 0,0,90],
|
||||
['b1x1x1', m10, 26,-18, 4, 48, 0,0,0],
|
||||
['b1x1x1', m10, 26,-34, 4, 48, 0,0,0],
|
||||
['b1x2x1', m10, 27,-24, 30, 54, 0,0,90],
|
||||
['b1x4x1', m10, 27,-20, 26, 54, 0,0,90],
|
||||
['b1x1x1', m10, 27,-22, 18, 54, 0,0,0],
|
||||
['b1x1x1', m10, 27,-30, 18, 54, 0,0,0],
|
||||
['b1x3x1', m10, 27,-40, 8, 54, 0,0,-90],
|
||||
['b1x3x1', m10, 27,-12, 8, 54, 0,0,90],
|
||||
['f1x2x1', m10, 27,-22, 4, 54, 0,0,-90],
|
||||
['f1x2x1', m10, 27,-30, 4, 54, 0,0,90],
|
||||
['b1x4x1', m10, 27,-36, 12, 54, 0,0,0],
|
||||
['b1x4x1', m10, 27,-16, 12, 54, 0,0,0],
|
||||
['b1x1x1', m10, 27,-40, 12, 54, 0,0,0],
|
||||
['b1x1x1', m10, 27,-12, 12, 54, 0,0,0],
|
||||
['c1x1x1', m3, 28,-26, 20, 55, 90,0,45],
|
||||
['f1x2x1', m7, 28, 0, -2, -3, 0,0,0, 1],
|
||||
['c1x1x1', m3, 28, 0, 0, 3, 0,0,0, 1],
|
||||
['c1x1x1', m3, 28, 0, 0, 6, 0,0,0, 1],
|
||||
['c1x1x1', m3, 28, 0, 0, 9, 0,0,0, 1],
|
||||
['c1x1x1', m3, 28, 0, 0, 12, 0,0,0, 1],
|
||||
['c1x1x1', m3, 28, 0, 0, 15, 0,0,0, 1],
|
||||
['b1x3x1', m3, 29, -4, -4, 18, 0,0,0, 1],
|
||||
['b1x3x1', m3, 29, 0, -4, 18, 0,0,0, 1],
|
||||
['b1x3x1', m3, 29, 4, -4, 18, 0,0,0, 1],
|
||||
['b1x4x1', m3, 30, 0, 4, 21, 0,0,0, 1],
|
||||
['b1x4x1', m3, 30, 0,-16, 21, 0,0,0, 1],
|
||||
['b1x4x1', m3, 30, 4, 0, 21, 0,0,-90, 1],
|
||||
['b1x4x1', m3, 30, -4, 0, 21, 0,0,90, 1],
|
||||
['b1x1x1', m3, 30, 4, 4, 21, 0,0,0, 1],
|
||||
['b1x1x1', m3, 30, 4, -4, 21, 0,0,0, 1],
|
||||
['b1x1x1', m3, 30, -4, -4, 21, 0,0,0, 1],
|
||||
['b1x1x1', m3, 30, -4, 4, 21, 0,0,0, 1],
|
||||
['b1x1x1', m3, 30, 0, 0, 21, 0,0,0, 1],
|
||||
['b1x3x1', m3, 31, 4, -4, 24, 0,0,90, 1],
|
||||
['b1x3x1', m3, 31, 4, 0, 24, 0,0,90, 1],
|
||||
['b1x3x1', m3, 31, 4, 4, 24, 0,0,90, 1],
|
||||
['b2x8x1', m7, 31, 0, 12, 24, 0,0,0, 1],
|
||||
['b2x8x1', m7, 31, 12, 0, 24, 0,0,-90, 1],
|
||||
['b2x8x1', m7, 31, 0,-12, 24, 0,0,-180, 1],
|
||||
['b2x8x1', m7, 31,-12, 0, 24, 0,0,90, 1],
|
||||
['c1x1x1', m5, 32, 0, 0, 27, 0,0,0, 1],
|
||||
['b1x1x1', m10, 33,-16, 8, 57, 0,0,0],
|
||||
['b1x4x1', m10, 33,-16, 12, 57, 0,0,0],
|
||||
['b1x4x1', m10, 33,-20, 4, 57, 0,0,90],
|
||||
['b1x4x1', m10, 33,-20, 8, 57, 0,0,90],
|
||||
['b1x4x1', m10, 33,-36, 12, 57, 0,0,0],
|
||||
['b1x4x1', m10, 33,-20, 18, 57, 0,0,90],
|
||||
['b1x1x1', m10, 33,-36, 8, 57, 0,0,0],
|
||||
['b2x4x1', m10, 33,-20, 26, 57, 0,0,90],
|
||||
['b1x3x1', m10, 34,-16, 8, 60, 0,0,0],
|
||||
['b2x4x1', m10, 34,-20, 22, 60, 0,0,90],
|
||||
['b1x4x1', m10, 34,-20, 18, 60, 0,0,90],
|
||||
['b1x3x1', m10, 34,-36, 8, 60, 0,0,0],
|
||||
['f1x2x1', m10, 34,-32, 4, 60, 0,0,0],
|
||||
['f1x2x1', m10, 34,-28, 4, 60, 0,0,0],
|
||||
['f1x2x1', m10, 34,-24, 4, 60, 0,0,0],
|
||||
['f1x2x1', m10, 34,-20, 4, 60, 0,0,0],
|
||||
['b2x4x1', m10, 35,-24, 6, 63, 0,0,0],
|
||||
['b2x4x1', m10, 35,-32, 6, 63, 0,0,0],
|
||||
['b1x2x1', m2, 36,-36, -40, 3, 0,0,90],
|
||||
['b1x4x1', m2, 36,-20, -40, 3, 0,0,90],
|
||||
['b1x4x1', m2, 36,-28, -36, 3, 0,0,90],
|
||||
['b1x4x1', m6, 37,-28, -40, 6, 0,0,90],
|
||||
['c1x1x1', m4, 37,-40, -36, 6, 0,0,0],
|
||||
['c1x1x1', m4, 37,-36, -36, 6, 0,0,0],
|
||||
['c1x1x1', m4, 37,-24, -40, 6, 0,0,0],
|
||||
['f1x2x1', m5, 38, 0,-24, 3, 0,0,0],
|
||||
['b2x4x1', m5, 38, 16, 0, 0, 0,0,90, 1],
|
||||
['f1x2x1', m5, 38, 20, 0, 0, 0,0,0, 1],
|
||||
['b1x1x1', m7, 39, 0, 2, 3, 0,0,0, 1],
|
||||
['b2x2x1', m7, 39, 4, 0, 3, 0,0,0, 1],
|
||||
['b2x2x1', m7, 39, 12, 0, 3, 0,0,0, 1],
|
||||
['b1x1x1', m7, 39, 20, 2, 3, 0,0,0, 1],
|
||||
['b1x2x1', m1, 39, 8, 0, 6, 0,0,0, 1],
|
||||
['b1x2x1', m5, 39, 12, 0, 6, 0,0,0, 1],
|
||||
['b2x2x1', m7, 41, 8, 0, 9, 0,0,0, 1],
|
||||
['c1x1x1', m3, 41, 12, 0, 12, 0,0,0, 1],
|
||||
['c1x1x1', m11, 42, 0, 4, 9, 0,0,0],
|
||||
['c1x1x1', m2, 42, 0, 4, 12, 0,0,0],
|
||||
];
|
||||
|
||||
model_animat=[
|
||||
[238,'rotation','z','Mill', 0,3.141592654,.09817477],
|
||||
[290,'position','x','Ship', -40,16,4],
|
||||
];
|
@ -121,10 +121,11 @@ namespace Kolibri // All kolibri functions, types and data are nested in the (
|
||||
void DebugPutChar(char c); // Put the character to the debug board.
|
||||
void DebugPutString(const char *s); // Put the string to the debug board.
|
||||
int GetKey(); // Return key pressed by user or -1 if no key was pressed.
|
||||
int GetMouseButton(); // Return buttons pressed: 0 - no buttons, 1 - left button, 2 - right button, 3 - both buttons.
|
||||
void GetMousePosition(short &x, short &y, bool absolute = false);
|
||||
// Write mouse position to (x) and (y): absolute if (absolute) is true and relative the window otherwise.
|
||||
void GetMousePosPicture(short &x, short &y);
|
||||
int GetMouseButton(); // Return buttons pressed: bit 0 - left button, bit 1 - right button...
|
||||
void GetMouseScrollData(short &x, short &y);
|
||||
|
||||
int GetThreadNumber(); // Return the number of threads currently executing.
|
||||
bool WasThreadCreated(); // Return true if there was created at least one thread except the main thred.
|
||||
|
@ -1029,22 +1029,35 @@ proc @Kolibri@GetKey$qv
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc @Kolibri@GetMousePosition$qrst1o uses ebx
|
||||
mov eax,SF_MOUSE_GET
|
||||
xor ebx,ebx ;SSF_SCREEN_POSITION
|
||||
cmp byte [esp+16],0
|
||||
jnz @f
|
||||
inc ebx ;SSF_WINDOW_POSITION
|
||||
@@:
|
||||
int 0x40
|
||||
mov ecx,[esp+12]
|
||||
mov word [ecx],ax
|
||||
mov ecx,[esp+8]
|
||||
shr eax,16
|
||||
mov word [ecx],ax
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc @Kolibri@GetMouseButton$qv uses ebx
|
||||
mov eax,SF_MOUSE_GET
|
||||
mov ebx,SSF_BUTTON
|
||||
mov ebx,SSF_BUTTON_EXT
|
||||
int 0x40
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc @Kolibri@GetMousePosition$qrst1o uses ebx
|
||||
proc @Kolibri@GetMouseScrollData$qrst1 uses ebx
|
||||
mov eax,SF_MOUSE_GET
|
||||
xor ebx,ebx ;SSF_SCREEN_POSITION
|
||||
cmp byte [esp+16],0
|
||||
jnz .get_mouse_pos_absolute
|
||||
inc ebx
|
||||
.get_mouse_pos_absolute:
|
||||
mov ebx,SSF_SCROLL_DATA
|
||||
int 0x40
|
||||
mov ecx,[esp+12]
|
||||
mov word [ecx],ax
|
||||
|
@ -1,13 +1,13 @@
|
||||
;/***
|
||||
|
||||
KolibriHeapInit = @Kolibri@HeapInit$qv
|
||||
|
||||
KolibriHeapAlloc = @Kolibri@Alloc$qul
|
||||
|
||||
KolibriHeapReAlloc = @Kolibri@ReAlloc$qpvul
|
||||
|
||||
KolibriHeapFree = @Kolibri@Free$qpv
|
||||
|
||||
@$bnwa$qui equ @Kolibri@Alloc$qul ;new variable
|
||||
@$bnew$qui equ @Kolibri@Alloc$qul ;new struct or class
|
||||
@$bdele$qpv equ @Kolibri@Free$qpv ;delete
|
||||
|
||||
align 4
|
||||
proc @Kolibri@HeapInit$qv uses ebx
|
||||
mov eax,SF_SYS_MISC
|
||||
@ -43,5 +43,3 @@ proc @Kolibri@Free$qpv uses ebx
|
||||
int 0x40
|
||||
ret
|
||||
endp
|
||||
|
||||
;/**/
|
||||
|
@ -1,16 +1,13 @@
|
||||
#ifndef __KOLIBRI_LIB_H_INCLUDED_
|
||||
#define __KOLIBRI_LIB_H_INCLUDED_
|
||||
|
||||
// Kolibri interface.
|
||||
unsigned int strlen(const char *str);
|
||||
char *strcpy(char *dest, const char *src);
|
||||
void *memcpy(void *dest, const void *src, unsigned int n);
|
||||
void *memset(void *s, char c, unsigned int n);
|
||||
int strcmp(const char *str1, const char *str2);
|
||||
char *strchr(const char *str, int ch);
|
||||
char *strstr(const char *str1, const char *str2);
|
||||
|
||||
namespace Kolibri // All kolibri functions, types and data are nested in the (Kolibri) namespace.
|
||||
{
|
||||
unsigned int StrLen(const char *str);
|
||||
char *StrCopy(char *dest, const char *src);
|
||||
void *MemCopy(void *dest, const void *src, unsigned int n);
|
||||
void *MemSet(void *s, char c, unsigned int n);
|
||||
|
||||
double Floor(double x);
|
||||
}
|
||||
|
||||
#endif // __KOLIBRI_LIB_H_INCLUDED_
|
||||
double floor(double x);
|
||||
const char *DoubleToStr(double x, unsigned short digits = 5, bool crop_0 = false);
|
||||
double StrToDouble(char *str);
|
||||
long StrToInt(char *str);
|
||||
|
@ -1,34 +1,149 @@
|
||||
proc @Kolibri@StrLen$qpxc uses edi
|
||||
include "..\..\..\develop\info3ds\info_fun_float.inc"
|
||||
|
||||
align 4
|
||||
proc @DoubleToStr$qduso uses esi edi
|
||||
cld
|
||||
lea esi,[esp+12]
|
||||
mov edi,Data_Double
|
||||
movsd
|
||||
movsd
|
||||
mov ax,[esp+20]
|
||||
mov [NumberSymbolsAD],ax
|
||||
call DoubleFloat_to_String
|
||||
cmp dword[esp+24],0
|
||||
je @f
|
||||
call String_crop_0
|
||||
@@:
|
||||
mov eax,Data_String
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc @StrToDouble$qpc uses esi edi
|
||||
cld
|
||||
mov edi,Data_String
|
||||
mov esi,[esp+12]
|
||||
mov ecx,32
|
||||
repnz movsb
|
||||
call String_to_DoubleFloat
|
||||
fld qword[Data_Double]
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
; *str - указатель на строку, число должно быть в 10 или 16 ричном виде
|
||||
;output:
|
||||
; eax - число
|
||||
align 4
|
||||
proc @StrToInt$qpc uses ebx esi
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
mov esi,[esp+12]
|
||||
|
||||
;на случай если перед числом находятся пробелы
|
||||
@@:
|
||||
cmp byte[esi],' '
|
||||
jne @f
|
||||
inc esi
|
||||
jmp @b
|
||||
@@:
|
||||
|
||||
;определение отрицательных чисел
|
||||
xor ecx,ecx
|
||||
inc ecx
|
||||
cmp byte[esi],'-'
|
||||
jne @f
|
||||
dec ecx
|
||||
inc esi
|
||||
@@:
|
||||
|
||||
cmp word[esi],'0x'
|
||||
je .load_digit_16
|
||||
|
||||
.load_digit_10: ;считывание 10-тичных цифр
|
||||
mov bl,byte[esi]
|
||||
cmp bl,'0'
|
||||
jl @f
|
||||
cmp bl,'9'
|
||||
jg @f
|
||||
sub bl,'0'
|
||||
imul eax,10
|
||||
add eax,ebx
|
||||
inc esi
|
||||
jmp .load_digit_10
|
||||
jmp @f
|
||||
|
||||
.load_digit_16: ;считывание 16-ричных цифр
|
||||
add esi,2
|
||||
.cycle_16:
|
||||
mov bl,byte[esi]
|
||||
cmp bl,'0'
|
||||
jl @f
|
||||
cmp bl,'f'
|
||||
jg @f
|
||||
cmp bl,'9'
|
||||
jle .us1
|
||||
cmp bl,'A'
|
||||
jl @f ;отсеиваем символы >'9' и <'A'
|
||||
.us1: ;составное условие
|
||||
cmp bl,'F'
|
||||
jle .us2
|
||||
cmp bl,'a'
|
||||
jl @f ;отсеиваем символы >'F' и <'a'
|
||||
sub bl,32 ;переводим символы в верхний регистр, для упрощения их последущей обработки
|
||||
.us2: ;составное условие
|
||||
sub bl,'0'
|
||||
cmp bl,9
|
||||
jle .cor1
|
||||
sub bl,7 ;convert 'A' to '10'
|
||||
.cor1:
|
||||
shl eax,4
|
||||
add eax,ebx
|
||||
inc esi
|
||||
jmp .cycle_16
|
||||
@@:
|
||||
or ecx,ecx ;если число отрицательное
|
||||
jnz @f
|
||||
sub ecx,eax
|
||||
mov eax,ecx
|
||||
@@:
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc @strlen$qpxc uses edi
|
||||
cld
|
||||
mov edi,[esp+8]
|
||||
mov ecx,-1
|
||||
xor al,al
|
||||
repnz scas byte [edi]
|
||||
repnz scasb
|
||||
not ecx
|
||||
lea eax,[ecx-1]
|
||||
ret
|
||||
endp
|
||||
|
||||
proc @Kolibri@StrCopy$qpcpxc uses esi edi
|
||||
align 4
|
||||
proc @strcpy$qpcpxc uses esi edi
|
||||
cld
|
||||
mov edi,[esp+16]
|
||||
mov ecx,-1
|
||||
mov esi,edi
|
||||
xor al,al
|
||||
repnz scas byte [edi]
|
||||
repnz scasb
|
||||
not ecx
|
||||
mov edi,[esp+12]
|
||||
mov edx,ecx
|
||||
mov eax,edi
|
||||
shr ecx,2
|
||||
rep movs dword [edi],[esi]
|
||||
rep movsd
|
||||
mov ecx,edx
|
||||
and ecx,3
|
||||
rep movs byte [edi],[esi]
|
||||
rep movsb
|
||||
ret
|
||||
endp
|
||||
|
||||
proc @Kolibri@MemCopy$qpvpxvui uses esi edi
|
||||
align 4
|
||||
proc @memcpy$qpvpxvui uses esi edi
|
||||
cld
|
||||
mov edi,[esp+12]
|
||||
mov eax,edi
|
||||
@ -36,14 +151,15 @@ proc @Kolibri@MemCopy$qpvpxvui uses esi edi
|
||||
mov esi,[esp+16]
|
||||
mov edx,ecx
|
||||
shr ecx,2
|
||||
rep movs dword [edi],[esi]
|
||||
rep movsd
|
||||
mov ecx,edx
|
||||
and ecx,3
|
||||
rep movs byte [edi],[esi]
|
||||
rep movsb
|
||||
ret
|
||||
endp
|
||||
|
||||
proc @Kolibri@MemSet$qpvcui uses edi
|
||||
align 4
|
||||
proc @memset$qpvcui uses edi
|
||||
cld
|
||||
mov edi,[esp+8]
|
||||
mov al,[esp+12]
|
||||
@ -54,21 +170,93 @@ proc @Kolibri@MemSet$qpvcui uses edi
|
||||
mov ecx,[esp+16]
|
||||
mov edx,ecx
|
||||
shr ecx,2
|
||||
rep stos dword [edi]
|
||||
rep stosd
|
||||
mov ecx,edx
|
||||
and ecx,3
|
||||
rep stos byte [edi]
|
||||
rep stosb
|
||||
mov eax,[esp+4]
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc @strcmp$qpxct1 uses esi edi
|
||||
cld
|
||||
xor eax,eax
|
||||
mov edi,[esp+16]
|
||||
mov esi,edi
|
||||
mov ecx,-1
|
||||
repne scasb
|
||||
not ecx
|
||||
mov edi,esi
|
||||
mov esi,[esp+12]
|
||||
repe cmpsb
|
||||
mov al,[esi-1]
|
||||
movzx edx,byte[edi-1]
|
||||
sub eax,edx
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc @strchr$qpxci uses edi
|
||||
mov edi,[esp+8]
|
||||
mov edx,edi
|
||||
mov ecx,-1
|
||||
xor eax,eax
|
||||
cld
|
||||
repne scasb
|
||||
not ecx
|
||||
mov edi,edx
|
||||
mov al,[esp+12]
|
||||
repne scasb
|
||||
jnz @f
|
||||
lea eax,[edi-1]
|
||||
ret
|
||||
@@:
|
||||
xor eax,eax
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc @strstr$qpxct1 uses ebx esi edi
|
||||
xor eax,eax
|
||||
mov esi,[esp+16]
|
||||
test esi,esi
|
||||
je .not_f
|
||||
mov edi,[esp+20]
|
||||
test edi,edi
|
||||
je .not_f
|
||||
mov edx,edi
|
||||
mov ecx,-1
|
||||
cld
|
||||
repne scasb
|
||||
not ecx
|
||||
mov ebx,ecx ;ebx = strlen(str2)
|
||||
align 4
|
||||
.cycle:
|
||||
cmp byte[esi],0
|
||||
je .not_f
|
||||
mov edi,edx
|
||||
push esi
|
||||
mov ecx,ebx
|
||||
repe cmpsb
|
||||
pop esi
|
||||
inc esi
|
||||
cmp byte[edi-1],0
|
||||
jne .cycle
|
||||
|
||||
lea eax,[esi-1]
|
||||
.not_f:
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc __ftol
|
||||
sub esp,12
|
||||
wait
|
||||
fstcw word [esp+8]
|
||||
wait
|
||||
mov al,[esp+9]
|
||||
or byte [esp+9],0x0c
|
||||
or byte [esp+9],0x0c
|
||||
fldcw word [esp+8]
|
||||
fistp qword [esp]
|
||||
mov [esp+9],al
|
||||
@ -79,12 +267,13 @@ proc __ftol
|
||||
ret
|
||||
endp
|
||||
|
||||
proc @Kolibri@Floor$qd
|
||||
align 4
|
||||
proc @floor$qd
|
||||
fld qword [esp+4]
|
||||
mov ax,[esp+10]
|
||||
shl ax,1
|
||||
cmp ax,0x8680
|
||||
ja .floor_end
|
||||
ja .floor_end
|
||||
mov ch,4
|
||||
sub esp,2
|
||||
wait
|
||||
@ -93,7 +282,7 @@ proc @Kolibri@Floor$qd
|
||||
wait
|
||||
mov dx,[esp]
|
||||
and ax,dx
|
||||
or ah,ch
|
||||
or ah,ch
|
||||
mov [esp],ax
|
||||
fldcw word [esp]
|
||||
frndint
|
||||
@ -103,4 +292,3 @@ proc @Kolibri@Floor$qd
|
||||
.floor_end:
|
||||
ret
|
||||
endp
|
||||
|
||||
|
5
programs/bcc32/include/kos_unpack.h
Normal file
5
programs/bcc32/include/kos_unpack.h
Normal file
@ -0,0 +1,5 @@
|
||||
void __stdcall unpack(void* packed_data, void* unpacked_data);
|
||||
|
||||
asm{
|
||||
include '..\..\include\kos_unpack.inc'
|
||||
}
|
7
programs/bcc32/include/kos_unpack.inc
Normal file
7
programs/bcc32/include/kos_unpack.inc
Normal file
@ -0,0 +1,7 @@
|
||||
@@unpack$qqspvt1 equ unpack
|
||||
|
||||
include "..\..\..\system\skincfg\trunk\kglobals.inc"
|
||||
include "..\..\..\system\skincfg\trunk\unpacker.inc"
|
||||
|
||||
IncludeIGlobals
|
||||
IncludeUGlobals
|
@ -756,7 +756,7 @@ void (__stdcall* glTranslatef)(float x, float y, float z) = (void (__stdcall*)(f
|
||||
void (__stdcall* glScalef)(float x, float y, float z) = (void (__stdcall*)(float, float, float))&"glScalef";
|
||||
void (__stdcall* glViewport)(int x, int y, int width, int height) = (void (__stdcall*)(int, int, int, int))&"glViewport";
|
||||
void (__stdcall* glFrustum)(double l, double r, double b, double t, double n, double f) = (void (__stdcall*)(double, double, double, double, double, double))&"glFrustum";
|
||||
void (__stdcall* glGenLists)(int range) = (void (__stdcall*)(int))&"glGenLists";
|
||||
int (__stdcall* glGenLists)(int range) = (int (__stdcall*)(int))&"glGenLists";
|
||||
//void (__stdcall* glIsList)(...) = (void (__stdcall*)(...))&"glIsList";
|
||||
void (__stdcall* glNewList)(unsigned int list, int mode) = (void (__stdcall*)(unsigned int, int))&"glNewList";
|
||||
void (__stdcall* glEndList)() = (void (__stdcall*)())&"glEndList";
|
||||
|
Loading…
Reference in New Issue
Block a user