changeset 2143:feeb7bfcb19e

face_attrib for VIS
author Ritor1
date Mon, 06 Jan 2014 17:32:17 +0600
parents ca548138d6aa
children ad71de147333
files Build/Visual Studio 2010/World of Might and Magic.vcxproj Build/Visual Studio 2010/World of Might and Magic.vcxproj.filters Outdoor.cpp Vis.cpp
diffstat 4 files changed, 425 insertions(+), 38 deletions(-) [+]
line wrap: on
line diff
--- a/Build/Visual Studio 2010/World of Might and Magic.vcxproj	Thu Jan 02 18:25:42 2014 +0000
+++ b/Build/Visual Studio 2010/World of Might and Magic.vcxproj	Mon Jan 06 17:32:17 2014 +0600
@@ -286,6 +286,72 @@
     <ClInclude Include="..\..\lib\legacy_dx\rmxfguid.h" />
     <ClInclude Include="..\..\lib\legacy_dx\rmxftmpl.h" />
     <ClInclude Include="..\..\lib\legacy_dx\strsafe.h" />
+    <ClInclude Include="..\..\lib\libavcodec\avcodec.h" />
+    <ClInclude Include="..\..\lib\libavcodec\avfft.h" />
+    <ClInclude Include="..\..\lib\libavcodec\dxva2.h" />
+    <ClInclude Include="..\..\lib\libavcodec\old_codec_ids.h" />
+    <ClInclude Include="..\..\lib\libavcodec\vaapi.h" />
+    <ClInclude Include="..\..\lib\libavcodec\vda.h" />
+    <ClInclude Include="..\..\lib\libavcodec\vdpau.h" />
+    <ClInclude Include="..\..\lib\libavcodec\version.h" />
+    <ClInclude Include="..\..\lib\libavcodec\xvmc.h" />
+    <ClInclude Include="..\..\lib\libavformat\avformat.h" />
+    <ClInclude Include="..\..\lib\libavformat\avio.h" />
+    <ClInclude Include="..\..\lib\libavformat\version.h" />
+    <ClInclude Include="..\..\lib\libavutil\adler32.h" />
+    <ClInclude Include="..\..\lib\libavutil\aes.h" />
+    <ClInclude Include="..\..\lib\libavutil\attributes.h" />
+    <ClInclude Include="..\..\lib\libavutil\audioconvert.h" />
+    <ClInclude Include="..\..\lib\libavutil\audio_fifo.h" />
+    <ClInclude Include="..\..\lib\libavutil\avassert.h" />
+    <ClInclude Include="..\..\lib\libavutil\avconfig.h" />
+    <ClInclude Include="..\..\lib\libavutil\avstring.h" />
+    <ClInclude Include="..\..\lib\libavutil\avutil.h" />
+    <ClInclude Include="..\..\lib\libavutil\base64.h" />
+    <ClInclude Include="..\..\lib\libavutil\blowfish.h" />
+    <ClInclude Include="..\..\lib\libavutil\bprint.h" />
+    <ClInclude Include="..\..\lib\libavutil\bswap.h" />
+    <ClInclude Include="..\..\lib\libavutil\buffer.h" />
+    <ClInclude Include="..\..\lib\libavutil\channel_layout.h" />
+    <ClInclude Include="..\..\lib\libavutil\common.h" />
+    <ClInclude Include="..\..\lib\libavutil\cpu.h" />
+    <ClInclude Include="..\..\lib\libavutil\crc.h" />
+    <ClInclude Include="..\..\lib\libavutil\dict.h" />
+    <ClInclude Include="..\..\lib\libavutil\error.h" />
+    <ClInclude Include="..\..\lib\libavutil\eval.h" />
+    <ClInclude Include="..\..\lib\libavutil\fifo.h" />
+    <ClInclude Include="..\..\lib\libavutil\file.h" />
+    <ClInclude Include="..\..\lib\libavutil\frame.h" />
+    <ClInclude Include="..\..\lib\libavutil\hmac.h" />
+    <ClInclude Include="..\..\lib\libavutil\imgutils.h" />
+    <ClInclude Include="..\..\lib\libavutil\intfloat.h" />
+    <ClInclude Include="..\..\lib\libavutil\intfloat_readwrite.h" />
+    <ClInclude Include="..\..\lib\libavutil\intreadwrite.h" />
+    <ClInclude Include="..\..\lib\libavutil\lfg.h" />
+    <ClInclude Include="..\..\lib\libavutil\log.h" />
+    <ClInclude Include="..\..\lib\libavutil\lzo.h" />
+    <ClInclude Include="..\..\lib\libavutil\mathematics.h" />
+    <ClInclude Include="..\..\lib\libavutil\md5.h" />
+    <ClInclude Include="..\..\lib\libavutil\mem.h" />
+    <ClInclude Include="..\..\lib\libavutil\murmur3.h" />
+    <ClInclude Include="..\..\lib\libavutil\old_pix_fmts.h" />
+    <ClInclude Include="..\..\lib\libavutil\opt.h" />
+    <ClInclude Include="..\..\lib\libavutil\parseutils.h" />
+    <ClInclude Include="..\..\lib\libavutil\pixdesc.h" />
+    <ClInclude Include="..\..\lib\libavutil\pixfmt.h" />
+    <ClInclude Include="..\..\lib\libavutil\random_seed.h" />
+    <ClInclude Include="..\..\lib\libavutil\rational.h" />
+    <ClInclude Include="..\..\lib\libavutil\samplefmt.h" />
+    <ClInclude Include="..\..\lib\libavutil\sha.h" />
+    <ClInclude Include="..\..\lib\libavutil\time.h" />
+    <ClInclude Include="..\..\lib\libavutil\timecode.h" />
+    <ClInclude Include="..\..\lib\libavutil\timestamp.h" />
+    <ClInclude Include="..\..\lib\libavutil\version.h" />
+    <ClInclude Include="..\..\lib\libavutil\xtea.h" />
+    <ClInclude Include="..\..\lib\libswresample\swresample.h" />
+    <ClInclude Include="..\..\lib\libswresample\version.h" />
+    <ClInclude Include="..\..\lib\libswscale\swscale.h" />
+    <ClInclude Include="..\..\lib\libswscale\version.h" />
     <ClInclude Include="..\..\lib\lua\lua-5.2.2\lapi.h" />
     <ClInclude Include="..\..\lib\lua\lua-5.2.2\lauxlib.h" />
     <ClInclude Include="..\..\lib\lua\lua-5.2.2\lcode.h" />
