Artificial life code

Help me Jow Forums, I can't code for shit.
I'm running a small artificial life sim I found (github.com/ChrisHixon/nanopond "nanopond-ch.c") and there is a part in the code that displays the cell genome on right click, and the genomes look like this:

(random letters and numbers) dde4pdd0...h
(random letters and numbers) dddddddedcv0...v

Why are there suspension points at the end of genome? Is it showing it all or not? Why are there letters or numbers after the points? What do they mean?

pic related.

Attached: dumpCell.png (681x617, 66K)

>on right click
I mean on left click.

Try /sqt/

bump

It's literally in the code you imbecile. Read it.
If you can't read that simple code, don't ask stupid questions.

>I can't code for shit.
>It's literally in the code

HMMMMM

It’s becauae you’re using c. Try c++

what the actual fuck is a uintptr_t?

fprintf(file, "%c", (stopCount > 1) ? '.' : inst_chars
stopCount is greater than 1 so it prints a period, if stopCount is greater than 1 three times in a row it prints 3 periods

probably an array of uints?

so its showing the full genome or not?

From what I understand, when there are atleast 2 OP_STOPs between instruction, then it shows it as a '.', when there are more than 4 OP_STOPs then it does not show the following instruction at all. So it's not always showing the full genome I guess. It will show a single OP_STOP however. The numbers and letters is the dump of the genome, their representation is arbitrary, see the array "inst_chars".

It's a type that represents a pointer in the given architecture you morons.

i don't get it, it's being used as an int
why use that arcane shit?

What about the letters after the dots? They aren't always there.

For example it shows 4 OP_STOPs in a row as "0...", the first one is shown normally, but since there are more in a row later, they are shown as '.'.
Also it kind of does show the full genome after all, it just ignores if there are more than 4 OP_STOPs, but it shows any other instructions normally.

Letters after the dots are just following instructions that are not an OP_STOP (unless there is atleast one non stop instruction that separates them). They are shown the same way as the instructions before the dots.

I guess someone wanted to use "the biggest available int", but then uintmax_t (biggest int) is also used, so I'm not really sure what's going on here. Maybe it was written by two different persons (which seems to be the case anyway).

the thing that confuses me is that even randomly generated cells have three dots at the end, every time. how is this possible?

I'm not sure, but you can do some "debugging", I would start by changing the dumping function to always print inst_chars[inst], so that it treats stop instruction the same as any other one, that way you will see the full genome. Btw, if you can't code then C is not really a good language, try C++, Jow Forums shits on it, but IMO it's way better (and understandable) than C, but it of course has its flaws, anyway with C++ you usually don't get the hacker magic like uintptr_t and pointers spammed everywhere.

I'm thinking it may be some form of survivorship bias since cells that get dumped have reproduced before and maybe they need all these OP_STOP to do so