User:AF/ClassExtrapolation
The purposes of this page is to list the extrapolated classes during the reconstruction phase of the 1996 Special Edition.
For the most part this is a brute-force approach. As the classes are refined/trimmed they'll be adjusted over time.
The general methodology in this case is to generate a struct with N number of contained variables (this number can be rather high at times - it doesn't account for internal sub-structs and the like mind you, but there must be a starting place).
Structure Extrapolation
Whether the structural class format is entirely correct based on what was originally present is unclear.
However in order to ease the RE process some of these subclasses have created to reasonably allow for alignment.
NOTE: THIS LIST IS HEAVILY SUBJECT TO CHANGE
CWinApp -> CSimcityApp CFrameWnd -> CMainFrame CView -> CSimcityView CDocument -> CSimcityDoc CDocument -> CEngine CMDIChildWnd -> CMyMDIChildWnd CControlBar -> CMyToolBar CDialog -> CGameDialog CGameDialog -> CBudgetMainDialog CGameDialog -> CBudgetZoneTaxSubDialog CGameDialog -> CBudgetEducationDialog CGameDialog -> CBudgetFundDialog CGameDialog -> CBudgetOrdinanceDialog CGraphics CSound
CSound
This deals with both the Music and Sound.
struct CSound { HWND *dwSNDhWnd; DWORD dwSNDPlaySound; int iSNDCurrSoundID; DWORD dwSNDfour; DWORD dwSNDfive; DWORD dwSNDsix; void *dwSNDBufferOne; int iSNDCurrentSound; void *dwSNDBufferTwo; DWORD dwSNDten; int iSNDSoundID; void *dwSNDBufferFive; void *dwSNDBufferThree; void *dwSNDBufferFour; DWORD dwSNDfifteen; DWORD dwSNDsixteen; WORD dwSNDseventeen[2]; WORD dwSNDeighteen[2]; WORD dwSNDnineteen[2]; DWORD dwSNDtwenty; DWORD dwSNDtwentyone; DWORD dwSNDtwentytwo; DWORD dwSNDtwentythree; DWORD dwSNDtwentyfour; DWORD dwSNDtwentyfive; DWORD dwSNDtwentysix; DWORD dwSNDtwentyseven; DWORD dwSNDtwentyeight; DWORD dwSNDtwentynine; DWORD dwSNDthirty; DWORD dwSNDthirtyone; DWORD dwSNDthirtytwo; DWORD dwSNDthirtythree; DWORD dwSNDthirtyfour; DWORD dwSNDthirtyfive; DWORD dwSNDthirtysix; DWORD dwSNDthirtyseven; DWORD dwSNDthirtyeight; DWORD dwSNDthirtynine; DWORD dwSNDforty; DWORD dwSNDfortyone; DWORD dwSNDfortytwo; DWORD dwSNDfortythree; DWORD dwSNDfortyfour; DWORD dwSNDfortyfive; DWORD dwSNDfortysix; DWORD dwSNDfortyseven; DWORD dwSNDfortyeight; DWORD dwSNDfortynine; DWORD dwSNDfifty; DWORD dwSNDfiftyone; DWORD dwSNDfiftytwo; DWORD dwSNDfiftythree; DWORD dwSNDfiftyfour; DWORD dwSNDfiftyfive; DWORD dwSNDfiftysix; DWORD dwSNDfiftyseven; DWORD dwSNDfiftyeight; DWORD dwSNDfiftynine; DWORD dwSNDsixty; DWORD dwSNDsixtyone; DWORD dwSNDsixtytwo; DWORD dwSNDsixtythree; DWORD dwSNDsixtyfour; DWORD dwSNDsixtyfive; DWORD dwSNDsixtysix; DWORD dwSNDsixtyseven; DWORD dwSNDsixtyeight; DWORD dwSNDsixtynine; DWORD dwSNDseventy; DWORD dwSNDseventyone; DWORD dwSNDseventytwo; DWORD dwSNDseventythree; DWORD dwSNDseventyfour; DWORD dwSNDseventyfive; DWORD dwSNDseventysix; DWORD dwSNDseventyseven; DWORD dwSNDseventyeight; DWORD dwSNDseventynine; DWORD dwSNDeighty; DWORD dwSNDeightyone; DWORD dwSNDeightytwo; DWORD dwSNDeightythree; DWORD dwSNDeightyfour; DWORD dwSNDeightyfive; DWORD dwSNDeightysix; DWORD dwSNDeightyseven; DWORD dwSNDeightyeight; DWORD dwSNDeightynine; DWORD dwSNDninety; DWORD dwSNDninetyone; DWORD dwSNDninetytwo; DWORD dwSNDninetythree; DWORD dwSNDninetyfour; DWORD dwSNDninetyfive; DWORD dwSNDninetysix; DWORD dwSNDninetyseven; DWORD dwSNDninetyeight; DWORD dwSNDninetynine; DWORD dwSNDonehundred; };