BUILD ONE: wine CL.EXE /c /D_DEBUG /MD /D_AFXEXT /Isrc /GX /Foobj/GlobalFunc.obj src/T2DLL/GlobalFunc.cpp BUILD ALL: for i in src/T2DLL/*.cpp; do wine CL.EXE /c /D_DEBUG /MD /D_AFXEXT /Isrc /GX /Foobj/${${i#src/T2DLL/}%.cpp}.obj $i; done NEW: for i in src/T2DLL/*.cpp; do wine CL.EXE /c /nologo /MDd /GX /DWIN32 /D_DEBUG /D_WINDOWS /D_WINDLL /D_AFXDLL /D_USRDLL /IC:\\Work\\Project1\\T2 /Foobj/${${i#src/T2DLL/}%.cpp}.obj C:\\Work\\Project1\\T2\\T2DLL\\${i#src/T2DLL/}; done LINK: wine link /out:T2DLL.dll /dll /nodefaultlib:msvcrt *.obj ole32.lib winmm.lib strmbase.lib ../res/T2DLL.res SWP - swaps exist OKi - OK but inlines not checked OKt - OK but MFC template usage not 100% confirmed [U] - unnamed, requires manual diffing [E] - i've added AFX_CLASS_EXPORT and checked rigourously for inlines [E]OK src/T2DLL/CDefRsrcPlugin.cpp [U]OK src/T2DLL/CEditWFocus.cpp [E]OK src/T2DLL/CFilePlugin.cpp [E]OK src/T2DLL/CFilePluginDB.cpp [E]OKt src/T2DLL/CFilePluginList.cpp [E]OKi src/T2DLL/CLink.cpp [E]OK src/T2DLL/CObjectList.cpp [E]OK? src/T2DLL/CObjectQueue.cpp [E]OK src/T2DLL/CPEFile.cpp [E]OK src/T2DLL/CPieChartView.cpp [E]OK src/T2DLL/CPiledMultiBarChartView.cpp [E]OKi src/T2DLL/CPlugin.cpp [E]OK src/T2DLL/CPluginInfo.cpp [E]OK src/T2DLL/CPluginInfoArray.cpp [E]OK src/T2DLL/CPluginInfoComparator.cpp [E]OK src/T2DLL/CProgramPlugin.cpp [E]OK src/T2DLL/CResFile.cpp [E]OK src/T2DLL/CResourcePlugin.cpp [E]OK src/T2DLL/CToggleButtonDisabled.cpp [E]OKi src/T2DLL/CTokenizer.cpp [E]OK src/T2DLL/GlobalFunc.cpp [E]OK src/T2DLL/LArray.cpp [E]OK src/T2DLL/LAttachable.cpp [E]OK src/T2DLL/LAttachment.cpp [E]OK src/T2DLL/LBroadcaster.cpp [E]*** src/T2DLL/LComparator.cpp [E]OK src/T2DLL/LListener.cpp [E]OK src/T2DLL/LPeriodical.cpp [E]OK src/T2DLL/Mmio.cpp [U]SWP src/T2DLL/MoverSearchDlg.cpp [U]SWP src/T2DLL/PeopleSearchDlg.cpp [U]SWP src/T2DLL/SoundDlg.cpp [U]SWP src/T2DLL/SpeedDlg.cpp [E]OK src/T2DLL/T2AdvertisePlugin.cpp [E]SWP src/T2DLL/T2AdvertiseTable.cpp [E]SWP src/T2DLL/T2Animation.cpp [E]SWP src/T2DLL/T2Archive.cpp [E]SWP src/T2DLL/T2ArrowWnd.cpp [E]OKh src/T2DLL/T2Balloon.cpp [E]OKh src/T2DLL/T2BalloonWnd.cpp [E]OKh src/T2DLL/T2BitImage.cpp (This is inline asm hell) [E]OK src/T2DLL/T2BlackOut.cpp [E]OK src/T2DLL/T2ClassFactory.cpp [U]OK src/T2DLL/T2ColdTableDef.cpp [E]OK src/T2DLL/T2CrossEquipArray.cpp [E]OK src/T2DLL/T2CustomerTableIterator.cpp [E]OK src/T2DLL/T2DateTime.cpp [E]SWP src/T2DLL/T2DayLightFilter.cpp [E]SWP src/T2DLL/T2DayParamDef.cpp [E]OK src/T2DLL/T2Dialog.cpp [E]OK src/T2DLL/T2DlgItem.cpp [E]OK src/T2DLL/T2DlgItemAllPurpose.cpp [E]OK src/T2DLL/T2DlgItemAnimation.cpp [E]SWP src/T2DLL/T2DlgItemAPTable.cpp [U]SWP src/T2DLL/T2DlgItemArrows.cpp [E]OK src/T2DLL/T2DlgItemBelongGage.cpp [E]SWP src/T2DLL/T2DlgItemBox.cpp [E]SWP src/T2DLL/T2DlgItemButtonBase.cpp [E]SWP src/T2DLL/T2DlgItemCANCEL.cpp [E]OK src/T2DLL/T2DlgItemCheck.cpp [E]OK src/T2DLL/T2DlgItemCustomerGage.cpp [E]OKh src/T2DLL/T2DlgItemEdit.cpp [E]SWP src/T2DLL/T2DlgItemGageBase.cpp [E]SWP src/T2DLL/T2DlgItemHScr.cpp [E]SWP src/T2DLL/T2DlgItemIButton.cpp [E]OKh src/T2DLL/T2DlgItemICheck.cpp [E]OKh src/T2DLL/T2DlgItemImage.cpp [E]OK src/T2DLL/T2DlgItemImageTable.cpp [U]OK src/T2DLL/T2DlgItemIRepeater.cpp [E]OK src/T2DLL/T2DlgItemListBox.cpp [U]OK src/T2DLL/T2DlgItemMerchandiseField.cpp [E]OKh src/T2DLL/T2DlgItemMovie.cpp [E]SWP src/T2DLL/T2DlgItemOK.cpp [E]OKh src/T2DLL/T2DlgItemPeopleView.cpp [E]OKh src/T2DLL/T2DlgItemPopup.cpp [E]OK src/T2DLL/T2DlgItemPPLEvalGage.cpp [E]OK src/T2DLL/T2DlgItemProfitsGage.cpp [E]OK src/T2DLL/T2DlgItemProgress.cpp [U]OK src/T2DLL/T2DlgItemRadioButton.cpp [U]OK src/T2DLL/T2DlgItemRadioText.cpp [E]SWP src/T2DLL/T2DlgItemScr.cpp [E]OK src/T2DLL/T2DlgItemSTimeTbl.cpp [E]OK src/T2DLL/T2DlgItemStressGage.cpp [E]OKh src/T2DLL/T2DlgItemTab.cpp [E]SWP src/T2DLL/T2DlgItemTable.cpp [E]OKh src/T2DLL/T2DlgItemTButton.cpp [E]SWP src/T2DLL/T2DlgItemText.cpp [E]OKh src/T2DLL/T2DlgItemVScr.cpp [U]OK? src/T2DLL/T2DLL.cpp [E]OK src/T2DLL/T2DrawableObject.cpp [E]SWP src/T2DLL/T2ElevatorModule.cpp [E]SWP src/T2DLL/T2ElvModuleList.cpp [E]SWP src/T2DLL/T2Equip.cpp [E]OK src/T2DLL/T2EquipDef.cpp [E]OK src/T2DLL/T2EquipInfoDialog.cpp [E]OK src/T2DLL/T2EquipPlugin.cpp [E]SWP src/T2DLL/T2EquipPtrList.cpp [U]OK src/T2DLL/T2EventDialog.cpp [E]OK src/T2DLL/T2EventItem.cpp [E]SWP src/T2DLL/T2FInfoAreaIterator.cpp [E]OK src/T2DLL/T2FireBurning.cpp [E]OKh src/T2DLL/T2FireWork.cpp [E]OK src/T2DLL/T2FloorCEArray.cpp [E]SWP src/T2DLL/T2FloorInfo.cpp [E]OK src/T2DLL/T2FloorNumberTable.cpp [E]SWP src/T2DLL/T2FloorPtrList.cpp [E]SWP src/T2DLL/T2GlobalData.cpp [E]OK src/T2DLL/T2GuestroomTable.cpp [E]OK src/T2DLL/T2HallEventPlugin.cpp [E]OK src/T2DLL/T2HallEventTable.cpp [E]OK src/T2DLL/T2HaveOutViewObject.cpp [E]SWP src/T2DLL/T2ImageObj.cpp [E]SWP src/T2DLL/T2InfoDialog.cpp [E]OK src/T2DLL/T2Maru_Reggae.cpp [E]SWPi src/T2DLL/T2Matter.cpp [E]OK src/T2DLL/T2MatterArray.cpp [E]OK src/T2DLL/T2MatterArrayList.cpp [E]OK src/T2DLL/T2MatterDef.cpp [E]SWP src/T2DLL/T2Message.cpp [U]OK src/T2DLL/T2MetroRailway.cpp [E]SWP src/T2DLL/T2Mover.cpp [E]OK src/T2DLL/T2MoverArray.cpp [E]SWP src/T2DLL/T2MoverArrayList.cpp [E]OK src/T2DLL/T2MoverCEArray.cpp [E]SWP src/T2DLL/T2MoverDef.cpp [E]SWP src/T2DLL/T2MoverModule.cpp [E]SWP src/T2DLL/T2MoverModuleList.cpp [E]OK src/T2DLL/T2MoverModuleTable.cpp [E]SWP src/T2DLL/T2MoverPlugin.cpp [E]OKh src/T2DLL/T2MoverRoutingTable.cpp [E]OK src/T2DLL/T2MovieParamArray.cpp [E]OK src/T2DLL/T2MoviePlugin.cpp [E]OK src/T2DLL/T2MoviePluginList.cpp [E]OK src/T2DLL/T2MovieTable.cpp [E]OK src/T2DLL/T2MsgWindowCallback.cpp [E]SWP src/T2DLL/T2Name.cpp [U]OK src/T2DLL/T2NameComparator.cpp [E]SWP src/T2DLL/T2NameList.cpp [E]OK src/T2DLL/T2NameTable.cpp [E]OK src/T2DLL/T2Object.cpp [E] src/T2DLL/T2ObjectArray.cpp [E]OK src/T2DLL/T2ObjectArrayList.cpp [E]SWP src/T2DLL/T2OptionPluginList.cpp [E]OK src/T2DLL/T2OutDecoration.cpp [E]SWP src/T2DLL/T2OutObj.cpp [E]OK src/T2DLL/T2OutObjArray.cpp [E]OK src/T2DLL/T2OutObjArrayList.cpp [E]SWP src/T2DLL/T2OuterObjDef.cpp [E]OK src/T2DLL/T2OuterObjList.cpp [E]OK src/T2DLL/T2OuterObjPlugin.cpp [E]OK src/T2DLL/T2OutObjInfoDialog.cpp [E]SWP src/T2DLL/T2OutsideInfo.cpp [E]SWP src/T2DLL/T2PaletteAnime.cpp [E]OK src/T2DLL/T2PaletteAnimeDef.cpp [E]SWP src/T2DLL/T2People.cpp [E]OK src/T2DLL/T2PeopleAnimeDef.cpp [E]SWP src/T2DLL/T2PeopleArray.cpp [E]SWP src/T2DLL/T2PeopleArrayList.cpp [E]OK src/T2DLL/T2PeopleDef.cpp [E]SWP src/T2DLL/T2PeopleDemandList.cpp [E]90% src/T2DLL/T2PeopleInfoDialog.cpp (weird regalloc issue, various swaps) [E]OK src/T2DLL/T2PeopleLinkIterator.cpp [E]SWP src/T2DLL/T2PeopleLoader.cpp [E]SWP src/T2DLL/T2PeoplePtrList.cpp [E]SWP src/T2DLL/T2PeopleTimeZoneList.cpp [E]OK src/T2DLL/T2PeopleType.cpp [E]SWP src/T2DLL/T2PeopleTypeArray.cpp [E]OKi src/T2DLL/T2PlaceParamDef.cpp [E]OK src/T2DLL/T2PluginInfoTable.cpp [E]OK src/T2DLL/T2PluginLoader.cpp [E]OK src/T2DLL/T2PluginSpecifier.cpp [E]OK src/T2DLL/T2Pool.cpp [U]OK src/T2DLL/T2PoolDef.cpp [E]OKh src/T2DLL/T2PrefDialogBox.cpp [E]OK src/T2DLL/T2PrefFile.cpp [E]SWP src/T2DLL/T2RegistedTenantDB.cpp [E]OK src/T2DLL/T2RegistedTenantIterator.cpp [E]OK src/T2DLL/T2RemoveFavoriteDialog.cpp [E]SWP src/T2DLL/T2Request.cpp [E]OK src/T2DLL/T2RequestArray.cpp [E]SWP src/T2DLL/T2RequestArrayList.cpp [E]SWP src/T2DLL/T2RequestIDArray.cpp [I]OKi src/T2DLL/T2ReturnStack.cpp [E]SWP src/T2DLL/T2RouteCEArray.cpp [E]OK src/T2DLL/T2RouteNavigator.cpp [E]OK src/T2DLL/T2RoutingTable.cpp [E]OK src/T2DLL/T2SantaClaus.cpp [E]OK src/T2DLL/T2SearchDialog.cpp [U]OK src/T2DLL/T2SeasonParamDef.cpp [U]SWP src/T2DLL/T2SerialDialog.cpp [E]SWP src/T2DLL/T2SettingDialog.cpp [E]SWP src/T2DLL/T2Settlement.cpp [E]OK src/T2DLL/T2SilhouetteDef.cpp [E]SWP src/T2DLL/T2SilhouettePane.cpp [E]OK src/T2DLL/T2SoundPlayer.cpp [E]SWP src/T2DLL/T2Sprite.cpp [E]OK src/T2DLL/T2SpriteObj.cpp [E]SWP src/T2DLL/T2StairModule.cpp [E]SWP src/T2DLL/T2StairModuleList.cpp [E]OK src/T2DLL/T2StewardDialog.cpp [E]SWP src/T2DLL/T2StopInfoArray.cpp [E]OK src/T2DLL/T2SubPlugin.cpp [E]OK src/T2DLL/T2TemplatePlugin.cpp [E]SWP src/T2DLL/T2TemplatePluginDB.cpp [E]SWP src/T2DLL/T2TemplatePluginList.cpp [E]OK src/T2DLL/T2TempPluginComparator.cpp [E]OKh src/T2DLL/T2Tenant.cpp [E]SWP src/T2DLL/T2TenantArray.cpp [E]SWP src/T2DLL/T2TenantArrayList.cpp [E]OK src/T2DLL/T2TenantCEArray.cpp [E]SWP src/T2DLL/T2TenantDef.cpp [E]OK src/T2DLL/T2TenantInfoDialog.cpp [E]OK src/T2DLL/T2TenantMemberDef.cpp [E]SWP src/T2DLL/T2TenantMemberTableDef.cpp [E]SWP src/T2DLL/T2TenantPlugin.cpp [E]OK src/T2DLL/T2Terrorist.cpp [E]OK src/T2DLL/T2ToolDef.cpp [E]OK src/T2DLL/T2ToolDefList.cpp [E]OKh src/T2DLL/T2ToolHelpWnd.cpp [E]OK src/T2DLL/T2ToolPlugin.cpp [E]OK src/T2DLL/T2ToolWindow.cpp [could do with better naming for stuff] [E]OKh src/T2DLL/T2TowerEvent.cpp [E]OK src/T2DLL/T2TowerMessage.cpp [E]OK src/T2DLL/T2TowerVision.cpp [E]OK src/T2DLL/T2TrafficInfo.cpp [E]OK src/T2DLL/T2Transport.cpp [E]OK src/T2DLL/T2TreasureDialog.cpp [E]OK src/T2DLL/T2TreasurePane.cpp [E]OK src/T2DLL/T2UnitInfo.cpp [E]OK src/T2DLL/T2VerticalTable.cpp [E]OK src/T2DLL/T2VisitVIP.cpp [E]SWP src/T2DLL/T2WeatherFilter.cpp [E]OK src/T2DLL/T2WordDef.cpp [E]SWP src/T2DLL/T2WordDefArray.cpp [E]OKh src/T2DLL/T2WorldDef.cpp [E]OK src/T2DLL/T2WorldPlugin.cpp [E]OK src/T2DLL/T2XEvent.cpp [U]SWP src/T2DLL/TenantSearchDlg.cpp [E]OK src/T2DLL/UPoint.cpp [E]OKh src/T2DLL/URect.cpp [E]SWP src/T2DLL/UT2BkgndInfo.cpp [E]OK src/T2DLL/UT2Coordinate.cpp [E]OK src/T2DLL/UT2Utils.cpp [U]OK src/T2DLL/WalkerDlg.cpp [E]OK src/T2DLL/Wave.cpp Not checked: src/256CheckDialog.cpp src/DbgEquipInfo.cpp src/DbgEventList.cpp src/DbgIPS.cpp src/DbgPeopleView.cpp src/DbgStepRun.cpp src/T2.cpp PROV src/T2CtrlPalette.cpp src/T2FilePreview.cpp src/T2GraphWindow.cpp PROV src/T2MainWindow.cpp [some dependencies] src/T2MsgWindow.cpp PROV src/T2MWControl.cpp src/T2NewDlg.cpp src/T2NewDlgTmp.cpp src/T2OpenFileDialog.cpp src/T2OpenningWindow.cpp src/T2OpenSelectDlg.cpp src/T2PoolView.cpp src/T2SysInfoDlg.cpp src/T2TowerDoc.cpp src/T2TowerMainView.cpp src/T2WorldSelectDlg.cpp