21 lines
1.6 KiB
C
21 lines
1.6 KiB
C
BYTEINFO(OPCODE, "HULL", 'H', hull, NUMBER, NUMBER, NUMBER) // HULL <durability: 0..1> <energy gen> <energy store (between turns)> - first command
|
|
BYTEINFO(OPCODE, "PAR", 'p', par, OUTPUT, NUMBER, NUMBER) // PAR <persistant name> <low limit> <high limit> after HULL, before actual code
|
|
BYTEINFO(OPCODE, "MUL", '*', mul, OUTPUT, INPUT, INPUT)
|
|
BYTEINFO(OPCODE, "ADD", '+', add, OUTPUT, INPUT, INPUT)
|
|
BYTEINFO(OPCODE, "SUB", '-', sub, OUTPUT, INPUT, INPUT)
|
|
BYTEINFO(OPCODE, "DIV", '/', div, OUTPUT, INPUT, INPUT)
|
|
BYTEINFO(OPCODE, "SET", ':', set, OUTPUT, INPUT, IGNORE)
|
|
BYTEINFO(OPCODE, "EQ", '=', eq, OUTPUT, INPUT, INPUT)
|
|
BYTEINFO(OPCODE, "LESS", '<', less, OUTPUT, INPUT, INPUT)
|
|
BYTEINFO(OPCODE, "MORE", '>', more, OUTPUT, INPUT, INPUT)
|
|
BYTEINFO(OPCODE, "NOT", '!', not_op, OUTPUT, INPUT, IGNORE)
|
|
BYTEINFO(OPCODE, "OR", '|', or_op, OUTPUT, INPUT, INPUT)
|
|
BYTEINFO(OPCODE, "AND", '&', and_op, OUTPUT, INPUT, INPUT)
|
|
BYTEINFO(OPCODE, "XOR", 'x', xor_op, OUTPUT, INPUT, INPUT)
|
|
BYTEINFO(OPCODE, "RAND", 'r', rand, OUTPUT, INPUT, INPUT) // random number between P1 and P2 - should we include p2?
|
|
BYTEINFO(OPCODE, "SKIP", 's', skip, INPUT, IGNORE, IGNORE) // SKIP 1 skips the next instruction (4 bytes), SKIP 0 = NOP, SKIP 10 skips the next 10 instructions. P1 >= 0
|
|
BYTEINFO(OPCODE, "STOP", 'S', stop, IGNORE, IGNORE, IGNORE) // equivalent to SKIP infinite
|
|
BYTEINFO(OPCODE, "ENGINE", 'e', engine, ENGINE, NIL, NIL) // ENGINE - if multiple ones are set, we choose randomly from the options given
|
|
BYTEINFO(OPCODE, "HW", 'h', hardware, HARDWARE, IGNORE, IGNORE)
|
|
BYTEINFO(OPCODE, "COMM", 'c', comm, COMM, IGNORE, IGNORE)
|