Jump to content

MMaps Redux


Guest auntieMangos

Recommended Posts

Found a bug at the last minute, been trying to find/fix it. I found one for sure, just not sure if it's what was causing the problem...

Good news is that I enhanced the .debug mmap path command - it now places a marker at each point along the path!

and when push you the changes, i wait of this...

Link to comment
Share on other sites

  • Replies 1.2k
  • Created
  • Last Reply

Top Posters In This Topic

Yes, but when compiling mmaps it is critical error.

4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(110) : warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(79) : see declaration of 'strcat'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(120) : warning C4996: 'wcscat': This function or variable may be unsafe. Consider using wcscat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(245) : see declaration of 'wcscat'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(178) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(74) : see declaration of 'strcpy'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(188) : warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(252) : see declaration of 'wcscpy'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(222) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(207) : see declaration of 'strdup'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(266) : warning C4996: 'strncat': This function or variable may be unsafe. Consider using strncat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(144) : see declaration of 'strncat'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(279) : warning C4996: 'wcsncat': This function or variable may be unsafe. Consider using wcsncat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(268) : see declaration of 'wcsncat'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(320) : warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(157) : see declaration of 'strncpy'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(329) : warning C4996: 'wcsncpy': This function or variable may be unsafe. Consider using wcsncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(275) : see declaration of 'wcsncpy'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(513) : warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(166) : see declaration of 'strtok'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(524) : warning C4996: 'wcstok': This function or variable may be unsafe. Consider using wcstok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(280) : see declaration of 'wcstok'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_stdlib.inl(140) : warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\stdlib.h(447) : see declaration of 'getenv'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_stdlib.inl(152) : warning C4996: '_wgetenv': This function or variable may be unsafe. Consider using _wdupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\stdlib.h(653) : see declaration of '_wgetenv'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_stdlib.inl(163) : warning C4996: '_itoa': This function or variable may be unsafe. Consider using _itoa_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\stdlib.h(465) : see declaration of '_itoa'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_stdlib.inl(176) : warning C4996: '_itow': This function or variable may be unsafe. Consider using _itow_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\stdlib.h(640) : see declaration of '_itow'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_stdlib.inl(242) : warning C4996: '_mktemp': This function or variable may be unsafe. Consider using _mktemp_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\io.h(206) : see declaration of '_mktemp'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_stdlib.inl(253) : warning C4996: '_wmktemp': This function or variable may be unsafe. Consider using _wmktemp_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\wchar.h(320) : see declaration of '_wmktemp'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_stdlib.inl(310) : warning C4996: 'putenv': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _putenv. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\stdlib.h(864) : see declaration of 'putenv'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_unistd.inl(59) : warning C4996: 'access': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _access. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\io.h(303) : see declaration of 'access'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_unistd.inl(131) : warning C4996: 'chdir': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _chdir. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\direct.h(127) : see declaration of 'chdir'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_unistd.inl(156) : warning C4996: 'rmdir': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _rmdir. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\direct.h(129) : see declaration of 'rmdir'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_unistd.inl(377) : warning C4996: 'getcwd': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getcwd. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\direct.h(121) : see declaration of 'getcwd'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_unistd.inl(983) : warning C4996: 'swab': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _swab. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\stdlib.h(865) : see declaration of 'swab'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_unistd.inl(1127) : warning C4996: 'unlink': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _unlink. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\stdio.h(301) : see declaration of 'unlink'
3>RegistryUtil.cpp
4>VMapFactory.cpp
3>ReferenceCount.cpp
3>Ray.cpp
3>Random.cpp
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(110) : warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(79) : see declaration of 'strcat'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(120) : warning C4996: 'wcscat': This function or variable may be unsafe. Consider using wcscat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(245) : see declaration of 'wcscat'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(178) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(74) : see declaration of 'strcpy'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(188) : warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(252) : see declaration of 'wcscpy'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(222) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(207) : see declaration of 'strdup'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(266) : warning C4996: 'strncat': This function or variable may be unsafe. Consider using strncat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(144) : see declaration of 'strncat'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(279) : warning C4996: 'wcsncat': This function or variable may be unsafe. Consider using wcsncat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(268) : see declaration of 'wcsncat'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(320) : warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(157) : see declaration of 'strncpy'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(329) : warning C4996: 'wcsncpy': This function or variable may be unsafe. Consider using wcsncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(275) : see declaration of 'wcsncpy'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(513) : warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(166) : see declaration of 'strtok'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_string.inl(524) : warning C4996: 'wcstok': This function or variable may be unsafe. Consider using wcstok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\string.h(280) : see declaration of 'wcstok'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_stdlib.inl(140) : warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\stdlib.h(447) : see declaration of 'getenv'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_stdlib.inl(152) : warning C4996: '_wgetenv': This function or variable may be unsafe. Consider using _wdupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\stdlib.h(653) : see declaration of '_wgetenv'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_stdlib.inl(163) : warning C4996: '_itoa': This function or variable may be unsafe. Consider using _itoa_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\stdlib.h(465) : see declaration of '_itoa'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_stdlib.inl(176) : warning C4996: '_itow': This function or variable may be unsafe. Consider using _itow_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\stdlib.h(640) : see declaration of '_itow'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_stdlib.inl(242) : warning C4996: '_mktemp': This function or variable may be unsafe. Consider using _mktemp_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\io.h(206) : see declaration of '_mktemp'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_stdlib.inl(253) : warning C4996: '_wmktemp': This function or variable may be unsafe. Consider using _wmktemp_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\wchar.h(320) : see declaration of '_wmktemp'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_stdlib.inl(310) : warning C4996: 'putenv': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _putenv. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\stdlib.h(864) : see declaration of 'putenv'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_unistd.inl(59) : warning C4996: 'access': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _access. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\io.h(303) : see declaration of 'access'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_unistd.inl(131) : warning C4996: 'chdir': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _chdir. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\direct.h(127) : see declaration of 'chdir'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_unistd.inl(156) : warning C4996: 'rmdir': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _rmdir. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\direct.h(129) : see declaration of 'rmdir'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_unistd.inl(377) : warning C4996: 'getcwd': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getcwd. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\direct.h(121) : see declaration of 'getcwd'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_unistd.inl(983) : warning C4996: 'swab': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _swab. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\stdlib.h(865) : see declaration of 'swab'
4>d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\dep\\ACE_wrappers\\ace/OS_NS_unistd.inl(1127) : warning C4996: 'unlink': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _unlink. See online help for details.
4>        D:\\Programy\\Microsoft Visual Studio 9.0\\VC\\include\\stdio.h(301) : see declaration of 'unlink'
4>TileAssembler.cpp
...
...
3>format.cpp
4>Build log was saved at "file://d:\\mangos\\faramir118-mangos-v0.16-dev1-1496-g0d8929c\\faramir118-mangos-0d8929c\\contrib\\mmap\\win\\VC90\\MoveMapGen__Win32_Release\\BuildLog.htm"
4>MoveMapGen - 2 error(s), 48 warning(s)
...
...
========== Build: 4 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Link to comment
Share on other sites

