Fixed: permissions system for players & script commands.
Fixed: ingame commands ("-say hi") are useable again.
/!\ Added now conf option: "allowgamecmd"
+ fixed debugger working directory
This commit is contained in:
parent
889238cfb7
commit
e69375d76e
@ -57,4 +57,8 @@ ClientLanguage=enUS
|
|||||||
// 1 is a good setting for maximum network performance and lowest ping times
|
// 1 is a good setting for maximum network performance and lowest ping times
|
||||||
NetworkSleepTime=50
|
NetworkSleepTime=50
|
||||||
|
|
||||||
|
// defines if players may say/yell/whisper commands to PseuWoW
|
||||||
|
// set this to 0 and PseuWoW will not react to given commands
|
||||||
|
allowgamecmd=1
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -7,9 +7,6 @@ OUT * World entered, executing appropriate script...
|
|||||||
// not yet implemented
|
// not yet implemented
|
||||||
// CASTSPELL 836
|
// CASTSPELL 836
|
||||||
|
|
||||||
// yaay we are online
|
|
||||||
EMOTE 5
|
|
||||||
|
|
||||||
// MaNGOS: make PseuWoW invincible
|
// MaNGOS: make PseuWoW invincible
|
||||||
SAY .gmon
|
SAY .gmon
|
||||||
|
|
||||||
@ -20,6 +17,10 @@ SAY .gmon
|
|||||||
// to know everything worked fine, etc
|
// to know everything worked fine, etc
|
||||||
SAY [${@version_short}] login successful.
|
SAY [${@version_short}] login successful.
|
||||||
|
|
||||||
|
// yaay we are online. Ready!
|
||||||
|
// 126 = TEXTEMOTE_READY
|
||||||
|
EMOTE 126
|
||||||
|
|
||||||
|
|
||||||
// add your own stuff here
|
// add your own stuff here
|
||||||
// ...
|
// ...
|
||||||
|
|||||||
15
bin/scripts/_nopermission.def
Normal file
15
bin/scripts/_nopermission.def
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#permission=255
|
||||||
|
|
||||||
|
// GETS EXECUTED IF A PLAYER TRIES TO GIVE PSEUWOW A COMMAND AND IS NOT ALLOWED TO
|
||||||
|
|
||||||
|
// Arguments:
|
||||||
|
// ==========
|
||||||
|
// @0 : name of the player who wanted to execute a command
|
||||||
|
// @1 : permission level of this user
|
||||||
|
// @2 : permission level needed to execute the script
|
||||||
|
// @3 : name of the script that should get executed
|
||||||
|
|
||||||
|
SAY Forget it, ${@0}, you have only permission ${@1} but need ${@2} to run the script '${@3}'
|
||||||
|
|
||||||
|
// say NO!
|
||||||
|
EMOTE 66
|
||||||
@ -27,6 +27,28 @@ UNSET #ACCNAME
|
|||||||
OUT * Dangerous variables removed.
|
OUT * Dangerous variables removed.
|
||||||
|
|
||||||
|
|
||||||
|
OUT * Assigning permissions for internal functions...
|
||||||
|
|
||||||
|
// this is important because players could reset permissions for dangerous functions
|
||||||
|
SETSCRIPTPERMISSION,setscriptpermission 255
|
||||||
|
|
||||||
|
SETSCRIPTPERMISSION,out 0
|
||||||
|
SETSCRIPTPERMISSION,set 255
|
||||||
|
SETSCRIPTPERMISSION,default 255
|
||||||
|
SETSCRIPTPERMISSION,unset 255
|
||||||
|
SETSCRIPTPERMISSION,shdn 255
|
||||||
|
SETSCRIPTPERMISSION,loaddef 255
|
||||||
|
SETSCRIPTPERMISSION,reloaddef 255
|
||||||
|
SETSCRIPTPERMISSION,pause 255
|
||||||
|
SETSCRIPTPERMISSION,emote 0
|
||||||
|
SETSCRIPTPERMISSION,savecache 10
|
||||||
|
SETSCRIPTPERMISSION,sendchatmessage 255
|
||||||
|
|
||||||
|
OUT * Permissions set.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// do more stuff here in future...
|
// do more stuff here in future...
|
||||||
|
|
||||||
OUT * StartUp complete!
|
OUT * StartUp complete!
|
||||||
|
|||||||
3
bin/scripts/quit.def
Normal file
3
bin/scripts/quit.def
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#permission=255
|
||||||
|
SAY Terminating proc...
|
||||||
|
SHDN
|
||||||
@ -45,6 +45,8 @@ DefScriptFunctionTable *DefScriptPackage::_GetFunctionTable(void) const
|
|||||||
{"shdn",&DefScriptPackage::func_shdn},
|
{"shdn",&DefScriptPackage::func_shdn},
|
||||||
{"loaddef",&DefScriptPackage::func_loaddef},
|
{"loaddef",&DefScriptPackage::func_loaddef},
|
||||||
{"reloaddef",&DefScriptPackage::func_reloaddef},
|
{"reloaddef",&DefScriptPackage::func_reloaddef},
|
||||||
|
{"setscriptpermission",&DefScriptPackage::func_setscriptpermission},
|
||||||
|
|
||||||
|
|
||||||
// user functions:
|
// user functions:
|
||||||
{"pause",&DefScriptPackage::SCpause},
|
{"pause",&DefScriptPackage::SCpause},
|
||||||
@ -134,7 +136,7 @@ bool DefScriptPackage::LoadScriptFromFile(std::string fn, std::string sn){
|
|||||||
if(label=="permission")
|
if(label=="permission")
|
||||||
{
|
{
|
||||||
scriptPermissionMap[sn] = atoi(value.c_str());
|
scriptPermissionMap[sn] = atoi(value.c_str());
|
||||||
} // ...
|
}
|
||||||
if(line=="load_debug")
|
if(line=="load_debug")
|
||||||
load_debug=true;
|
load_debug=true;
|
||||||
if(line=="load_notify")
|
if(line=="load_notify")
|
||||||
|
|||||||
@ -92,6 +92,10 @@ public:
|
|||||||
|
|
||||||
std::string scPath;
|
std::string scPath;
|
||||||
|
|
||||||
|
// Own executor functions
|
||||||
|
void My_LoadUserPermissions(VarSet&);
|
||||||
|
bool My_Run(std::string line,std::string username);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DefXChgResult ReplaceVars(std::string, CmdSet*, bool);
|
DefXChgResult ReplaceVars(std::string, CmdSet*, bool);
|
||||||
CmdSet SplitLine(std::string);
|
CmdSet SplitLine(std::string);
|
||||||
@ -102,9 +106,8 @@ private:
|
|||||||
DefScriptFunctionTable *functionTable;
|
DefScriptFunctionTable *functionTable;
|
||||||
unsigned int functions;
|
unsigned int functions;
|
||||||
void *parentMethod;
|
void *parentMethod;
|
||||||
|
|
||||||
std::map<std::string, unsigned char> scriptPermissionMap;
|
|
||||||
std::map<std::string,DefScript*> Script;
|
std::map<std::string,DefScript*> Script;
|
||||||
|
std::map<std::string,unsigned char> scriptPermissionMap;
|
||||||
|
|
||||||
// Usable internal basic functions:
|
// Usable internal basic functions:
|
||||||
bool func_default(CmdSet);
|
bool func_default(CmdSet);
|
||||||
@ -115,6 +118,7 @@ private:
|
|||||||
bool func_out(CmdSet);
|
bool func_out(CmdSet);
|
||||||
bool func_eof(CmdSet);
|
bool func_eof(CmdSet);
|
||||||
bool func_shdn(CmdSet);
|
bool func_shdn(CmdSet);
|
||||||
|
bool func_setscriptpermission(CmdSet);
|
||||||
|
|
||||||
// Useable own internal functions:
|
// Useable own internal functions:
|
||||||
bool SCpause(CmdSet);
|
bool SCpause(CmdSet);
|
||||||
@ -122,6 +126,10 @@ private:
|
|||||||
bool SCsavecache(CmdSet);
|
bool SCsavecache(CmdSet);
|
||||||
bool SCemote(CmdSet);
|
bool SCemote(CmdSet);
|
||||||
bool SCfollow(CmdSet);
|
bool SCfollow(CmdSet);
|
||||||
|
bool SCshdn(CmdSet);
|
||||||
|
|
||||||
|
// Own variable declarations
|
||||||
|
std::map<std::string, unsigned char> my_usrPermissionMap;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,9 @@
|
|||||||
|
|
||||||
|
|
||||||
bool DefScriptPackage::func_shdn(CmdSet Set){
|
bool DefScriptPackage::func_shdn(CmdSet Set){
|
||||||
exit(0);
|
//exit(0);
|
||||||
|
// need to define own
|
||||||
|
SCshdn(Set);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,3 +126,12 @@ bool DefScriptPackage::func_default(CmdSet Set){
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool DefScriptPackage::func_setscriptpermission(CmdSet Set)
|
||||||
|
{
|
||||||
|
if(Set.defaultarg.empty() || Set.arg[0].empty())
|
||||||
|
return false;
|
||||||
|
|
||||||
|
scriptPermissionMap[Set.arg[0]] = atoi(Set.defaultarg.c_str());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
@ -1,5 +1,3 @@
|
|||||||
#ifndef __DEFSCRIPTINTERFACE_H
|
|
||||||
#define __DEFSCRIPTINTERFACE_H
|
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "PseuWoW.h"
|
#include "PseuWoW.h"
|
||||||
@ -10,6 +8,11 @@
|
|||||||
#include "SharedDefines.h"
|
#include "SharedDefines.h"
|
||||||
#include "WorldSession.h"
|
#include "WorldSession.h"
|
||||||
|
|
||||||
|
bool DefScriptPackage::SCshdn(CmdSet Set)
|
||||||
|
{
|
||||||
|
((PseuInstance*)parentMethod)->Stop();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool DefScriptPackage::SCpause(CmdSet Set){
|
bool DefScriptPackage::SCpause(CmdSet Set){
|
||||||
((PseuInstance*)parentMethod)->Sleep(atoi(Set.defaultarg.c_str()));
|
((PseuInstance*)parentMethod)->Sleep(atoi(Set.defaultarg.c_str()));
|
||||||
@ -78,6 +81,56 @@ bool DefScriptPackage::SCfollow(CmdSet Set){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DefScriptPackage::My_LoadUserPermissions(VarSet &vs)
|
||||||
|
{
|
||||||
|
static char *prefix = "USERS::";
|
||||||
|
std::string sub,usr;
|
||||||
|
for(uint32 i=0;i<variables.Size();i++)
|
||||||
|
{
|
||||||
|
sub = variables[i].name.substr(0,strlen(prefix));
|
||||||
|
if(sub == prefix)
|
||||||
|
{
|
||||||
|
usr = variables[i].name.substr(strlen(prefix), variables[i].name.length() - strlen(prefix));
|
||||||
|
my_usrPermissionMap[usr] = atoi(variables[i].value.c_str());
|
||||||
|
DEBUG( printf("Player '%s' permission = %u\n",usr.c_str(),atoi(variables[i].value.c_str())); )
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool DefScriptPackage::My_Run(std::string line, std::string username)
|
||||||
|
{
|
||||||
|
DefXChgResult final=ReplaceVars(line,NULL,false);
|
||||||
|
CmdSet curSet=SplitLine(final.str);
|
||||||
|
|
||||||
#endif
|
uint8 scperm=0,usrperm=0;
|
||||||
|
|
||||||
|
for (std::map<std::string,unsigned char>::iterator i = my_usrPermissionMap.begin(); i != my_usrPermissionMap.end(); i++)
|
||||||
|
{
|
||||||
|
if(i->first == username)
|
||||||
|
{
|
||||||
|
usrperm = i->second;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (std::map<std::string,unsigned char>::iterator i = scriptPermissionMap.begin(); i != scriptPermissionMap.end(); i++)
|
||||||
|
{
|
||||||
|
if(i->first == curSet.cmd)
|
||||||
|
{
|
||||||
|
scperm = i->second;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(usrperm < scperm)
|
||||||
|
{
|
||||||
|
CmdSet Set(NULL);
|
||||||
|
Set.arg[0] = username;
|
||||||
|
Set.arg[1] = toString(usrperm);
|
||||||
|
Set.arg[2] = toString(scperm);
|
||||||
|
Set.arg[3] = curSet.cmd;
|
||||||
|
RunScript("_nopermission",&Set);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Interpret(curSet);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
@ -103,6 +103,8 @@ bool PseuInstance::Init(void) {
|
|||||||
_scp->variables.Set("@version_short",_ver_short);
|
_scp->variables.Set("@version_short",_ver_short);
|
||||||
_scp->variables.Set("@version",_ver);
|
_scp->variables.Set("@version",_ver);
|
||||||
|
|
||||||
|
_scp->My_LoadUserPermissions(_scp->variables);
|
||||||
|
|
||||||
|
|
||||||
// //DEBUG1(printf("Main_Init: Loading DefScripts from folder '%s'\n",defScpPath.c_str()););
|
// //DEBUG1(printf("Main_Init: Loading DefScripts from folder '%s'\n",defScpPath.c_str()););
|
||||||
if(!_scp->RunScript("_startup",NULL))
|
if(!_scp->RunScript("_startup",NULL))
|
||||||
@ -318,6 +320,8 @@ void PseuInstanceConf::ApplyFromVarSet(VarSet &v)
|
|||||||
charname=v.Get("CHARNAME");
|
charname=v.Get("CHARNAME");
|
||||||
networksleeptime=atoi(v.Get("NETWORKSLEEPTIME").c_str());
|
networksleeptime=atoi(v.Get("NETWORKSLEEPTIME").c_str());
|
||||||
showopcodes=atoi(v.Get("SHOWOPCODES").c_str());
|
showopcodes=atoi(v.Get("SHOWOPCODES").c_str());
|
||||||
|
enablecli=(bool)atoi(v.Get("ENABLECLI").c_str());
|
||||||
|
allowgamecmd=(bool)atoi(v.Get("ALLOWGAMECMD").c_str());
|
||||||
|
|
||||||
// clientversion is a bit more complicated to add
|
// clientversion is a bit more complicated to add
|
||||||
{
|
{
|
||||||
|
|||||||
@ -38,6 +38,8 @@ class PseuInstanceConf
|
|||||||
std::string worldhost;
|
std::string worldhost;
|
||||||
uint16 networksleeptime;
|
uint16 networksleeptime;
|
||||||
uint8 showopcodes;
|
uint8 showopcodes;
|
||||||
|
bool allowgamecmd;
|
||||||
|
bool enablecli;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -91,7 +91,7 @@ void WorldSession::Update(void)
|
|||||||
|
|
||||||
OpcodeHandler *table = _GetOpcodeHandlerTable();
|
OpcodeHandler *table = _GetOpcodeHandlerTable();
|
||||||
bool known=false;
|
bool known=false;
|
||||||
while(!pktQueue.empty())
|
while(pktQueue.size())
|
||||||
{
|
{
|
||||||
WorldPacket *packet = pktQueue.next();
|
WorldPacket *packet = pktQueue.next();
|
||||||
|
|
||||||
@ -386,7 +386,7 @@ void WorldSession::_HandleMessageChatOpcode(WorldPacket& recvPacket)
|
|||||||
printf("W:CHAT: %s [%s]: %s\n",plrname.c_str(),LookupName(lang,langNames),msg.c_str());
|
printf("W:CHAT: %s [%s]: %s\n",plrname.c_str(),LookupName(lang,langNames),msg.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
if(target_guid!=_myGUID && msg.length()>1 && msg.at(0)=='-')
|
if(target_guid!=_myGUID && msg.length()>1 && msg.at(0)=='-' && GetInstance()->GetConf()->allowgamecmd)
|
||||||
isCmd=true;
|
isCmd=true;
|
||||||
|
|
||||||
// some fun code :P
|
// some fun code :P
|
||||||
@ -410,28 +410,24 @@ void WorldSession::_HandleMessageChatOpcode(WorldPacket& recvPacket)
|
|||||||
|
|
||||||
if(isCmd)
|
if(isCmd)
|
||||||
{
|
{
|
||||||
/*defScp.variables.Set("@lastcmd_name",defScp.variables.Get("@thiscmd_name"));
|
GetInstance()->GetScripts()->variables.Set("@thiscmd_name",plrname);
|
||||||
defScp.variables.Set("@lastcmd",defScp.variables.Get("@lastcmd"));
|
GetInstance()->GetScripts()->variables.Set("@thiscmd",toString(target_guid));
|
||||||
defScp.variables.Set("@thiscmd_name",plrname);
|
|
||||||
defScp.variables.Set("@thiscmd",toString(target_guid));
|
|
||||||
std::string lin=msg.substr(1,msg.length()-1);
|
std::string lin=msg.substr(1,msg.length()-1);
|
||||||
uint8 perm=atoi(playerPermissions.Get(plrname).c_str());
|
try
|
||||||
try{
|
{
|
||||||
if(!defScp.RunSingleLine(lin,perm))
|
GetInstance()->GetScripts()->My_Run(lin,plrname);
|
||||||
defScp.RunScriptByName("_nopermission",NULL,255);
|
}
|
||||||
} catch (...) {
|
catch (...)
|
||||||
|
{
|
||||||
SendChatMessage(CHAT_MSG_SAY,0,"Exception while trying to execute: [ "+lin+" ]","");
|
SendChatMessage(CHAT_MSG_SAY,0,"Exception while trying to execute: [ "+lin+" ]","");
|
||||||
}*/
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if(type==CHAT_MSG_WHISPER && !isCmd)
|
if(type==CHAT_MSG_WHISPER && !isCmd)
|
||||||
{
|
{
|
||||||
/*defScp.variables.Set("@lastwhisper_name",defScp.variables.Get("@thiswhisper_name"));
|
|
||||||
defScp.variables.Set("@lastwhisper",defScp.variables.Get("@thiswhisper"));
|
|
||||||
defScp.variables.Set("@lastwhisper_lang",defScp.variables.Get("@thiswhisper_lang"));
|
|
||||||
defScp.variables.Set("@thiswhisper_name",plrname);
|
defScp.variables.Set("@thiswhisper_name",plrname);
|
||||||
defScp.variables.Set("@thiswhisper",toString(target_guid));
|
defScp.variables.Set("@thiswhisper",toString(target_guid));
|
||||||
defScp.variables.Set("@thiswhisper_lang",toString((uint64)lang));*/
|
defScp.variables.Set("@thiswhisper_lang",toString((uint64)lang));
|
||||||
GetInstance()->GetScripts()->RunScript("_onwhisper",NULL);
|
GetInstance()->GetScripts()->RunScript("_onwhisper",NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,7 +32,9 @@
|
|||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||||
StringPooling="FALSE"
|
StringPooling="FALSE"
|
||||||
RuntimeLibrary="2"
|
RuntimeLibrary="2"
|
||||||
|
BufferSecurityCheck="FALSE"
|
||||||
EnableFunctionLevelLinking="FALSE"
|
EnableFunctionLevelLinking="FALSE"
|
||||||
|
EnableEnhancedInstructionSet="1"
|
||||||
PrecompiledHeaderFile=".\Release/PseuWoW.pch"
|
PrecompiledHeaderFile=".\Release/PseuWoW.pch"
|
||||||
AssemblerListingLocation="$(SolutionDir)/temp/$(ProjectName)/"
|
AssemblerListingLocation="$(SolutionDir)/temp/$(ProjectName)/"
|
||||||
ObjectFile="$(SolutionDir)/temp/$(ProjectName)/"
|
ObjectFile="$(SolutionDir)/temp/$(ProjectName)/"
|
||||||
@ -43,11 +45,14 @@
|
|||||||
Name="VCCustomBuildTool"/>
|
Name="VCCustomBuildTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="odbc32.lib odbccp32.lib sdl.lib sdl_net.lib sdlmain.lib libeay32MT.lib ssleay32MT.lib WS2_32.LIB"
|
AdditionalDependencies="odbc32.lib odbccp32.lib sdl.lib sdlmain.lib libeay32MT.lib WS2_32.LIB"
|
||||||
|
ShowProgress="0"
|
||||||
OutputFile="$(OutDir)/$(InputName).exe"
|
OutputFile="$(OutDir)/$(InputName).exe"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
SuppressStartupBanner="TRUE"
|
SuppressStartupBanner="TRUE"
|
||||||
AdditionalLibraryDirectories=""
|
AdditionalLibraryDirectories=""
|
||||||
|
IgnoreAllDefaultLibraries="FALSE"
|
||||||
|
AssemblyDebug="0"
|
||||||
ProgramDatabaseFile="$(SolutionDir)/temp/$(ProjectName)/Release/PseuWoW.pdb"
|
ProgramDatabaseFile="$(SolutionDir)/temp/$(ProjectName)/Release/PseuWoW.pdb"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
TargetMachine="1"/>
|
TargetMachine="1"/>
|
||||||
@ -104,7 +109,7 @@
|
|||||||
Name="VCCustomBuildTool"/>
|
Name="VCCustomBuildTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="odbc32.lib odbccp32.lib sdl.lib sdl_net.lib sdlmain.lib libeay32MT.lib ssleay32MT.lib WS2_32.LIB"
|
AdditionalDependencies="odbc32.lib odbccp32.lib sdl.lib sdlmain.lib libeay32MT.lib WS2_32.LIB"
|
||||||
OutputFile="$(OutDir)/$(InputName).exe"
|
OutputFile="$(OutDir)/$(InputName).exe"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
SuppressStartupBanner="TRUE"
|
SuppressStartupBanner="TRUE"
|
||||||
|
|||||||
@ -29,9 +29,9 @@
|
|||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="3"
|
RuntimeLibrary="3"
|
||||||
PrecompiledHeaderFile=".\Debug/PseuWoW_Controller.pch"
|
PrecompiledHeaderFile=".\Debug/PseuWoW_Controller.pch"
|
||||||
AssemblerListingLocation=".\Debug/"
|
AssemblerListingLocation="$(SolutionDir)/temp/$(ProjectName)/"
|
||||||
ObjectFile=".\Debug/"
|
ObjectFile="$(SolutionDir)/temp/$(ProjectName)/"
|
||||||
ProgramDataBaseFileName=".\Debug/"
|
ProgramDataBaseFileName="$(SolutionDir)/temp/$(ProjectName)/"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
SuppressStartupBanner="TRUE"
|
SuppressStartupBanner="TRUE"
|
||||||
DebugInformationFormat="4"/>
|
DebugInformationFormat="4"/>
|
||||||
@ -73,17 +73,19 @@
|
|||||||
WholeProgramOptimization="FALSE">
|
WholeProgramOptimization="FALSE">
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="1"
|
Optimization="3"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="dep/include"
|
AdditionalIncludeDirectories="dep/include"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
RuntimeLibrary="2"
|
RuntimeLibrary="2"
|
||||||
EnableFunctionLevelLinking="TRUE"
|
BufferSecurityCheck="FALSE"
|
||||||
|
EnableFunctionLevelLinking="FALSE"
|
||||||
|
EnableEnhancedInstructionSet="0"
|
||||||
PrecompiledHeaderFile=".\Release/PseuWoW_Controller.pch"
|
PrecompiledHeaderFile=".\Release/PseuWoW_Controller.pch"
|
||||||
AssemblerListingLocation=".\Release/"
|
AssemblerListingLocation="$(SolutionDir)/temp/$(ProjectName)/"
|
||||||
ObjectFile=".\Release/"
|
ObjectFile="$(SolutionDir)/temp/$(ProjectName)/"
|
||||||
ProgramDataBaseFileName=".\Release/"
|
ProgramDataBaseFileName="$(SolutionDir)/temp/$(ProjectName)/"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
SuppressStartupBanner="TRUE"/>
|
SuppressStartupBanner="TRUE"/>
|
||||||
<Tool
|
<Tool
|
||||||
|
|||||||
@ -37,7 +37,7 @@
|
|||||||
Name="VCCustomBuildTool"/>
|
Name="VCCustomBuildTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
OutputFile="./dep/lib/zlib.lib"/>
|
OutputFile="./dep/lib/debug/zlib.lib"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"/>
|
Name="VCMIDLTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
@ -78,7 +78,7 @@
|
|||||||
Name="VCCustomBuildTool"/>
|
Name="VCCustomBuildTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
OutputFile="./dep/lib/zlib.lib"/>
|
OutputFile="./dep/lib/release/zlib.lib"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"/>
|
Name="VCMIDLTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
|
|||||||
@ -26,7 +26,7 @@
|
|||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="3"
|
RuntimeLibrary="3"
|
||||||
RuntimeTypeInfo="TRUE"
|
RuntimeTypeInfo="TRUE"
|
||||||
UsePrecompiledHeader="2"
|
UsePrecompiledHeader="0"
|
||||||
PrecompiledHeaderFile="$(SolutionDir)/temp/$(ProjectName)/zthread.pch"
|
PrecompiledHeaderFile="$(SolutionDir)/temp/$(ProjectName)/zthread.pch"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="TRUE"
|
Detect64BitPortabilityProblems="TRUE"
|
||||||
@ -35,7 +35,7 @@
|
|||||||
Name="VCCustomBuildTool"/>
|
Name="VCCustomBuildTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
OutputFile="./dep/lib/zthread.lib"/>
|
OutputFile="./dep/lib/debug/zthread.lib"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"/>
|
Name="VCMIDLTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
@ -67,7 +67,7 @@
|
|||||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
RuntimeTypeInfo="TRUE"
|
RuntimeTypeInfo="TRUE"
|
||||||
UsePrecompiledHeader="2"
|
UsePrecompiledHeader="0"
|
||||||
PrecompiledHeaderFile="$(SolutionDir)/temp/$(ProjectName)/zthread.pch"
|
PrecompiledHeaderFile="$(SolutionDir)/temp/$(ProjectName)/zthread.pch"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="TRUE"
|
Detect64BitPortabilityProblems="TRUE"
|
||||||
@ -76,7 +76,7 @@
|
|||||||
Name="VCCustomBuildTool"/>
|
Name="VCCustomBuildTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
OutputFile="./dep/lib/zthread.lib"/>
|
OutputFile="./dep/lib/release/zthread.lib"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"/>
|
Name="VCMIDLTool"/>
|
||||||
<Tool
|
<Tool
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user