#define BV26 67108864
#define BV27 134217728
#define BV28 268435456
// etc…
#define LANG_MANDARIN BV26
#define LANG_PORTUGUESE BV27
#define LANG_EBONICS BV28
// etc…
#define BV26 1 << 26
#define BV27 1 << 27
#define BV28 1 << 28
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0001
0000 0000 0000 0000 0000 0000 0000 0010
0000 0000 0000 0000 0000 0000 0000 0100
0000 0000 0000 0000 0000 0000 0000 1000
0000 0000 0000 0000 0000 0000 0000 1001
#define BV26 1 << 26
#define BV27 1 << 27
#define BV28 1 << 28
0000 0000 0000 0000 0000 0000 0000 0001
0000 0010 0000 0000 0000 0000 0000 0000
Anyway, I wanted to extend races and languages so I could have more than 32, since bitvectors stop at 32. I tried putting them in a typedef enum table, and while it seemed to work for races, languages had several problems, such as not showing up on the LANGUAGES command, and mobs reporting that they were trying to speak a null language.
I think the problem originated somewhere around LANG_UNKNOWN.
Here's how it originally looks:
Here is how I had it:
I also commented out the define for LANG_UNKNOWN and tried putting it in the table:
That stopped most of the bug spam about null languages, although most mobs then spoke several languages, and one mob was still reporting a null language, and my ch->speaking and ch->speaks was negative. Anyway, my question is, is there any other way to easily extend the bitvectors so I can have virtually unlimited race and language creation abilitites, or a way to fix the languages to work in a typedef enum table? Thanks in advance.