Found a bug at the last minute, been trying to find/fix it. I found one for sure, just not sure if it's what was causing the problem...

Just one? :)

Just push it as is.

With suspected bug description. More people looking on it, the sooner it will be solved.

It's OK, for every bug found there are 3 hidden. You can't get them all.

Take care.

Link to comment
Share on other sites

Fixed issues:

  • * In SendMonsterMoveByPath, mid point was being calculated with first path node instead of current location.
    Fixing this made the function a lot more predictable, easier to use, and fixed monster speed (I think... these things don't come with handy speedometers)
    * The difference between the previous and current GetClosePoint causing the path to be recalculated.
    Always call setEndPosition() in PathInfo::Update()
    Might be hacky, could have some unknown consequences...

New issues:

  • * If monster speed changes after the path is sent, things get really messy. Client-side, monster kind of stops, then disappears, then reappears, etc.
    We probably need to check for speed changes in TargetedMovementGenerator functions, and force a resend with updated travel time.
    Overloading MovementGenerator::unitSpeedChanged() might be necessary - can't send path from there though, because it is called for inactive movement generators.
    * With smooth paths, monsters overshoot the corners. This can be seen easily with the new .debug mmap path.
    This should be a simple thing to fix, I just haven't looked at the findSmoothPath function.

I had a lot of debug output in there - if you see any I forgot to remove, please let me know.

edit: forgot to mention that I didn't include the most recent additions from qsa (Waypoint and flying stuff)

Link to comment
Share on other sites

Just few remarks about the changes:

  • * in HomeMovementGenerator in call for SendMonsterMoveByPath() - path.getPathPointer() call to get path start is redundant - we just generated it, its always 1.

  • * You still kept and using totally redundant PathInfo::isPointInPolyBounds(), any particular reason?

  • * In PathInfo::BuildPath, why checking isPointInPolyBounds? if last poly in path is the poly we need - we don't have to check anything. We already did while getting the reference to last poly.
    *
    * Inside TargetedMovementGenerator::_setTargetLocation : that dist calculation is partially redundant (the first interval len), since point path will always contain at 0'th position out current position. pointPath.GetTotalLength can do this calculation.

  • * Unit::SendMonsterMoveByPath() : why not including cases for path shorter than 3 points, stop case? in middle points calculation :Path[start] will always be our current location. And /2 is slower than *0.5 :) very likely to be optimized out, but still.
    * About using UNIT_FIELD_FLAGS instead of SplineFlags, I'd ask TOM_RUS about this one, its his packet structure. That way of sending may refer to more than just taxi paths.
    * Ay particular reason for not including WaypointMovementGenerator? Do you think, we don't need it?

