home *** CD-ROM | disk | FTP | other *** search
/ Igromania 2000 July / Igromania_07.iso / train / d2chedit.exe / diablo2_cheditDlg.h < prev    next >
C/C++ Source or Header  |  2000-07-02  |  4KB  |  142 lines

  1. // diablo2_cheditDlg.h : header file
  2. //
  3.  
  4. #if !defined(AFX_DIABLO2_CHEDITDLG_H__6C2AB227_5020_11D4_A778_00A0CC3A0C54__INCLUDED_)
  5. #define AFX_DIABLO2_CHEDITDLG_H__6C2AB227_5020_11D4_A778_00A0CC3A0C54__INCLUDED_
  6.  
  7. #if _MSC_VER > 1000
  8. #pragma once
  9. #endif // _MSC_VER > 1000
  10.  
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CDiablo2_cheditDlg dialog
  13.  
  14. /*
  15. Diablo 2 character editor - by Lee Hamel (lee_hamel@hotmail.com)
  16.  
  17. This program has not been tested extensively.  Use at your own risk.
  18. Make a backup copy of your SAVE directory before making any changes.  Source code is included for the hell of it.
  19.  
  20. *.D2S files
  21.  
  22. offset   8h, 15 bytes: name
  23. offset    ?,  ? bytes: class
  24. offset  24h,  2 bytes: level
  25. offset 235h,  2 bytes: strength
  26. offset 239h,  2 bytes: energy
  27. offset 23dh,  2 bytes: dexterity
  28. offset 241h,  2 bytes: vitality
  29. offset 24ah,  2 bytes: life max
  30. offset 24eh,  2 bytes: life current
  31. offset 252h,  2 bytes: mana max
  32. offset 256h,  2 bytes: mana current
  33. offset 25ah,  2 bytes: stamina max
  34. offset 25eh,  2 bytes: stamina current
  35. offset 265h,  4 bytes: experience
  36. offset 269h,  4 bytes: gold on person
  37. offset 26dh,  4 bytes: gold in stash
  38. offset 51ah,  2 bytes: attack rating
  39. offset 751h,  1 byte : defense
  40. */
  41.  
  42. #define OFFSET_NAME                0x0008
  43. #define OFFSET_CLASS            0x0000                // Don't know
  44. #define OFFSET_LEVEL            0x24
  45. #define OFFSET_STRENGTH            0x235
  46. #define OFFSET_DEXTERITY        0x23d
  47. #define OFFSET_VITALITY            0x241
  48. #define OFFSET_ENERGY            0x239
  49. #define OFFSET_LIFE_MAX            0x24a
  50. #define OFFSET_LIFE_CURRENT        0x24e
  51. #define OFFSET_MANA_MAX            0x252
  52. #define OFFSET_MANA_CURRENT        0x256
  53. #define OFFSET_STAMINA_MAX        0x25a
  54. #define OFFSET_STAMINA_CURRENT    0x25e
  55. #define OFFSET_EXPERIENCE        0x265
  56. #define OFFSET_GOLD_PERSON        0x269
  57. #define OFFSET_GOLD_STASH        0x26d
  58. #define OFFSET_ATTACK_RATING    0x51a
  59. #define OFFSET_DEFENSE            0x751
  60.  
  61. #define LENGTH_NAME                15
  62. #define LENGTH_CLASS            0                    // Don't know
  63. #define LENGTH_LEVEL            2
  64. #define LENGTH_STRENGTH            2
  65. #define LENGTH_DEXTERITY        2
  66. #define LENGTH_VITALITY            2
  67. #define LENGTH_ENERGY            2
  68. #define LENGTH_LIFE_MAX            2
  69. #define LENGTH_LIFE_CURRENT        2
  70. #define LENGTH_MANA_MAX            2
  71. #define LENGTH_MANA_CURRENT        2
  72. #define LENGTH_STAMINA_MAX        2
  73. #define LENGTH_STAMINA_CURRENT    2
  74. #define LENGTH_EXPERIENCE        4
  75. #define LENGTH_GOLD_PERSON        4
  76. #define LENGTH_GOLD_STASH        4
  77. #define LENGTH_ATTACK_RATING    2
  78. #define LENGTH_DEFENSE            1
  79.  
  80.  
  81. class CDiablo2_cheditDlg : public CDialog
  82. {
  83. // Construction
  84. public:
  85.     CDiablo2_cheditDlg(CWnd* pParent = NULL);    // standard constructor
  86.  
  87. // Dialog Data
  88.     //{{AFX_DATA(CDiablo2_cheditDlg)
  89.     enum { IDD = IDD_DIABLO2_CHEDIT_DIALOG };
  90.     CString    m_filename;
  91.     CString    m_name;
  92.     CString    m_class;
  93.     UINT    m_level;
  94.     UINT    m_experience;
  95.     UINT    m_strength;
  96.     UINT    m_dexterity;
  97.     UINT    m_vitality;
  98.     UINT    m_energy;
  99.     UINT    m_attackRating;
  100.     UINT    m_defense;
  101.     UINT    m_staminaCurrent;
  102.     UINT    m_staminaMax;
  103.     UINT    m_lifeCurrent;
  104.     UINT    m_lifeMax;
  105.     UINT    m_manaCurrent;
  106.     UINT    m_manaMax;
  107.     UINT    m_goldPerson;
  108.     UINT    m_goldStash;
  109.     //}}AFX_DATA
  110.  
  111.     // ClassWizard generated virtual function overrides
  112.     //{{AFX_VIRTUAL(CDiablo2_cheditDlg)
  113.     protected:
  114.     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  115.     //}}AFX_VIRTUAL
  116.  
  117. // Implementation
  118. protected:
  119.     HICON        m_hIcon;
  120.     CFile        m_CFile;
  121.     
  122.     void        EnableControls();
  123.     void        DisableControls();
  124.     void        LoadData();
  125.     void        SaveData();
  126.  
  127.     // Generated message map functions
  128.     //{{AFX_MSG(CDiablo2_cheditDlg)
  129.     virtual BOOL OnInitDialog();
  130.     afx_msg void OnPaint();
  131.     afx_msg HCURSOR OnQueryDragIcon();
  132.     afx_msg void OnFileLoad();
  133.     afx_msg void OnFileSave();
  134.     //}}AFX_MSG
  135.     DECLARE_MESSAGE_MAP()
  136. };
  137.  
  138. //{{AFX_INSERT_LOCATION}}
  139. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  140.  
  141. #endif // !defined(AFX_DIABLO2_CHEDITDLG_H__6C2AB227_5020_11D4_A778_00A0CC3A0C54__INCLUDED_)
  142.