Core Compile problem, adding new races

Hello Trinitycore Community.

I am in need of help, I have already worked out how to add new races to the wow client, and it worked succesfully, the only problem is,

the current core of trinity does not support new races, so I checked the code a bit and found something in SharedDefines.h

But when I try to modify these lines, i get lots of copile errors, I don’t know enough about c++ and trinitycore itself to fix them.

Here is the Code:

[CODE]enum Races

{

RACE_HUMAN          = 1,

RACE_ORC            = 2,

RACE_DWARF          = 3,

RACE_NIGHTELF       = 4,

RACE_UNDEAD_PLAYER  = 5,

RACE_TAUREN         = 6,

RACE_GNOME          = 7,

RACE_TROLL          = 8,

RACE_GOBLIN         = 9,

RACE_BLOODELF       = 10,

RACE_DRAENEI        = 11

RACE_FEL_ORC        = 12,

RACE_NAGA           = 13,

//RACE_BROKEN         = 14,

//RACE_SKELETON       = 15,

RACE_VRYKUL         = 16,

//RACE_TUSKARR        = 17,

//RACE_FOREST_TROLL   = 18,

//RACE_TAUNKA         = 19,

//RACE_NORTHREND_SKELETON = 20,

//RACE_ICE_TROLL      = 21

};

// max+1 for player race

#define MAX_RACES 17

#define RACEMASK_ALL_PLAYABLE \

((1<<(RACE_HUMAN-1))   |(1<<(RACE_ORC-1))          |(1<<(RACE_DWARF-1))   | \

(1<<(RACE_NIGHTELF-1))|(1<<(RACE_UNDEAD_PLAYER-1))|(1<<(RACE_TAUREN-1))  | \

(1<<(RACE_GNOME-1))   |(1<<(RACE_TROLL-1))        |(1<<(RACE_GOBLIN-1))  | \

(1<<(RACE_BLOODELF-1))|(1<<(RACE_DRAENEI-1))      |(1<<(RACE_FEL_ORC-1))    | \ 

(1<<(RACE_NAGA-1))|(1<<(RACE_VRYKUL-1)) )

#define RACEMASK_ALLIANCE \

((1<<(RACE_HUMAN-1)) | (1<<(RACE_DWARF-1)) | (1<<(RACE_NIGHTELF-1)) | \

(1<<(RACE_GNOME-1)) | (1<<(RACE_DRAENEI-1)))[/CODE]

So what I did is, changing the Races FEL_ORC, NAGA, GOBLIN, VRYKUL to code that means removing them from comments(//)

Next up I changed:

[CODE]#define RACEMASK_ALL_PLAYABLE \

((1<<(RACE_HUMAN-1))   |(1<<(RACE_ORC-1))          |(1<<(RACE_DWARF-1))   | \

(1<<(RACE_NIGHTELF-1))|(1<<(RACE_UNDEAD_PLAYER-1))|(1<<(RACE_TAUREN-1))  | \

(1<<(RACE_GNOME-1))   |(1<<(RACE_TROLL-1))        |(1<<(RACE_BLOODELF-1))| \

(1<<(RACE_DRAENEI-1)) )[/CODE]

to:

[CODE]#define RACEMASK_ALL_PLAYABLE \

((1<<(RACE_HUMAN-1))   |(1<<(RACE_ORC-1))          |(1<<(RACE_DWARF-1))   | \

(1<<(RACE_NIGHTELF-1))|(1<<(RACE_UNDEAD_PLAYER-1))|(1<<(RACE_TAUREN-1))  | \

(1<<(RACE_GNOME-1))   |(1<<(RACE_TROLL-1))        |(1<<(RACE_GOBLIN-1))  | \

(1<<(RACE_BLOODELF-1))|(1<<(RACE_DRAENEI-1))      |(1<<(RACE_FEL_ORC-1))    | \ 

(1<<(RACE_NAGA-1))|(1<<(RACE_VRYKUL-1)) )[/CODE]

These are the errors I get:

[CODE]3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(68) : error C2059: syntax error : ‘}’

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(68) : error C2059: syntax error : ‘}’

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(68) : error C2143: syntax error : missing ‘;’ before ‘}’

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(68) : error C2143: syntax error : missing ‘;’ before ‘}’

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(68) : error C2059: syntax error : ‘}’

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(68) : error C2059: syntax error : ‘}’

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(71) : error C2143: syntax error : missing ‘;’ before ‘}’

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(71) : error C2143: syntax error : missing ‘;’ before ‘}’

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(71) : error C2059: syntax error : ‘}’

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(71) : error C2059: syntax error : ‘}’

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(77) : error C2143: syntax error : missing ‘;’ before ‘}’

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(77) : error C2143: syntax error : missing ‘;’ before ‘}’

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(77) : error C2059: syntax error : ‘}’

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(77) : error C2059: syntax error : ‘}’

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(87) : error C2059: syntax error : ‘constant’

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(87) : error C2059: syntax error : ‘constant’

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(87) : error C2059: syntax error : ‘)’

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(87) : error C2059: syntax error : ‘)’

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(97) : error C2143: syntax error : missing ‘;’ before ‘{’

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(97) : error C2143: syntax error : missing ‘;’ before ‘{’

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(97) : error C2447: ‘{’ : missing function header (old-style formal list?)

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2289) : error C2065: ‘CLASS_WARLOCK’ : undeclared identifier

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(97) : error C2447: ‘{’ : missing function header (old-style formal list?)

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2290) : error C2065: ‘CLASS_WARRIOR’ : undeclared identifier

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2289) : error C2065: ‘CLASS_WARLOCK’ : undeclared identifier

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2291) : error C2065: ‘CLASS_SHAMAN’ : undeclared identifier

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2292) : error C2065: ‘CLASS_PALADIN’ : undeclared identifier

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2290) : error C2065: ‘CLASS_WARRIOR’ : undeclared identifier

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2291) : error C2065: ‘CLASS_SHAMAN’ : undeclared identifier

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2293) : error C2065: ‘CLASS_MAGE’ : undeclared identifier

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2292) : error C2065: ‘CLASS_PALADIN’ : undeclared identifier

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2294) : error C2065: ‘CLASS_ROGUE’ : undeclared identifier

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2293) : error C2065: ‘CLASS_MAGE’ : undeclared identifier

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2294) : error C2065: ‘CLASS_ROGUE’ : undeclared identifier

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2295) : error C2065: ‘CLASS_HUNTER’ : undeclared identifier

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2295) : error C2065: ‘CLASS_HUNTER’ : undeclared identifier

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2296) : error C2065: ‘CLASS_PRIEST’ : undeclared identifier

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2297) : error C2065: ‘CLASS_DRUID’ : undeclared identifier

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2296) : error C2065: ‘CLASS_PRIEST’ : undeclared identifier

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2297) : error C2065: ‘CLASS_DRUID’ : undeclared identifier