Other than that, it looks just fine :)

Take care.

Link to comment
Share on other sites

Just few remarks about the changes:

  • * in HomeMovementGenerator in call for SendMonsterMoveByPath() - path.getPathPointer() call to get path start is redundant - we just generated it, its always 1.

  • * You still kept and using totally redundant PathInfo::isPointInPolyBounds(), any particular reason?

  • * In PathInfo::BuildPath, why checking isPointInPolyBounds? if last poly in path is the poly we need - we don't have to check anything. We already did while getting the reference to last poly.
    *
    * Inside TargetedMovementGenerator::_setTargetLocation : that dist calculation is partially redundant (the first interval len), since point path will always contain at 0'th position out current position. pointPath.GetTotalLength can do this calculation.

  • * Unit::SendMonsterMoveByPath() : why not including cases for path shorter than 3 points, stop case? in middle points calculation :Path[start] will always be our current location. And /2 is slower than *0.5 :) very likely to be optimized out, but still.
    * About using UNIT_FIELD_FLAGS instead of SplineFlags, I'd ask TOM_RUS about this one, its his packet structure. That way of sending may refer to more than just taxi paths.
    * Ay particular reason for not including WaypointMovementGenerator? Do you think, we don't need it?

Other than that, it looks just fine :)

Take care.

hey qsa can you update your patch with last changes from faramir?

Link to comment
Share on other sites

I think it would be best if everyone waits for faramir to commit qsa's code to his repo. Having two repos with differing versions can get messy. Just take a look at Vehicles. That project is an absolute mess with so many people offering up their ideas without a central repository for everyone to collaborate together. As such, development for that code has been slower than it really ought to be.

My vote is let's stick with faramir's work as the "official" repo and everyone else can submit code for review. This doesn't mean you can't have your own repo for working on your code, but please don't offer it up as an alternative patch.

Link to comment
Share on other sites

i wait that faramir118 pushed the changes ^^
can you add the changes from qsa?
hey qsa can you update your patch with last changes from faramir?

No, please no. Don't transform this great thread to something like the vehicle thread with everyone asking for Updates every 2 posts.

@UnkleNuke : you're totally right. faramir is the creator of this project, let him commit his work and add qsa (+others) work in his repo.