@@ -311,6 +377,12 @@
     <ClInclude Include="..\..\lib\lua\lua-5.2.2\lvm.h" />
     <ClInclude Include="..\..\lib\lua\lua-5.2.2\lzio.h" />
     <ClInclude Include="..\..\lib\lua\lua.h" />
+    <ClInclude Include="..\..\lib\OpenAL\al.h" />
+    <ClInclude Include="..\..\lib\OpenAL\alc.h" />
+    <ClInclude Include="..\..\lib\OpenAL\efx-creative.h" />
+    <ClInclude Include="..\..\lib\OpenAL\EFX-Util.h" />
+    <ClInclude Include="..\..\lib\OpenAL\efx.h" />
+    <ClInclude Include="..\..\lib\OpenAL\xram.h" />
     <ClInclude Include="..\..\lib\zlib\deflate.h" />
     <ClInclude Include="..\..\lib\zlib\infblock.h" />
     <ClInclude Include="..\..\lib\zlib\infcodes.h" />
@@ -383,6 +455,14 @@
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\lib\legacy_dx\d3dvec.inl" />
+    <None Include="..\..\lib\OpenAL\lib\x86\avcodec-55.def" />
+    <None Include="..\..\lib\OpenAL\lib\x86\avdevice-55.def" />
+    <None Include="..\..\lib\OpenAL\lib\x86\avfilter-3.def" />
+    <None Include="..\..\lib\OpenAL\lib\x86\avformat-55.def" />
+    <None Include="..\..\lib\OpenAL\lib\x86\avutil-52.def" />
+    <None Include="..\..\lib\OpenAL\lib\x86\postproc-52.def" />
+    <None Include="..\..\lib\OpenAL\lib\x86\swresample-0.def" />
+    <None Include="..\..\lib\OpenAL\lib\x86\swscale-2.def" />
     <None Include="..\..\lib\swig.bat" />
     <CustomBuild Include="..\..\NewUI\Core\UIControlModule.swig">
       <FileType>Document</FileType>
@@ -392,6 +472,17 @@
     <None Include="..\..\lib\swig\swigwin-2.0.11\UIControlModule.swig" />
     <None Include="..\..\Player.swig" />
   </ItemGroup>
