Variable Not Defined Error Gen Codebox

Emmett Palaima's icon

Emmett Palaima

7月 04 2024 | 10:16 午後

Hi, I'm using gen codebox on a project for the first time, trying to figure out the syntax.

I'm getting an error saying a variable hasn't been declared that I have clearly declared just a few lines prior. What is causing this?

Error

Here is a screenshot of my error which states:

variable xdir is not defined

Here's the relevant code section:

if (reset == 1) {
    reset = 0;
    x = 3;
    y = 3;
    xdir = 1; //xdir clearly declared here 
    ydir = 0;
    len = 1;
    step = 0;
    change = 0;

    // Initialize the array with a spiral pattern
    for (i = 0; i < 64; i += 1) {
        poke(out_list, x + (y * 8), i + 1);
        x += xdir; //says xdir is not declared

xdir is very clearly defined as a variable just a few lines prior. Why is this happening?

Here is my complete codebox:

Data out_val(64);
Data out_list(64);

History reset(1);



amp = floor(in1 * 64);

if (reset == 1) {
    reset = 0;
    x = 3;
    y = 3;
    xdir = 1;
    ydir = 0;
    len = 1;
    step = 0;
    change = 0;

    // Initialize the array with a spiral pattern
    for (i = 0; i < 64; i += 1) {
        poke(out_list, x + (y * 8), i + 1);
        x += xdir;
        y += ydir;
        step += 1;
        if (step == len) {
            change += 1;
            if ((change % 2) == 0) {
                len += 1;
            }
            step = 0;
            if (xdir == 1) {
                xdir = 0;
                ydir = 1;
            } else if (ydir == 1) {
                xdir = -1;
                ydir = 0;
            } else if (xdir == -1) {
                xdir = 0;
                ydir = -1;
            } else if (ydir == -1) {
                xdir = 1;
                ydir = 0;
            }
        }
    }
}

for(i = 0; i < 64; i += 1){
	poke(out_val, 0, i);
}

for(i = 0; i < amp; i += 1){
	index = peek(out_list, i);
	poke(out_val, 1, index);
}


out1 = peek(out_val, 0);
out2 = peek(out_val, 1);
out3 = peek(out_val, 2);
out4 = peek(out_val, 3);
out5 = peek(out_val, 4);
out6 = peek(out_val, 5);
out7 = peek(out_val, 6);
out8 = peek(out_val, 7);
out9 = peek(out_val, 8);
out10 = peek(out_val, 9);
out11 = peek(out_val, 10);
out12 = peek(out_val, 11);
out13 = peek(out_val, 12);
out14 = peek(out_val, 13);
out15 = peek(out_val, 14);
out16 = peek(out_val, 15);
out17 = peek(out_val, 16);
out18 = peek(out_val, 17);
out19 = peek(out_val, 18);
out20 = peek(out_val, 19);
out21 = peek(out_val, 20);
out22 = peek(out_val, 21);
out23 = peek(out_val, 22);
out24 = peek(out_val, 23);
out25 = peek(out_val, 24);
out26 = peek(out_val, 25);
out27 = peek(out_val, 26);
out28 = peek(out_val, 27);
out29 = peek(out_val, 28);
out30 = peek(out_val, 29);
out31 = peek(out_val, 30);
out32 = peek(out_val, 31);
out33 = peek(out_val, 32);
out34 = peek(out_val, 33);
out35 = peek(out_val, 34);
out36 = peek(out_val, 35);
out37 = peek(out_val, 36);
out38 = peek(out_val, 37);
out39 = peek(out_val, 38);
out40 = peek(out_val, 39);
out41 = peek(out_val, 40);
out42 = peek(out_val, 41);
out43 = peek(out_val, 42);
out44 = peek(out_val, 43);
out45 = peek(out_val, 44);
out46 = peek(out_val, 45);
out47 = peek(out_val, 46);
out48 = peek(out_val, 47);
out49 = peek(out_val, 48);
out50 = peek(out_val, 49);
out51 = peek(out_val, 50);
out52 = peek(out_val, 51);
out53 = peek(out_val, 52);
out54 = peek(out_val, 53);
out55 = peek(out_val, 54);
out56 = peek(out_val, 55);
out57 = peek(out_val, 56);
out58 = peek(out_val, 57);
out59 = peek(out_val, 58);
out60 = peek(out_val, 59);
out61 = peek(out_val, 60);
out62 = peek(out_val, 61);
out63 = peek(out_val, 62);
out64 = peek(out_val, 63);