Link to comment
Share on other sites

  • * You still kept and using totally redundant PathInfo::isPointInPolyBounds(), any particular reason?
    * Ay particular reason for not including WaypointMovementGenerator? Do you think, we don't need it?
    * Unit::SendMonsterMoveByPath() : why not including cases for path shorter than 3 points, stop case? in middle points calculation :Path[start] will always be our current location.

I'm just slow, I'll get to it!

  • * in HomeMovementGenerator in call for SendMonsterMoveByPath() - path.getPathPointer() call to get path start is redundant - we just generated it, its always 1.
    * And /2 is slower than *0.5 :) very likely to be optimized out, but still.

Thanks, will do these easy fixes.

  • * In PathInfo::BuildPath, why checking isPointInPolyBounds? if last poly in path is the poly we need - we don't have to check anything. We already did while getting the reference to last poly.

Just in case findNearestPoly (in BuildFreshPath) returns a polygon that doesn't contain the destination position.

We can probably prevent this by tweaking the extents (they are arbitrary numbers right now).

  • * Inside TargetedMovementGenerator::_setTargetLocation : that dist calculation is partially redundant (the first interval len), since point path will always contain at 0'th position out current position. pointPath.GetTotalLength can do this calculation.

For cases where the monster is between two path nodes. I can't point out one scenario where it happens, but I was planning to put the travel time calculation back into SendMonsterMoveByPath, and it should make sure that the first spline's length is accounted for.

Also, we know that the path nodes sent are [startIndex ... endIndex] but the travel time is [startIndex-1 ... endIndex] - others may use the SendMonsterMoveByPath function in some other part of mangos and not realize it. Abstraction is good in this case!

  • * About using UNIT_FIELD_FLAGS instead of SplineFlags, I'd ask TOM_RUS about this one, its his packet structure. That way of sending may refer to more than just taxi paths.

Good point. I'll change it back without waiting for TOM_RUS... The client expects FLYING or CATMULLROM splines in a specific format, so they should always be sent that way.

Link to comment
Share on other sites

I'm just slow, I'll get to it!

Sorry, posted before following posts and edits - take your time.

Just in case findNearestPoly (in BuildFreshPath) returns a polygon that doesn't contain the destination position.

We can probably prevent this by tweaking the extents (they are arbitrary numbers right now).

hm... can it happen? findNearestPoly doesn't contain the destination position and still return a valid poly-reference? I don't think so, since our search box is pretty small, I think its acceptable error.

For cases where the monster is between two path nodes. I can't point out one scenario where it happens, but I was planning to put the travel time calculation back into SendMonsterMoveByPath, and it should make sure that the first spline's length is accounted for.

Also, we know that the path nodes sent are [startIndex ... endIndex] but the travel time is [startIndex-1 ... endIndex] - others may use the SendMonsterMoveByPath function in some other part of mangos and not realize it. Abstraction is good in this case!

Not critical - but in current code this cannot happen, not from TargetedMovementGenerator::_setTargetLocation call at least - so, calculations of current position there are redundant. Besides, the points you get there are wrong, since only traveler have the up-to-date points if you are in the middle of travel. ( maybe I'm wrong here alittle bit - need to check code )

Thanks for porting overall.

I'll post needed changes ( if any ) in diff format later on, when I get time, so we can better discuss them.

Patience guys, everything will be solved best possible way, with time. Rushing things up will only force more mistakes.

Link to comment
Share on other sites

Besides, the points you get there are wrong, since only traveler have the up-to-date points if you are in the middle of travel. ( maybe I'm wrong here alittle bit - need to check code )

DestinationHolder::UpdateTraveller() eventually calls relocate, so the positions are good.

One case where the creature will be between two path points is when their speed changes.

The path will still be valid, we just have to recalculate dist to the next node in order to update travel time.

Link to comment
Share on other sites

I made a few changes to handle the movespeed changes. Might need some improvements, but for now it's handling things well.

Also moved SendMonsterMoveByPath out of the Unit header. Got really tired of recompiling everything because I added or changed some debug output in that function.

Have you tried ccache ?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use