+  <ItemGroup>
+    <Library Include="..\..\lib\OpenAL\lib\OpenAL\OpenAL32.lib" />
+    <Library Include="..\..\lib\OpenAL\lib\x86\avcodec.lib" />
+    <Library Include="..\..\lib\OpenAL\lib\x86\avdevice.lib" />
+    <Library Include="..\..\lib\OpenAL\lib\x86\avfilter.lib" />
+    <Library Include="..\..\lib\OpenAL\lib\x86\avformat.lib" />
+    <Library Include="..\..\lib\OpenAL\lib\x86\avutil.lib" />
+    <Library Include="..\..\lib\OpenAL\lib\x86\postproc.lib" />
+    <Library Include="..\..\lib\OpenAL\lib\x86\swresample.lib" />
+    <Library Include="..\..\lib\OpenAL\lib\x86\swscale.lib" />
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
--- a/Build/Visual Studio 2010/World of Might and Magic.vcxproj.filters	Thu Jan 02 18:25:42 2014 +0000
+++ b/Build/Visual Studio 2010/World of Might and Magic.vcxproj.filters	Mon Jan 06 17:32:17 2014 +0600
@@ -286,6 +286,222 @@
     </ClInclude>
     <ClInclude Include="..\..\Timer.h" />
     <ClInclude Include="..\..\LuaVM.h" />
+    <ClInclude Include="..\..\lib\libavcodec\avcodec.h">
+      <Filter>lib\libavcodec</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavcodec\avfft.h">
+      <Filter>lib\libavcodec</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavcodec\dxva2.h">
+      <Filter>lib\libavcodec</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavcodec\old_codec_ids.h">
+      <Filter>lib\libavcodec</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavcodec\vaapi.h">
+      <Filter>lib\libavcodec</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavcodec\vda.h">
+      <Filter>lib\libavcodec</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavcodec\vdpau.h">
+      <Filter>lib\libavcodec</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavcodec\version.h">
+      <Filter>lib\libavcodec</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavcodec\xvmc.h">
+      <Filter>lib\libavcodec</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavformat\avformat.h">
+      <Filter>lib\libavformat</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavformat\avio.h">
+      <Filter>lib\libavformat</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavformat\version.h">
+      <Filter>lib\libavformat</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\adler32.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\aes.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\attributes.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\audio_fifo.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\audioconvert.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\avassert.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\avconfig.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\avstring.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\avutil.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\base64.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\blowfish.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\bprint.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\bswap.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\buffer.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\channel_layout.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\common.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\cpu.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\crc.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\dict.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\error.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\eval.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\fifo.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\file.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\frame.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\hmac.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\imgutils.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\intfloat.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\intfloat_readwrite.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\intreadwrite.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\lfg.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\log.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\lzo.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\mathematics.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\md5.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\mem.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\murmur3.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\old_pix_fmts.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\opt.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\parseutils.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\pixdesc.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\pixfmt.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\random_seed.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\rational.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\samplefmt.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\sha.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\time.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\timecode.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\timestamp.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\version.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libavutil\xtea.h">
+      <Filter>lib\libavutil</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libswresample\swresample.h">
+      <Filter>lib\libswresample</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libswresample\version.h">
+      <Filter>lib\libswresample</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libswscale\swscale.h">
+      <Filter>lib\libswscale</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\libswscale\version.h">
+      <Filter>lib\libswscale</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\OpenAL\al.h">
+      <Filter>lib\OpenAL</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\OpenAL\alc.h">
+      <Filter>lib\OpenAL</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\OpenAL\efx.h">
+      <Filter>lib\OpenAL</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\OpenAL\efx-creative.h">
+      <Filter>lib\OpenAL</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\OpenAL\EFX-Util.h">
+      <Filter>lib\OpenAL</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\lib\OpenAL\xram.h">
+      <Filter>lib\OpenAL</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <Filter Include="lib">
@@ -324,6 +540,33 @@
     <Filter Include="lib\swig\swigwin-2.0.11">
       <UniqueIdentifier>{cb1041ae-addb-49d8-9ec1-ffe52d29ae64}</UniqueIdentifier>
     </Filter>
