diff --git a/.gitignore b/.gitignore index e5b6b77..689ae6d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,728 +1,46 @@ -/Debug/SDL.obj -/Debug/SHA1.obj -/Debug/SendBuffer.obj -/Debug/UniMod.Build.CppClean.log -/Debug/UniMod.exp -/Debug/UniMod.lib -/Debug/UniMod.obj -/Debug/UniMod.pch -/Debug/UniMod.pdb -/Debug/UniMod.tlog/CL.read.1.tlog -/Debug/UniMod.tlog/CL.write.1.tlog -/Debug/UniMod.tlog/UniMod.lastbuildstate -/Debug/UniMod.tlog/UniMod.write.1u.tlog -/Debug/UniMod.tlog/cl.command.1.tlog -/Debug/UniMod.tlog/link.command.1.tlog -/Debug/UniMod.tlog/link.read.1.tlog -/Debug/UniMod.tlog/link.write.1.tlog -/Debug/UniMod2.log -/Debug/Waypoints.obj -/Debug/admin.obj -/Debug/audServer.obj -/Debug/authManager.obj -/Debug/autoServer.obj -/Debug/blocksort.obj -/Debug/bugsAndChips.obj -/Debug/bzlib.obj -/Debug/cliUtil.obj -/Debug/clientView.obj -/Debug/compress.obj -/Debug/console.obj -/Debug/crctable.obj -/Debug/decompress.obj -/Debug/defs.obj -/Debug/filesystem.obj -/Debug/fxBuff.obj -/Debug/gui.obj -/Debug/huffman.obj -/Debug/imageUtil.obj -/Debug/json.obj -/Debug/keys.obj -/Debug/libVer.obj -/Debug/lpeg.obj -/Debug/lua_addons.obj -/Debug/map.obj -/Debug/mapUtil.obj -/Debug/net.obj -/Debug/player.obj -/Debug/playerExternFunction.obj -/Debug/polygon.obj -/Debug/randtable.obj -/Debug/react.obj -/Debug/replays.obj -/Debug/score.obj -/Debug/spelList.obj -/Debug/spellGet.obj -/Debug/spells.obj -/Debug/sprite.obj -/Debug/stdafx.obj -/Debug/tiles.obj -/Debug/unit.obj -/Debug/unit2.obj -/Debug/unitExternFunction.obj -/Debug/util.obj -/Debug/vc120.idb -/Debug/vc120.pdb -/Debug/webserver.obj -/Debug/windowMsg.obj -/Debug/windows.obj -/Debug/windowsUniModFunction.obj +/Debug/ +/Release/ +/Libs/SDL/freetype-2.5.5/objs/ /Libs/LuaJIT-2.0.3/luajit.vcxproj.user /Libs/LuaJIT-2.0.3/src/host/buildvm_arch.h +/Libs/LuaJIT-2.0.3/src/*.obj +/Libs/LuaJIT-2.0.3/src/*.lib +/Libs/LuaJIT-2.0.3/src/luajit.exe +/Libs/LuaJIT-2.0.3/src/luajit.log /Libs/LuaJIT-2.0.3/src/jit/vmdef.lua /Libs/LuaJIT-2.0.3/src/lj_bcdef.h /Libs/LuaJIT-2.0.3/src/lj_ffdef.h /Libs/LuaJIT-2.0.3/src/lj_folddef.h /Libs/LuaJIT-2.0.3/src/lj_libdef.h /Libs/LuaJIT-2.0.3/src/lj_recdef.h -/Libs/LuaJIT-2.0.3/src/lua51.lib -/Libs/LuaJIT-2.0.3/src/luajit.exe -/Libs/LuaJIT-2.0.3/src/luajit.log -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL2.Build.CppClean.log -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL2.tlog/CL.read.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL2.tlog/CL.write.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL2.tlog/Lib-link-cvtres.read.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL2.tlog/Lib-link-cvtres.write.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL2.tlog/SDL2.lastbuildstate -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL2.tlog/cl.command.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL2.tlog/lib.command.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL2.tlog/rc.command.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL2.tlog/rc.read.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL2.tlog/rc.write.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_RLEaccel.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_VS2013.log -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_assert.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_atomic.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_audio.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_audiocvt.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_audiodev.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_audiotypecvt.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_blendfillrect.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_blendline.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_blendpoint.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_blit.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_blit_0.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_blit_1.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_blit_A.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_blit_N.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_blit_auto.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_blit_copy.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_blit_slow.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_bmp.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_clipboard.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_clipboardevents.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_cpuinfo.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_d3dmath.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_directsound.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_diskaudio.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_drawline.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_drawpoint.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_dropevents.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_dummyaudio.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_dxjoystick.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_dynapi.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_egl.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_error.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_events.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_fillrect.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_gamecontroller.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_gesture.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_getenv.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_haptic.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_hints.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_iconv.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_joystick.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_keyboard.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_log.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_malloc.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_mixer.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_mmjoystick.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_mouse.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_nullevents.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_nullframebuffer.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_nullvideo.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_pixels.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_power.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_qsort.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_quit.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_rect.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_render.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_render_d3d.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_render_d3d11.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_render_gl.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_render_gles2.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_render_sw.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_rotate.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_rwops.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_shaders_gl.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_shaders_gles2.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_shape.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_spinlock.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_stdlib.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_stretch.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_string.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_surface.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_syscond.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_sysfilesystem.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_syshaptic.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_sysloadso.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_sysmutex.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_syspower.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_syssem.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_systhread.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_systimer.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_systls.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_thread.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_timer.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_touch.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_video.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_wave.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_windowevents.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_windows.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_windowsclipboard.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_windowsevents.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_windowsframebuffer.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_windowskeyboard.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_windowsmessagebox.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_windowsmodes.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_windowsmouse.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_windowsopengl.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_windowsopengles.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_windowsshape.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_windowsvideo.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_windowswindow.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_winmm.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_xaudio2.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_yuv_mmx.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/SDL_yuv_sw.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/e_atan2.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/e_log.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/e_pow.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/e_rem_pio2.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/e_sqrt.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/k_cos.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/k_rem_pio2.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/k_sin.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/s_atan.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/s_copysign.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/s_cos.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/s_fabs.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/s_floor.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/s_scalbn.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/s_sin.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/vc120.idb -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/vc120.pdb -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/version.res -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/SDL2_ttf.Build.CppClean.log -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/SDL2_ttf.tlog/CL.read.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/SDL2_ttf.tlog/CL.write.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/SDL2_ttf.tlog/Lib-link-cvtres.read.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/SDL2_ttf.tlog/Lib-link-cvtres.write.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/SDL2_ttf.tlog/SDL2_ttf.lastbuildstate -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/SDL2_ttf.tlog/cl.command.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/SDL2_ttf.tlog/lib.command.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/SDL2_ttf.tlog/rc.command.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/SDL2_ttf.tlog/rc.read.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/SDL2_ttf.tlog/rc.write.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/SDL_ttf.obj -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/SDL_ttf_VS2012.log -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/Version.res -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/vc120.idb -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/vc120.pdb -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/autofit.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/bdf.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/cff.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/freetype.log -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/freetype.tlog/CL.read.1.tlog -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/freetype.tlog/Lib-link.read.1.tlog -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/freetype.tlog/Lib-link.write.1.tlog -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/freetype.tlog/cl.command.1.tlog -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/freetype.tlog/cl.write.1.tlog -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/freetype.tlog/freetype.lastbuildstate -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/freetype.tlog/lib.command.1.tlog -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/freetype255d.Build.CppClean.log -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftbase.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftbbox.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftbitmap.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftcache.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftdebug.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftfstype.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftgasp.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftglyph.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftgxval.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftgzip.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftinit.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftlcdfil.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftlzw.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftmm.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftotval.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftpatent.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftpfr.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftstroke.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftsynth.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftsystem.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/fttype1.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftwinfnt.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/ftxf86.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/pcf.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/pfr.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/psaux.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/pshinter.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/psmodule.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/raster.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/sfnt.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/smooth.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/truetype.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/type1.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/type1cid.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/type42.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Debug/winfnt.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/freetype255d.pdb +/Libs/LuaJIT-2.0.3/src/jit/vmdef.lua +/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Debug/ +/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/ +/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/ +/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/ /Libs/SDL2.lib /Libs/SDL2_ttf.lib /Libs/freetype.lib /Libs/libpng.lib -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/adler32.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/compress.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/crc32.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/deflate.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/gzclose.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/gzlib.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/gzread.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/gzwrite.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/infback.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/inffast.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/inflate.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/inftrees.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/trees.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/uncompr.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/vc120.idb -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/vc120.pdb -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/zlib.Build.CppClean.log -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/zlib.log -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/zlib.tlog/CL.read.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/zlib.tlog/CL.write.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/zlib.tlog/Lib-link.read.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/zlib.tlog/Lib-link.write.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/zlib.tlog/cl.command.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/zlib.tlog/lib.command.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/zlib.tlog/zlib.lastbuildstate -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ZLib/zutil.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/libpng.Build.CppClean.log -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/libpng.log -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/libpng.pch -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/libpng.tlog/CL.read.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/libpng.tlog/CL.write.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/libpng.tlog/Lib-link.read.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/libpng.tlog/Lib-link.write.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/libpng.tlog/cl.command.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/libpng.tlog/lib.command.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/libpng.tlog/libpng.lastbuildstate -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/png.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/pngerror.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/pngget.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/pngmem.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/pngpread.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/pngread.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/pngrio.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/pngrtran.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/pngrutil.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/pngset.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/pngtrans.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/pngwio.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/pngwrite.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/pngwtran.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/pngwutil.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/vc120.idb -/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/vc120.pdb -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/zlib.Build.CppClean.log -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/zlib.log -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/libpng.Build.CppClean.log -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/libpng.log +/Libs/lpng151/projects/visualc71/Win32_LIB_Debug/ +/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ /Libs/luajit.lib -/Libs/luasocket/src/auxiliar.obj -/Libs/luasocket/src/buffer.obj -/Libs/luasocket/src/except.obj -/Libs/luasocket/src/inet.obj -/Libs/luasocket/src/io.obj -/Libs/luasocket/src/luasocket.obj -/Libs/luasocket/src/options.obj -/Libs/luasocket/src/select.obj -/Libs/luasocket/src/socket.Build.CppClean.log -/Libs/luasocket/src/socket.log -/Libs/luasocket/src/socket.tlog/CL.read.1.tlog -/Libs/luasocket/src/socket.tlog/CL.write.1.tlog -/Libs/luasocket/src/socket.tlog/Lib-link.read.1.tlog -/Libs/luasocket/src/socket.tlog/Lib-link.write.1.tlog -/Libs/luasocket/src/socket.tlog/cl.command.1.tlog -/Libs/luasocket/src/socket.tlog/lib.command.1.tlog -/Libs/luasocket/src/socket.tlog/socket.lastbuildstate -/Libs/luasocket/src/tcp.obj -/Libs/luasocket/src/timeout.obj -/Libs/luasocket/src/udp.obj -/Libs/luasocket/src/vc120.idb -/Libs/luasocket/src/vc120.pdb -/Libs/luasocket/src/wsocket.obj -/Libs/socket.lib -/Libs/zlib.lib -/Release/UniMod.Build.CppClean.log -/Release/UniMod.tlog/unsuccessfulbuild -/Release/UniMod2.log +/Libs/luasocket/src/*.log +/Libs/luasocket/src/*.tlog +/Libs/luasocket/src/*.obj +/Libs/luasocket/src/*.lib +/Libs/*.lib /UniMod2.vcxproj.user /UniModNew.opensdf /UniModNew.sdf -/UniModNew.v12.suo -/ipch/unimod2-11107902/unimod-62249a38.ipch -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL2.Build.CppClean.log -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/SDL2_ttf.Build.CppClean.log -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/freetype255.Build.CppClean.log -/Debug/UniMod.dll.intermediate.manifest -/Debug/UniMod.dll.manifest -/Debug/UniMod.tlog/mt.command.1.tlog -/Debug/UniMod.tlog/mt.read.1.tlog -/Debug/UniMod.tlog/mt.write.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/adler32.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/compress.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/crc32.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/deflate.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/gzclose.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/gzlib.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/gzread.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/gzwrite.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/infback.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/inffast.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/inflate.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/inftrees.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/trees.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/uncompr.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/vc120.pdb -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/zlib.tlog/CL.read.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/zlib.tlog/CL.write.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/zlib.tlog/Lib-link.read.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/zlib.tlog/Lib-link.write.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/zlib.tlog/cl.command.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/zlib.tlog/lib.command.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/zlib.tlog/zlib.lastbuildstate -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/ZLib/zutil.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/libpng.pch -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/libpng.tlog/CL.read.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/libpng.tlog/CL.write.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/libpng.tlog/Lib-link.read.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/libpng.tlog/Lib-link.write.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/libpng.tlog/cl.command.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/libpng.tlog/lib.command.1.tlog -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/libpng.tlog/libpng.lastbuildstate -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/png.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/pngerror.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/pngget.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/pngmem.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/pngpread.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/pngread.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/pngrio.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/pngrtran.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/pngrutil.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/pngset.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/pngtrans.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/pngwio.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/pngwrite.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/pngwtran.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/pngwutil.obj -/Libs/lpng151/projects/visualc71/Win32_LIB_Release/vc120.pdb -/Release/SDL.obj -/Release/SHA1.obj -/Release/SendBuffer.obj -/Release/UniMod.dll.intermediate.manifest -/Release/UniMod.dll.manifest -/Release/UniMod.exp -/Release/UniMod.lib -/Release/UniMod.obj -/Release/UniMod.pch -/Release/UniMod.pdb -/Release/UniMod.tlog/CL.read.1.tlog -/Release/UniMod.tlog/CL.write.1.tlog -/Release/UniMod.tlog/UniMod.lastbuildstate -/Release/UniMod.tlog/UniMod.write.1u.tlog -/Release/UniMod.tlog/cl.command.1.tlog -/Release/UniMod.tlog/link.command.1.tlog -/Release/UniMod.tlog/link.read.1.tlog -/Release/UniMod.tlog/link.write.1.tlog -/Release/UniMod.tlog/mt.command.1.tlog -/Release/UniMod.tlog/mt.read.1.tlog -/Release/UniMod.tlog/mt.write.1.tlog -/Release/Waypoints.obj -/Release/admin.obj -/Release/audServer.obj -/Release/authManager.obj -/Release/autoServer.obj -/Release/blocksort.obj -/Release/bugsAndChips.obj -/Release/bzlib.obj -/Release/cliUtil.obj -/Release/clientView.obj -/Release/compress.obj -/Release/console.obj -/Release/crctable.obj -/Release/decompress.obj -/Release/defs.obj -/Release/filesystem.obj -/Release/fxBuff.obj -/Release/gui.obj -/Release/huffman.obj -/Release/imageUtil.obj -/Release/json.obj -/Release/keys.obj -/Release/libVer.obj -/Release/lpeg.obj -/Release/lua_addons.obj -/Release/map.obj -/Release/mapUtil.obj -/Release/net.obj -/Release/player.obj -/Release/playerExternFunction.obj -/Release/polygon.obj -/Release/randtable.obj -/Release/react.obj -/Release/replays.obj -/Release/score.obj -/Release/spelList.obj -/Release/spellGet.obj -/Release/spells.obj -/Release/sprite.obj -/Release/stdafx.obj -/Release/tiles.obj -/Release/unit.obj -/Release/unit2.obj -/Release/unitExternFunction.obj -/Release/util.obj -/Release/vc120.pdb -/Release/webserver.obj -/Release/windowMsg.obj -/Release/windows.obj -/Release/windowsUniModFunction.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL2.tlog/CL.read.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL2.tlog/CL.write.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL2.tlog/Lib-link-cvtres.read.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL2.tlog/Lib-link-cvtres.write.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL2.tlog/SDL2.lastbuildstate -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL2.tlog/cl.command.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL2.tlog/lib.command.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL2.tlog/rc.command.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL2.tlog/rc.read.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL2.tlog/rc.write.1.tlog -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_RLEaccel.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_VS2013.log -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_assert.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_atomic.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_audio.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_audiocvt.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_audiodev.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_audiotypecvt.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_blendfillrect.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_blendline.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_blendpoint.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_blit.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_blit_0.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_blit_1.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_blit_A.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_blit_N.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_blit_auto.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_blit_copy.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_blit_slow.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_bmp.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_clipboard.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_clipboardevents.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_cpuinfo.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_d3dmath.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_directsound.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_diskaudio.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_drawline.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_drawpoint.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_dropevents.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_dummyaudio.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_dxjoystick.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_dynapi.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_egl.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_error.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_events.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_fillrect.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_gamecontroller.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_gesture.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_getenv.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_haptic.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_hints.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_iconv.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_joystick.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_keyboard.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_log.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_malloc.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_mixer.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_mmjoystick.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_mouse.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_nullevents.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_nullframebuffer.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_nullvideo.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_pixels.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_power.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_qsort.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_quit.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_rect.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_render.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_render_d3d.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_render_d3d11.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_render_gl.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_render_gles2.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_render_sw.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_rotate.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_rwops.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_shaders_gl.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_shaders_gles2.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_shape.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_spinlock.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_stdlib.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_stretch.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_string.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_surface.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_syscond.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_sysfilesystem.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_syshaptic.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_sysloadso.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_sysmutex.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_syspower.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_syssem.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_systhread.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_systimer.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_systls.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_thread.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_timer.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_touch.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_video.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_wave.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_windowevents.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_windows.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_windowsclipboard.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_windowsevents.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_windowsframebuffer.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_windowskeyboard.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_windowsmessagebox.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_windowsmodes.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_windowsmouse.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_windowsopengl.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_windowsopengles.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_windowsshape.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_windowsvideo.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_windowswindow.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_winmm.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_xaudio2.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_yuv_mmx.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/SDL_yuv_sw.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/e_atan2.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/e_log.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/e_pow.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/e_rem_pio2.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/e_sqrt.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/k_cos.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/k_rem_pio2.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/k_sin.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/s_atan.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/s_copysign.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/s_cos.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/s_fabs.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/s_floor.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/s_scalbn.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/s_sin.obj -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/vc120.pdb -/Libs/SDL/SDL2-2.0.3/VisualC/SDL/Win32/Release/version.res -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/SDL2_ttf.tlog/CL.read.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/SDL2_ttf.tlog/CL.write.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/SDL2_ttf.tlog/Lib-link-cvtres.read.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/SDL2_ttf.tlog/Lib-link-cvtres.write.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/SDL2_ttf.tlog/SDL2_ttf.lastbuildstate -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/SDL2_ttf.tlog/cl.command.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/SDL2_ttf.tlog/lib.command.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/SDL2_ttf.tlog/rc.command.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/SDL2_ttf.tlog/rc.read.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/SDL2_ttf.tlog/rc.write.1.tlog -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/SDL_ttf.obj -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/SDL_ttf_VS2012.log -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/Version.res -/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/vc120.pdb -/Libs/SDL/VQA/Debug/VQA_XCC.log -/Libs/SDL/VQA/Debug/VQA_XCC.tlog/CL.read.1.tlog -/Libs/SDL/VQA/Debug/VQA_XCC.tlog/CL.write.1.tlog -/Libs/SDL/VQA/Debug/VQA_XCC.tlog/Lib-link.read.1.tlog -/Libs/SDL/VQA/Debug/VQA_XCC.tlog/Lib-link.write.1.tlog -/Libs/SDL/VQA/Debug/VQA_XCC.tlog/VQA_XCC.lastbuildstate -/Libs/SDL/VQA/Debug/VQA_XCC.tlog/cl.command.1.tlog -/Libs/SDL/VQA/Debug/VQA_XCC.tlog/lib.command.1.tlog -/Libs/SDL/VQA/Debug/aud_decode.obj -/Libs/SDL/VQA/Debug/ddpf_conversion.obj -/Libs/SDL/VQA/Debug/vc120.idb -/Libs/SDL/VQA/Debug/vc120.pdb -/Libs/SDL/VQA/Debug/vqa_decode.obj -/Libs/SDL/VQA/Debug/vqa_file.obj -/Libs/SDL/VQA/Release/VQA_XCC.log -/Libs/SDL/VQA/Release/VQA_XCC.tlog/CL.read.1.tlog -/Libs/SDL/VQA/Release/VQA_XCC.tlog/CL.write.1.tlog -/Libs/SDL/VQA/Release/VQA_XCC.tlog/Lib-link.read.1.tlog -/Libs/SDL/VQA/Release/VQA_XCC.tlog/Lib-link.write.1.tlog -/Libs/SDL/VQA/Release/VQA_XCC.tlog/VQA_XCC.lastbuildstate -/Libs/SDL/VQA/Release/VQA_XCC.tlog/cl.command.1.tlog -/Libs/SDL/VQA/Release/VQA_XCC.tlog/lib.command.1.tlog -/Libs/SDL/VQA/Release/aud_decode.obj -/Libs/SDL/VQA/Release/ddpf_conversion.obj -/Libs/SDL/VQA/Release/vc120.pdb -/Libs/SDL/VQA/Release/vqa_decode.obj -/Libs/SDL/VQA/Release/vqa_file.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/autofit.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/bdf.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/cff.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/freetype.log -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/freetype.tlog/CL.read.1.tlog -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/freetype.tlog/Lib-link.read.1.tlog -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/freetype.tlog/Lib-link.write.1.tlog -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/freetype.tlog/cl.command.1.tlog -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/freetype.tlog/cl.write.1.tlog -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/freetype.tlog/freetype.lastbuildstate -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/freetype.tlog/lib.command.1.tlog -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftbase.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftbbox.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftbitmap.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftcache.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftdebug.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftfstype.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftgasp.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftglyph.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftgxval.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftgzip.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftinit.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftlcdfil.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftlzw.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftmm.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftotval.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftpatent.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftpfr.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftstroke.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftsynth.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftsystem.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/fttype1.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftwinfnt.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/ftxf86.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/pcf.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/pfr.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/psaux.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/pshinter.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/psmodule.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/raster.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/sfnt.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/smooth.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/truetype.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/type1.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/type1cid.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/type42.obj -/Libs/SDL/freetype-2.5.5/objs/vc2010/Win32/Release/winfnt.obj -/Libs/VQA.lib -/Libs/SDL/VQA/Release/VQA_XCC.Build.CppClean.log -/Libs/SDL/VQA/Debug/VQA_XCC.Build.CppClean.log -/ipch/unimod2-11107902/*.ipch +/*.suo +/ipch +/Libs/SDL/SDL2-2.0.8/VisualC/SDL/Win32/Release/ +/Libs/SDL/SDL2-2.0.8/VisualC/SDL/Win32/Debug/ +/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Release/ +/Libs/SDL/SDL2_ttf-2.0.12/VisualC/Win32/Debug/ +/Libs/SDL/VQA/Debug/ +/Libs/SDL/VQA/Release/ +/Libs/*.lib +/Libs/SDL/VQA/Release/ +/Libs/SDL/VQA/Debug/ diff --git a/Libs/SDL/SDL2-2.0.8/VisualC/SDL/SDL.vcxproj b/Libs/SDL/SDL2-2.0.8/VisualC/SDL/SDL.vcxproj index a649364..4d7445f 100644 --- a/Libs/SDL/SDL2-2.0.8/VisualC/SDL/SDL.vcxproj +++ b/Libs/SDL/SDL2-2.0.8/VisualC/SDL/SDL.vcxproj @@ -27,11 +27,11 @@ StaticLibrary - v141_xp + v110_xp StaticLibrary - v141_xp + v110_xp DynamicLibrary diff --git a/Libs/SDL/SDL2_ttf-2.0.12/VisualC/SDL_ttf_VS2012.vcxproj b/Libs/SDL/SDL2_ttf-2.0.12/VisualC/SDL_ttf_VS2012.vcxproj index be7795c..191e6e9 100644 --- a/Libs/SDL/SDL2_ttf-2.0.12/VisualC/SDL_ttf_VS2012.vcxproj +++ b/Libs/SDL/SDL2_ttf-2.0.12/VisualC/SDL_ttf_VS2012.vcxproj @@ -27,12 +27,12 @@ StaticLibrary false - v141_xp + v110_xp StaticLibrary false - v141_xp + v110_xp DynamicLibrary diff --git a/Libs/SDL/VQA/VQA_XCC.vcxproj b/Libs/SDL/VQA/VQA_XCC.vcxproj index e4ac2d0..131f712 100644 --- a/Libs/SDL/VQA/VQA_XCC.vcxproj +++ b/Libs/SDL/VQA/VQA_XCC.vcxproj @@ -19,12 +19,12 @@ StaticLibrary true - v141_xp + v110_xp StaticLibrary false - v141_xp + v110_xp diff --git a/Libs/SDL/freetype-2.5.5/builds/windows/vc2010/freetype.vcxproj b/Libs/SDL/freetype-2.5.5/builds/windows/vc2010/freetype.vcxproj index 0f191fa..c7becc9 100644 --- a/Libs/SDL/freetype-2.5.5/builds/windows/vc2010/freetype.vcxproj +++ b/Libs/SDL/freetype-2.5.5/builds/windows/vc2010/freetype.vcxproj @@ -59,7 +59,7 @@ StaticLibrary false MultiByte - v141_xp + v110_xp StaticLibrary @@ -95,7 +95,7 @@ StaticLibrary false MultiByte - v141_xp + v110_xp StaticLibrary diff --git a/Libs/SDL/freetype-2.5.5/objs/README b/Libs/SDL/freetype-2.5.5/objs/README deleted file mode 100644 index befb63e..0000000 --- a/Libs/SDL/freetype-2.5.5/objs/README +++ /dev/null @@ -1,2 +0,0 @@ -This directory contains all the object files created when building the -library. diff --git a/Libs/lpng151/projects/visualc71/libpng.vcxproj b/Libs/lpng151/projects/visualc71/libpng.vcxproj index 8898a18..3dcb835 100644 --- a/Libs/lpng151/projects/visualc71/libpng.vcxproj +++ b/Libs/lpng151/projects/visualc71/libpng.vcxproj @@ -30,11 +30,11 @@ StaticLibrary - v141_xp + v110_xp StaticLibrary - v141_xp + v110_xp DynamicLibrary diff --git a/Libs/lpng151/projects/visualc71/zlib.vcxproj b/Libs/lpng151/projects/visualc71/zlib.vcxproj index 1b2af03..adc470f 100644 --- a/Libs/lpng151/projects/visualc71/zlib.vcxproj +++ b/Libs/lpng151/projects/visualc71/zlib.vcxproj @@ -26,11 +26,11 @@ StaticLibrary - v141_xp + v110_xp StaticLibrary - v141_xp + v110_xp DynamicLibrary diff --git a/Libs/luasocket/socket.vcxproj b/Libs/luasocket/socket.vcxproj index e1c448f..db53247 100644 --- a/Libs/luasocket/socket.vcxproj +++ b/Libs/luasocket/socket.vcxproj @@ -18,12 +18,12 @@ StaticLibrary - v141_xp + v110_xp MultiByte StaticLibrary - v141_xp + v110_xp MultiByte diff --git a/SDL.cpp b/SDL.cpp index 8049d38..bc1ce6b 100644 --- a/SDL.cpp +++ b/SDL.cpp @@ -11,6 +11,7 @@ LPDIRECTSOUND* noxDsound = (LPDIRECTSOUND*)0x83A1AC; +// Do not load SDL because this may cause conflict between new SDL patch and ours bool SDL_enabled = false; extern std::string getGameDirectory(); @@ -767,11 +768,11 @@ extern void InjectOffs(DWORD Addr, void *Fn); extern void InjectData(DWORD offset, byte* buff, size_t size); void initSDL() { - // Get the players settings - ReadConfigFile(); - if (SDL_enabled) { + // Get the players settings + ReadConfigFile(); + InjectJumpTo((DWORD)pTrueMessageLoop, &MessageLoop); InjectJumpTo((DWORD)pTrueMouseInit, &MouseInit); InjectJumpTo((DWORD)pTrueGetMouseData, &GetMouseData); diff --git a/UniMod2.vcxproj b/UniMod2.vcxproj index 7e40c62..5e19ba2 100644 --- a/UniMod2.vcxproj +++ b/UniMod2.vcxproj @@ -22,12 +22,12 @@ DynamicLibrary MultiByte true - v141_xp + v110_xp DynamicLibrary MultiByte - v141_xp + v110_xp @@ -101,7 +101,6 @@ Shlwapi.lib;User32.lib;Psapi.lib;libcmt.lib;%(AdditionalDependencies) - ..\$(ProjectName).dll true Windows true diff --git a/admin.cpp b/admin.cpp index 91663df..ce02ed0 100644 --- a/admin.cpp +++ b/admin.cpp @@ -1127,7 +1127,6 @@ namespace } return result; } - } extern "C" void adminInit(lua_State *L); extern void authInit(lua_State *L); diff --git a/authManager.cpp b/authManager.cpp index 8492f14..2233393 100644 --- a/authManager.cpp +++ b/authManager.cpp @@ -240,6 +240,7 @@ namespace unsigned char lhash[20]; sha.GetHash(lhash); sha.Reset(); + if(authData.find(sha1hash(lhash))!=authData.end() && strncmp(authData[sha1hash(lhash)].login, login, 50)==0 && authData[sha1hash(lhash)].isActive==true) { sha.Update((const unsigned char*)pass, strlen(pass)); @@ -247,6 +248,7 @@ namespace unsigned char phash[20]; sha.GetHash(phash); sha.Reset(); + if(strncmp((char*)authData[sha1hash(lhash)].phash, (char*)phash, 20)==0) return true; } @@ -788,4 +790,62 @@ void authCheckDelayed(byte playerIdx, char* pass) notLoggedIn.insert(pair(playerIdx, pass)); if(specialAuthRemote) notLoggedInRemote.push(playerIdx); +} + +// Process //auth tokens both from chat and console. +// If true is returned from this function, the message is filtered out completely. +bool processSpecialAuth(byte playerIdx, char* message) +{ + char authCmd[] = "//auth "; + char msgUsefulData[255]; + memset(msgUsefulData, 0, 1); + // Trim //auth part + int mlen = strlen(message); + int alen = strlen(authCmd); + int start = 0; + if (strncmp(message, authCmd, alen) == 0) + { + start += alen; + mlen -= start; + } + if (mlen < 0) + mlen = 0; + strncpy(msgUsefulData, &message[start], mlen); + + if (playerIdx!=0x1F && authorisedState[playerIdx]>=0 && authorisedState[playerIdx]<4) + { + switch(authorisedState[playerIdx]) + { + case 0: + case 3: + return true; + break; + case 1: + // Тут только логин сейвим + { + char* tmp = new char[255]; + strcpy_s(tmp, 255, msgUsefulData); + // Copy string to heap allocated ptr; it will be freed later in updateAuthDBProcess() -> authentificate() + + authorisedLogins[playerIdx] = tmp; + authorisedState[playerIdx]++; + authSendWelcomeMsg[playerIdx] = -1; + + return true; + } + break; + case 2: + { + // Сюда добавить логику запуска аутентификации по http + + authorisedState[playerIdx]++; + authSendWelcomeMsg[playerIdx] = -1; + authCheckDelayed(playerIdx, msgUsefulData); + + return true; + } + break; + } + } + return false; } \ No newline at end of file diff --git a/bugsAndChips.cpp b/bugsAndChips.cpp index 28ec205..9d75a10 100644 --- a/bugsAndChips.cpp +++ b/bugsAndChips.cpp @@ -355,9 +355,52 @@ void topicOverrideInit() //InjectData(0x0040C29B, nop, 2); } -void bugsInit() +int (__cdecl *netOnPacketRecvServ)(int playerId, char *packet, int length); +// Validates incoming player data in order to prevent rogue players crashing the server +// (this packet always comes singular, in contrast to regular MSG_* packets) +int __cdecl netOnPacketRecvServ_Hook(int playerId, char *packet, int length) { + if (*packet == 0x20 ) + { + if (length < 0x9A) + { + char test[60]; + sprintf(test,"[UniMod] Wrong player data len detected: 0x%X", length); + conPrintI(test); + // Go away, little bugger + return 0; + } + + packet++; + // Check if nickname starts with invalid character + if (packet[0] <= 0x1F) + { + wcscpy((wchar_t*)packet, L"Jack\0"); + conPrintI("[UniMod] Bugged player name was detected!"); + } + + // Check if player class is invalid + if (packet[0x42] >= 3) + { + packet[0x42] = 0; + conPrintI("[UniMod] Bugged player class was detected!"); + } + + // Check if player object requested by client is invalid + if (packet[0x43] > 0) + { + packet[0x43] = 0; + conPrintI("[UniMod] Bugged player object was detected!"); + } + packet--; + } + + // Carry on + return netOnPacketRecvServ(playerId, packet, length); +} +void bugsInit() +{ ASSIGN(wndSummonUsed,0x00716E88); ASSIGN(creatureSummonCommandAll,0x005B4080); @@ -369,18 +412,26 @@ void bugsInit() ASSIGN(wndSummonCreateList,0x004C2560); ASSIGN(cliSummondWndLoad,0x004C2E50); - InjectJumpTo(0x004E1C8A,&asmDeathBallBugGs); InjectJumpTo(0x004E1BD6,&asmDeathBallBugSh); - InjectJumpTo(0x004C2BC7,&asmConjSummonEnotherCmp); // делаем возможность ПКМ - InjectJumpTo(0x004C2BB6,&asmConjSummonDo); // ставим вместо списка наши 2 прикольные штуки - InjectJumpTo(0x0049179A,&asmConjSummonCreate); - InjectJumpTo(0x004C2ACC,&asmConjSummonDoAll); - InjectJumpTo(0x004C3147,&asmConjSummonDieOrBanish); - InjectJumpTo(0x004C1FA1,&asmConjSummonLoadWnd); + bool conjurerSummonCmdImprovements=false; + if (conjurerSummonCmdImprovements) + { + InjectJumpTo(0x004C2BC7,&asmConjSummonEnotherCmp); // делаем возможность ПКМ + InjectJumpTo(0x004C2BB6,&asmConjSummonDo); // ставим вместо списка наши 2 прикольные штуки + InjectJumpTo(0x0049179A,&asmConjSummonCreate); + InjectJumpTo(0x004C2ACC,&asmConjSummonDoAll); + InjectJumpTo(0x004C3147,&asmConjSummonDieOrBanish); + InjectJumpTo(0x004C1FA1,&asmConjSummonLoadWnd); + } -// InjectJumpTo(0x0052C7CD,&asmFixCastFireball); + //InjectJumpTo(0x0052C7CD,&asmFixCastFireball); - topicOverrideInit(); + bool filterPlayerJoinData=true; // TODO: convert all similar hardcoded-switches into #defines in a separate file + if (filterPlayerJoinData) + { + InjectOffs(0x4DEC40 + 1, &netOnPacketRecvServ_Hook); + } + ASSIGN(netOnPacketRecvServ, 0x51BAD0); } \ No newline at end of file diff --git a/console.cpp b/console.cpp index 8fd6480..afe3335 100644 --- a/console.cpp +++ b/console.cpp @@ -44,8 +44,6 @@ namespace lua_settop(L,Top); } - - int __declspec(naked) onPrintConsoleTrap() { __asm diff --git a/libVer.cpp b/libVer.cpp index 019690c..bb7d4b8 100644 --- a/libVer.cpp +++ b/libVer.cpp @@ -7,9 +7,9 @@ #include #include -extern void injectCon(); -extern "C" void __cdecl onNetPacket(BYTE *&BufStart,BYTE *E); -extern "C" void __cdecl onNetPacket2(BYTE *&BufStart,BYTE *E, BYTE *MyPlayer, BYTE *MyUc); +extern void initStepTwo(); +extern "C" void __cdecl onNetPacketClient(BYTE *&BufStart,BYTE *E); +extern "C" void __cdecl onNetPacketServer(BYTE *&BufStart,BYTE *E, BYTE *MyPlayer, BYTE *MyUc); extern "C" int __cdecl playerOnTrySpell(bigUnitStruct *Unit,byte *Uc,spellPacket *Pckt); extern "C" void conSendToServer(const char *Cmd); @@ -38,7 +38,7 @@ namespace push ebx lea eax, [esp+8-4] push eax - call onNetPacket + call onNetPacketClient add esp, 8 pop ebp cmp ebp, ebx @@ -64,7 +64,7 @@ namespace lea eax, [esp+0Ch-4] push ecx push eax - call onNetPacket2 + call onNetPacketServer add esp, 10h pop esi cmp esi, [esp+2Ch] @@ -147,7 +147,7 @@ namespace lua_pushcclosure(L, delayedConL, 0); lua_setfield(L, LUA_REGISTRYINDEX, "delayedCon"); - injectCon(); + initStepTwo(); __asm { diff --git a/net.cpp b/net.cpp index 9bc3382..72ff46f 100644 --- a/net.cpp +++ b/net.cpp @@ -4,7 +4,7 @@ #include #include -int UnimodVersion=010601;/// 00.06.01 +int UnimodVersion=010602;/// 00.06.02 void (__cdecl *netClientSend) (int PlrN,int Dir,//1 - клиенту void *Buf,int BufSize); @@ -314,24 +314,6 @@ namespace { netSendAll(&RP,sizeof(RP)); return 0; } - int netFake(lua_State *L) - /// высылает сообщение о смерти, но от этого помирает нокс - { - if (lua_type(L,1)!=LUA_TLIGHTUSERDATA) - { - lua_pushstring(L,"wrong args!"); - lua_error_(L); - } - - struct { - BYTE Pckt; - USHORT Code; - } B={0xE8,netGetUnitCodeServ(lua_touserdata(L,-1))}; - - netSendAll(&B,sizeof(B)); - - return 0; - } // Отправляет всем клиентам сообщение о смерти игрока. // Аргументы: игрок, атакующий, ассист @@ -770,8 +752,6 @@ namespace { netSendServ(Buf,Pt-Buf); } - - int netVersionRq(lua_State*L) { lua_settop(L,1); @@ -858,7 +838,7 @@ void netRegServPacket(uniPacket_e Event,netServFn_s Fn) { ServerRegMap.insert(std::make_pair(Event,Fn)); } -extern "C" void __cdecl onNetPacket(BYTE *&BufStart,BYTE *E); +extern "C" void __cdecl onNetPacketClient(BYTE *&BufStart,BYTE *E); @@ -871,7 +851,7 @@ extern "C" void __cdecl onNetPacket(BYTE *&BufStart,BYTE *E); extern void netOnWallChanged(wallRec *newData); extern void netOnSendArchive(int Size,char *Name,char *NameE); extern void netOnAbortDownload(); -void __cdecl onNetPacket(BYTE *&BufStart,BYTE *E)/// Полученые клиентом +void __cdecl onNetPacketClient(BYTE *&BufStart,BYTE *E)/// Полученые клиентом { bool found=true; // ВНИМАНИЕ! Для всех ВЫФИЛЬТРОВЫВАЕМЫХ пакетов - обязательно ставьте found=true! Иначе не будет производиться обработка других пакетов в ЭТОМ же фрейме! @@ -963,20 +943,89 @@ extern char *(__cdecl *mapGetName)(); } } } +extern int (__cdecl *playerKickByIdx)(int playerIdx, int unknownArg); extern void spellServDoCustom(int SpellArr[5],bool OnSelf,BYTE *MyPlayer,BYTE *MyUc); - extern void netOnClientTryUse(BYTE *Start,BYTE *End,BYTE *MyUc,void *Player); -extern "C" void __cdecl onNetPacket2(BYTE *&BufStart,BYTE *E, +extern bool processChatMessage(int playerId, char *string, bool teamMsg); +extern bool processSpecialAuth(byte playerIdx, char* message); + +extern "C" void __cdecl onNetPacketServer(BYTE *&BufStart,BYTE *E, BYTE *MyPlayer, /// bigUnitStruct BYTE *MyUc)/// Полученые сервером { bool found=true; // ВНИМАНИЕ! Для всех ВЫФИЛЬТРОВЫВАЕМЫХ пакетов - обязательно ставьте found=true! Иначе не будет производиться обработка других пакетов в ЭТОМ же фрейме! - while(found) + while (found) { found=false; BYTE *P=BufStart; - if (*P==0x3F && specialAuthorisation==true) + + if (*P == 0xA8) // MSG_TEXT_MESSAGE + { + void **PP=(void **)(((char*)MyPlayer)+0x2EC); + if (*PP == NULL) continue; // idk + PP=(void**)(((char*)*PP)+0x114); + byte *Pl=(byte*)(*PP); + byte playerIdx = *((byte*)(Pl+0x810)); + + bool longStr = P[3] & 2 == 0; + bool teamMsg = P[3] & 1; + byte length = P[8]; + byte reallen; + char msg[255]; + + // Detect and fix buffer overflows, also convert wide strings to short + if (longStr) + { + reallen = wcsnlen_s((wchar_t*)(P+0xB), 254); + wcstombs(msg, (wchar_t*)(P+0xB), reallen + 1); + msg[254] = 0; + } + else + { + reallen = strnlen_s((char*)P+0xB, 254); + msg[254] = 0; + strcpy_s(msg, reallen + 1, (char*)P+0xB); + } + reallen++; // null-term + + if (length != reallen) + { + // Oops, something went wrong + BufStart = E; + playerKickByIdx(playerIdx, 2); + return; + } + + if (specialAuthorisation) // Authorization packets + { + if (processSpecialAuth(playerIdx, msg)) + { + if (longStr) + BufStart += length * 2 + 0xB; + else + BufStart += length + 0xB; + + found = true; + continue; + } + } + + // Not an auth packet; pass on to Unimod + if (!processChatMessage(playerIdx, msg, teamMsg)) + { + if (longStr) + BufStart += length * 2 + 0xB; + else + BufStart += length + 0xB; + + found = true; + continue; + } + // Pass on to default handler + } + + if (*P == 0x3F && specialAuthorisation == true) // MSG_PLAYER_INPUT { void **PP=(void **)(((char*)MyPlayer)+0x2EC); PP=(void**)(((char*)*PP)+0x114); @@ -997,161 +1046,21 @@ extern "C" void __cdecl onNetPacket2(BYTE *&BufStart,BYTE *E, break; } } - else if(*P==0xA8 && specialAuthorisation==true) + else if(*P==0xBB && specialAuthorisation==true && ((char)P[0x4])>0) // MSG_SERVER_CMD { - void **PP=(void **)(((char*)MyPlayer)+0x2EC); PP=(void**)(((char*)*PP)+0x114); byte *Pl=(byte*)(*PP); byte playerIdx = *((byte*)(Pl+0x810)); - char *authCmd="//auth "; - int cmdTokenL=0; - if(strncmp((char*)&P[0xB], authCmd, ((BufStart[0x8]>strlen(authCmd))?(strlen(authCmd)):(BufStart[0x8])))==0) - cmdTokenL=strlen(authCmd); - if(playerIdx!=0x1F && authorisedState[playerIdx]>=0 && authorisedState[playerIdx]<4) - { - switch(authorisedState[playerIdx]) - { - case 0: - case 3: - BufStart+=BufStart[0x8]+0xB; - found=true; - break; - case 1: - // Тут только логин сейвим - { - char *login=NULL; - login = new char[P[0x8]-cmdTokenL]; - strncpy(login, (char*)&P[0xB+cmdTokenL], P[0x8]-cmdTokenL); - authorisedLogins[playerIdx]=login; - authorisedState[playerIdx]++; - authSendWelcomeMsg[playerIdx]=-1; - BufStart+=BufStart[0x8]+0xB; - found=true; - login = NULL; - } - break; - case 2: - { - //char *data=NULL; - //data = new char[P[0x8]+1]; - char* pass = new char[P[0x8]-cmdTokenL]; - //memcpy(data, &playerIdx, 1); - //strncpy(&data[1], (char*)&P[0xB], P[0x8]); - strncpy(pass, (char*)&P[0xB+cmdTokenL], P[0x8]-cmdTokenL); - - // Сюда добавить логику запуска аутентификации по http - - // TEMPORARY! - //temp=data; - // TEMPORARY! END - authorisedState[playerIdx]++; - authSendWelcomeMsg[playerIdx]=-1; - authCheckDelayed(playerIdx, pass); - BufStart+=BufStart[0x8]+0xB; - found=true; - //data = NULL; - pass=NULL; - } - break; - /*case 3: - { - BufStart+=BufStart[0x8]+0xB; - - // TEMPORARY! - if(strcmp(&temp[1], "password")==0) - authorisedState[playerIdx]++; - else - authorisedState[playerIdx]-=2; - // TEMPORARY! END - } - break;*/ - } - } - if(cmdTokenL>0 && found==false) - { - BufStart+=BufStart[0x8]+0xB; - found=true; - } - } - else if(*P==0xBB && specialAuthorisation==true && ((char)P[0x4])>0) - { - - void **PP=(void **)(((char*)MyPlayer)+0x2EC); - PP=(void**)(((char*)*PP)+0x114); - byte *Pl=(byte*)(*PP); - byte playerIdx = *((byte*)(Pl+0x810)); - char *authCmd=" //auth "; - int cmdTokenL=0; - char *command = new char[BufStart[0x4]]; - wcstombs(command,((wchar_t*)&BufStart[0x5]),BufStart[0x4]); - if(strncmp((char*)command, authCmd, ((BufStart[0x4]>strlen(authCmd))?(strlen(authCmd)):(BufStart[0x4])))==0) - cmdTokenL=strlen(authCmd); - if(playerIdx!=0x1F && authorisedState[playerIdx]>=0 && authorisedState[playerIdx]<4 && cmdTokenL==strlen(authCmd)) - { - switch(authorisedState[playerIdx]) - { - case 0: - case 3: - BufStart+=BufStart[0x4]*2+0x7; - found=true; - break; - case 1: - // Тут только логин сейвим - { - char *login=NULL; - login = new char[P[0x4]-cmdTokenL]; - strncpy(login, (char*)&command[cmdTokenL], P[0x4]-cmdTokenL); - authorisedLogins[playerIdx]=login; - authorisedState[playerIdx]++; - authSendWelcomeMsg[playerIdx]=-1; - BufStart+=BufStart[0x4]*2+0x7; - found=true; - login = NULL; - } - break; - case 2: - { - //char *data=NULL; - //data = new char[P[0x8]+1]; - //char* pass = new char[P[0x8]-cmdTokenL]; - //memcpy(data, &playerIdx, 1); - //strncpy(&data[1], (char*)&P[0xB], P[0x8]); - //strncpy(pass, (char*)&P[0xB+cmdTokenL], P[0x8]-cmdTokenL); - char* pass = new char[P[0x4]-cmdTokenL]; - strncpy(pass, (char*)&command[cmdTokenL], P[0x4]-cmdTokenL); - // Сюда добавить логику запуска аутентификации по http - - // TEMPORARY! - //temp=data; - // TEMPORARY! END - authorisedState[playerIdx]++; - authSendWelcomeMsg[playerIdx]=-1; - authCheckDelayed(playerIdx, pass); - BufStart+=BufStart[0x4]*2+0x7; - found=true; - //data = NULL; - pass=NULL; - } - break; - /*case 3: - { - BufStart+=BufStart[0x8]+0xB; - - // TEMPORARY! - if(strcmp(&temp[1], "password")==0) - authorisedState[playerIdx]++; - else - authorisedState[playerIdx]-=2; - // TEMPORARY! END - } - break;*/ - } - } - if(cmdTokenL>0 && found==false) + + char command[255]; // no heap alloc :| + wcstombs(command, ((wchar_t*)&BufStart[0x5]), BufStart[0x4]); + + if (processSpecialAuth(playerIdx, command + 1)) { - BufStart+=BufStart[0x4]*2+0x7; - found=true; + BufStart += BufStart[0x4]*2+0x7; + found = true; + continue; } } else if (*P==0xF8)/// это будет первый юнимод-пакет {F8,<длина>, данные} @@ -1283,22 +1192,23 @@ void netInit() registerserver("netReportCharges",&netReportChargesL); registerserver("netClientPrint",&netDoPrintConsoleL); - registerserver("netFake",&netFake); + //registerserver("netFake",&netFake); // crashes client registerserver("netMsgPlrDied",&playerDeathL); registerserver("netMsgBox", &netSendMessageBoxL); registerserver("netParticleFx", &netTestParticleL); - registerserver("netSpriteIntensity", &netTestIntensityL); - registerserver("netSpriteColor", &netTestColorL); + // research is not complete yet; messes up client + //registerserver("netSpriteIntensity", &netTestIntensityL); + //registerserver("netSpriteColor", &netTestColorL); registerserver("sendChat",&sendChat); registerclient("netGetVersion",netGetVersion); registerclient("netVersionRq",&netVersionRq); /// функция проверки клиентом версии сервера registerclient("netSendFx",&netSendFx); - char Buf[40]=""; - sprintf(Buf,"net%s%s%d","To",Block2,2);/// чтобы не выдавать важную команду всяким ларбосам + //char Buf[40]=""; + //sprintf(Buf,"net%s%s%d","To",Block2,2);/// чтобы не выдавать важную команду всяким ларбосам + //registerclient(Buf,&sendToServer); registerclient("netRename",&netRename); - registerclient(Buf,&sendToServer); -} +} diff --git a/player.cpp b/player.cpp index 2067e58..a8640c2 100644 --- a/player.cpp +++ b/player.cpp @@ -392,6 +392,33 @@ extern "C" int __cdecl playerOnTrySpell(bigUnitStruct *Unit,byte *Uc,spellPacke return 0; } +// Calls Lua handler when any player says something in chat. +// The message can be filtered and will be not visible to anyone else on the server. +bool processChatMessage(int playerId, char *string, bool teamMsg) +{ + bool result = true; + getServerVar("playerOnChat"); + if (lua_isfunction(L, -1)) + { + lua_pushinteger(L, playerId); + lua_pushstring(L, string); + lua_pushinteger(L, teamMsg); + + if (0!=lua_pcall(L, 3, 1, 0)) + { + // I think there needs to be some formatting done in error messages, but I'm too lazy to rewrite just everything + conPrintI(lua_tostring(L,-1)); + } + + if (lua_isboolean(L, -1)) + result = !lua_toboolean(L, -1); + + lua_pop(L, 1); + } + + return result; +} + extern void InjectOffs(DWORD Addr,void *Fn); extern void InjectJumpTo(DWORD Addr,void *Fn); diff --git a/react.cpp b/react.cpp index 06a7d69..5454a18 100644 --- a/react.cpp +++ b/react.cpp @@ -533,6 +533,7 @@ namespace */ return; } + int unitSetUpdateL(lua_State*L) { return unitSetAnyFnL(L,0x2E8,&updateFn); diff --git a/unit.cpp b/unit.cpp index 09cb5e6..4de7119 100644 --- a/unit.cpp +++ b/unit.cpp @@ -20,6 +20,9 @@ void (__cdecl *inventoryPut)(bigUnitStruct *Who,bigUnitStruct *What,int A); /// список созданных в текущем кадре на сервере bigUnitStruct **unitCreatedList; +bigUnitStruct **srvObjGeneralList; +bigUnitStruct **srvObjMissileList; + extern const char *(__cdecl *noxThingNameByType)(int Type); extern int (__cdecl *noxGetUnitsInRect)(FloatRect *Rect, void (__cdecl *SomeFn)(void *Unit, void *Arg), void *Arg); @@ -289,6 +292,59 @@ namespace dropAllItems((bigUnitStruct*)lua_touserdata(L,1)); return 1; } + bool checkExistsImpl(bigUnitStruct* unit) + { + if (unit == NULL) + { + return false; + } + + if (unit->flags & 0x20) // DESTROYED + { + return false; + } + + if (unit->inventoryOwner != NULL) + { + if (unit->inventoryOwner == unit) // Recursion, something is wrong + { + return false; + } + return checkExistsImpl(unit->inventoryOwner); + } + + bool result = false; + bigUnitStruct* first = *srvObjGeneralList; + + if (unit->Class & 1) // MISSILE + { + first = *srvObjMissileList; + } + + while (first != NULL) + { + if (first == unit) + { + result = true; + break; + } + first = (bigUnitStruct*)first->nextUnit; + } + return result; + } + int unitCheckExists(lua_State*L) + { + if (lua_type(L,1)!=LUA_TLIGHTUSERDATA) + { + lua_pushstring(L,"wrong args!"); + lua_error_(L); + } + bigUnitStruct* unit = (bigUnitStruct*)lua_touserdata(L, 1); + bool result = checkExistsImpl(unit); + + lua_pushboolean(L, result); + return 1; + } int unitInventoryPut(lua_State*L) { if ( @@ -373,6 +429,8 @@ void unitInit() ASSIGN(noxAgressionLevel,0x00515980); ASSIGN(noxMirrorShot,0x004E0A70); ASSIGN(noxUnitTestBuff,0x004FF350); + ASSIGN(srvObjGeneralList, 0x750700); + ASSIGN(srvObjMissileList, 0x750704); registerserver("unitSetFollow",&unitSetFollowL); registerserver("unitBecomePet",&unitBecomePetL); @@ -387,6 +445,7 @@ void unitInit() registerserver("unitHunt",&unitHuntL); registerserver("unitSetAgression",&unitAgressionLevel); registerserver("unitTestBuff",&unitTestBuff); + registerserver("unitCheckExists",&unitCheckExists); registerserver("unitMove",&unitMoveL); registerserver("unitSpeed",&unitSpeedL); diff --git a/unit.h b/unit.h index 94e44e1..eb42b8e 100644 --- a/unit.h +++ b/unit.h @@ -194,10 +194,9 @@ struct bigUnitStruct int nextUpdatableUnit; int prevUpdatableUnit; int isInUpdatableList; - char unitWeight; - char gap_1e9[1]; + __int16 unitWeight; __int16 unitCapacity; - void *prevInventoryObj; + bigUnitStruct *inventoryOwner; void *nextInventoryObj; void *prevSome; void *firstInventoryObj; diff --git a/unit2.cpp b/unit2.cpp index 31af535..18ffb54 100644 --- a/unit2.cpp +++ b/unit2.cpp @@ -203,7 +203,7 @@ namespace break; lua_pushvalue(L, -2); lua_pushlightuserdata(L, Armor); - lua_pushlightuserdata(L, Armor->prevInventoryObj); + lua_pushlightuserdata(L, Armor->inventoryOwner); if (lua_pcall(L, 3, 0, 0) != 0) { break; diff --git a/util.cpp b/util.cpp index 3b3f3d1..f241dbd 100644 --- a/util.cpp +++ b/util.cpp @@ -277,7 +277,7 @@ int setGameFlagsL(lua_State *L) } int bitOrL(lua_State *L) { - int R; + unsigned int R; if(lua_type(L,1)!=LUA_TNUMBER) return 0; if(lua_type(L,2)!=LUA_TNUMBER) @@ -288,7 +288,7 @@ int bitOrL(lua_State *L) } int bitAndL(lua_State *L) { - int R; + unsigned int R; if(lua_type(L,1)!=LUA_TNUMBER) return 0; if(lua_type(L,2)!=LUA_TNUMBER) @@ -300,7 +300,7 @@ int bitAndL(lua_State *L) int bitXorL(lua_State *L) { - int R; + unsigned int R; if(lua_type(L,1)!=LUA_TNUMBER) return 0; if(lua_type(L,2)!=LUA_TNUMBER) @@ -531,6 +531,20 @@ namespace lua_pushinteger(L, *((BYTE*)P)); return 1; } + int getPtrUIntL(lua_State *L) + { + if ( (lua_type(L,1)!=LUA_TLIGHTUSERDATA)||(lua_type(L,2)!=LUA_TNUMBER) ) + { + lua_pushstring(L,"wrong args!"); + lua_error_(L); + } + BYTE* P=(BYTE*) lua_touserdata(L,1); + if(P==NULL) + return 0; + P+=lua_tointeger(L,2); + lua_pushnumber(L, *((_Uint32t*)P)); + return 1; + } int getPtrIntL(lua_State *L) { if ( (lua_type(L,1)!=LUA_TLIGHTUSERDATA)||(lua_type(L,2)!=LUA_TNUMBER) ) @@ -646,6 +660,31 @@ namespace VirtualProtect(P,4,OldProtect,&OldProtect); return 0; } + int setPtrUIntL(lua_State *L) + { + if ( ((lua_type(L,1)!=LUA_TLIGHTUSERDATA)&& (lua_type(L,1)!=LUA_TNIL)) + ||(lua_type(L,2)!=LUA_TNUMBER) + ||(lua_type(L,3)!=LUA_TNUMBER)) + { + lua_pushstring(L,"wrong args!"); + lua_error_(L); + } + BYTE* P=(BYTE*) lua_touserdata(L,1); + if (P==NULL) + return 0; + P+=lua_tointeger(L,2); + DWORD Pt=(DWORD)P; + DWORD OldProtect; + if( ((lua_type(L,1)==LUA_TNIL)) &&( (Pt<0x400000) || (Pt>0x600000) ) ) + { + lua_pushstring(L,"wrong offset!"); + lua_error_(L); + } + VirtualProtect(P,4,PAGE_EXECUTE_READWRITE,&OldProtect); + *((_Uint32t*)P) = lua_tointeger(L, 3); + VirtualProtect(P,4,OldProtect,&OldProtect); + return 0; + } int setPtrShortL(lua_State *L) { if ( ((lua_type(L,1)!=LUA_TLIGHTUSERDATA)&& (lua_type(L,1)!=LUA_TNIL)) @@ -971,7 +1010,7 @@ namespace void (__cdecl *sub51ADF0)();/// событие проверки скриптов карты по таймауту int getFrameCounterL(lua_State *L) { - lua_pushinteger(L,(int)*frameCounter); + lua_pushinteger(L,(unsigned int)*frameCounter); return 1; } void __cdecl onEachFrame() @@ -1181,10 +1220,10 @@ int initWindowedMode(int param1, int param2, int param3) return initWindowedModeNox(param1, param2, param3); } -void injectCon() +void initStepTwo() { initSDL(); - //MessageBox(0,"!",0,0); + //MessageBox(0,"!1",0,0); exInit(); initModLib2(); luaopen_lpeg (L); @@ -1278,6 +1317,8 @@ void injectCon() lua_setglobal(L,"getPtrPtr"); lua_pushcfunction(L,&getPtrIntL); lua_setglobal(L,"getPtrInt"); + lua_pushcfunction(L,&getPtrUIntL); + lua_setglobal(L,"getPtrUInt"); lua_pushcfunction(L,&getPtrFloatL); lua_setglobal(L,"getPtrFloat"); lua_pushcfunction(L,&getPtrShortL); @@ -1286,6 +1327,8 @@ void injectCon() lua_setglobal(L,"setPtrFloat"); lua_pushcfunction(L,&setPtrIntL); lua_setglobal(L,"setPtrInt"); + lua_pushcfunction(L,&setPtrUIntL); + lua_setglobal(L,"setPtrUInt"); lua_pushcfunction(L,&setPtrPtrL); lua_setglobal(L,"setPtrPtr"); lua_pushcfunction(L,&setPtrShortL); @@ -1345,7 +1388,8 @@ void injectCon() ASSIGN(j_time,0x00416BF0); ASSIGN(consoleTokenCipher, 0x00443BF0); -#include "lua/binClient/clientOnJoin.lua.inc" +// Removed by angrykirc b/c not needed now +//#include "lua/binClient/clientOnJoin.lua.inc" lua_getfield(L,LUA_REGISTRYINDEX,"client"); lua_setfenv(L,-2); @@ -1363,7 +1407,6 @@ void injectCon() //lua_pushnil(L); //lua_setglobal(L,"os");/// выкинуть вон небезопасную таблицу - int topLoad = lua_gettop(L); lua_getfield(L, LUA_REGISTRYINDEX, "require.lua"); @@ -1392,9 +1435,6 @@ void injectCon() lua_pcall(L, 0, 0, 0); } - - //MessageBox(0,"!",0,0); - byte OperatorJmps=0xEB; byte OperatorMovEax1[]={0xB8,0x01,0,0,0}; byte OperatorNop[]={0x90,0x90};