summaryrefslogtreecommitdiff
path: root/src/hackvr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/hackvr.c')
-rw-r--r--src/hackvr.c40
1 files changed, 25 insertions, 15 deletions
diff --git a/src/hackvr.c b/src/hackvr.c
index e2a0593..b1819cb 100644
--- a/src/hackvr.c
+++ b/src/hackvr.c
@@ -14,6 +14,7 @@
#include "config.h"
#include "common.h"
+#include "math.h"
#ifdef GRAPHICAL
#include "graphics.h"
extern struct gra_global gra_global;
@@ -209,9 +210,9 @@ int load_stdin() {
printf("%s set camera.p.x %Lf\n",global.user,camera.p.x);
printf("%s set camera.p.y %Lf\n",global.user,camera.p.y);
printf("%s set camera.p.z %Lf\n",global.user,camera.p.z);
- printf("%s set camera.xr %d\n",global.user,camera.xr);
- printf("%s set camera.yr %d\n",global.user,camera.yr);
- printf("%s set camera.zr %d\n",global.user,camera.zr);
+ printf("%s set camera.xr %d\n",global.user,camera.xr.d);
+ printf("%s set camera.yr %d\n",global.user,camera.yr.d);
+ printf("%s set camera.zr %d\n",global.user,camera.zr.d);
printf("%s set camera.zoom %Lf\n",global.user,camera.zoom);
continue;
}
@@ -221,13 +222,16 @@ int load_stdin() {
if(!strcmp(command,"set")) { //set variable //TODO: add more things to this.
if(len != 3 && len != 4) continue;
if(len == 4) {
- if(!strcmp(a[2],"camera.p.x")) camera.p.x=strtold(a[3],0);
+ if(0);
+#ifdef GRAPHICAL
+ else if(!strcmp(a[2],"camera.p.x")) camera.p.x=strtold(a[3],0);
else if(!strcmp(a[2],"camera.p.y")) camera.p.y=strtold(a[3],0);
else if(!strcmp(a[2],"camera.p.z")) camera.p.z=strtold(a[3],0);
else if(!strcmp(a[2],"camera.zoom")) camera.zoom=strtold(a[3],0);
- else if(!strcmp(a[2],"camera.xr")) camera.xr=atoi(a[3]);
- else if(!strcmp(a[2],"camera.yr")) camera.yr=atoi(a[3]);
- else if(!strcmp(a[2],"camera.zr")) camera.zr=atoi(a[3]);
+ else if(!strcmp(a[2],"camera.xr")) camera.xr.d=atoi(a[3]);
+ else if(!strcmp(a[2],"camera.yr")) camera.yr.d=atoi(a[3]);
+ else if(!strcmp(a[2],"camera.zr")) camera.zr.d=atoi(a[3]);
+#endif
else printf("# unknown variable: %s\n",a[2]);
continue;
}
@@ -286,6 +290,19 @@ int load_stdin() {
}
continue;
}
+ if(!strcmp(command,"rotate")) {
+ if(len > 4) {
+ for(i=0;global.shape[i];i++) {
+ if(!strcmp(global.shape[i]->id,id)) {
+ for(j=0;j < global.shape[i]->len+(global.shape[i]->len==1);j++) {
+ global.shape[i]->p[j]=rotate_c3_yr(global.shape[i]->p[j],(c3_t){0,0,0},points_to_angle((c2_t){global.shape[i]->p[j].x,global.shape[i]->p[j].z},(c2_t){0,0})+d2r(atoi(a[2])));
+ //global.shape[i]->p[j]=rotate_c3_yr(global.shape[i]->p[j],(c3_t){0,0,0},d2r(atoi(a[3])));
+ //global.shape[i]->p[j]=rotate_c3_zr(global.shape[i]->p[j],(c3_t){0,0,0},d2r(atoi(a[4])));
+ }
+ }
+ }
+ }
+ }
if(!strcmp(command,"move")) {
if(len > 4) {
for(i=0;global.shape[i];i++) {
@@ -301,16 +318,9 @@ int load_stdin() {
else {
printf("# ERROR: wrong amount of parts for move. got: %d expected: 11\n",len);
}
- continue;
+ continue;//???
}
printf("# I don't know what command you're talking about. %s\n",command);
-/* if(!strcmp(command,"rotate")) {
- for(i=0;global.shape[i];i++) {
- global.shape[i]->p1=rotate_c3_about()
- global.shape[i]->p2=
- global.shape[i]->p3=
- }
-*/
free(line);
if(a) free(a);
}