local game connects to 127.0.0.1 instead of localhost (windows returns an ipv6 address sometimes which is not supported)

This commit is contained in:
Perttu Ahola 2011-02-08 11:24:07 +02:00
parent 15f27a1937
commit b0971f4459
6 changed files with 30 additions and 9 deletions

@ -39,8 +39,8 @@
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include&quot;;&quot;..\jthread\jthread-1.2.1\src&quot;;&quot;..\irrlicht\irrlicht-1.7.1\include&quot;" AdditionalIncludeDirectories="&quot;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include&quot;;&quot;..\jthread\jthread-1.2.1\src&quot;;&quot;..\irrlicht\irrlicht-1.7.1\include&quot;;&quot;..\zlib\zlib-1.2.5&quot;"
PreprocessorDefinitions="WIN32" PreprocessorDefinitions="WIN32;RUN_IN_PLACE"
BufferSecurityCheck="true" BufferSecurityCheck="true"
EnableEnhancedInstructionSet="1" EnableEnhancedInstructionSet="1"
FloatingPointModel="2" FloatingPointModel="2"
@ -57,7 +57,7 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalLibraryDirectories="&quot;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib&quot;;&quot;..\jthread\jthread-1.2.1\Release&quot;;&quot;..\irrlicht\irrlicht-1.7.1\lib\Win32-visualstudio&quot;" AdditionalLibraryDirectories="&quot;..\irrlicht\irrlicht-1.7.1\lib\Win32-visualstudio&quot;;..\zlib125dll\dll32"
IgnoreAllDefaultLibraries="false" IgnoreAllDefaultLibraries="false"
GenerateDebugInformation="true" GenerateDebugInformation="true"
/> />
@ -136,7 +136,7 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalLibraryDirectories="&quot;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib&quot;;&quot;..\irrlicht\irrlicht-1.7.1\lib\Win32-visualstudio&quot;;..\zlib125dll\dll32" AdditionalLibraryDirectories="&quot;..\irrlicht\irrlicht-1.7.1\lib\Win32-visualstudio&quot;;..\zlib125dll\dll32"
IgnoreDefaultLibraryNames="libcmtd.dll" IgnoreDefaultLibraryNames="libcmtd.dll"
GenerateDebugInformation="false" GenerateDebugInformation="false"
LinkTimeCodeGeneration="1" LinkTimeCodeGeneration="1"

@ -198,6 +198,7 @@ DebugStacker::~DebugStacker()
#ifdef _WIN32 #ifdef _WIN32
#if CATCH_UNHANDLED_EXCEPTIONS == 1
void se_trans_func(unsigned int u, EXCEPTION_POINTERS* pExp) void se_trans_func(unsigned int u, EXCEPTION_POINTERS* pExp)
{ {
dstream<<"In trans_func.\n"; dstream<<"In trans_func.\n";
@ -223,6 +224,7 @@ void se_trans_func(unsigned int u, EXCEPTION_POINTERS* pExp)
} }
} }
#endif #endif
#endif

@ -169,6 +169,16 @@ video::ITexture* IrrlichtWrapper::getTextureDirect(const TextureSpec &spec)
std::string path = porting::getDataPath(name.c_str()); std::string path = porting::getDataPath(name.c_str());
dstream<<"getTextureDirect(): Loading path \""<<path dstream<<"getTextureDirect(): Loading path \""<<path
<<"\""<<std::endl; <<"\""<<std::endl;
// DEBUG
/*{
dstream<<"DEBUG CODE: Loading base image "
"directly to texture"<<std::endl;
t = driver->getTexture(path.c_str());
driver->renameTexture(t, texture_name.c_str());
return t;
}*/
video::IImage *image = driver->createImageFromFile(path.c_str()); video::IImage *image = driver->createImageFromFile(path.c_str());
if(image == NULL) if(image == NULL)

@ -116,8 +116,6 @@ FIXME: Some network errors on Windows that cause local game to not work
- See siggjen's emails. - See siggjen's emails.
- Is this the famous "windows 7 problem"? - Is this the famous "windows 7 problem"?
- Apparently there might be other errors too - Apparently there might be other errors too
- There is some problem with the menu system, something like the
.Parent of guiPauseMenu to end up being 0xfeeefeee
Networking and serialization: Networking and serialization:
----------------------------- -----------------------------
@ -1626,8 +1624,8 @@ int main(int argc, char *argv[])
video::E_DRIVER_TYPE driverType; video::E_DRIVER_TYPE driverType;
#ifdef _WIN32 #ifdef _WIN32
//driverType = video::EDT_DIRECT3D9; driverType = video::EDT_DIRECT3D9;
driverType = video::EDT_OPENGL; //driverType = video::EDT_OPENGL;
#else #else
driverType = video::EDT_OPENGL; driverType = video::EDT_OPENGL;
//driverType = video::EDT_BURNINGSVIDEO; // Best software renderer //driverType = video::EDT_BURNINGSVIDEO; // Best software renderer
@ -1914,7 +1912,8 @@ int main(int argc, char *argv[])
Address connect_address(0,0,0,0, port); Address connect_address(0,0,0,0, port);
try{ try{
if(address == "") if(address == "")
connect_address.Resolve("localhost"); //connect_address.Resolve("localhost");
connect_address.setAddress(127,0,0,1);
else else
connect_address.Resolve(address.c_str()); connect_address.Resolve(address.c_str());
} }

@ -26,7 +26,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "utility.h" #include "utility.h"
// Debug printing options // Debug printing options
// Set to 1 for debug output
#define DP 0 #define DP 0
// This is prepended to everything printed here
#define DPS "" #define DPS ""
bool g_sockets_initialized = false; bool g_sockets_initialized = false;
@ -108,6 +110,12 @@ void Address::setAddress(unsigned int address)
m_address = address; m_address = address;
} }
void Address::setAddress(unsigned int a, unsigned int b,
unsigned int c, unsigned int d)
{
m_address = (a<<24) | (b<<16) | ( c<<8) | d;
}
void Address::setPort(unsigned short port) void Address::setPort(unsigned short port)
{ {
m_port = port; m_port = port;

@ -85,6 +85,8 @@ public:
unsigned int getAddress() const; unsigned int getAddress() const;
unsigned short getPort() const; unsigned short getPort() const;
void setAddress(unsigned int address); void setAddress(unsigned int address);
void setAddress(unsigned int a, unsigned int b,
unsigned int c, unsigned int d);
void setPort(unsigned short port); void setPort(unsigned short port);
void print(std::ostream *s) const; void print(std::ostream *s) const;
void print() const; void print() const;