okay, forget about this GPL thing if you don't like it. And that's also not on topic - I started this post to help you with the Realbot. And I'm just saw both you and PM have some misunderstanding with the GPL, I just wanted to make things clear. Sorry.
now back to my first intent:
Here's some suggestions to Realbot:
- Use a switch to toggle on/off that Parabot-like autowaypointing function. IMHO when I have played the map for quite a long time the autowaypointing thing is just unnecessary then and just a waste of CPU power.
- Use malloc() for these things may take less memory:
Code:
private:
tNode Nodes[MAX_NODES]; // Nodes
tInfoNode InfoNodes[MAX_NODES]; // Info for Nodes
tPlayer Players[32]; // Players to keep track off
tGoal Goals[MAX_GOALS]; // Goals in the game
tMeredian Meredians[MAX_MEREDIANS][MAX_MEREDIANS]; // Meredian lookup search for Nodes
int iPath[32][MAX_PATH_NODES]; // 32 bots, with max waypoints paths
int iMaxUsedNodes;
//byte iVisTable[MAX_NODES][MAX_NODES];
byte iVisChecked[MAX_NODES];
unsigned char *cVisTable;
tTrouble Troubles[MAX_TROUBLE];
eg, first malloc() 512 or 1024 slots, and when it's not enough, realloc() to increase it. IMHO using these static array just takes a lot of unnecessary memory.
- Compress the waypoint data to make the file smaller. There is a good compress code in the PODbot code, maybe you can make use of it.
(also sorry for post these things not in organized way - but I don't think I can become a Team member because I can't work on Realbot that much. And I did learnt something in your code so thanks a lot)