+    <Filter Include="lib\libavcodec">
+      <UniqueIdentifier>{00ba7ef3-081e-46d7-b651-f41dde1d3ff8}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="lib\libavformat">
+      <UniqueIdentifier>{297ce683-6a2f-4d6b-b4ae-10cc59f75ebc}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="lib\libavutil">
+      <UniqueIdentifier>{22b53a53-f99c-40ac-82fd-647f5012b96a}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="lib\libswresample">
+      <UniqueIdentifier>{1d0988f5-957a-4c5b-b76a-d1f57a7ac8d4}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="lib\libswscale">
+      <UniqueIdentifier>{10d851fd-bca4-46a3-9377-0a3ae5f6e9df}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="lib\OpenAL">
+      <UniqueIdentifier>{afaf8737-a450-48fc-91ad-a5f55625d40a}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="lib\OpenAL\lib">
+      <UniqueIdentifier>{bfeab783-b0c1-4ad6-937d-e0914f011587}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="lib\OpenAL\lib\OpenAL">
+      <UniqueIdentifier>{009e95ff-193d-47cc-9e52-e74b803c7aac}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="lib\OpenAL\lib\x86">
+      <UniqueIdentifier>{a28acffc-17d1-41fd-a206-c4c035a4e7b3}</UniqueIdentifier>
+    </Filter>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\lib\legacy_dx\d3dvec.inl">
@@ -336,6 +579,30 @@
       <Filter>lib\swig\swigwin-2.0.11</Filter>
     </None>
     <None Include="..\..\Player.swig" />
+    <None Include="..\..\lib\OpenAL\lib\x86\avcodec-55.def">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </None>
+    <None Include="..\..\lib\OpenAL\lib\x86\avdevice-55.def">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </None>
+    <None Include="..\..\lib\OpenAL\lib\x86\avfilter-3.def">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </None>
+    <None Include="..\..\lib\OpenAL\lib\x86\avformat-55.def">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </None>
+    <None Include="..\..\lib\OpenAL\lib\x86\avutil-52.def">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </None>
+    <None Include="..\..\lib\OpenAL\lib\x86\postproc-52.def">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </None>
+    <None Include="..\..\lib\OpenAL\lib\x86\swresample-0.def">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </None>
+    <None Include="..\..\lib\OpenAL\lib\x86\swscale-2.def">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </None>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\..\Actor.cpp" />
@@ -615,4 +882,33 @@
       <Filter>NewUI\Core</Filter>
     </CustomBuild>
   </ItemGroup>
+  <ItemGroup>
+    <Library Include="..\..\lib\OpenAL\lib\OpenAL\OpenAL32.lib">
+      <Filter>lib\OpenAL\lib\OpenAL</Filter>
+    </Library>
+    <Library Include="..\..\lib\OpenAL\lib\x86\avcodec.lib">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </Library>
+    <Library Include="..\..\lib\OpenAL\lib\x86\avdevice.lib">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </Library>
+    <Library Include="..\..\lib\OpenAL\lib\x86\avfilter.lib">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </Library>
+    <Library Include="..\..\lib\OpenAL\lib\x86\avformat.lib">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </Library>
+    <Library Include="..\..\lib\OpenAL\lib\x86\avutil.lib">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </Library>
+    <Library Include="..\..\lib\OpenAL\lib\x86\postproc.lib">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </Library>
+    <Library Include="..\..\lib\OpenAL\lib\x86\swresample.lib">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </Library>
+    <Library Include="..\..\lib\OpenAL\lib\x86\swscale.lib">
+      <Filter>lib\OpenAL\lib\x86</Filter>
+    </Library>
+  </ItemGroup>
 </Project>