3>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2298) : error C2065: ‘CLASS_DEATH_KNIGHT’ : undeclared identifier

2>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2298) : error C2065: ‘CLASS_DEATH_KNIGHT’ : undeclared identifier[/CODE]

I hope anyone of you who has some time and who is willing to help me, knows how to fix this, I would be really happy, and ofc reward you with some +reps

Greetings,

Crusher

RACE_DRAENEI = 11 to RACE_DRAENEI = 11,

That fixes already some errors, your help is really appreciated uncletom, thank you.

Now I get this BuidLog:

[CODE]

4>Compiling…

4>worldPCH.cpp

4>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(87) : error C2059: syntax error : ‘constant’

4>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(87) : error C2059: syntax error : ‘)’

4>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(97) : error C2143: syntax error : missing ‘;’ before ‘{’

4>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(97) : error C2447: ‘{’ : missing function header (old-style formal list?)

4>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2289) : error C2065: ‘CLASS_WARLOCK’ : undeclared identifier

4>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2290) : error C2065: ‘CLASS_WARRIOR’ : undeclared identifier

4>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2291) : error C2065: ‘CLASS_SHAMAN’ : undeclared identifier

4>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2292) : error C2065: ‘CLASS_PALADIN’ : undeclared identifier

4>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2293) : error C2065: ‘CLASS_MAGE’ : undeclared identifier

4>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2294) : error C2065: ‘CLASS_ROGUE’ : undeclared identifier

4>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2295) : error C2065: ‘CLASS_HUNTER’ : undeclared identifier

4>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2296) : error C2065: ‘CLASS_PRIEST’ : undeclared identifier

4>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2297) : error C2065: ‘CLASS_DRUID’ : undeclared identifier

4>C:\Users\MEDION\Desktop\trinitycore\src\server\game\Miscellaneous\SharedDefines.h(2298) : error C2065: ‘CLASS_DEATH_KNIGHT’ : undeclared identifier[/CODE]

EDIT: I fixed it, thx for the indication. /close

Congratz… but… why don’t you post the fixed code so we can use it too /emoticons/default_biggrin.png:D

dude are you interested in selling your work to me? I would love to add new races! Can you contact me somehow?

Interesting, wouldn’t you have issue with the client? I thought faction and races are hard coded into the client…

He hacked the client (probably just the DBCs)

Making new races is illegal. You would to change DBC files and Client files (MPQ files). Changing core code its not enought.

#define illigal, if hes just doing it for development, isnt sharing or only with other “developpers” then its still fair-use policy

then again yes you will need client hacks in order to make the server hacks work, hack+hack = 2hack

not my personal favorite, and i discourage it, but dont start on legality