Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Mar 21st, 2010 | Syntax: C++ | Size: 2.08 KB | Hits: 74 | Expires: Never
Copy text to clipboard
  1. //========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================
  7.  
  8. #include "cbase.h"
  9. #include "C_SavePlayerStats.h"
  10. #include <FileSystem.h>
  11. #include <cdll_client_int.h>
  12. #include "c_baseplayer.h"
  13.  
  14. // memdbgon must be the last include file in a .cpp file!!!
  15. #include "tier0/memdbgon.h"
  16.  
  17. static WoHItemlist itemList;
  18. WoHItemlist *pItemList = &itemList;
  19.  
  20. WoHItemList::WoHItemList()
  21. {
  22.         m_bOneShotGetList = false;
  23.         m_fTimeTempSetList = gpGlobals->curtime;
  24.  
  25.         m_nMaxHearts = 3;
  26.         m_nHasKokiriSword = 0;
  27.         m_nHasDekuShield = 0;
  28. }
  29.  
  30. void WoHItemList::GetList( void )
  31. {
  32.         C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer();
  33.         if(!pPlayer)
  34.                 return;
  35.  
  36.         if (!g_pFullFileSystem->FileExists("savefile.txt"))
  37.                 Msg("Error loading savestate\n");
  38.  
  39.         if (g_pFullFileSystem->FileExists("savefile.txt"))
  40.         {
  41.                 CUtlBuffer buffer;
  42.                 g_pFullFileSystem->ReadFile("savefile.txt", "MOD", buffer);
  43.  
  44.                 m_nMaxHearts = buffer.GetInt();
  45.                 m_nHasKokiriSword = buffer.GetInt();
  46.                 m_nHasDekuShield = buffer.GetInt();
  47.         }
  48. }
  49.  
  50. void WoHItemList::SetList( void )
  51. {
  52.         if (!g_pFullFileSystem->FileExists("savefile.txt"))
  53.                 Msg("Error loading savestate\n");
  54.        
  55.         if (g_pFullFileSystem->FileExists("savefile.txt"))
  56.         {
  57.                 C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer();
  58.                 if(!pPlayer)
  59.                         return;
  60.  
  61.                 CUtlBuffer buffer;
  62.                 buffer.PutInt( m_nMaxHearts );
  63.                 buffer.PutInt( m_nHasKokiriSword );
  64.                 buffer.PutInt( m_nHasDekuShield );
  65.                 g_pFullFileSystem->WriteFile("savefile.txt", "MOD", buffer);
  66.         }
  67. }
  68.  
  69. void WoHItemList::ListManager( void )
  70. {
  71.         C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer();
  72.         if(!pPlayer)
  73.                 return;
  74.  
  75.         static bool timerReset = true;
  76.  
  77.         if (!m_bOneShotGetList)
  78.         {
  79.                 GetList();
  80.                 m_fTimeTempSetList = gpGlobals->curtime;
  81.                 m_bOneShotGetList = true;
  82.         }
  83.  
  84.         if (timerReset)
  85.         {
  86.                 m_fTimeTempSetList = gpGlobals->curtime;
  87.                 timerReset = false;
  88.         }
  89.  
  90.         if (gpGlobals->curtime >= m_fTimeTempSetList + 15.0f)
  91.         {
  92.                 SetList();
  93.                 timerReset = true;
  94.         }
  95. }