\ No newline at end of file
--- a/Outdoor.cpp	Thu Jan 02 18:25:42 2014 +0000
+++ b/Outdoor.cpp	Mon Jan 06 17:32:17 2014 +0600
@@ -1821,12 +1821,12 @@
   for (uint i = 0; i < uNumBModels; ++i)
   {
     //v48 = 0;
-    BSPModel* model = &pBModels[i];
-
-    model->pVertices.pVertices = nullptr;
-    model->pFaces = nullptr;
-    model->pFacesOrdering = nullptr;
-    model->pNodes = nullptr;
+    //BSPModel* model = &pBModels[i];
+
+    pBModels[i].pVertices.pVertices = nullptr;
+    pBModels[i].pFaces = nullptr;
+    pBModels[i].pFacesOrdering = nullptr;
+    pBModels[i].pNodes = nullptr;
       //FileName[0] = 0;
       //v108 = (int)&pBModels[i];
       //sprintf(FileName, "%s", v108);
@@ -1837,35 +1837,35 @@
       //v107 = 12 * v50->pVertices.uNumVertices;
       //v106 = (char *)v50->pVertices.pVertices;
     assert(sizeof(Vec3_int_) == 12);
-    uint verticesSize = model->pVertices.uNumVertices * sizeof(Vec3_int_);
-    model->pVertices.pVertices = (Vec3_int_ *)malloc(verticesSize);
-    memcpy(model->pVertices.pVertices, pSrc, verticesSize);
+    uint verticesSize = pBModels[i].pVertices.uNumVertices * sizeof(Vec3_int_);
+    pBModels[i].pVertices.pVertices = (Vec3_int_ *)malloc(verticesSize);
+    memcpy(pBModels[i].pVertices.pVertices, pSrc, verticesSize);
     pSrc += verticesSize;
       //v51 = &pBModels[v48];
       //v108 = (int)FileName;
       //v107 = 308 * v51->uNumFaces;
       //v106 = (char *)v51->pFaces;
     assert(sizeof(ODMFace) == 308);
-    uint facesSize = model->uNumFaces * sizeof(ODMFace);
-    model->pFaces = (ODMFace *)malloc(facesSize);
-    memcpy(model->pFaces, pSrc, facesSize);
+    uint facesSize = pBModels[i].uNumFaces * sizeof(ODMFace);
+    pBModels[i].pFaces = (ODMFace *)malloc(facesSize);
+    memcpy(pBModels[i].pFaces, pSrc, facesSize);
     pSrc += facesSize;
       //v52 = &pBModels[v48];
       //v108 = (int)FileName;
       //v107 = 2 * v52->uNumFaces;
       //v106 = (char *)v52->pFacesOrdering;
-    uint facesOrderingSize = model->uNumFaces * sizeof(short);
-    model->pFacesOrdering = (unsigned __int16 *)malloc(facesOrderingSize);
-    memcpy(model->pFacesOrdering, pSrc, facesOrderingSize);
+    uint facesOrderingSize = pBModels[i].uNumFaces * sizeof(short);
+    pBModels[i].pFacesOrdering = (unsigned __int16 *)malloc(facesOrderingSize);
+    memcpy(pBModels[i].pFacesOrdering, pSrc, facesOrderingSize);
     pSrc += facesOrderingSize;
       //v53 = &pBModels[v48];
       //v108 = (int)FileName;
       //v107 = 8 * v53->uNumNodes;
       //v106 = (char *)v53->pNodes;
     assert(sizeof(BSPNode) == 8);
-    uint nodesSize = model->uNumNodes * sizeof(BSPNode);
-    model->pNodes = (BSPNode *)malloc(nodesSize);
-    memcpy(model->pNodes, pSrc, nodesSize);
+    uint nodesSize = pBModels[i].uNumNodes * sizeof(BSPNode);
+    pBModels[i].pNodes = (BSPNode *)malloc(nodesSize);
+    memcpy(pBModels[i].pNodes, pSrc, nodesSize);
     pSrc += nodesSize;
       //v54 = &pBModels[v48];
       //v108 = 12 * v54->pVertices.uNumVertices;
@@ -1892,50 +1892,50 @@
       //memcpy(v59, uSourceLen, (size_t)pFilename);
       //uSourceLen = (char *)uSourceLen + (int)pFilename;
     //ptr = (FILE *)malloc(10 * model->uNumFaces);
-    const char* textureFilenames = (const char *)malloc(10 * model->uNumFaces);
+    const char* textureFilenames = (const char *)malloc(10 * pBModels[i].uNumFaces);
       //pFilename = (char *)(10 * pBModels[v48].uNumFaces);
-    memcpy((char *)textureFilenames, pSrc, 10 * model->uNumFaces);
-    pSrc += 10 * model->uNumFaces;
+    memcpy((char *)textureFilenames, pSrc, 10 * pBModels[i].uNumFaces);
+    pSrc += 10 * pBModels[i].uNumFaces;
       //v144 = 0;
       //uSourceLen = (char *)uSourceLen + (int)pFilename;
       //v60 = pBModels;
-    for (uint j = 0; j < model->uNumFaces; ++j)
+    for (uint j = 0; j < pBModels[i].uNumFaces; ++j)
     {
       const char* texFilename = &textureFilenames[j * 10];
     //v149 = 0;
     //Str2 = (char *)ptr;
 
-      ODMFace* face = &model->pFaces[j];
+      //ODMFace* face = &pBModels[i].pFaces[j];
       //pFilename = (char *)v149 + (unsigned int)v60[v48].pFaces;
-      if (~face->uAttributes & FACE_DONT_CACHE_TEXTURE)
+      if ( !(pBModels[i].pFaces[j].uAttributes & FACE_DONT_CACHE_TEXTURE))
       {
         v62 = pBitmaps_LOD->LoadTexture(texFilename);
 //        v63 = (ODMFace *)pFilename;
         goto LABEL_68;
       }
       //v61 = pTextureFrameTable->FindTextureByName(texFilename);
-      face->uTextureID = pTextureFrameTable->FindTextureByName(texFilename);
-      if (!face->uTextureID)
+      pBModels[i].pFaces[j].uTextureID = pTextureFrameTable->FindTextureByName(texFilename);
+      if (!pBModels[i].pFaces[j].uTextureID)
       {
         v62 = pBitmaps_LOD->LoadTexture(texFilename);
         //v63 = (ODMFace *)pFilename;
-        face->uAttributes &= ~FACE_DONT_CACHE_TEXTURE;
+        pBModels[i].pFaces[j].uAttributes &= ~FACE_DONT_CACHE_TEXTURE;
 LABEL_68:
-        face->uTextureID = v62;
+        pBModels[i].pFaces[j].uTextureID = v62;
         //v145 = (signed __int16)v62 != -1 ? &pBitmaps_LOD->pTextures[(signed __int16)v62] : 0;
         //v108 = ((signed __int16)v62 != -1 ? pBitmaps_LOD->pTextures[(signed __int16)v62].palette_id1 : 36);
         if ((signed __int16)v62 != -1)
           pBitmaps_LOD->pTextures[v62].palette_id2 = pPaletteManager->LoadPalette(pBitmaps_LOD->pTextures[v62].palette_id1);
         goto LABEL_69;
       }
-      pTextureFrameTable->LoadAnimationSequenceAndPalettes(face->uTextureID);
+      pTextureFrameTable->LoadAnimationSequenceAndPalettes(pBModels[i].pFaces[j].uTextureID);
 LABEL_69:
-      if (face->sCogTriggeredID)
+      if (pBModels[i].pFaces[j].sCogTriggeredID)
       {
-        if (face->HasEventHint())
-          face->uAttributes |= 0x1000;
+        if (pBModels[i].pFaces[j].HasEventHint())
+          pBModels[i].pFaces[j].uAttributes |= 0x100000;
         else
-          face->uAttributes &= ~0x1000;
+          pBModels[i].pFaces[j].uAttributes &= ~0x100000;
       }
       //++v144;
       //v60 = pBModels;
@@ -1955,7 +1955,7 @@
 //LABEL_75:
   pGameLoadingUI_ProgressBar->Progress();
 
-  memcpy(&uNumLevelDecorations, pSrc, 4u);
+  memcpy(&uNumLevelDecorations, pSrc, 4);
   //uSourceLen = (char *)uSourceLen + 4;
   if (uNumLevelDecorations > 3000)
     MessageBoxW(nullptr, L"Can't load file!",
--- a/Vis.cpp	Thu Jan 02 18:25:42 2014 +0000
+++ b/Vis.cpp	Mon Jan 06 17:32:17 2014 +0600
@@ -1482,7 +1482,7 @@
 
       if (filter->object_id != OBJECT_BLVDoor)
         return true;
-      if (no_event || face_attrib & filter->no_at_ai_state)
+      if (no_event || face_attrib & filter->no_at_ai_state)//face_attrib = 0x2009408 incorrect
         return false;
       return (face_attrib & filter->at_ai_state) != 0;
     }
@@ -1687,12 +1687,12 @@
     BSPModel* bmodel = &pOutdoor->pBModels[i];
     for (uint j = 0; j < bmodel->uNumFaces; ++j)
     {
-      ODMFace* face = &bmodel->pFaces[j];
+      //ODMFace* face = &bmodel->pFaces[j];
 
-      if (is_part_of_selection(face, filter) )
+      if (is_part_of_selection(&bmodel->pFaces[j], filter) )
       {
         BLVFace blv_face;
-        blv_face.FromODM(face);
+        blv_face.FromODM(&bmodel->pFaces[j]);
 
         int pid = PID(OBJECT_BModel, j | (i << 6));
         if (Vis_ObjectInfo* object_info = DetermineFacetIntersection(&blv_face, pid, pick_depth))