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
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;"
PreprocessorDefinitions="WIN32"
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;RUN_IN_PLACE"
BufferSecurityCheck="true"
EnableEnhancedInstructionSet="1"
FloatingPointModel="2"
@ -57,7 +57,7 @@
/>
<Tool
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"
GenerateDebugInformation="true"
/>
@ -136,7 +136,7 @@
/>
<Tool
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"
GenerateDebugInformation="false"
LinkTimeCodeGeneration="1"

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

@ -169,6 +169,16 @@ video::ITexture* IrrlichtWrapper::getTextureDirect(const TextureSpec &spec)
std::string path = porting::getDataPath(name.c_str());
dstream<<"getTextureDirect(): Loading path \""<<path
<<"\""<<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());
if(image == NULL)

@ -116,8 +116,6 @@ FIXME: Some network errors on Windows that cause local game to not work
- See siggjen's emails.
- Is this the famous "windows 7 problem"?
- 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:
-----------------------------
@ -1626,8 +1624,8 @@ int main(int argc, char *argv[])
video::E_DRIVER_TYPE driverType;
#ifdef _WIN32
//driverType = video::EDT_DIRECT3D9;
driverType = video::EDT_OPENGL;
driverType = video::EDT_DIRECT3D9;
//driverType = video::EDT_OPENGL;
#else
driverType = video::EDT_OPENGL;
//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);
try{
if(address == "")
connect_address.Resolve("localhost");
//connect_address.Resolve("localhost");
connect_address.setAddress(127,0,0,1);
else
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"
// Debug printing options
// Set to 1 for debug output
#define DP 0
// This is prepended to everything printed here
#define DPS ""
bool g_sockets_initialized = false;
@ -108,6 +110,12 @@ void Address::setAddress(unsigned int 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)
{
m_port = port;

@ -85,6 +85,8 @@ public:
unsigned int getAddress() const;
unsigned short getPort() const;
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 print(std::ostream *s) const;
void print() const;