You've already forked Microtransactions64
mirror of
https://github.com/Print-and-Panic/Microtransactions64.git
synced 2026-01-21 10:17:19 -08:00
remove infinite loop
This commit is contained in:
2
init.c
2
init.c
@@ -1,3 +1,5 @@
|
||||
#include <ultra64.h>
|
||||
#include <PR/gs2dex.h>
|
||||
#include "init.h"
|
||||
|
||||
void s2d_init(void) {
|
||||
|
||||
16
mtx.c
16
mtx.c
@@ -1,7 +1,5 @@
|
||||
#include <ultra64.h>
|
||||
#include <PR/gs2dex.h>
|
||||
#include "stack.h"
|
||||
// #include "fixedpoint.h"
|
||||
#include <PR/gu.h>
|
||||
|
||||
#define ftoq FTOFIX32
|
||||
@@ -75,14 +73,14 @@ void mat2_translate_vec(uObjMtx *m, f32 degrees, f32 mag) {
|
||||
m->m.Y += FTOFIX16(mag * sinf(degrees));
|
||||
}
|
||||
|
||||
void get_final_mat(uObjMtx *dst) {
|
||||
u32 s_temp_top = stack_top;
|
||||
if (s_isempty()) return;
|
||||
// void get_final_mat(uObjMtx *dst) {
|
||||
// u32 s_temp_top = stack_top;
|
||||
// if (s_isempty()) return;
|
||||
|
||||
while (s_temp_top != 0) {
|
||||
mat2_mul(dst, &stack[s_temp_top]);
|
||||
}
|
||||
}
|
||||
// while (s_temp_top != 0) {
|
||||
// mat2_mul(dst, &stack[s_temp_top]);
|
||||
// }
|
||||
// }
|
||||
|
||||
typedef float Mat4[4][4];
|
||||
void gu_to_gs2dex(uObjMtx *m1, Mat4 m2) {
|
||||
|
||||
2
mtx.h
2
mtx.h
@@ -1,7 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#include <PR/gs2dex.h>
|
||||
#include <PR/gu.h>
|
||||
#include "stack.h"
|
||||
// #include "stack.h"
|
||||
typedef float Mat4[4][4];
|
||||
|
||||
extern void mat2_dst_mul(uObjMtx *dst, uObjMtx *m1, uObjMtx *m2);
|
||||
|
||||
@@ -77,6 +77,7 @@ void s2d_print(int x, int y, const char *str, uObjMtx *buf) {
|
||||
draw_s2d_glyph(r, (x += ((8 * myScale))) + tx, y + ty, (buf++));
|
||||
}
|
||||
// myDegrees += saved_degrees;
|
||||
p++;
|
||||
} while (*p != '\0');
|
||||
myScale = 1;
|
||||
myDegrees = 0;
|
||||
@@ -85,3 +86,10 @@ void s2d_print(int x, int y, const char *str, uObjMtx *buf) {
|
||||
ty = 0;
|
||||
}
|
||||
|
||||
void s2d_type_print(int x, int y, char *str, uObjMtx *buf, int pos) {
|
||||
char t = str[pos];
|
||||
str[pos] = '\0';
|
||||
s2d_print(x, y, str, buf);
|
||||
str[pos] = t;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,42 @@
|
||||
// int s2d_atoi(char *s, char **s2) {
|
||||
// int ret = 0;
|
||||
// int isNegative = (*s == '-');
|
||||
// if (isNegative) {s++; (*s2)++;}
|
||||
// for (; *s != '\0' && *s != ' ' && *s >= '0' && *s <= '9'; s++) {
|
||||
// ret *= 10;
|
||||
// if (*s >= '0' && *s <= '9')
|
||||
// ret += *s - '0';
|
||||
// else break;
|
||||
// if (!(*(s+1) != '\0' && *(s+1) != ' ' && *(s+1) >= '0' && *(s+1) <= '9')) break;
|
||||
// (*s2)++;
|
||||
// }
|
||||
// if (isNegative) ret *= -1;
|
||||
// return ret;
|
||||
// }
|
||||
#define SCALE "\x80" // SCALE (some scale)
|
||||
#define ROTATE "\x81" // ROTATE (degrees) // TODO: maybe add axis?
|
||||
#define TRANSLATE "\x82" // TRANSLATE (x) (y)
|
||||
|
||||
#define CH_SCALE '\x80'
|
||||
#define CH_ROT '\x81'
|
||||
#define CH_TRANSLATE '\x82'
|
||||
|
||||
#define CH_GET_NEXT(x) (*(++x))
|
||||
#define CH_SKIP(x) ((++x))
|
||||
|
||||
int saved_degrees = 0;
|
||||
|
||||
int myScale = 1;
|
||||
int myDegrees = 0;
|
||||
|
||||
char *t = "TEST CRINGE";
|
||||
int s2d_atoi(char *s, char **s2) {
|
||||
int ret = 0;
|
||||
int isNegative = (*s == '-');
|
||||
if (isNegative) {s++; (*s2)++;}
|
||||
if (isNegative) {
|
||||
s++;
|
||||
(*s2)++;
|
||||
}
|
||||
for (; *s != '\0' && *s != ' ' && *s >= '0' && *s <= '9'; s++) {
|
||||
ret *= 10;
|
||||
if (*s >= '0' && *s <= '9')
|
||||
@@ -13,70 +48,77 @@ int s2d_atoi(char *s, char **s2) {
|
||||
if (isNegative) ret *= -1;
|
||||
return ret;
|
||||
}
|
||||
#define SCALE "\x80" // SCALE (some scale)
|
||||
#define ROTATE "\x81" // ROTATE (degrees) // TODO: maybe add axis?
|
||||
#define TRANSLATE "\x82" // TRANSLATE (x) (y)
|
||||
|
||||
#define CH_SCALE '\x80'
|
||||
#define CH_ROT '\x81'
|
||||
#define CH_TRANSLATE '\x82'
|
||||
extern unsigned int gGlobalTimer;
|
||||
|
||||
#define CH_GET_NEXT(x) (*(++x))
|
||||
|
||||
int saved_degrees = 0;
|
||||
|
||||
int myScale = 1;
|
||||
int myDegrees = 0;
|
||||
|
||||
char *t = "TEST" TRANSLATE "10 10CRINGE";
|
||||
|
||||
void s2d_print(int x, int y, const char *str) {
|
||||
void s2d_print(int x, int y, char *str) {
|
||||
char *p = str;
|
||||
int tx = 0, ty = 0;
|
||||
// int r = 0, g = 0, b = 0, a = 0;
|
||||
if (*p == '\0') return;
|
||||
do {
|
||||
char r = *p;
|
||||
int s, rd, tx = 0, ty = 0;
|
||||
int s, rd;
|
||||
switch (r) {
|
||||
case CH_SCALE:
|
||||
s = CH_GET_NEXT(p);
|
||||
printf("%s\n", p);
|
||||
CH_SKIP(p);
|
||||
s = s2d_atoi(p, &p);
|
||||
printf("%d\n", s);
|
||||
myScale = s;
|
||||
break;
|
||||
case CH_ROT:
|
||||
rd = CH_GET_NEXT(p);
|
||||
CH_SKIP(p);
|
||||
rd = s2d_atoi(p, &p);
|
||||
saved_degrees = rd;
|
||||
myDegrees = rd;
|
||||
break;
|
||||
case CH_TRANSLATE:
|
||||
CH_GET_NEXT(p);
|
||||
tx = s2d_atoi(p, &p);
|
||||
printf("%d\n", tx);
|
||||
CH_GET_NEXT(p);
|
||||
CH_GET_NEXT(p);
|
||||
ty = s2d_atoi(p, &p);
|
||||
// CH_GET_NEXT(p);
|
||||
printf("%d\n", ty);
|
||||
CH_SKIP(p);
|
||||
x = s2d_atoi(p, &p);
|
||||
CH_SKIP(p);
|
||||
CH_SKIP(p);
|
||||
y = s2d_atoi(p, &p);
|
||||
break;
|
||||
// case CH_COLOR:
|
||||
// CH_SKIP(p);
|
||||
// s2d_red = s2d_atoi(p, &p);
|
||||
// CH_SKIP(p); CH_SKIP(p);
|
||||
|
||||
// s2d_green = s2d_atoi(p, &p);
|
||||
// CH_SKIP(p); CH_SKIP(p);
|
||||
|
||||
// s2d_blue = s2d_atoi(p, &p);
|
||||
// CH_SKIP(p); CH_SKIP(p);
|
||||
|
||||
// s2d_alpha = s2d_atoi(p, &p);
|
||||
// break;
|
||||
|
||||
// break;
|
||||
default:
|
||||
printf("%c %d\n",r, myScale);
|
||||
break;
|
||||
// if (myDegrees == 0)
|
||||
// // draw_s2d_glyph(r, (x += (8 * myScale)) + tx, y + ty, (buf++));
|
||||
// else
|
||||
// draw_s2d_glyph(r, (x += ((8 * myScale))) + tx, y + ty, (buf++));
|
||||
}
|
||||
p++;
|
||||
// myDegrees += saved_degrees;
|
||||
} while (*(++p) != '\0');
|
||||
} while (*p != '\0');
|
||||
myScale = 1;
|
||||
myDegrees = 0;
|
||||
saved_degrees = 0;
|
||||
tx = 0;
|
||||
ty = 0;
|
||||
}
|
||||
|
||||
void s2d_type_print(int x, int y, char *str, int pos) {
|
||||
char t = str[pos];
|
||||
str[pos] = '\0';
|
||||
s2d_print(x, y, str);
|
||||
str[pos] = t;
|
||||
}
|
||||
|
||||
|
||||
int main(void) {
|
||||
char *s = t;
|
||||
s++;
|
||||
s++;
|
||||
s++;
|
||||
s++;
|
||||
// printf("%d\n", s2d_atoi(s, &s));
|
||||
// printf("%s\n", s);
|
||||
s2d_print(0,0, t);
|
||||
|
||||
Reference in New Issue
Block a user