├── GM ├── Gm.cpp ├── Cbdesign.rc ├── res │ ├── Brush.cur │ ├── Fill.cur │ ├── 3DCheck.bmp │ ├── BadColum.bmp │ ├── BitEdit.ico │ ├── DragTile.cur │ ├── DrawSave.bmp │ ├── Dropper.cur │ ├── Eraser.cur │ ├── GBoxDoc.ico │ ├── IDR_Main.ico │ ├── NoDrop.cur │ ├── Pencil.cur │ ├── ToolBar.bmp │ ├── Crosshair.cur │ ├── DrawLayer.bmp │ ├── HexStyle2.bmp │ ├── IDR_Board.ico │ ├── ImageTool.bmp │ ├── Small4Way.cur │ ├── SysButton.bmp │ ├── cbICON_AAA.ico │ ├── Bmp50Percent.bmp │ ├── ColorChange.cur │ ├── NoDropTooBig.cur │ └── manifest.xml ├── targetver.h ├── StdAfx.cpp ├── ClipBrd.h ├── DlgMakts.h ├── DlgPcep.h ├── DlgPgrpn.h ├── DlgMgrpn.h ├── DlgMgrpn.cpp ├── DlgPcep.cpp ├── DlgPgrpn.cpp ├── FrmDockTile.h ├── DlgPaste.h ├── DlgTsetp.h ├── DlgBmask.h ├── DlgMakts.cpp ├── DlgGPass.h ├── DlgMrkp.h ├── DlgSPass.h ├── DlgTexto.h ├── DlgNtile.h ├── DlgBrdsz.h ├── DlgMEditMulti.h ├── DlgGboxp.h ├── DlgPaste.cpp ├── DlgTilsz.h ├── DlgTsetp.cpp └── DlgGPass.cpp ├── GP ├── Cbplay.rc ├── res │ ├── GP.ico │ ├── 3DCheck.bmp │ ├── BadColum.bmp │ ├── BrdView.ico │ ├── CMovMode.cur │ ├── DragTile.cur │ ├── GMovDoc.ico │ ├── GamDoc.ico │ ├── GsnDoc.ico │ ├── NoDrop.cur │ ├── ToolBar.bmp │ ├── menuicon.bmp │ ├── tbmenu.bmp │ ├── tbmove.bmp │ ├── tbview.bmp │ ├── CrossHair.cur │ ├── SysButton.bmp │ ├── tbplayback.bmp │ ├── Bmp50Percent.bmp │ ├── Gp_MainFrame.bmp │ ├── NoDropTooBig.cur │ └── manifest.xml ├── DlgNewGeoBoard.cpp ├── targetver.h ├── StdAfx.cpp ├── FileLib.h ├── Arrows.h ├── WStateGp.h ├── DlgNPly.h ├── DlgYnew.h ├── DlgMarkCount.h ├── DlgMdesc.h ├── DlgState.h ├── WinMyspl.h ├── DlgPass.h ├── DlgScnp.h ├── FrmProj.h ├── DlgNPly.cpp ├── DlgTrunc.h ├── FrmDockMark.h ├── DlgMarkCount.cpp ├── Editnocv.h ├── FrmDockTray.h ├── DlgPass.cpp ├── DlgRot.h ├── DlgItray.h ├── DlgEdtEl.h ├── DlgSlbrd.h ├── DlgRmsg.h ├── DlgChgGameOwner.h ├── DlgSelOwner.h ├── DlgYnew.cpp ├── DlgMPly.h ├── WinDynspl.h ├── GamState.h ├── DlgEPly.h └── MoveHist.h ├── GShr ├── Font.cpp ├── targetver.h ├── StrLib.h ├── Arclib.cpp └── WinTiny.h ├── GHelp ├── MakeIDH.exe ├── images │ ├── new.png │ ├── btn-paypal.gif │ ├── cb-logo-link.png │ ├── gm-pal-color.png │ ├── gm-pal-tiles.png │ ├── gp-pal-tray.png │ ├── gp-pal-markers.png │ ├── gm-btn-edit-copy.png │ ├── gm-btn-edit-cut.png │ ├── gm-btn-edit-paste.png │ ├── gm-btn-file-new.png │ ├── gm-btn-file-open.png │ ├── gm-btn-file-save.png │ ├── gm-btn-play-start.png │ ├── gm-btn-tools-snap.png │ ├── gm-btn-view-grid.png │ ├── gm-pal-tile-tools.png │ ├── gm-window-project.png │ ├── gp-btn-act-dice.png │ ├── gp-btn-act-stack.png │ ├── gp-btn-act-toback.png │ ├── gp-btn-file-new.png │ ├── gp-btn-file-open.png │ ├── gp-btn-file-save.png │ ├── gp-btn-play-done.png │ ├── gp-btn-play-end.png │ ├── gp-btn-play-next.png │ ├── gp-btn-play-prev.png │ ├── gp-btn-play-start.png │ ├── gp-btn-view-marks.png │ ├── gp-btn-view-tips.png │ ├── gm-btn-edit-layer1.png │ ├── gm-btn-edit-layer2.png │ ├── gm-btn-edit-layer3.png │ ├── gm-btn-tools-toback.png │ ├── gm-pal-board-tools.png │ ├── gp-btn-act-message.png │ ├── gp-btn-act-tofront.png │ ├── gp-btn-view-pieces.png │ ├── gp-btn-view-toggle.png │ ├── gp-btn-view-tray-a.png │ ├── gp-btn-view-tray-b.png │ ├── gm-btn-tools-tofront.png │ ├── gm-btn-window-colors.png │ ├── gm-btn-window-tilepal.png │ ├── gm-window-board-edit.png │ ├── gm-window-tile-editor.png │ ├── gp-btn-act-comp-accept.png │ ├── gp-btn-act-comp-begin.png │ ├── gp-btn-act-comp-cancel.png │ ├── gp-btn-act-flip-over.png │ ├── gp-btn-act-plot-accept.png │ ├── gp-btn-act-plot-begin.png │ ├── gp-btn-act-plot-cancel.png │ ├── gp-btn-file-open-move.png │ ├── gp-btn-file-save-move.png │ ├── gp-btn-play-next-hist.png │ ├── gp-window-gam-project.png │ ├── gp-window-gsn-project.png │ ├── gm-btn-window-bit-tools.png │ ├── gp-window-playing-board.png │ └── gm-btn-window-board-tools.png ├── gen-main-release-history.htm ├── gp-tut-cover.htm ├── gm-tut-cover.htm ├── gm-main-cover.htm ├── gm-ref-keyboard-shortcuts.htm ├── gp-main-cover.htm ├── gp-ref-keyboard-shortcuts.htm ├── gp-ref-cover.htm ├── gm-ref-cover.htm ├── gm-ref-pal-tile.htm ├── gp-ref-pal-tray.htm ├── gm-ref-pal-color.htm ├── gp-ref-pal-markers.htm ├── gm-ref-window-board-edit.htm ├── gm-ref-window-tile-edit.htm ├── gp-ref-window-board.htm ├── gm-ref-window-project.htm ├── gp-ref-window-gam-project.htm ├── gp-ref-window-gsn-project.htm ├── gp-adv-how-to.htm ├── gp-ref-menu-window.htm ├── gp-ref-menu-project.htm ├── gm-ref-menu-file.htm ├── gm-ref-menu-view.htm ├── gm-ref-menu-help.htm ├── gm-ref-pal-board-tools.htm ├── gp-ref-menu-help.htm ├── gm-ref-pal-tile-tools.htm ├── gm-ref-menu-edit.htm ├── gen-main-concepts.htm ├── gm-ref-menu-window.htm ├── gen-main-overview.htm ├── gp-ref-menu-file.htm ├── master.js ├── gen-main-cover.htm ├── gp-ref-menu-playback.htm ├── gp-ref-menu-edit.htm ├── gp-ref-menu-view.htm ├── gp-adv-object-locking.htm ├── gm-adv-how-to.htm ├── gp-ref-menu-actions.htm ├── gm-ref-menu-project.htm ├── gp-adv-object-text.htm ├── gen-tech-gtl-files.htm └── CBoard.hhp ├── .gitmodules ├── .gitignore ├── LICENSE.txt ├── CMakeSettings.json ├── CMakeLists.txt ├── .github └── workflows │ └── main.yml └── CyberBoard.sln /GM/Gm.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/Gm.cpp -------------------------------------------------------------------------------- /GM/Cbdesign.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/Cbdesign.rc -------------------------------------------------------------------------------- /GP/Cbplay.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/Cbplay.rc -------------------------------------------------------------------------------- /GP/res/GP.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/GP.ico -------------------------------------------------------------------------------- /GShr/Font.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GShr/Font.cpp -------------------------------------------------------------------------------- /GM/res/Brush.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/Brush.cur -------------------------------------------------------------------------------- /GM/res/Fill.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/Fill.cur -------------------------------------------------------------------------------- /GHelp/MakeIDH.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/MakeIDH.exe -------------------------------------------------------------------------------- /GM/res/3DCheck.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/3DCheck.bmp -------------------------------------------------------------------------------- /GM/res/BadColum.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/BadColum.bmp -------------------------------------------------------------------------------- /GM/res/BitEdit.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/BitEdit.ico -------------------------------------------------------------------------------- /GM/res/DragTile.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/DragTile.cur -------------------------------------------------------------------------------- /GM/res/DrawSave.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/DrawSave.bmp -------------------------------------------------------------------------------- /GM/res/Dropper.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/Dropper.cur -------------------------------------------------------------------------------- /GM/res/Eraser.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/Eraser.cur -------------------------------------------------------------------------------- /GM/res/GBoxDoc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/GBoxDoc.ico -------------------------------------------------------------------------------- /GM/res/IDR_Main.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/IDR_Main.ico -------------------------------------------------------------------------------- /GM/res/NoDrop.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/NoDrop.cur -------------------------------------------------------------------------------- /GM/res/Pencil.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/Pencil.cur -------------------------------------------------------------------------------- /GM/res/ToolBar.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/ToolBar.bmp -------------------------------------------------------------------------------- /GP/res/3DCheck.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/3DCheck.bmp -------------------------------------------------------------------------------- /GP/res/BadColum.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/BadColum.bmp -------------------------------------------------------------------------------- /GP/res/BrdView.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/BrdView.ico -------------------------------------------------------------------------------- /GP/res/CMovMode.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/CMovMode.cur -------------------------------------------------------------------------------- /GP/res/DragTile.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/DragTile.cur -------------------------------------------------------------------------------- /GP/res/GMovDoc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/GMovDoc.ico -------------------------------------------------------------------------------- /GP/res/GamDoc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/GamDoc.ico -------------------------------------------------------------------------------- /GP/res/GsnDoc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/GsnDoc.ico -------------------------------------------------------------------------------- /GP/res/NoDrop.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/NoDrop.cur -------------------------------------------------------------------------------- /GP/res/ToolBar.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/ToolBar.bmp -------------------------------------------------------------------------------- /GP/res/menuicon.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/menuicon.bmp -------------------------------------------------------------------------------- /GP/res/tbmenu.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/tbmenu.bmp -------------------------------------------------------------------------------- /GP/res/tbmove.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/tbmove.bmp -------------------------------------------------------------------------------- /GP/res/tbview.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/tbview.bmp -------------------------------------------------------------------------------- /GHelp/images/new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/new.png -------------------------------------------------------------------------------- /GM/res/Crosshair.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/Crosshair.cur -------------------------------------------------------------------------------- /GM/res/DrawLayer.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/DrawLayer.bmp -------------------------------------------------------------------------------- /GM/res/HexStyle2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/HexStyle2.bmp -------------------------------------------------------------------------------- /GM/res/IDR_Board.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/IDR_Board.ico -------------------------------------------------------------------------------- /GM/res/ImageTool.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/ImageTool.bmp -------------------------------------------------------------------------------- /GM/res/Small4Way.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/Small4Way.cur -------------------------------------------------------------------------------- /GM/res/SysButton.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/SysButton.bmp -------------------------------------------------------------------------------- /GM/res/cbICON_AAA.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/cbICON_AAA.ico -------------------------------------------------------------------------------- /GP/DlgNewGeoBoard.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/DlgNewGeoBoard.cpp -------------------------------------------------------------------------------- /GP/res/CrossHair.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/CrossHair.cur -------------------------------------------------------------------------------- /GP/res/SysButton.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/SysButton.bmp -------------------------------------------------------------------------------- /GP/res/tbplayback.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/tbplayback.bmp -------------------------------------------------------------------------------- /GM/res/Bmp50Percent.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/Bmp50Percent.bmp -------------------------------------------------------------------------------- /GM/res/ColorChange.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/ColorChange.cur -------------------------------------------------------------------------------- /GM/res/NoDropTooBig.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GM/res/NoDropTooBig.cur -------------------------------------------------------------------------------- /GP/res/Bmp50Percent.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/Bmp50Percent.bmp -------------------------------------------------------------------------------- /GP/res/Gp_MainFrame.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/Gp_MainFrame.bmp -------------------------------------------------------------------------------- /GP/res/NoDropTooBig.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GP/res/NoDropTooBig.cur -------------------------------------------------------------------------------- /GHelp/images/btn-paypal.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/btn-paypal.gif -------------------------------------------------------------------------------- /GHelp/images/cb-logo-link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/cb-logo-link.png -------------------------------------------------------------------------------- /GHelp/images/gm-pal-color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-pal-color.png -------------------------------------------------------------------------------- /GHelp/images/gm-pal-tiles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-pal-tiles.png -------------------------------------------------------------------------------- /GHelp/images/gp-pal-tray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-pal-tray.png -------------------------------------------------------------------------------- /GHelp/images/gp-pal-markers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-pal-markers.png -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "deps/wxWidgets"] 2 | path = deps/wxWidgets 3 | url = https://github.com/wxWidgets/wxWidgets.git 4 | -------------------------------------------------------------------------------- /GHelp/gen-main-release-history.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/gen-main-release-history.htm -------------------------------------------------------------------------------- /GHelp/images/gm-btn-edit-copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-edit-copy.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-edit-cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-edit-cut.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-edit-paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-edit-paste.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-file-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-file-new.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-file-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-file-open.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-file-save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-file-save.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-play-start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-play-start.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-tools-snap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-tools-snap.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-view-grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-view-grid.png -------------------------------------------------------------------------------- /GHelp/images/gm-pal-tile-tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-pal-tile-tools.png -------------------------------------------------------------------------------- /GHelp/images/gm-window-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-window-project.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-act-dice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-act-dice.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-act-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-act-stack.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-act-toback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-act-toback.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-file-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-file-new.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-file-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-file-open.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-file-save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-file-save.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-play-done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-play-done.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-play-end.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-play-end.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-play-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-play-next.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-play-prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-play-prev.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-play-start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-play-start.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-view-marks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-view-marks.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-view-tips.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-view-tips.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-edit-layer1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-edit-layer1.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-edit-layer2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-edit-layer2.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-edit-layer3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-edit-layer3.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-tools-toback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-tools-toback.png -------------------------------------------------------------------------------- /GHelp/images/gm-pal-board-tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-pal-board-tools.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-act-message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-act-message.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-act-tofront.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-act-tofront.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-view-pieces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-view-pieces.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-view-toggle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-view-toggle.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-view-tray-a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-view-tray-a.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-view-tray-b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-view-tray-b.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-tools-tofront.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-tools-tofront.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-window-colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-window-colors.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-window-tilepal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-window-tilepal.png -------------------------------------------------------------------------------- /GHelp/images/gm-window-board-edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-window-board-edit.png -------------------------------------------------------------------------------- /GHelp/images/gm-window-tile-editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-window-tile-editor.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-act-comp-accept.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-act-comp-accept.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-act-comp-begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-act-comp-begin.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-act-comp-cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-act-comp-cancel.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-act-flip-over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-act-flip-over.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-act-plot-accept.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-act-plot-accept.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-act-plot-begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-act-plot-begin.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-act-plot-cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-act-plot-cancel.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-file-open-move.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-file-open-move.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-file-save-move.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-file-save-move.png -------------------------------------------------------------------------------- /GHelp/images/gp-btn-play-next-hist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-btn-play-next-hist.png -------------------------------------------------------------------------------- /GHelp/images/gp-window-gam-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-window-gam-project.png -------------------------------------------------------------------------------- /GHelp/images/gp-window-gsn-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-window-gsn-project.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-window-bit-tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-window-bit-tools.png -------------------------------------------------------------------------------- /GHelp/images/gp-window-playing-board.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gp-window-playing-board.png -------------------------------------------------------------------------------- /GHelp/images/gm-btn-window-board-tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberBoardPBEM/cbwindows/HEAD/GHelp/images/gm-btn-window-board-tools.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.ncb 2 | *.suo 3 | *.aps 4 | *.vpw 5 | *.vpwhist 6 | *.vtg 7 | *.vpj 8 | [Dd]ebug 9 | [Dd]ebugU 10 | [Rr]elease 11 | [Rr]eleaseU 12 | GP/gphelpidmap.h 13 | GM/gmhelpidmap.h 14 | GHelp/CBoard.chm 15 | out 16 | *.old 17 | *.user 18 | .vs/ -------------------------------------------------------------------------------- /GHelp/gp-tut-cover.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Game Player Tutorial 5 | 6 | 7 | 8 | 9 |

Game Player Tutorial

10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /GHelp/gm-tut-cover.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Game Designer Tutorial 5 | 6 | 7 | 8 | 9 |

Game Designer Tutorial

10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /GM/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #ifndef _WIN32_WINNT 6 | // Modify the following define to target a prior platform. Refer to MSDN 7 | // for the latest info on corresponding values for different platforms. 8 | #define _WIN32_WINNT _WIN32_WINNT_MAXVER 9 | #endif 10 | 11 | #include 12 | -------------------------------------------------------------------------------- /GP/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #ifndef _WIN32_WINNT 6 | // Modify the following define to target a prior platform. Refer to MSDN 7 | // for the latest info on corresponding values for different platforms. 8 | #define _WIN32_WINNT _WIN32_WINNT_MAXVER 9 | #endif 10 | 11 | #include 12 | -------------------------------------------------------------------------------- /GHelp/gm-main-cover.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CyberBoard Designer Program 5 | 6 | 7 | 8 | 9 |

CyberBoard Designer Program

10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /GHelp/gm-ref-keyboard-shortcuts.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Keyboard Short-cuts 5 | 6 | 7 | 8 | 9 |

Keyboard Short-cuts

10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /GHelp/gp-main-cover.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CyberBoard Player Program 5 | 6 | 7 | 8 | 9 |

CyberBoard Player Program

10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /GHelp/gp-ref-keyboard-shortcuts.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Keyboard Short-cuts 5 | 6 | 7 | 8 | 9 |

Keyboard Short-cuts

10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /GHelp/gp-ref-cover.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CyberBoard Player Program Reference 5 | 6 | 7 | 8 | 9 |

CyberBoard Player Program Reference

10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /GHelp/gm-ref-cover.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CyberBoard Designer Program Reference 5 | 6 | 7 | 8 | 9 |

CyberBoard Designer Program Reference

10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /GHelp/gm-ref-pal-tile.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Tile Palette Window 5 | 6 | 7 | 8 | 9 |

Tile Palette Window

10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /GHelp/gp-ref-pal-tray.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Piece Tray Window 5 | 6 | 7 | 8 | 9 |

Piece Tray Window

10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /GHelp/gm-ref-pal-color.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Color Picker Palette 5 | 6 | 7 | 8 | 9 |

Color Picker Palette

10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /GHelp/gp-ref-pal-markers.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Marker Palette Window 5 | 6 | 7 | 8 | 9 |

Marker Window

10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /GHelp/gm-ref-window-board-edit.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Board Editor Window 5 | 6 | 7 | 8 | 9 |

Board Editor Window

10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /GHelp/gm-ref-window-tile-edit.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Tile Editor Window 5 | 6 | 7 | 8 | 9 |

Tile Editor Window

10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /GHelp/gp-ref-window-board.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Playing Board Window 5 | 6 | 7 | 8 | 9 |

Playing Board Window

10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /GHelp/gm-ref-window-project.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Designer Project Window 5 | 6 | 7 | 8 | 9 |

Designer Project Window

10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /GHelp/gp-ref-window-gam-project.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Game File Project Window 5 | 6 | 7 | 8 | 9 |

Game File Project Window

10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /GHelp/gp-ref-window-gsn-project.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Scenario File Project Window 5 | 6 | 7 | 8 | 9 |

Scenario File Project Window

10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /GHelp/gp-adv-how-to.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Player Program How To's 5 | 6 | 7 | 8 | 9 |

Player Program How To's

10 | 11 |

The following are various tips and tricks that don't warrant 12 | a topic on their own.

13 | 14 |

How To This...

15 | 16 |

How To That...

17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /GHelp/gp-ref-menu-window.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Window Menu 5 | 6 | 7 | 8 | 9 |

Window Menu

10 | 11 |

Cascade

12 | 13 |

Tile Horizontally

14 | 15 |

Tile Vertically

16 | 17 |

Arrange Icons

18 | 19 |

Horizontal Split

20 | 21 |

Vertical Split

22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /GHelp/gp-ref-menu-project.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Project Menu 5 | 6 | 7 | 8 | 9 |

Project Menu (Scenario Mode Only)

10 | 11 |

Create Playing Piece Tray

12 | 13 |

Create Trays from Piece Groups

14 | 15 |

Create Geomorphic Board

16 | 17 |

Create Players

18 | 19 |

Edit Players

20 | 21 |

Select Game Boards

22 | 23 |

Select Game Pieces

24 | 25 |

Scenario Properties

26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /GP/res/manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | CyberBoard Player Program 10 | 11 | 12 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /GM/res/manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | CyberBoard Designer Program 10 | 11 | 12 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /GHelp/gm-ref-menu-file.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | File Menu 7 | 8 | 9 | 10 |

File Menu

11 | 12 |

New

13 | 14 |

Open

15 | 16 |

Close

17 | 18 |

Save

19 | 20 |

Save As

21 | 22 |

Exit

23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /GHelp/gm-ref-menu-view.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | View Menu 5 | 6 | 7 | 8 | 9 |

View Menu

10 | 11 |

Status Bar

12 | 13 |

Zoom Tile Image In

14 | 15 |

Zoom Tile Image Out

16 | 17 |

Tile Image Grid Lines

18 | 19 |

Full Scale Board

20 | 21 |

Half Scale Board

22 | 23 |

Small Scale Board

24 | 25 |

Cell Border Lines

26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /GHelp/gm-ref-menu-help.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Help Menu 5 | 6 | 7 | 8 | 9 | 10 |

Help Menu

11 | 12 |

Contents

13 | 14 |

Visit the CyberBoard Web Site

15 | 16 |

Make a CyberBoard Donation

17 | 18 | CyberBoard is currently available free-of-charge. However, donations are welcome and 19 | very much appreciated to help keep CyberBoard alive and well. For more information, 20 | select this menu item. 21 | 22 |

About CyberBoard

23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /GHelp/gm-ref-pal-board-tools.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Board Editor Tools 5 | 6 | 7 | 8 | 9 |

Board Editor Tools

10 | 11 | 12 |

Selector

13 | 14 |

Pickup Color

15 | 16 |

Draw Tile

17 | 18 |

Draw Text

19 | 20 |

Draw Line

21 | 22 |

Draw Rectangle

23 | 24 |

Draw Polygon

25 | 26 |

Draw Oval

27 | 28 |

Color Cell

29 | 30 |

Erase Cell

31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /GHelp/gp-ref-menu-help.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Help Menu 7 | 8 | 9 | 10 |

Help Menu

11 | 12 |

Contents

13 | 14 |

Visit the CyberBoard Web Site

15 | 16 |

Make a CyberBoard Donation

17 | 18 | CyberBoard is currently available free-of-charge. However, donations are welcome and 19 | very much appreciated to help keep CyberBoard alive and well. For more information, 20 | select this menu item. 21 | 22 |

About CyberBoard

23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /GHelp/gm-ref-pal-tile-tools.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Tile Editor Tools 5 | 6 | 7 | 8 | 9 |

Tile Editor Tools

10 | 11 | 12 |

Pencil

13 | 14 |

Selector

15 | 16 |

Brush

17 | 18 |

Fill

19 | 20 |

Change Color

21 | 22 |

Text

23 | 24 |

Line

25 | 26 |

Rect

27 | 28 |

Oval

29 | 30 |

Filled Rect

31 | 32 |

Filled Oval

33 | 34 |

Pickup Color

35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /GHelp/gm-ref-menu-edit.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Edit Menu 5 | 6 | 7 | 8 | 9 |

Edit Menu

10 | 11 |

Undo

12 | 13 |

Copy

14 | 15 |

Paste

16 | 17 |

Move

18 | 19 |

Delete

20 | 21 |

Paste Bitmap From File

22 | 23 |

Base Board Layer

24 | 25 |

Cell Board Layer

26 | 27 |

Top Board Layer

28 | 29 |

Board Properties

30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /GHelp/gen-main-concepts.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Cyberboard Concepts 5 | 6 | 7 | 8 | 9 |

Essential CyberBoard Concepts

10 | 11 |

Components

12 |

All the functionality in the CyberBoard is provided by two programs:

13 |
    14 |
  • CBDesign.exe - The game designer program.
  • 15 |
  • CBPlay.exe - The game setup and playing program.
  • 16 |
17 |

18 |

19 |

20 |

GameBox Files

21 | 22 |

Scenario Files

23 | 24 |

Game Files

25 | 26 |

27 |

28 |

29 |

30 | 31 | 32 | -------------------------------------------------------------------------------- /GHelp/gm-ref-menu-window.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Window Menu 5 | 6 | 7 | 8 | 9 |

Window Menu

10 | 11 |

Cascade

12 | 13 |

Tile Horizontally

14 | 15 |

Tile Vertically

16 | 17 |

Arrange Icons

18 | 19 |

Tool Palette

20 | 21 |

Color Palette

22 | 23 |

Tile Palette

24 | 25 |

Image Palette

26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /GHelp/gen-main-overview.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CyberBoard Overview 5 | 6 | 7 | 8 | 9 |

CyberBoard Overview

10 |

11 | The CyberBoard board gaming system makes playing board games by mail and 12 | electronic mail a more enjoyable experience. The system allows one to easily 13 | graphically design the various parts of a board game on your computer. The 14 | players can make their moves and exchange recorded versions of the moves 15 | with their opponents. The opponent can then play back the moves. Although 16 | many types of games may be created using CyberBoard, games that use counters 17 | or chits such as wargames work particularly well.

18 |

19 | CyberBoard is not an artificial opponent. It provides no artificial 20 | intelligence capability.

21 | 22 | 23 | -------------------------------------------------------------------------------- /GHelp/gp-ref-menu-file.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | File Menu 5 | 6 | 7 | 8 | 9 | 10 |

File Menu

11 | 12 |

New

13 | 14 |

Open

15 | 16 |

Close

17 | 18 |

Save

19 | 20 |

Save As

21 | 22 |

Save Game As Scenario

23 | 24 |

Load Recorded Move File

25 | 26 |

Send Recorded Moves to File

27 | 28 |

Discard Current Move Recording

29 | 30 |

Exit

31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included 12 | in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17 | THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 18 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20 | OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /GHelp/master.js: -------------------------------------------------------------------------------- 1 | //This is the master JavaScript file for the HTML Help documentation. 2 | 3 | /* These functions (doSection, noSection) are used to make sidebars appear and disappear. 4 | */ 5 | 6 | function doSection (secNum){ 7 | //display the section if it's not displayed; hide it if it is displayed 8 | if (secNum.style.display=="none"){secNum.style.display=""} 9 | else{secNum.style.display="none"} 10 | } 11 | 12 | function noSection (secNum){ 13 | //remove the section when user clicks in the opened DIV 14 | if (secNum.style.display==""){secNum.style.display="none"} 15 | } 16 | 17 | function doExpand(paraNum,arrowNum){ 18 | //expand the paragraph and rotate the arrow; collapse and rotate it back 19 | if (paraNum.style.display=="none"){paraNum.style.display="";arrowNum.src="arrowdn.gif"} 20 | else{paraNum.style.display="none";arrowNum.src="arrowrt.gif"} 21 | } 22 | 23 | //These functions control the behavior of the homepage go arrows. 24 | function liteGo(spNo){ 25 | spNo.style.background="#00cc33"; 26 | spNo.style.color="#FFFFFF"; 27 | } 28 | 29 | function liteOff(spNo){ 30 | spNo.style.background="transparent"; 31 | spNo.style.color="#000000"; 32 | } 33 | 34 | //Insert new functions here. Please use unique identifiers and comment liberally. -------------------------------------------------------------------------------- /GHelp/gen-main-cover.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CyberBoard™Play by E-Mail Board Gaming System 5 | 6 | 7 | 8 | 9 | 10 |
11 |

12 | CyberBoard™

13 |

14 |

Play-by-EMail Board Gaming System

15 | 16 | 17 | 24 |
18 |

19 | Please Support

20 |

21 |

22 |

CyberBoard™

23 |
25 | 26 |

27 | Unless otherwise noted, all content is
28 | Copyright © 1994-2010 by Dale L. Larson
29 | All rights Reserved

30 |

Contact: dlarson@norsesoft.com

31 |

Revision: 1/2/2010

32 |
33 | 34 | 35 | -------------------------------------------------------------------------------- /GHelp/gp-ref-menu-playback.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Playback Menu 5 | 6 | 7 | 8 | 9 |

Playback Menu (Game Mode Only)

10 | 11 |

Start of Moves

12 | 13 |

Next Move

14 | 15 |

Previous Move

16 | 17 |

End of Moves

18 | 19 |

Single Step Compound Moves

20 | 21 |

Automatically Step to Next History

22 | 23 |

Keep Skipped Move Indicators

24 | 25 |

Next History Entry

26 | 27 |

Close History Playback

28 | 29 |

Accept Move File Playback

30 | 31 |

Discard Move File Playback

32 | 33 |

Show Current Message

34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /GHelp/gp-ref-menu-edit.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Edit Menu 5 | 6 | 7 | 8 | 9 | 10 |

Edit Menu

11 | 12 |

Copy Board Image to Clipboard

13 | 14 |

Places a bitmap image of the selected board onto the clipboard.

15 | 16 | 17 |

Save Board Image in File

18 | 19 |

Stores a bitmap image of the selected board in a BMP format disk file.

20 | 21 | 22 |

Delete Selected Markers

23 | 24 |

Destroys all selected markers.

25 | 26 | 27 |

Select All Markers

28 | 29 |

Selects all markers on the current board view.

30 | 31 | 32 |

Select All Markers From

33 | 34 |

Selects all objects that were created from a specific marker group. For instance, 35 | this could be is useful for deleting all combat markers.

36 | 37 |

Edit Object Text

38 | 39 |

Displays a dialog used to edit an object's associated text. Only a single object's text 40 | may be edited at a time. You may also double-click an object to use this dialog.

41 | 42 | 43 |

Board Properties

44 | 45 |

Displays the properties dialog for the current playing board.

46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /GP/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining 4 | // a copy of this software and associated documentation files (the 5 | // "Software"), to deal in the Software without restriction, including 6 | // without limitation the rights to use, copy, modify, merge, publish, 7 | // distribute, sublicense, and/or sell copies of the Software, and to 8 | // permit persons to whom the Software is furnished to do so, subject to 9 | // the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be 12 | // included in all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | // 22 | // stdafx.cpp : source file that includes just the standard includes 23 | // stdafx.pch will be the pre-compiled header 24 | // stdafx.obj will contain the pre-compiled type information 25 | 26 | #include "stdafx.h" 27 | -------------------------------------------------------------------------------- /GHelp/gp-ref-menu-view.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | View Menu 5 | 6 | 7 | 8 | 9 |

View Menu

10 | 11 |

Status Bar

12 | 13 |

Save Window Positions

14 | 15 |

Snap Grid

16 | 17 |

Tray Palette A

18 | 19 |

Tray Palette B

20 | 21 |

Marker Palette

22 | 23 |

Full Scale Board

24 | 25 |

Half Scale Board

26 | 27 |

Small Scale Board

28 | 29 |

Rotate Board

30 | 31 |

Show Object Text Tips

32 | 33 |

Show Object Owner Tips

34 | 35 |

Simulate Spectator Player (Game mode only)

36 | 37 |

Hide Pieces

38 | 39 |

Indicators On Top (Game mode only)

40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /GM/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining 4 | // a copy of this software and associated documentation files (the 5 | // "Software"), to deal in the Software without restriction, including 6 | // without limitation the rights to use, copy, modify, merge, publish, 7 | // distribute, sublicense, and/or sell copies of the Software, and to 8 | // permit persons to whom the Software is furnished to do so, subject to 9 | // the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be 12 | // included in all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | // 22 | 23 | // stdafx.cpp : source file that includes just the standard includes 24 | // stdafx.pch will be the pre-compiled header 25 | // stdafx.obj will contain the pre-compiled type information 26 | 27 | #include "stdafx.h" 28 | 29 | -------------------------------------------------------------------------------- /GShr/targetver.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | // The following macros define the minimum required platform. The minimum required platform 5 | // is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run 6 | // your application. The macros work by enabling all features available on platform versions up to and 7 | // including the version specified. 8 | 9 | // Modify the following defines if you have to target a platform prior to the ones specified below. 10 | // Refer to MSDN for the latest info on corresponding values for different platforms. 11 | #ifndef WINVER // Specifies that the minimum required platform is Windows Vista. 12 | #define WINVER 0x0600 // Change this to the appropriate value to target other versions of Windows. 13 | #endif 14 | 15 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 16 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. 17 | #endif 18 | 19 | #ifndef _WIN32_WINDOWS // Specifies that the minimum required platform is Windows 98. 20 | #define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later. 21 | #endif 22 | 23 | #ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 7.0. 24 | #define _WIN32_IE 0x0700 // Change this to the appropriate value to target other versions of IE. 25 | #endif 26 | 27 | -------------------------------------------------------------------------------- /GP/FileLib.h: -------------------------------------------------------------------------------- 1 | // FileLib.h 2 | // 3 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _FILELIB_H 26 | #define _FILELIB_H 27 | 28 | BOOL CloneFile(const CB::string& pszSrcPath, const CB::string& pszDestPath); 29 | BOOL CloneOpenFile(CFile* pSrcFile, const CB::string& pszDestPath); 30 | BOOL CopyOpenFiles(CFile* pSrcFile, CFile* pDestFile, DWORD dwLen); 31 | 32 | #endif 33 | 34 | -------------------------------------------------------------------------------- /GM/ClipBrd.h: -------------------------------------------------------------------------------- 1 | // ClipBrd.h 2 | // 3 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _CLIPBRD_H 26 | #define _CLIPBRD_H 27 | 28 | BOOL IsClipboardBitmap(); 29 | void SetClipboardBitmap(CWnd* pWnd, const CBitmap& pBMap); 30 | OwnerOrNullPtr GetClipboardBitmap(CWnd* pWnd); 31 | void SetClipboardBitmap(const wxBitmap& pBMap); 32 | wxBitmap GetClipboardBitmap(); 33 | 34 | #endif 35 | 36 | -------------------------------------------------------------------------------- /GP/Arrows.h: -------------------------------------------------------------------------------- 1 | // Arrows.h 2 | // 3 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #error dead code 26 | 27 | #ifndef _ARROWS_H 28 | #define _ARROWS_H 29 | 30 | #ifndef _GDITOOLS_H 31 | #include "GdiTools.h" 32 | #endif 33 | 34 | POINT* CalcRectBoundryArrow(CRect* pRctBound, int nDegrees, POINT* p4Pts = NULL); 35 | void DrawArrow(CDC* pDC, POINT* p4Pts, COLORREF crArrow = noColor); 36 | 37 | #endif 38 | 39 | -------------------------------------------------------------------------------- /CMakeSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "name": "x64-Debug", 5 | "generator": "Ninja", 6 | "configurationType": "Debug", 7 | "inheritEnvironments": [ "msvc_x64_x64" ], 8 | "buildRoot": "${projectDir}\\out\\build\\${name}", 9 | "installRoot": "${projectDir}\\out\\install\\${name}", 10 | "buildCommandArgs": "-k50", 11 | "ctestCommandArgs": "" 12 | }, 13 | { 14 | "name": "x86-Debug", 15 | "generator": "Ninja", 16 | "configurationType": "Debug", 17 | "buildRoot": "${projectDir}\\out\\build\\${name}", 18 | "installRoot": "${projectDir}\\out\\install\\${name}", 19 | "cmakeCommandArgs": "", 20 | "buildCommandArgs": "-k50", 21 | "ctestCommandArgs": "", 22 | "inheritEnvironments": [ "msvc_x86" ] 23 | }, 24 | { 25 | "name": "x64-Release", 26 | "generator": "Ninja", 27 | "configurationType": "RelWithDebInfo", 28 | "buildRoot": "${projectDir}\\out\\build\\${name}", 29 | "installRoot": "${projectDir}\\out\\install\\${name}", 30 | "cmakeCommandArgs": "", 31 | "buildCommandArgs": "-k50", 32 | "ctestCommandArgs": "", 33 | "inheritEnvironments": [ "msvc_x64_x64" ] 34 | }, 35 | { 36 | "name": "x86-Release", 37 | "generator": "Ninja", 38 | "configurationType": "RelWithDebInfo", 39 | "buildRoot": "${projectDir}\\out\\build\\${name}", 40 | "installRoot": "${projectDir}\\out\\install\\${name}", 41 | "cmakeCommandArgs": "", 42 | "buildCommandArgs": "-k50", 43 | "ctestCommandArgs": "", 44 | "inheritEnvironments": [ "msvc_x86" ] 45 | } 46 | ] 47 | } -------------------------------------------------------------------------------- /GHelp/gp-adv-object-locking.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | How Object Locking Works 5 | 6 | 7 | 8 | 9 |

How Object Locking Works

10 | 11 |

12 | Pieces and markers can be locked to the board's surface. When an object 13 | is locked it is impossible to select it. It's as if the object is part 14 | of the original board design.

15 |

16 | Objects can be locked while in either Scenario or Game mode.

17 |

18 | To use the locking feature first select the objects you wish to lock. 19 | Then use the Actions/Lock Objects 20 | menu command. The objects will be locked and deselected.

21 |

22 | If you need to unlock a piece you would first deactivate the locks with the 23 | Actions/Suspend Object Locks 24 | menu command. This gives you access to all 25 | locked object on the board. Then select the objects you wish to 26 | unlock and use the Actions/Lock Objects to unlock them. Finally 27 | reactivate the locks with the "Actions/Suspend Object Locks" menu command. 28 | 29 |

Some possible applications of this feature are:

30 |
    31 |
  • Customizing a board's terrain prior to play.
  • 32 |
  • Building tile based maps.
  • 33 |
  • Build RoboRally like boards from smaller map pieces.
  • 34 |
  • Locking down pieces you don't accidentally want moved.
  • 35 |
  • Adding board annotations during play that you don't want to be selected.
  • 36 |
37 | 38 | 39 | -------------------------------------------------------------------------------- /GM/DlgMakts.h: -------------------------------------------------------------------------------- 1 | // DlgMakts.h 2 | // 3 | // Copyright (c) 1994-2023 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | class CCreateTSet : public wxDialog 26 | { 27 | // Construction 28 | public: 29 | CCreateTSet(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 30 | 31 | // Dialog Data 32 | wxString m_strTSName; 33 | private: 34 | CB_XRC_BEGIN_CTRLS_DECL() 35 | RefPtr m_editTSName; 36 | CB_XRC_END_CTRLS_DECL() 37 | public: 38 | 39 | // Implementation 40 | protected: 41 | wxDECLARE_EVENT_TABLE(); 42 | }; 43 | 44 | 45 | -------------------------------------------------------------------------------- /GShr/StrLib.h: -------------------------------------------------------------------------------- 1 | // StrLib.h 2 | // 3 | // Copyright (c) 1994-2023 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _STRLIB_H 26 | #define _STRLIB_H 27 | 28 | //*** STRLIB.CPP ***// 29 | 30 | [[nodiscard]] CB::string SetFileExt(const CB::string& fname, const CB::string& ext); 31 | CB::string StrGetAAAFormat(size_t n); 32 | [[nodiscard]] CB::string StrTruncatePath(const CB::string& pszName); 33 | CB::string StrExtractFilename(const CB::string& pszFPath); 34 | CB::string StrBuildFullFilename(const CB::string& pszPath, 35 | const CB::string& pszName); 36 | 37 | #endif 38 | 39 | -------------------------------------------------------------------------------- /GM/DlgPcep.h: -------------------------------------------------------------------------------- 1 | // DlgPcep.h : header file 2 | // 3 | // Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CPiecePropDialog dialog 27 | 28 | class CPiecePropDialog : public wxDialog 29 | { 30 | // Construction 31 | public: 32 | CPiecePropDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 33 | 34 | // Dialog Data 35 | wxString m_strName; 36 | private: 37 | CB_XRC_BEGIN_CTRLS_DECL() 38 | RefPtr m_editName; 39 | CB_XRC_END_CTRLS_DECL() 40 | }; 41 | -------------------------------------------------------------------------------- /GM/DlgPgrpn.h: -------------------------------------------------------------------------------- 1 | // DlgPgrpn.h : header file 2 | // 3 | // Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CPieceGroupNameDialog dialog 27 | 28 | class CPieceGroupNameDialog : public wxDialog 29 | { 30 | // Construction 31 | public: 32 | CPieceGroupNameDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 33 | 34 | // Dialog Data 35 | wxString m_strName; 36 | private: 37 | CB_XRC_BEGIN_CTRLS_DECL() 38 | RefPtr m_editName; 39 | CB_XRC_END_CTRLS_DECL() 40 | }; 41 | -------------------------------------------------------------------------------- /GM/DlgMgrpn.h: -------------------------------------------------------------------------------- 1 | // dlgmgrpn.h : header file 2 | // 3 | // Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CMarkGroupNewDialog dialog 27 | 28 | class CMarkGroupNewDialog : public wxDialog 29 | { 30 | // Construction 31 | public: 32 | CMarkGroupNewDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 33 | 34 | // Dialog Data 35 | public: 36 | wxString m_strName; 37 | private: 38 | CB_XRC_BEGIN_CTRLS_DECL() 39 | RefPtr m_editName; 40 | CB_XRC_END_CTRLS_DECL() 41 | }; 42 | -------------------------------------------------------------------------------- /GP/WStateGp.h: -------------------------------------------------------------------------------- 1 | // WStateGp.h - classes used to manage player program window state. 2 | // 3 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _WSTATEGP_H 26 | #define _WSTATEGP_H 27 | 28 | #ifndef _WINSTATE_H 29 | #include "WinState.h" 30 | #endif 31 | 32 | class CGpWinStateMgr : public CWinStateManager 33 | { 34 | public: 35 | 36 | protected: 37 | CGamDoc* GetDocument() { return CB::ToCGamDoc(m_pDoc); } 38 | 39 | virtual CWnd* OnGetFrameForWinStateElement(const CWinStateElement& pWse) override; 40 | virtual void OnAnnotateWinStateElement(CWinStateElement& pState, CWnd *pWnd) override; 41 | }; 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2023 By William Su, All Rights Reserved. 2 | 3 | cmake_minimum_required(VERSION 2.8.12) 4 | # set VERSION variables 5 | cmake_policy(SET CMP0048 NEW) 6 | # provide CMAKE_MSVC_RUNTIME_LIBRARY 7 | cmake_policy(SET CMP0091 NEW) 8 | # disable default warning flags 9 | cmake_policy(SET CMP0092 NEW) 10 | 11 | project(CyberBoard VERSION 4.0 LANGUAGES CXX) 12 | 13 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/runtime) 14 | file(MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) 15 | 16 | # std::format requires c++20 17 | set(CMAKE_CXX_STANDARD 20) 18 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 19 | 20 | set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") 21 | set(CMAKE_MFC_FLAG 1) 22 | if (MSVC) 23 | add_compile_definitions($<$:_CRTDBG_MAP_ALLOC>) 24 | add_compile_options(/EHs) 25 | endif() 26 | 27 | # wxWidgets 28 | # KLUDGE: must be cache variables to prevent wx_option() from 29 | # overriding them 30 | set(wxBUILD_INSTALL OFF CACHE BOOL "skip") 31 | set(wxBUILD_SHARED OFF CACHE BOOL "skip") 32 | set(wxBUILD_USE_STATIC_RUNTIME ON CACHE BOOL "skip") 33 | set(wxUSE_LIBWEBP OFF CACHE BOOL "skip") 34 | set(wxUSE_MEDIACTRL OFF CACHE BOOL "skip") 35 | set(wxUSE_POSTSCRIPT OFF CACHE BOOL "skip") 36 | set(wxUSE_STC OFF CACHE BOOL "skip") 37 | set(wxUSE_WEBVIEW OFF CACHE BOOL "skip") 38 | set(wxUSE_WINRT OFF CACHE BOOL "skip") 39 | if (MSVC) 40 | set(wxBUILD_MSVC_MULTIPROC ON CACHE BOOL "skip") 41 | endif() 42 | set(wxBUILD_SAMPLES SOME CACHE STRING "skip") 43 | add_subdirectory(deps/wxWidgets EXCLUDE_FROM_ALL) 44 | 45 | add_compile_definitions($,_,N>DEBUG) 46 | if (MSVC) 47 | add_compile_options(/W4) 48 | endif() 49 | 50 | add_subdirectory(GM) 51 | add_subdirectory(GP) 52 | # help compiler only available from MSVC 53 | if (MSVC) 54 | add_subdirectory(GHelp) 55 | endif() 56 | -------------------------------------------------------------------------------- /GShr/Arclib.cpp: -------------------------------------------------------------------------------- 1 | // Arclib.cpp 2 | // 3 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #include "stdafx.h" 26 | #include "GMisc.h" 27 | 28 | #ifdef _DEBUG 29 | #define new DEBUG_NEW 30 | #endif 31 | 32 | void ReadArchivePoints(CArchive& ar, POINT* pPnts, size_t nPnts) 33 | { 34 | while (nPnts--) 35 | { 36 | short sTmp; 37 | ar >> sTmp; pPnts->x = sTmp; 38 | ar >> sTmp; pPnts->y = sTmp; 39 | pPnts++; 40 | } 41 | } 42 | 43 | void WriteArchivePoints(CArchive& ar, const POINT* pPnts, size_t nPnts) 44 | { 45 | while (nPnts--) 46 | { 47 | ar << (short)pPnts->x; 48 | ar << (short)pPnts->y; 49 | pPnts++; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /GHelp/gm-adv-how-to.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Designer Program How To's 5 | 6 | 7 | 8 | 9 |

Designer Program How To's

10 | 11 |

The following are various tips and tricks that don't warrant 12 | a topic on their own.

13 | 14 |

How to display a different board bitmap at each board viewing scale.

15 | 16 | Use the Tools/Set Scale Visibility 17 | feature to do this. The procedure in more detail: 18 | 19 |
    20 |
  1. Create the full scale map and use the CyberBoard palette to create a 21 | compatible image. Paste this into the playing board.
  2. 22 |
  3. Open the Set Scale Visibility dialog and clear all scale 23 | check marks except full-scale. You will now only see this bitmap 24 | when the board is viewed at full-scale.
  4. 25 |
  5. Open the board properties dialog and make note of the pixel dimensions 26 | of the half and small scale boards. These are the target sizes you should 27 | use when creating your reduced scale maps.
  6. 28 |
  7. Set the board scale to half-scale and paste the half-scale bitmap into the 29 | playing board. Note: it will initially seem too small.
  8. 30 |
  9. Open the Set Scale Visibility dialog and check the 31 | "Above scale is natural scale" and "Half Scale" check boxes.
  10. 32 |
  11. Set the board scale to small-scale and paste the small-scale bitmap into the 33 | playing board. Note: it will initially seem too small.
  12. 34 |
  13. Open the Set Scale Visibility dialog and check the 35 | "Above scale is natural scale" and "Small Scale" check boxes.
  14. 36 |
37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /GM/DlgMgrpn.cpp: -------------------------------------------------------------------------------- 1 | // dlgmgrpn.cpp : implementation file 2 | // 3 | // Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #include "stdafx.h" 26 | #include "Gm.h" 27 | #include "DlgMgrpn.h" 28 | #include "LibMfc.h" 29 | 30 | #ifdef _DEBUG 31 | #undef THIS_FILE 32 | static char THIS_FILE[] = __FILE__; 33 | #endif 34 | 35 | ///////////////////////////////////////////////////////////////////////////// 36 | // CMarkGroupNewDialog dialog 37 | 38 | CMarkGroupNewDialog::CMarkGroupNewDialog(wxWindow* parent /*= &CB::GetMainWndWx()*/) : 39 | CB_XRC_BEGIN_CTRLS_DEFN(parent, CMarkGroupNewDialog) 40 | CB_XRC_CTRL_VAL(m_editName, m_strName, wxFILTER_EMPTY, 32) 41 | CB_XRC_END_CTRLS_DEFN() 42 | { 43 | } 44 | 45 | -------------------------------------------------------------------------------- /GM/DlgPcep.cpp: -------------------------------------------------------------------------------- 1 | // DlgPcep.cpp : implementation file 2 | // 3 | // Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #include "stdafx.h" 26 | #include "Gm.h" 27 | #include "DlgPcep.h" 28 | #include "LibMfc.h" 29 | 30 | #ifdef _DEBUG 31 | #undef THIS_FILE 32 | static char THIS_FILE[] = __FILE__; 33 | #endif 34 | 35 | ///////////////////////////////////////////////////////////////////////////// 36 | // CPiecePropDialog dialog 37 | 38 | CPiecePropDialog::CPiecePropDialog(wxWindow* parent /*= &CB::GetMainWndWx()*/) : 39 | CB_XRC_BEGIN_CTRLS_DEFN(parent, CPiecePropDialog) 40 | CB_XRC_CTRL_VAL(m_editName, m_strName, wxFILTER_EMPTY, 32) 41 | CB_XRC_END_CTRLS_DEFN() 42 | { 43 | m_strName = ""; 44 | } 45 | -------------------------------------------------------------------------------- /GM/DlgPgrpn.cpp: -------------------------------------------------------------------------------- 1 | // DlgPgrpn.cpp : implementation file 2 | // 3 | // Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #include "stdafx.h" 26 | #include "Gm.h" 27 | #include "DlgPgrpn.h" 28 | #include "LibMfc.h" 29 | 30 | #ifdef _DEBUG 31 | #undef THIS_FILE 32 | static char THIS_FILE[] = __FILE__; 33 | #endif 34 | 35 | ///////////////////////////////////////////////////////////////////////////// 36 | // CPieceGroupNameDialog dialog 37 | 38 | 39 | CPieceGroupNameDialog::CPieceGroupNameDialog(wxWindow* parent /*= &CB::GetMainWndWx()*/) : 40 | CB_XRC_BEGIN_CTRLS_DEFN(parent, CPieceGroupNameDialog) 41 | CB_XRC_CTRL_VAL(m_editName, m_strName, wxFILTER_EMPTY, 32) 42 | CB_XRC_END_CTRLS_DEFN() 43 | { 44 | m_strName = ""; 45 | } 46 | -------------------------------------------------------------------------------- /GP/DlgNPly.h: -------------------------------------------------------------------------------- 1 | // DlgNPly.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _DLGNPLY_H_ 26 | #define _DLGNPLY_H_ 27 | 28 | #if _MSC_VER > 1000 29 | #pragma once 30 | #endif // _MSC_VER > 1000 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // CCreatePlayersDialog dialog 34 | 35 | class CCreatePlayersDialog : public wxDialog 36 | { 37 | // Construction 38 | public: 39 | CCreatePlayersDialog(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor 40 | 41 | // Dialog Data 42 | size_t m_nPlayerCount; 43 | private: 44 | CB_XRC_BEGIN_CTRLS_DECL() 45 | RefPtr m_editPlayerCount; 46 | CB_XRC_END_CTRLS_DECL() 47 | }; 48 | 49 | #endif 50 | 51 | -------------------------------------------------------------------------------- /GM/FrmDockTile.h: -------------------------------------------------------------------------------- 1 | // FrmDockTile.h - container window for the tile palette. 2 | // 3 | // Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _FRMDOCKTILE_H 26 | #define _FRMDOCKTILE_H 27 | 28 | #pragma once 29 | 30 | class CTilePalette; 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // CDockTilePalette window 34 | 35 | class CDockTilePalette : public wxPanel 36 | { 37 | // Construction 38 | public: 39 | CDockTilePalette(); 40 | 41 | // Attributes 42 | private: 43 | CTilePalette* m_pChildWnd; 44 | // Operations 45 | public: 46 | void SetChild(CTilePalette* pChildWnd); 47 | 48 | // Implementation 49 | public: 50 | virtual ~CDockTilePalette(); 51 | 52 | protected: 53 | wxSize DoGetBestClientSize() const override; 54 | }; 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /GHelp/gp-ref-menu-actions.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Actions Menu 5 | 6 | 7 | 8 | 9 |

Actions Menu (Game Mode Only)

10 | 11 |

Auto Stack

12 | 13 |

Auto Deck Stack

14 | 15 |

Shuffle Objects

16 | 17 |

Move to Front

18 | 19 |

Move to Back

20 | 21 |

Turn Piece Over

22 | 23 |

Rotate Piece - Incremental

24 | 25 |

Rotate Object - Absolute

26 | 27 |

Take Ownership

28 | 29 |

Release Ownership

30 | 31 |

Set Ownership

32 | 33 |

Lock Objects

34 | 35 |

Suspend Object Locks

36 | 37 |

Begin Compound Move

38 | 39 |

Accept Compound Move

40 | 41 |

Discard Compound Move

42 | 43 |

Begin Plotted Move

44 | 45 |

Accept Plotted Move

46 | 47 |

Discard Plotted Move

48 | 49 |

Roll Dice

50 | 51 |

Enter Message

52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /GP/DlgYnew.h: -------------------------------------------------------------------------------- 1 | // DlgYnew.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | 27 | class CTrayManager; 28 | 29 | ///////////////////////////////////////////////////////////////////////////// 30 | // CTrayNewDialog dialog 31 | 32 | class CTrayNewDialog : public wxDialog 33 | { 34 | // Construction 35 | public: 36 | CTrayNewDialog(CTrayManager& yMgr, wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor 37 | 38 | wxString m_strName; 39 | private: 40 | CB_XRC_BEGIN_CTRLS_DECL() 41 | RefPtr m_editName; 42 | CB_XRC_END_CTRLS_DECL() 43 | 44 | const CTrayManager& m_pYMgr; 45 | 46 | // Implementation 47 | protected: 48 | bool TransferDataFromWindow() override; 49 | }; 50 | 51 | -------------------------------------------------------------------------------- /GM/DlgPaste.h: -------------------------------------------------------------------------------- 1 | // DlgPaste.h : header file 2 | // 3 | // Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CPasteBitmapDialog dialog 27 | 28 | class CPasteBitmapDialog : public wxDialog 29 | { 30 | // Construction 31 | public: 32 | CPasteBitmapDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 33 | 34 | // Dialog Data 35 | int m_nPasteAction; 36 | 37 | private: 38 | CB_XRC_BEGIN_CTRLS_DECL() 39 | RefPtr m_radioPasteAction; 40 | CB_XRC_END_CTRLS_DECL() 41 | 42 | public: 43 | // Implementation 44 | protected: 45 | 46 | #if 0 47 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 48 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 49 | #endif 50 | wxDECLARE_EVENT_TABLE(); 51 | }; 52 | -------------------------------------------------------------------------------- /GP/DlgMarkCount.h: -------------------------------------------------------------------------------- 1 | // DlgMarkCount.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _DLGMARKCOUNT_H_ 26 | #define _DLGMARKCOUNT_H_ 27 | 28 | #if _MSC_VER > 1000 29 | #pragma once 30 | #endif // _MSC_VER > 1000 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // CMarkerCountDialog dialog 34 | 35 | class CMarkerCountDialog : public wxDialog 36 | { 37 | // Construction 38 | public: 39 | CMarkerCountDialog(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor 40 | 41 | // Dialog Data 42 | int m_nMarkerCount; 43 | private: 44 | CB_XRC_BEGIN_CTRLS_DECL() 45 | RefPtr m_editMarkerCount; 46 | CB_XRC_END_CTRLS_DECL() 47 | 48 | // Overrides 49 | 50 | // Implementation 51 | protected: 52 | 53 | }; 54 | 55 | #endif 56 | 57 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Check Cyberboard Commit 2 | 3 | # Controls when the action will run. Triggers the workflow on push or pull request 4 | # events but only for the master branch 5 | on: 6 | push: 7 | branches: [ master ] 8 | pull_request: 9 | branches: [ master ] 10 | # This allows this workflow to be manually run from the repository's GitHub Actions feature 11 | workflow_dispatch: 12 | 13 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 14 | jobs: 15 | build: 16 | # The type of runner that the job will run on 17 | runs-on: windows-2022 18 | name: build ${{ matrix.arch }}-${{ matrix.config }} 19 | strategy: 20 | matrix: 21 | arch: [ x64, x86 ] 22 | config: [ Debug, Release ] 23 | include: 24 | - arch: x64 25 | arch_vsdev: amd64 26 | - arch: x86 27 | arch_vsdev: x86 28 | - config: Debug 29 | cmake_build_type: Debug 30 | - config: Release 31 | cmake_build_type: RelWithDebInfo 32 | 33 | # Steps represent a sequence of tasks that will be executed as part of the job 34 | steps: 35 | 36 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it 37 | - uses: actions/checkout@v4 38 | with: 39 | submodules: 'recursive' 40 | 41 | # copied from wxWidgets/.../ci_cmake.yml 42 | # required for CMake to find Ninja 43 | - name: "[Windows] Set up MSVC Developer Command Prompt" 44 | if: runner.os == 'Windows' 45 | uses: wxWidgets/gha-setup-vsdevenv@wx 46 | with: 47 | arch: ${{ matrix.arch_vsdev }} 48 | 49 | - name: CMake Configure and Build ${{ matrix.arch }}-${{ matrix.config }} 50 | run: | 51 | mkdir out\build\${{ matrix.arch }}-${{ matrix.config }} 52 | cmake -G Ninja -B out\build\${{ matrix.arch }}-${{ matrix.config }} -DCMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }} 53 | cmake --build out\build\${{ matrix.arch }}-${{ matrix.config }} 54 | -------------------------------------------------------------------------------- /GP/DlgMdesc.h: -------------------------------------------------------------------------------- 1 | // DlgMdesc.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CMovDescDialog dialog 27 | 28 | class CMovDescDialog : public wxDialog 29 | { 30 | // Construction 31 | public: 32 | CMovDescDialog(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor 33 | 34 | // Dialog Data 35 | wxString m_strDesc; 36 | wxString m_strTitle; 37 | private: 38 | CB_XRC_BEGIN_CTRLS_DECL() 39 | RefPtr m_editDesc; 40 | RefPtr m_editTitle; 41 | CB_XRC_END_CTRLS_DECL() 42 | 43 | // Implementation 44 | protected: 45 | #if 0 46 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 47 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 48 | #endif 49 | wxDECLARE_EVENT_TABLE(); 50 | }; 51 | -------------------------------------------------------------------------------- /GP/DlgState.h: -------------------------------------------------------------------------------- 1 | // DlgState.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CSelectStateDialog dialog 27 | 28 | class CSelectStateDialog : public wxDialog 29 | { 30 | // Construction 31 | public: 32 | CSelectStateDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 33 | 34 | // Dialog Data 35 | int m_nState; 36 | private: 37 | CB_XRC_BEGIN_CTRLS_DECL() 38 | RefPtr m_radioMove; 39 | CB_XRC_END_CTRLS_DECL() 40 | public: 41 | 42 | // Implementation 43 | protected: 44 | 45 | // Generated message map functions 46 | #if 0 47 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 48 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 49 | #endif 50 | wxDECLARE_EVENT_TABLE(); 51 | }; 52 | -------------------------------------------------------------------------------- /GM/DlgTsetp.h: -------------------------------------------------------------------------------- 1 | // DlgTsetp.h - Tile properties dialog 2 | // 3 | // Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CTSetPropDialog dialog 27 | 28 | class CTSetPropDialog : public wxDialog 29 | { 30 | // Construction 31 | public: 32 | CTSetPropDialog(wxWindow* parent = &CB::GetMainWndWx()); 33 | 34 | // Dialog Data 35 | wxString m_strName; 36 | 37 | wxColour m_crTrans; 38 | private: 39 | CB_XRC_BEGIN_CTRLS_DECL() 40 | RefPtr m_cpTrans; 41 | RefPtr m_editName; 42 | CB_XRC_END_CTRLS_DECL() 43 | 44 | // Implementation 45 | protected: 46 | #if 0 47 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 48 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 49 | #endif 50 | wxDECLARE_EVENT_TABLE(); 51 | }; 52 | 53 | -------------------------------------------------------------------------------- /GM/DlgBmask.h: -------------------------------------------------------------------------------- 1 | // DlgBmask.h : header file 2 | // 3 | // Copyright (c) 1994-2023 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CBoardMaskDialog dialog 27 | 28 | class CBoardManager; 29 | 30 | class CBoardMaskDialog : public wxDialog 31 | { 32 | // Construction 33 | public: 34 | CBoardMaskDialog(CBoardManager& bmgr, wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 35 | 36 | // Dialog Data 37 | int m_nBrdNum = 0; 38 | 39 | // Implementation 40 | private: 41 | #if 0 42 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 43 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 44 | #endif 45 | wxDECLARE_EVENT_TABLE(); 46 | 47 | RefPtr m_pBMgr; 48 | CB_XRC_BEGIN_CTRLS_DECL() 49 | RefPtr m_lboxBoard; 50 | CB_XRC_END_CTRLS_DECL() 51 | }; 52 | 53 | -------------------------------------------------------------------------------- /GM/DlgMakts.cpp: -------------------------------------------------------------------------------- 1 | // DlbMakts.cpp 2 | // 3 | // Copyright (c) 1994-2023 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #include "stdafx.h" 26 | #include "Gm.h" 27 | #include "DlgMakts.h" 28 | #include "LibMfc.h" 29 | 30 | #ifdef _DEBUG 31 | #undef THIS_FILE 32 | static char THIS_FILE[] = __FILE__; 33 | #endif 34 | 35 | ///////////////////////////////////////////////////////////////////////////// 36 | // CCreateTSet dialog 37 | 38 | CCreateTSet::CCreateTSet(wxWindow* parent /*= &CB::GetMainWndWx()*/) : 39 | CB_XRC_BEGIN_CTRLS_DEFN(parent, CCreateTSet) 40 | CB_XRC_CTRL_VAL(m_editTSName, m_strTSName, wxFILTER_EMPTY, 32) 41 | CB_XRC_END_CTRLS_DEFN() 42 | { 43 | m_strTSName = ""; 44 | } 45 | 46 | wxBEGIN_EVENT_TABLE(CCreateTSet, wxDialog) 47 | wxEND_EVENT_TABLE() 48 | 49 | ///////////////////////////////////////////////////////////////////////////// 50 | // CCreateTSet message handlers 51 | -------------------------------------------------------------------------------- /GP/WinMyspl.h: -------------------------------------------------------------------------------- 1 | // WinMyspl.h 2 | // 3 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _WINMYSPL_H 26 | #define _WINMYSPL_H 27 | 28 | #ifndef __WINDYNSPL_H__ 29 | #include "WinDynspl.h" 30 | #endif 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | 34 | class CMySplitWnd : public CCbSplitterWnd 35 | { 36 | DECLARE_DYNAMIC(CMySplitWnd) 37 | public: 38 | CMySplitWnd() { m_lastClient.SetRectEmpty(); } 39 | 40 | CRect m_lastClient; 41 | 42 | virtual void RecalcLayout(); // call after changing sizes 43 | 44 | virtual void TrackRowSize(int y, int row); 45 | virtual void TrackColumnSize(int x, int col); 46 | 47 | // Implementation 48 | protected: 49 | // Generated message map functions 50 | //{{AFX_MSG(CMySplitWnd) 51 | //}}AFX_MSG 52 | DECLARE_MESSAGE_MAP() 53 | }; 54 | 55 | #endif 56 | 57 | -------------------------------------------------------------------------------- /GP/DlgPass.h: -------------------------------------------------------------------------------- 1 | // DlgPass.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _DLGPASS_H_ 26 | #define _DLGPASS_H_ 27 | 28 | #if _MSC_VER > 1000 29 | #pragma once 30 | #endif // _MSC_VER > 1000 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // CPasswordDialog dialog 34 | 35 | class CPasswordDialog : public wxDialog 36 | { 37 | // Construction 38 | public: 39 | CPasswordDialog(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor 40 | 41 | // Dialog Data 42 | CB::string m_strPassword; 43 | private: 44 | wxString tempPassword; 45 | CB_XRC_BEGIN_CTRLS_DECL() 46 | RefPtr m_editPassword; 47 | CB_XRC_END_CTRLS_DECL() 48 | 49 | // Overrides 50 | public: 51 | bool TransferDataToWindow() override; 52 | bool TransferDataFromWindow() override; 53 | }; 54 | 55 | #endif 56 | 57 | -------------------------------------------------------------------------------- /GP/DlgScnp.h: -------------------------------------------------------------------------------- 1 | // DlgScnp.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CScnPropDialog dialog 27 | 28 | class CScnPropDialog : public wxDialog 29 | { 30 | // Construction 31 | public: 32 | CScnPropDialog(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor 33 | 34 | // Dialog Data 35 | wxString m_strAuthor; 36 | wxString m_strTitle; 37 | wxString m_strDescr; 38 | private: 39 | CB_XRC_BEGIN_CTRLS_DECL() 40 | RefPtr m_editAuthor; 41 | RefPtr m_editTitle; 42 | RefPtr m_editDescr; 43 | CB_XRC_END_CTRLS_DECL() 44 | 45 | // Implementation 46 | protected: 47 | #if 0 48 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 49 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 50 | #endif 51 | wxDECLARE_EVENT_TABLE(); 52 | }; 53 | -------------------------------------------------------------------------------- /GHelp/gm-ref-menu-project.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Project Menu 5 | 6 | 7 | 8 | 9 |

Project Menu

10 | 11 |

Create Playing Board

12 | 13 |

This dialog is used to create a new playing board.

14 | 15 | 16 |

Create Tile Image Group

17 | 18 |

This dialog is used to create a new tile image group. Tile image groups are helpful 19 | for organizing tile images within a GameBox.

20 | 21 | 22 |

Create Playing Piece Group

23 | 24 |

This dialog is used to create a new playing piece group. 25 | Playing piece groups are helpful for organizing pieces within a GameBox. 26 | Note that playing piece groups and trays (in the CyberBoard player 27 | program) are two totally different things.

28 | 29 | 30 |

Create Marker Group

31 | 32 |

This dialog is used to create a new marker group. Markers are 33 | graphical objects that can be created in unlimited quantities in the CyberBoard 34 | player program.

35 | 36 | 37 |

GameBox Properties

38 | 39 |

This dialog is used to change properties that apply to the entire GameBox file. 40 | Those properties include: name, author, description, compression, and password.

41 | 42 | 43 |

Change GameBox Fingerprint

44 | 45 |

All GameBox files have a unique internal identifier associated with them called its 46 | fingerprint. This fingerprint is used to bind games and scenarios with the 47 | proper GameBox file. If you wish to use a GameBox file as the basis for a totally new 48 | GameBox you should use this command to assign it a new fingerprint.

49 | 50 | 51 |

Save Tile Library File

52 | 53 |

Saves the currently selected tiles in a special tile library file. The file 54 | can be used to transfer tile images to other GameBox files.

55 | 56 | 57 |

Load Tile Library File

58 | 59 |

Loads the contents of a tile library file into the currently selected tile group.

60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /GP/FrmProj.h: -------------------------------------------------------------------------------- 1 | // FrmProg.h 2 | // 3 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _FRMPROJ_H 26 | #define _FRMPROJ_H 27 | 28 | ///////////////////////////////////////////////////////////////////////////// 29 | // CProjFrame frame 30 | 31 | class CProjFrame : public CMDIChildWndEx 32 | { 33 | DECLARE_DYNCREATE(CProjFrame) 34 | protected: 35 | CProjFrame(); // protected constructor used by dynamic creation 36 | BOOL PreCreateWindow(CREATESTRUCT& cs); 37 | 38 | // Attributes 39 | public: 40 | 41 | // Operations 42 | public: 43 | 44 | // Implementation 45 | protected: 46 | virtual ~CProjFrame(); 47 | 48 | virtual void OnUpdateFrameTitle(BOOL bAddToTitle); 49 | 50 | // Generated message map functions 51 | //{{AFX_MSG(CProjFrame) 52 | afx_msg void OnSysCommand(UINT nID, LPARAM lParam); 53 | //}}AFX_MSG 54 | DECLARE_MESSAGE_MAP() 55 | public: 56 | afx_msg void OnClose(); 57 | }; 58 | 59 | #endif 60 | 61 | -------------------------------------------------------------------------------- /GHelp/gp-adv-object-text.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | How Piece/Marker Text Works 5 | 6 | 7 | 8 | 9 |

How Piece/Marker Text Works

10 |

11 | Pieces and markers can have multi-line text associated with them. 12 | To see the text you allow the mouse pointer to hover over the unit 13 | for a moment. If the balloon tips annoy you, they can be 14 | turned off using the View/Show Object Text Tips 15 | menu command.

16 |

17 | Two sided playing pieces store a different text item for each side of the 18 | piece.

19 |

20 | When pieces or markers that have text are visible in lists 21 | (i.e., the select list or in a tray), an asterisk character is 22 | displayed to the left of the list item.

23 |

24 | To set text for a piece or marker on a board or in a tray first 25 | select just a single object. You can't set or edit text for more 26 | than one object at a time. Right click on the item and choose the 27 | Edit Object Text command. 28 | In many cases simply double clicking 29 | on the object will also display the dialog.

30 |

31 | If a piece is double sided you can set the text for both sides at once. 32 | Just check the "Set text on both sides of pieces" check box. Otherwise 33 | you will only be setting the text for the current topmost face of the piece.

34 |

35 | Markers have a special option available to them that cause a text 36 | entry dialog to pop-up when the marker is created. This could be 37 | used for easy entry of post-it style notes on a game board. This 38 | option is set in the create marker dialog.

39 |

40 | Another good trick is to create transparent markers that are used 41 | to annotate areas of the map. Set the text prompt option so you 42 | can enter the text before losing track of the marker. You can 43 | also lock the marker so it can't be selected to create permanent 44 | annotated hot zones.

45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /GP/DlgNPly.cpp: -------------------------------------------------------------------------------- 1 | // DlgNPly.cpp 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #include "stdafx.h" 26 | #include "Gp.h" 27 | #include "DlGNply.h" 28 | 29 | #ifdef _DEBUG 30 | #define new DEBUG_NEW 31 | #undef THIS_FILE 32 | static char THIS_FILE[] = __FILE__; 33 | #endif 34 | 35 | ///////////////////////////////////////////////////////////////////////////// 36 | // CCreatePlayersDialog dialog 37 | 38 | CCreatePlayersDialog::CCreatePlayersDialog(wxWindow* pParent /*= &CB::GetMainWndWx()*/) : 39 | CB_XRC_BEGIN_CTRLS_DEFN(pParent, CCreatePlayersDialog) 40 | CB_XRC_CTRL_VAL(m_editPlayerCount, m_nPlayerCount, size_t(0), size_t(26)) 41 | CB_XRC_END_CTRLS_DEFN() 42 | { 43 | m_nPlayerCount = size_t(0); 44 | 45 | // KLUDGE: don't see a way to use GetSizeFromText() in .xrc 46 | wxSize editSize = m_editPlayerCount->GetSizeFromText("99"); 47 | m_editPlayerCount->SetInitialSize(editSize); 48 | SetMinSize(wxDefaultSize); 49 | Fit(); 50 | Centre(); 51 | } 52 | -------------------------------------------------------------------------------- /GM/DlgGPass.h: -------------------------------------------------------------------------------- 1 | // DlgGPass.h : header file 2 | // 3 | // Copyright (c) 1994-2023 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _DLGGPASS_H_ 26 | #define _DLGGPASS_H_ 27 | 28 | #if _MSC_VER > 1000 29 | #pragma once 30 | #endif // _MSC_VER > 1000 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // DlgGPass dialog 34 | 35 | class CDlgGetGameboxPassword : public wxDialog 36 | { 37 | // Construction 38 | public: 39 | CDlgGetGameboxPassword(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 40 | 41 | // Dialog Data 42 | wxString m_strPassword; 43 | 44 | 45 | // Overrides 46 | protected: 47 | 48 | // Implementation 49 | protected: 50 | 51 | #if 0 52 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 53 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 54 | #endif 55 | wxDECLARE_EVENT_TABLE(); 56 | 57 | CB_XRC_BEGIN_CTRLS_DECL() 58 | RefPtr m_editPassword; 59 | CB_XRC_END_CTRLS_DECL() 60 | }; 61 | 62 | #endif 63 | -------------------------------------------------------------------------------- /GP/DlgTrunc.h: -------------------------------------------------------------------------------- 1 | // DlgTrunc.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _DLGTRUNC_H_ 26 | #define _DLGTRUNC_H_ 27 | 28 | #if _MSC_VER >= 1000 29 | #pragma once 30 | #endif // _MSC_VER >= 1000 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // CTruncatePlaybackDlg dialog 34 | 35 | class CTruncatePlaybackDlg : public wxDialog 36 | { 37 | // Construction 38 | public: 39 | CTruncatePlaybackDlg(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor 40 | 41 | // Dialog Data 42 | int m_nTruncateSel; 43 | private: 44 | CB_XRC_BEGIN_CTRLS_DECL() 45 | RefPtr m_radioTruncateSel; 46 | CB_XRC_END_CTRLS_DECL() 47 | 48 | 49 | // Overrides 50 | 51 | // Implementation 52 | protected: 53 | 54 | #if 0 55 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 56 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 57 | #endif 58 | wxDECLARE_EVENT_TABLE(); 59 | }; 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /GP/FrmDockMark.h: -------------------------------------------------------------------------------- 1 | // FrmDockMark.h - container window for the marker palette. 2 | // 3 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _FRMDOCKMARK_H 26 | #define _FRMDOCKMARK_H 27 | 28 | ///////////////////////////////////////////////////////////////////////////// 29 | // CDockMarkPalette window 30 | class CMarkerPalette; 31 | 32 | class CDockMarkPalette : public CDockablePane 33 | { 34 | DECLARE_DYNAMIC(CDockMarkPalette); 35 | // Construction 36 | public: 37 | CDockMarkPalette(); 38 | 39 | // Attributes 40 | public: 41 | CMarkerPalette* m_pChildWnd; 42 | 43 | // Operations 44 | public: 45 | void SetChild(CMarkerPalette* pChildWnd); 46 | 47 | // Implementation 48 | public: 49 | virtual ~CDockMarkPalette(); 50 | 51 | // Generated message map functions 52 | protected: 53 | afx_msg void OnDestroy(); 54 | afx_msg void OnSize(UINT nType, int cx, int cy); 55 | DECLARE_MESSAGE_MAP() 56 | }; 57 | 58 | ///////////////////////////////////////////////////////////////////////////// 59 | 60 | #endif -------------------------------------------------------------------------------- /GP/DlgMarkCount.cpp: -------------------------------------------------------------------------------- 1 | // DlgMarkCount.cpp : implementation file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #include "stdafx.h" 26 | #include "Gp.h" 27 | #include "DlgMarkCount.h" 28 | 29 | #ifdef _DEBUG 30 | #define new DEBUG_NEW 31 | #undef THIS_FILE 32 | static char THIS_FILE[] = __FILE__; 33 | #endif 34 | 35 | ///////////////////////////////////////////////////////////////////////////// 36 | // CMarkerCountDialog dialog 37 | 38 | 39 | CMarkerCountDialog::CMarkerCountDialog(wxWindow* pParent /*= &CB::GetMainWndWx()*/) : 40 | CB_XRC_BEGIN_CTRLS_DEFN(pParent, CMarkerCountDialog) 41 | CB_XRC_CTRL_VAL(m_editMarkerCount, m_nMarkerCount, 2, 25) 42 | CB_XRC_END_CTRLS_DEFN() 43 | { 44 | // KLUDGE: don't see a way to use GetSizeFromText() in .xrc 45 | wxSize editSize = m_editMarkerCount->GetSizeFromText("99"); 46 | m_editMarkerCount->SetInitialSize(editSize); 47 | SetMinSize(wxDefaultSize); 48 | Layout(); 49 | Fit(); 50 | Centre(); 51 | 52 | m_nMarkerCount = 0; 53 | } 54 | -------------------------------------------------------------------------------- /GP/Editnocv.h: -------------------------------------------------------------------------------- 1 | // Editnocv.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef __EDITNOCV_H__ 26 | #define __EDITNOCV_H__ 27 | 28 | #if _MSC_VER >= 1000 29 | #pragma once 30 | #endif // _MSC_VER >= 1000 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // CEditNoChevron window 34 | 35 | class CEditNoChevron : public wxTextCtrl 36 | { 37 | // Construction 38 | public: 39 | using wxTextCtrl::wxTextCtrl; 40 | 41 | // Attributes 42 | public: 43 | 44 | // Operations 45 | public: 46 | 47 | // Overrides 48 | 49 | // Implementation 50 | public: 51 | 52 | // Generated message map functions 53 | protected: 54 | void OnChar(wxKeyEvent& event); 55 | void OnPasteMessage(wxClipboardTextEvent& event); 56 | 57 | wxDECLARE_EVENT_TABLE(); 58 | wxDECLARE_NO_COPY_CLASS(CEditNoChevron); 59 | wxDECLARE_DYNAMIC_CLASS(CEditNoChevron); 60 | }; 61 | 62 | ///////////////////////////////////////////////////////////////////////////// 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /GM/DlgMrkp.h: -------------------------------------------------------------------------------- 1 | // DlgMrkp.h : header file 2 | // 3 | // Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #include "LibMfc.h" 26 | #include "Marks.h" 27 | 28 | ///////////////////////////////////////////////////////////////////////////// 29 | // CMarkerPropDialog dialog 30 | 31 | class CMarkerPropDialog : public wxDialog 32 | { 33 | // Construction 34 | public: 35 | CMarkerPropDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 36 | 37 | // Dialog Data 38 | wxString m_strName; 39 | MarkerTrayViz m_nMarkerViz; 40 | private: 41 | int m_nMarkerVizHelper; 42 | CB_XRC_BEGIN_CTRLS_DECL() 43 | RefPtr m_editName; 44 | RefPtr m_radioMarkerViz; 45 | CB_XRC_END_CTRLS_DECL() 46 | public: 47 | 48 | // Implementation 49 | protected: 50 | bool TransferDataToWindow() override; 51 | bool TransferDataFromWindow() override; 52 | 53 | #if 0 54 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 55 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 56 | #endif 57 | wxDECLARE_EVENT_TABLE(); 58 | }; 59 | -------------------------------------------------------------------------------- /GM/DlgSPass.h: -------------------------------------------------------------------------------- 1 | // DlgSPass.h : header file 2 | // 3 | // Copyright (c) 1994-2023 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _DLGSPASS_H_ 26 | #define _DLGSPASS_H_ 27 | 28 | #if _MSC_VER > 1000 29 | #pragma once 30 | #endif // _MSC_VER > 1000 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // CSetGameboxPassword dialog 34 | 35 | class CSetGameboxPassword : public wxDialog 36 | { 37 | // Construction 38 | public: 39 | CSetGameboxPassword(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 40 | 41 | // Dialog Data 42 | wxString m_strPass1; 43 | wxString m_strPass2; 44 | 45 | 46 | // Overrides 47 | protected: 48 | bool TransferDataFromWindow() override; 49 | 50 | // Implementation 51 | private: 52 | 53 | // Generated message map functions 54 | #if 0 55 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 56 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 57 | #endif 58 | wxDECLARE_EVENT_TABLE(); 59 | 60 | CB_XRC_BEGIN_CTRLS_DECL() 61 | RefPtr m_editPass2; 62 | RefPtr m_editPass1; 63 | CB_XRC_END_CTRLS_DECL() 64 | }; 65 | 66 | #endif 67 | -------------------------------------------------------------------------------- /CyberBoard.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 12.00 2 | # Visual Studio Version 17 3 | VisualStudioVersion = 17.4.33213.308 4 | MinimumVisualStudioVersion = 10.0.40219.1 5 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CBDesign", "GM\CBDsgn32.vcxproj", "{107CA415-78FA-4517-B192-D207313CD48E}" 6 | EndProject 7 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CBPlay", "GP\Cbplay32.vcxproj", "{2A0A2247-0569-4973-8E0D-8A3DF0B66A43}" 8 | EndProject 9 | Global 10 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 11 | DebugU|Win32 = DebugU|Win32 12 | DebugU|x64 = DebugU|x64 13 | ReleaseU|Win32 = ReleaseU|Win32 14 | ReleaseU|x64 = ReleaseU|x64 15 | EndGlobalSection 16 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 17 | {107CA415-78FA-4517-B192-D207313CD48E}.DebugU|Win32.ActiveCfg = DebugU|Win32 18 | {107CA415-78FA-4517-B192-D207313CD48E}.DebugU|Win32.Build.0 = DebugU|Win32 19 | {107CA415-78FA-4517-B192-D207313CD48E}.DebugU|x64.ActiveCfg = DebugU|x64 20 | {107CA415-78FA-4517-B192-D207313CD48E}.DebugU|x64.Build.0 = DebugU|x64 21 | {107CA415-78FA-4517-B192-D207313CD48E}.ReleaseU|Win32.ActiveCfg = ReleaseU|Win32 22 | {107CA415-78FA-4517-B192-D207313CD48E}.ReleaseU|Win32.Build.0 = ReleaseU|Win32 23 | {107CA415-78FA-4517-B192-D207313CD48E}.ReleaseU|x64.ActiveCfg = ReleaseU|x64 24 | {107CA415-78FA-4517-B192-D207313CD48E}.ReleaseU|x64.Build.0 = ReleaseU|x64 25 | {2A0A2247-0569-4973-8E0D-8A3DF0B66A43}.DebugU|Win32.ActiveCfg = DebugU|Win32 26 | {2A0A2247-0569-4973-8E0D-8A3DF0B66A43}.DebugU|Win32.Build.0 = DebugU|Win32 27 | {2A0A2247-0569-4973-8E0D-8A3DF0B66A43}.DebugU|x64.ActiveCfg = DebugU|x64 28 | {2A0A2247-0569-4973-8E0D-8A3DF0B66A43}.DebugU|x64.Build.0 = DebugU|x64 29 | {2A0A2247-0569-4973-8E0D-8A3DF0B66A43}.ReleaseU|Win32.ActiveCfg = ReleaseU|Win32 30 | {2A0A2247-0569-4973-8E0D-8A3DF0B66A43}.ReleaseU|Win32.Build.0 = ReleaseU|Win32 31 | {2A0A2247-0569-4973-8E0D-8A3DF0B66A43}.ReleaseU|x64.ActiveCfg = ReleaseU|x64 32 | {2A0A2247-0569-4973-8E0D-8A3DF0B66A43}.ReleaseU|x64.Build.0 = ReleaseU|x64 33 | EndGlobalSection 34 | GlobalSection(SolutionProperties) = preSolution 35 | HideSolutionNode = FALSE 36 | EndGlobalSection 37 | GlobalSection(ExtensibilityGlobals) = postSolution 38 | SolutionGuid = {73745982-6D48-4833-A009-4136E65040C2} 39 | EndGlobalSection 40 | EndGlobal 41 | -------------------------------------------------------------------------------- /GP/FrmDockTray.h: -------------------------------------------------------------------------------- 1 | // FrmDockTray.h - container window for the tray palettes. 2 | // 3 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _FRMDOCKTRAY_H 26 | #define _FRMDOCKTRAY_H 27 | 28 | ///////////////////////////////////////////////////////////////////////////// 29 | // CDockTrayPalette window 30 | class CTrayPalette; 31 | 32 | class CDockTrayPalette : public CDockablePane 33 | { 34 | DECLARE_DYNAMIC(CDockTrayPalette); 35 | // Construction 36 | public: 37 | CDockTrayPalette(); 38 | 39 | // Attributes 40 | public: 41 | CTrayPalette* m_pChildWnd; 42 | 43 | // Operations 44 | public: 45 | void SetChild(CTrayPalette* pChildWnd); 46 | 47 | // Overrides 48 | // ClassWizard generated virtual function overrides 49 | //{{AFX_VIRTUAL(CDockTrayPalette) 50 | //}}AFX_VIRTUAL 51 | 52 | // Implementation 53 | public: 54 | virtual ~CDockTrayPalette(); 55 | 56 | // Generated message map functions 57 | protected: 58 | afx_msg void OnDestroy(); 59 | afx_msg void OnSize(UINT nType, int cx, int cy); 60 | DECLARE_MESSAGE_MAP() 61 | }; 62 | 63 | ///////////////////////////////////////////////////////////////////////////// 64 | 65 | #endif 66 | 67 | -------------------------------------------------------------------------------- /GP/DlgPass.cpp: -------------------------------------------------------------------------------- 1 | // DlgPass.cpp : implementation file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #include "stdafx.h" 26 | #include "Gp.h" 27 | #include "DlgPass.h" 28 | 29 | #ifdef _DEBUG 30 | #define new DEBUG_NEW 31 | #undef THIS_FILE 32 | static char THIS_FILE[] = __FILE__; 33 | #endif 34 | 35 | ///////////////////////////////////////////////////////////////////////////// 36 | // CPasswordDialog dialog 37 | 38 | 39 | CPasswordDialog::CPasswordDialog(wxWindow* pParent /*= &CB::GetMainWndWx()*/) : 40 | CB_XRC_BEGIN_CTRLS_DEFN(pParent, CPasswordDialog) 41 | CB_XRC_CTRL_VAL(m_editPassword, tempPassword) 42 | CB_XRC_END_CTRLS_DEFN() 43 | { 44 | m_strPassword = ""; 45 | } 46 | 47 | bool CPasswordDialog::TransferDataToWindow() 48 | { 49 | tempPassword = m_strPassword.wx_str(); 50 | 51 | if (!wxDialog::TransferDataToWindow()) 52 | { 53 | return false; 54 | } 55 | 56 | return TRUE; 57 | } 58 | 59 | bool CPasswordDialog::TransferDataFromWindow() 60 | { 61 | if (!wxDialog::TransferDataFromWindow()) 62 | { 63 | return false; 64 | } 65 | 66 | m_strPassword = tempPassword; 67 | 68 | return true; 69 | } 70 | -------------------------------------------------------------------------------- /GP/DlgRot.h: -------------------------------------------------------------------------------- 1 | // DlgRot.h : header file 2 | // 3 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CRotateDialog dialog 27 | #error dead code 28 | 29 | class CDib; 30 | 31 | class CRotateDialog : public CDialog 32 | { 33 | // Construction 34 | public: 35 | CRotateDialog(CWnd* pParent = NULL); // standard constructor 36 | virtual ~CRotateDialog(); 37 | 38 | // Dialog Data 39 | //{{AFX_DATA(CRotateDialog) 40 | enum { IDD = IDD_ROTATE }; 41 | CStatic m_ctlView; 42 | UINT m_nAngle; 43 | //}}AFX_DATA 44 | 45 | CBitmap* m_pBMap; // From caller 46 | COLORREF m_crTrans; 47 | 48 | // Generated 49 | CDib* m_pDib; //?? 50 | CBitmap* m_pRotBMap; //?? 51 | 52 | OwnerOrNullPtr m_bmapTbl[12]; //!!testing 53 | 54 | void DeleteBMaps(); 55 | 56 | // Implementation 57 | protected: 58 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 59 | 60 | // Generated message map functions 61 | //{{AFX_MSG(CRotateDialog) 62 | afx_msg void OnRotApply(); 63 | afx_msg void OnPaint(); 64 | //}}AFX_MSG 65 | DECLARE_MESSAGE_MAP() 66 | }; 67 | -------------------------------------------------------------------------------- /GM/DlgTexto.h: -------------------------------------------------------------------------------- 1 | // DlgTexto.h : header file 2 | // 3 | // Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CTextObjDialog dialog 27 | 28 | class CFontTbl; 29 | 30 | class CTextObjDialog : public wxDialog 31 | { 32 | // Construction 33 | public: 34 | CTextObjDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 35 | virtual ~CTextObjDialog(); 36 | 37 | // Dialog Data 38 | CFontTbl* m_pFontMgr; 39 | FontID m_fontID; // Current font. 40 | private: 41 | BOOL m_bNewFont; // m_bNewFont selected 42 | 43 | public: 44 | wxString m_strText; 45 | private: 46 | CB_XRC_BEGIN_CTRLS_DECL() 47 | RefPtr m_btnTxtPropFont; 48 | RefPtr m_editText; 49 | CB_XRC_END_CTRLS_DECL() 50 | 51 | public: 52 | 53 | void SetFontID(FontID fontID); 54 | 55 | // Implementation 56 | protected: 57 | // Generated message map functions 58 | void OnBtnTxtPropFont(wxCommandEvent& event); 59 | #if 0 60 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 61 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 62 | #endif 63 | wxDECLARE_EVENT_TABLE(); 64 | }; 65 | -------------------------------------------------------------------------------- /GP/DlgItray.h: -------------------------------------------------------------------------------- 1 | // DlgITray.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _DLGITRAY_H_ 26 | #define _DLGITRAY_H_ 27 | 28 | #if _MSC_VER > 1000 29 | #pragma once 30 | #endif // _MSC_VER > 1000 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // CImportTraysDlg dialog 34 | 35 | class CImportTraysDlg : public wxDialog 36 | { 37 | // Construction 38 | public: 39 | CImportTraysDlg(CGamDoc& doc, wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor 40 | 41 | // Dialog Data 42 | private: 43 | CB_XRC_BEGIN_CTRLS_DECL() 44 | RefPtr m_listGroups; 45 | CB_XRC_END_CTRLS_DECL() 46 | 47 | RefPtr m_pDoc; 48 | 49 | // Overrides 50 | public: 51 | bool TransferDataToWindow() override; 52 | bool TransferDataFromWindow() override; 53 | 54 | // Implementation 55 | protected: 56 | 57 | #if 0 58 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 59 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 60 | #endif 61 | wxDECLARE_EVENT_TABLE(); 62 | public: 63 | void OnBnClickedSelectAll(wxCommandEvent& event); 64 | void OnBnClickedClearAll(wxCommandEvent& event); 65 | }; 66 | 67 | #endif // _DLGITRAY_H_ 68 | -------------------------------------------------------------------------------- /GP/DlgEdtEl.h: -------------------------------------------------------------------------------- 1 | // DlgEdtEl.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _DLGEDTEL_H_ 26 | #define _DLGEDTEL_H_ 27 | 28 | #if _MSC_VER > 1000 29 | #pragma once 30 | #endif // _MSC_VER > 1000 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // CEditElementTextDialog dialog 34 | 35 | class CEditElementTextDialog : public wxDialog 36 | { 37 | // Construction 38 | public: 39 | CEditElementTextDialog(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor 40 | 41 | // Dialog Data 42 | CB::string m_strText; 43 | bool m_bSetAllSides; 44 | 45 | size_t m_nSides; 46 | private: 47 | wxString m_strTextTemp; 48 | CB_XRC_BEGIN_CTRLS_DECL() 49 | RefPtr m_chkAllSides; 50 | RefPtr m_editText; 51 | CB_XRC_END_CTRLS_DECL() 52 | public: 53 | 54 | // Overrides 55 | protected: 56 | bool TransferDataToWindow() override; 57 | bool TransferDataFromWindow() override; 58 | 59 | // Implementation 60 | protected: 61 | 62 | #if 0 63 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 64 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 65 | #endif 66 | wxDECLARE_EVENT_TABLE(); 67 | }; 68 | 69 | #endif 70 | -------------------------------------------------------------------------------- /GP/DlgSlbrd.h: -------------------------------------------------------------------------------- 1 | // DlgSlbrd.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | class CBoardManager; 26 | 27 | ///////////////////////////////////////////////////////////////////////////// 28 | // CSelectBoardsDialog dialog 29 | 30 | class CSelectBoardsDialog : public wxDialog 31 | { 32 | // Construction 33 | public: 34 | CSelectBoardsDialog(const CBoardManager& bm, wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor 35 | 36 | // Dialog Data 37 | CB_XRC_BEGIN_CTRLS_DECL() 38 | RefPtr m_listBoards; 39 | CB_XRC_END_CTRLS_DECL() 40 | 41 | std::vector m_tblBrds; // Table of board serial numbers 42 | const CBoardManager& m_pBMgr; // Pointer to gamebox board manager. 43 | 44 | // Implementation 45 | protected: 46 | int FindSerialNumberListIndex(BoardID nSerial) const; 47 | 48 | bool TransferDataToWindow() override; 49 | bool TransferDataFromWindow() override; 50 | #if 0 51 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 52 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 53 | #endif 54 | wxDECLARE_EVENT_TABLE(); 55 | void OnBtnClickedSelectAll(wxCommandEvent& event); 56 | void OnBtnClickedClearAll(wxCommandEvent& event); 57 | }; 58 | -------------------------------------------------------------------------------- /GP/DlgRmsg.h: -------------------------------------------------------------------------------- 1 | // DlgRmsg.h : header file 2 | // 3 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CReadMsgDialog dialog 27 | 28 | #error dead code 29 | class CReadMsgDialog : public CDialog 30 | { 31 | DECLARE_DYNAMIC(CReadMsgDialog) 32 | // Construction 33 | public: 34 | CReadMsgDialog(CWnd* pParent = NULL); // standard constructor 35 | 36 | // Dialog Data 37 | //{{AFX_DATA(CReadMsgDialog) 38 | enum { IDD = IDD_READMESSAGE }; 39 | CEdit m_strMsg; 40 | //}}AFX_DATA 41 | 42 | public: 43 | BOOL Create(UINT nID, CWnd* pWnd = NULL) 44 | { return CDialog::Create(nID, pWnd); } 45 | void SetText(); 46 | 47 | CGamDoc* m_pDoc; 48 | 49 | // Implementation 50 | protected: 51 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 52 | virtual BOOL PreTranslateMessage(MSG* pMsg); 53 | 54 | // Generated message map functions 55 | //{{AFX_MSG(CReadMsgDialog) 56 | virtual void OnOK(); 57 | virtual BOOL OnInitDialog(); 58 | afx_msg void OnSysCommand(UINT nID, LPARAM lParam); 59 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 60 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 61 | //}}AFX_MSG 62 | DECLARE_MESSAGE_MAP() 63 | }; 64 | -------------------------------------------------------------------------------- /GM/DlgNtile.h: -------------------------------------------------------------------------------- 1 | // DlgNtile.h : header file 2 | // 3 | // Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CNewTileDialog dialog 27 | 28 | class CBoardManager; 29 | 30 | class CNewTileDialog : public wxDialog 31 | { 32 | // Construction 33 | public: 34 | CNewTileDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 35 | 36 | // Dialog Data 37 | UINT m_nHeight; 38 | UINT m_nWidth; 39 | 40 | UINT m_nHalfHeight; 41 | UINT m_nHalfWidth; 42 | 43 | CBoardManager* m_pBMgr; 44 | private: 45 | CB_XRC_BEGIN_CTRLS_DECL() 46 | RefPtr m_editWidth; 47 | RefPtr m_editHeight; 48 | RefPtr m_comboBoard; 49 | CB_XRC_END_CTRLS_DECL() 50 | public: 51 | 52 | // Implementation 53 | protected: 54 | bool TransferDataToWindow() override; 55 | bool TransferDataFromWindow() override; 56 | 57 | void OnSelChangeBoardName(wxCommandEvent& event); 58 | void OnUpdateHeight(wxCommandEvent& event); 59 | void OnUpdateWidth(wxCommandEvent& event); 60 | #if 0 61 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 62 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 63 | #endif 64 | wxDECLARE_EVENT_TABLE(); 65 | }; 66 | -------------------------------------------------------------------------------- /GM/DlgBrdsz.h: -------------------------------------------------------------------------------- 1 | // dlgbrdsz.h : header file 2 | // 3 | // Copyright (c) 1994-2023 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CBoardReshapeDialog dialog 27 | 28 | enum CellFormType; 29 | 30 | class CBoardReshapeDialog : public wxDialog 31 | { 32 | // Construction 33 | public: 34 | CBoardReshapeDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 35 | 36 | // Dialog Data 37 | uint32_t m_nCellHt; 38 | uint32_t m_nCellWd; 39 | size_t m_nCols; 40 | size_t m_nRows; 41 | CellStagger m_bStagger; 42 | 43 | CellFormType m_eCellStyle; // Used to disable cell a cell dimension 44 | private: 45 | bool m_bStaggerAdapter; 46 | CB_XRC_BEGIN_CTRLS_DECL() 47 | RefPtr m_checkStaggerIn; 48 | RefPtr m_editCellWd; 49 | RefPtr m_editCellHt; 50 | RefPtr m_editCols; 51 | RefPtr m_editRows; 52 | CB_XRC_END_CTRLS_DECL() 53 | public: 54 | 55 | // Implementation 56 | protected: 57 | bool TransferDataToWindow() override; 58 | bool TransferDataFromWindow() override; 59 | #if 0 60 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 61 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 62 | #endif 63 | wxDECLARE_EVENT_TABLE(); 64 | }; 65 | -------------------------------------------------------------------------------- /GP/DlgChgGameOwner.h: -------------------------------------------------------------------------------- 1 | // DlgSelOwner.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _DLGSELOWNER_H_ 26 | #define _DLGSELOWNER_H_ 27 | 28 | #if _MSC_VER > 1000 29 | #pragma once 30 | #endif // _MSC_VER > 1000 31 | // 32 | 33 | ///////////////////////////////////////////////////////////////////////////// 34 | // CSelectNewOwnerDialog dialog 35 | 36 | class CChgGameOwnerDialog : public wxDialog 37 | { 38 | // Construction 39 | public: 40 | CChgGameOwnerDialog(CPlayerManager& pm, wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor 41 | 42 | // Dialog Data 43 | PlayerId m_nPlayer; 44 | RefPtr m_pPlayerMgr; 45 | 46 | private: 47 | CB_XRC_BEGIN_CTRLS_DECL() 48 | RefPtr m_btnOK; 49 | RefPtr m_listPlayers; 50 | CB_XRC_END_CTRLS_DECL() 51 | public: 52 | 53 | // Overrides 54 | 55 | // Implementation 56 | protected: 57 | bool TransferDataToWindow() override; 58 | bool TransferDataFromWindow() override; 59 | 60 | void OnSelChangePlayerList(wxCommandEvent& event); 61 | void OnDblClkPlayerList(wxCommandEvent& event); 62 | #if 0 63 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 64 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 65 | #endif 66 | wxDECLARE_EVENT_TABLE(); 67 | }; 68 | 69 | #endif 70 | -------------------------------------------------------------------------------- /GP/DlgSelOwner.h: -------------------------------------------------------------------------------- 1 | // DlgSelOwner.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _DLGSELOWNER_H_ 26 | #define _DLGSELOWNER_H_ 27 | 28 | #if _MSC_VER > 1000 29 | #pragma once 30 | #endif // _MSC_VER > 1000 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // CSelectNewOwnerDialog dialog 34 | 35 | class CSelectNewOwnerDialog : public wxDialog 36 | { 37 | // Construction 38 | public: 39 | CSelectNewOwnerDialog(CPlayerManager& pm, wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor 40 | 41 | // Dialog Data 42 | private: 43 | CB_XRC_BEGIN_CTRLS_DECL() 44 | RefPtr m_btnOK; 45 | RefPtr m_listPlayers; 46 | CB_XRC_END_CTRLS_DECL() 47 | 48 | public: 49 | PlayerId m_nPlayer; 50 | private: 51 | RefPtr m_pPlayerMgr; 52 | 53 | // Overrides 54 | 55 | // Implementation 56 | protected: 57 | 58 | bool TransferDataFromWindow() override; 59 | bool TransferDataToWindow() override; 60 | void OnSelChangePlayerList(wxCommandEvent& event); 61 | void OnDblClkPlayerList(wxCommandEvent& event); 62 | #if 0 63 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 64 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 65 | #endif 66 | wxDECLARE_EVENT_TABLE(); 67 | }; 68 | 69 | #endif 70 | -------------------------------------------------------------------------------- /GShr/WinTiny.h: -------------------------------------------------------------------------------- 1 | // WinTiny.h 2 | // 3 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _WINTINY_H 26 | #define _WINTINY_H 27 | 28 | class CTinyWnd : public CWnd 29 | { 30 | // Construction 31 | public: 32 | CTinyWnd(); 33 | #error needs to be checked 34 | BOOL Create(LPCSTR lpszClassName, DWORD dwStyle, 35 | int x, int y, int nWidth, int nHeight, CWnd* pParentWnd, 36 | UINT nID, LPSTR lpParam = NULL); 37 | 38 | // Attributes 39 | public: 40 | int GetNonClientPartsHeight() const { return m_bmapHeight + 2; } 41 | int GetNonClientPartsWidth() const { return 2; } 42 | // Operations 43 | public: 44 | 45 | // Implementation 46 | public: 47 | virtual ~CTinyWnd(); 48 | 49 | UINT m_bmapWidth; 50 | UINT m_bmapHeight; 51 | CBitmap m_bmapSysButton; 52 | 53 | // Overrides 54 | virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam); 55 | 56 | // Generated message map functions 57 | protected: 58 | //{{AFX_MSG(CTinyWnd) 59 | afx_msg void OnNcPaint(); 60 | afx_msg void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp); 61 | afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct); 62 | afx_msg UINT OnNcHitTest(CPoint point); 63 | afx_msg void OnNcDestroy(); 64 | afx_msg void OnSysCommand(UINT nID, LPARAM lParam); 65 | //}}AFX_MSG 66 | DECLARE_MESSAGE_MAP() 67 | }; 68 | 69 | #endif 70 | 71 | -------------------------------------------------------------------------------- /GM/DlgMEditMulti.h: -------------------------------------------------------------------------------- 1 | // DlgMEditMulti.h : header file 2 | // 3 | // Copyright (c) 1994-2023 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _DLGMEDITMULTI_H_ 26 | #define _DLGMEDITMULTI_H_ 27 | 28 | #if _MSC_VER > 1000 29 | #pragma once 30 | #endif // _MSC_VER > 1000 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // CMarkerEditMultipleDialog dialog 34 | 35 | class CMarkerEditMultipleDialog : public wxDialog 36 | { 37 | // Construction 38 | public: 39 | CMarkerEditMultipleDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 40 | 41 | // Dialog Data 42 | wxCheckBoxState m_bPromptForText; 43 | 44 | bool m_bSetText; 45 | wxString m_strText; 46 | private: 47 | CB_XRC_BEGIN_CTRLS_DECL() 48 | RefPtr m_chkSetText; 49 | RefPtr m_staticTextLabel; 50 | RefPtr m_chkPromptForText; 51 | RefPtr m_editText; 52 | CB_XRC_END_CTRLS_DECL() 53 | 54 | public: 55 | 56 | // Overrides 57 | protected: 58 | 59 | // Implementation 60 | protected: 61 | void UpdateTextControls(); 62 | 63 | void OnInitDialog(wxInitDialogEvent& event); 64 | void OnBtnClickChangeText(wxCommandEvent& event); 65 | #if 0 66 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 67 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 68 | #endif 69 | wxDECLARE_EVENT_TABLE(); 70 | }; 71 | 72 | #endif 73 | -------------------------------------------------------------------------------- /GP/DlgYnew.cpp: -------------------------------------------------------------------------------- 1 | // DlgYnew.cpp : implementation file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #include "stdafx.h" 26 | #include "Gp.h" 27 | #include "Trays.h" 28 | #include "DlgYnew.h" 29 | 30 | #ifdef _DEBUG 31 | #undef THIS_FILE 32 | static char THIS_FILE[] = __FILE__; 33 | #endif 34 | 35 | ///////////////////////////////////////////////////////////////////////////// 36 | // CTrayNewDialog dialog 37 | 38 | 39 | CTrayNewDialog::CTrayNewDialog(CTrayManager& yMgr, wxWindow* pParent /*= &CB::GetMainWndWx()*/) : 40 | CB_XRC_BEGIN_CTRLS_DEFN(pParent, CTrayNewDialog) 41 | CB_XRC_CTRL_VAL(m_editName, m_strName, wxFILTER_EMPTY, 32) 42 | CB_XRC_END_CTRLS_DEFN(), 43 | m_pYMgr(yMgr) 44 | { 45 | m_strName = ""; 46 | } 47 | 48 | ///////////////////////////////////////////////////////////////////////////// 49 | // CTrayNewDialog message handlers 50 | 51 | bool CTrayNewDialog::TransferDataFromWindow() 52 | { 53 | if (!wxDialog::TransferDataFromWindow()) 54 | { 55 | return false; 56 | } 57 | 58 | size_t nSel = m_pYMgr.FindTrayByName(m_strName); 59 | if (nSel != Invalid_v) 60 | { 61 | wxMessageBox(CB::string::LoadString(IDS_ERR_TRAYNAMEUSED), 62 | CB::GetAppName(), 63 | wxOK | wxICON_INFORMATION); 64 | m_editName->SetFocus(); 65 | return false; 66 | } 67 | return true; 68 | } 69 | -------------------------------------------------------------------------------- /GHelp/gen-tech-gtl-files.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Tile Library File Format 5 | 6 | 7 | 8 | 9 |

Tile Library File Format (For Programmer's Only)

10 | 11 |

A CyberBoard Tile Library file contains one or more tiles 12 | in a format that can be directly loaded into a GameBox tile grouping. 13 | Each tile is composed of a COLORREF value for the color of the small 14 | scale tile and two device independent bitmaps (DIB) in CF_DIB clipboard 15 | format. One DIB is for the full size tile image, the other is for the 16 | half size image. The half size tile is 1/2 the size of the full size 17 | tile rounded up. For example, if the full size tile is 15 pixels 18 | the half size tile is 8 pixels.

19 |

20 | The overall structure of the file is:

21 |

22 | BYTE    chSig[4];       // File Signature = "GTLB"
23 | WORD    wVersion;       // Version = 0x0100 (1.00)
24 | DWORD   dwNumTiles;     // Number of <Tile_Definition>'s in the file
25 | // dwNumTiles tile definitions follow...
26 | <Tile_Definition>
27 |        :
28 |        :
29 | <Tile_Definition>
30 | 
31 |

32 | Each <Tile_Definition> is structured like so:

33 |

34 | DWORD           dwSmallTileColor;   // Color of small tile (COLORREF format)
35 | <Packed_DIB>    dibFullSizeTile;    // The DIB data for the full size tile
36 | <Packed_DIB>    dibHalfSizeTile;    // The DIB data for the half size tile
37 | 
38 |

39 | Each <Packed_DIB> record looks like:

40 |

41 | DWORD               dwRecordSize;   // Size in bytes of bitmap that follows.
42 | 
43 |                                     // The following is the same stuff 
44 |                                     // that gets put on the clipboard 
45 |                                     // for the CF_DIB format...
46 | struct BITMAPINFO   dib;            // (See the Win32 SDK docs)
47 | <bitmap_data>
48 | 
49 |

50 | Oh...one more thing...all numbers larger than a byte are stored in 51 | little-endian (aka Intel) byte order:

52 |

53 | Least Significant Byte....Most Significant Byte.

54 |

55 | Oh...Get the format of your file right because there isn't 56 | heck of a lot of checking going on in CyberBoard to make sure the 57 | incoming format is correct.

58 | 59 | 60 | -------------------------------------------------------------------------------- /GM/DlgGboxp.h: -------------------------------------------------------------------------------- 1 | // DlgGboxp.h : header file 2 | // 3 | // Copyright (c) 1994-2023 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CGmBoxPropsDialog dialog 27 | 28 | class CGmBoxPropsDialog : public wxDialog 29 | { 30 | // Construction 31 | public: 32 | CGmBoxPropsDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 33 | 34 | // Dialog Data 35 | wxString m_strAuthor; 36 | wxString m_strDescr; 37 | wxString m_strTitle; 38 | 39 | bool m_bPropEdit = true; // Set to true is editing existing props 40 | int m_nCompressLevel = wxZ_BEST_SPEED; 41 | 42 | bool m_bPassSet = false; 43 | wxString m_strPassword; 44 | 45 | // Implementation 46 | private: 47 | bool TransferDataToWindow() override; 48 | bool TransferDataFromWindow() override; 49 | 50 | void OnSetPassword(wxCommandEvent& event); 51 | #if 0 52 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 53 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 54 | #endif 55 | 56 | wxDECLARE_EVENT_TABLE(); 57 | 58 | // adapt between m_nCompressLevel and m_comboCompress 59 | int32_t m_nCompressLevelIndex; 60 | 61 | CB_XRC_BEGIN_CTRLS_DECL() 62 | RefPtr m_comboCompress; 63 | RefPtr m_editAuthor; 64 | RefPtr m_editTitle; 65 | RefPtr m_editDescr; 66 | CB_XRC_END_CTRLS_DECL() 67 | }; 68 | -------------------------------------------------------------------------------- /GM/DlgPaste.cpp: -------------------------------------------------------------------------------- 1 | // DlgPaste.cpp : implementation file 2 | // 3 | // Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #include "stdafx.h" 26 | #include "Gm.h" 27 | #include "DlgPaste.h" 28 | 29 | #ifdef _DEBUG 30 | #undef THIS_FILE 31 | static char THIS_FILE[] = __FILE__; 32 | #endif 33 | 34 | ///////////////////////////////////////////////////////////////////////////// 35 | // CPasteBitmapDialog dialog 36 | 37 | 38 | CPasteBitmapDialog::CPasteBitmapDialog(wxWindow* parent /*= &CB::GetMainWndWx()*/) : 39 | CB_XRC_BEGIN_CTRLS_DEFN(parent, CPasteBitmapDialog) 40 | CB_XRC_CTRL_VAL(m_radioPasteAction, m_nPasteAction) 41 | CB_XRC_END_CTRLS_DEFN() 42 | { 43 | m_nPasteAction = -1; 44 | } 45 | 46 | wxBEGIN_EVENT_TABLE(CPasteBitmapDialog, wxDialog) 47 | #if 0 48 | ON_WM_HELPINFO() 49 | ON_WM_CONTEXTMENU() 50 | #endif 51 | wxEND_EVENT_TABLE() 52 | 53 | #if 0 54 | ///////////////////////////////////////////////////////////////////////////// 55 | // Html Help control ID Map 56 | 57 | static DWORD adwHelpMap[] = 58 | { 59 | IDC_D_PASTE_KEEPSIZE, IDH_D_PASTE_KEEPSIZE, 60 | IDC_D_PASTE_RESIZE, IDH_D_PASTE_RESIZE, 61 | 0,0 62 | }; 63 | 64 | BOOL CPasteBitmapDialog::OnHelpInfo(HELPINFO* pHelpInfo) 65 | { 66 | return GetApp()->DoHelpTipHelp(pHelpInfo, adwHelpMap); 67 | } 68 | 69 | void CPasteBitmapDialog::OnContextMenu(CWnd* pWnd, CPoint point) 70 | { 71 | GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap); 72 | } 73 | #endif 74 | 75 | -------------------------------------------------------------------------------- /GP/DlgMPly.h: -------------------------------------------------------------------------------- 1 | // DlgMPly.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _DLGMPLY_H_ 26 | #define _DLGMPLY_H_ 27 | 28 | #if _MSC_VER > 1000 29 | #pragma once 30 | #endif // _MSC_VER > 1000 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // CMultiplayerGameDialog dialog 34 | 35 | class CPlayerManager; 36 | 37 | class CMultiplayerGameDialog : public wxDialog 38 | { 39 | // Construction 40 | public: 41 | CMultiplayerGameDialog(CPlayerManager& pm, wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor 42 | 43 | // Dialog Data 44 | bool m_bCreateReferee; 45 | private: 46 | CB_XRC_BEGIN_CTRLS_DECL() 47 | RefPtr m_static1; 48 | RefPtr m_chkCreateReferee; 49 | RefPtr m_static2; 50 | RefPtr m_editPlayer; 51 | RefPtr m_listPlayers; 52 | CB_XRC_END_CTRLS_DECL() 53 | 54 | RefPtr m_pPlayerMgr; 55 | 56 | // Overrides 57 | 58 | // Implementation 59 | protected: 60 | 61 | void OnBtnPressUpdateName(wxCommandEvent& event); 62 | void OnSelChangePlayerList(wxCommandEvent& event); 63 | bool TransferDataToWindow() override; 64 | bool TransferDataFromWindow() override; 65 | #if 0 66 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 67 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 68 | #endif 69 | wxDECLARE_EVENT_TABLE(); 70 | }; 71 | 72 | #endif 73 | -------------------------------------------------------------------------------- /GP/WinDynspl.h: -------------------------------------------------------------------------------- 1 | // WinDynspl.h 2 | // 3 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef __WINDYNSPL_H__ 26 | #define __WINDYNSPL_H__ 27 | #pragma once 28 | 29 | // CCbSplitterWnd is a CSplitterWndEx derived class which adds the ability 30 | // to hide and show splitter panes, based upon its index. 31 | class CCbSplitterWnd : public CSplitterWndEx 32 | { 33 | DECLARE_DYNAMIC(CCbSplitterWnd) 34 | public: 35 | CCbSplitterWnd(); 36 | virtual ~CCbSplitterWnd(); 37 | 38 | public: 39 | int m_nHiddenCol; // Index of the hidden column. 40 | int m_nHiddenRow; // Index of the hidden row. 41 | 42 | public: 43 | BOOL IsRowHidden() { return m_nHiddenRow != -1; } 44 | BOOL IsColHidden() { return m_nHiddenCol != -1; } 45 | 46 | // Called to switch, or swap a splitter view with another. 47 | BOOL SwitchView(int nRow, int nCol, CView *pNewView); 48 | 49 | // Called to replace an existing splitter view with another. 50 | BOOL ReplaceView(int nRow, int nCol, CRuntimeClass *pViewClass); 51 | 52 | // Called to show the column that was previously hidden. 53 | void ShowColumn(); 54 | 55 | // Called to hide a column based upon its index. 56 | void HideColumn(int nColHide); 57 | 58 | // Called to show the row that was previously hidden. 59 | void ShowRow(); 60 | 61 | // Hides a row based upon its index. 62 | void HideRow(int nRowHide); 63 | 64 | protected: 65 | DECLARE_MESSAGE_MAP() 66 | }; 67 | 68 | #endif // __WINDYNSPL_H__ 69 | 70 | 71 | -------------------------------------------------------------------------------- /GHelp/CBoard.hhp: -------------------------------------------------------------------------------- 1 | [OPTIONS] 2 | Binary TOC=Yes 3 | Compatibility=1.1 or later 4 | Compiled file=CBoard.chm 5 | Contents file=CBoardTOC.hhc 6 | Default Window=CyberBoardHelp 7 | Default topic=gen-main-cover.htm 8 | Display compile progress=No 9 | Full-text search=Yes 10 | Language=0x409 English (United States) 11 | 12 | [WINDOWS] 13 | CyberBoardHelp="CyberBoard Help","CBoardTOC.hhc",,"gen-main-cover.htm","gen-main-cover.htm",,,,,0x42120,,0x60384e,,,,,,,,0 14 | 15 | 16 | [FILES] 17 | master.js 18 | cbhelp.css 19 | gen-main-concepts.htm 20 | gen-main-cover.htm 21 | gen-main-features.htm 22 | gen-main-overview.htm 23 | gen-main-release-history.htm 24 | gen-main-steps-to-use.htm 25 | gen-tech-gtl-files.htm 26 | gm-adv-how-to.htm 27 | gm-main-cover.htm 28 | gm-ref-cover.htm 29 | gm-ref-keyboard-shortcuts.htm 30 | gm-ref-menu-edit.htm 31 | gm-ref-menu-file.htm 32 | gm-ref-menu-help.htm 33 | gm-ref-menu-project.htm 34 | gm-ref-menu-tools.htm 35 | gm-ref-menu-view.htm 36 | gm-ref-menu-window.htm 37 | gm-ref-pal-board-tools.htm 38 | gm-ref-pal-color.htm 39 | gm-ref-pal-tile-tools.htm 40 | gm-ref-pal-tile.htm 41 | gm-ref-window-board-edit.htm 42 | gm-ref-window-project.htm 43 | gm-ref-window-tile-edit.htm 44 | gm-tut-cover.htm 45 | gp-adv-geomorphic.htm 46 | gp-adv-hidden.htm 47 | gp-adv-how-to.htm 48 | gp-adv-object-locking.htm 49 | gp-adv-object-text.htm 50 | gp-main-cover.htm 51 | gp-ref-cover.htm 52 | gp-ref-keyboard-shortcuts.htm 53 | gp-ref-menu-actions.htm 54 | gp-ref-menu-edit.htm 55 | gp-ref-menu-file.htm 56 | gp-ref-menu-help.htm 57 | gp-ref-menu-playback.htm 58 | gp-ref-menu-project.htm 59 | gp-ref-menu-view.htm 60 | gp-ref-menu-window.htm 61 | gp-ref-pal-markers.htm 62 | gp-ref-pal-tray.htm 63 | gp-ref-window-board.htm 64 | gp-ref-window-gam-project.htm 65 | gp-ref-window-gsn-project.htm 66 | gp-tut-cover.htm 67 | 68 | [ALIAS] 69 | IDH_R_GP_MAINFRAME=gp-main-cover.htm 70 | IDH_R_MAINFRAME=gm-main-cover.htm 71 | IDH_R_GAMEBOX=gm-ref-window-project.htm 72 | IDH_R_BOARDVIEW=gm-ref-window-board-edit.htm 73 | IDH_R_BITEDITOR=gm-ref-window-tile-edit.htm 74 | IDH_R_GSCNTYPE=gp-ref-window-gsn-project.htm 75 | IDH_R_GAMETYPE=gp-ref-window-gam-project.htm 76 | IDH_R_GP_BOARDVIEW=gp-ref-window-board.htm 77 | IDH_VIEW_TOGGLESCALE=gp-ref-menu-view.htm#scale 78 | IDH_VIEW_SHOW_TIP_TEXT=gp-ref-menu-view.htm#tips 79 | IDH_VIEW_TRAYA=gp-ref-menu-view.htm#traya 80 | IDH_VIEW_TRAYB=gp-ref-menu-view.htm#trayb 81 | IDH_VIEW_MARKERPAL=gp-ref-menu-view.htm#marks 82 | 83 | [MAP] 84 | #include gphelpidmap.h 85 | #include gmhelpidmap.h 86 | gmcontext.txt 87 | gmhelp.h 88 | gpcontext.txt 89 | gphelp.h 90 | 91 | [TEXT POPUPS] 92 | gmcontext.txt 93 | gmhelp.h 94 | gpcontext.txt 95 | gphelp.h 96 | 97 | [INFOTYPES] 98 | 99 | -------------------------------------------------------------------------------- /GM/DlgTilsz.h: -------------------------------------------------------------------------------- 1 | // DlgTilsz.h : header file 2 | // 3 | // Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // CResizeTileDialog dialog 27 | 28 | class CBoardManager; 29 | 30 | class CResizeTileDialog : public wxDialog 31 | { 32 | // Construction 33 | public: 34 | CResizeTileDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor 35 | 36 | // Dialog Data 37 | bool m_bRescaleBMaps; 38 | UINT m_nWidth; 39 | UINT m_nHeight; 40 | 41 | UINT m_nHalfHeight; // If 0, caller computes half size 42 | UINT m_nHalfWidth; // If 0, caller computes half size 43 | CBoardManager* m_pBMgr; 44 | private: 45 | CB_XRC_BEGIN_CTRLS_DECL() 46 | RefPtr m_editHeight; 47 | RefPtr m_editWidth; 48 | RefPtr m_staticCurWd; 49 | RefPtr m_staticCurHt; 50 | RefPtr m_comboBrdName; 51 | RefPtr m_chkRescaleBMaps; 52 | CB_XRC_END_CTRLS_DECL() 53 | 54 | // Implementation 55 | protected: 56 | bool TransferDataToWindow() override; 57 | void OnSelchangeBrdName(wxCommandEvent& event); 58 | void OnChangeTileWd(wxCommandEvent& event); 59 | void OnChangeTileHt(wxCommandEvent& event); 60 | bool TransferDataFromWindow() override; 61 | #if 0 62 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 63 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 64 | #endif 65 | wxDECLARE_EVENT_TABLE(); 66 | }; 67 | -------------------------------------------------------------------------------- /GM/DlgTsetp.cpp: -------------------------------------------------------------------------------- 1 | // DlgTsetp.cpp - Tile properties dialog 2 | // 3 | // Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #include "stdafx.h" 26 | #include "Gm.h" 27 | #include "GdiTools.h" 28 | #include "DlgTsetp.h" 29 | #include "LibMfc.h" 30 | 31 | #ifdef _DEBUG 32 | #undef THIS_FILE 33 | static char THIS_FILE[] = __FILE__; 34 | #endif 35 | 36 | ///////////////////////////////////////////////////////////////////////////// 37 | // CTSetPropDialog dialog 38 | 39 | 40 | CTSetPropDialog::CTSetPropDialog(wxWindow* parent /*= &CB::GetMainWndWx()*/) : 41 | CB_XRC_BEGIN_CTRLS_DEFN(parent, CTSetPropDialog) 42 | CB_XRC_CTRL_VAL(m_cpTrans, m_crTrans) 43 | CB_XRC_CTRL_VAL(m_editName, m_strName, wxFILTER_EMPTY, 40) 44 | CB_XRC_END_CTRLS_DEFN() 45 | { 46 | m_strName = ""; 47 | m_crTrans = wxColour(0,255,255); 48 | } 49 | 50 | wxBEGIN_EVENT_TABLE(CTSetPropDialog, wxDialog) 51 | #if 0 52 | ON_WM_HELPINFO() 53 | ON_WM_CONTEXTMENU() 54 | #endif 55 | wxEND_EVENT_TABLE() 56 | 57 | #if 0 58 | ///////////////////////////////////////////////////////////////////////////// 59 | // Html Help control ID Map 60 | 61 | static DWORD adwHelpMap[] = 62 | { 63 | IDC_D_TGRP_NAME, IDH_D_TGRP_NAME, 64 | IDC_D_TGRP_TRANSCOLOR, IDH_D_TGRP_TRANSCOLOR, 65 | 0,0 66 | }; 67 | 68 | BOOL CTSetPropDialog::OnHelpInfo(HELPINFO* pHelpInfo) 69 | { 70 | return GetApp()->DoHelpTipHelp(pHelpInfo, adwHelpMap); 71 | } 72 | 73 | void CTSetPropDialog::OnContextMenu(CWnd* pWnd, CPoint point) 74 | { 75 | GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap); 76 | } 77 | #endif 78 | -------------------------------------------------------------------------------- /GP/GamState.h: -------------------------------------------------------------------------------- 1 | // GamState.h 2 | // 3 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _GAMSTATE_H 26 | #define _GAMSTATE_H 27 | 28 | #include "MapStrng.h" 29 | #include "Trays.h" 30 | 31 | class CTrayManager; 32 | class CPieceTable; 33 | class CPBoardManager; 34 | 35 | // A CGameState object saves a snapshot of the state of the game. 36 | // This can be used for bookmarks and for state records in the move 37 | // file. 38 | 39 | class CGameState 40 | { 41 | public: 42 | CGameState(); 43 | ~CGameState() = default; 44 | 45 | // Operations 46 | public: 47 | BOOL SaveState(CGamDoc& doc); 48 | BOOL RestoreState(CGamDoc& doc) const; 49 | // ------- // 50 | BOOL CompareState(const CGamDoc& doc) const; 51 | // ------- // 52 | void Clear(); 53 | void Serialize(CArchive& ar); 54 | 55 | // Implementation 56 | protected: 57 | // --------- // 58 | CGameElementStringMap m_mapString; // Text set by player 59 | /* can't use std::default_delete because 60 | default_delete<> requires a complete type, and we can't 61 | #include "PBoard.h" due to circular dependencies */ 62 | class CPBoardManagerDelete 63 | { 64 | public: 65 | void operator()(CPBoardManager* p) const; 66 | }; 67 | using OwnerOrNullCPBoardManager = CB::propagate_const>; 68 | OwnerOrNullCPBoardManager m_pPBMgr; // Playing boards in use. 69 | CTrayManager m_pYMgr; // Content of trays manager 70 | OwnerOrNullPtr m_pPTbl; // The playing piece table. 71 | }; 72 | 73 | #endif 74 | 75 | -------------------------------------------------------------------------------- /GP/DlgEPly.h: -------------------------------------------------------------------------------- 1 | // DlgEPly.h : header file 2 | // 3 | // Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _DLGEPLY_H_ 26 | #define _DLGEPLY_H_ 27 | 28 | #if _MSC_VER > 1000 29 | #pragma once 30 | #endif // _MSC_VER > 1000 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // CEditPlayersDialog dialog 34 | class CPlayerManager; 35 | 36 | class CEditPlayersDialog : public wxDialog 37 | { 38 | // Construction 39 | public: 40 | CEditPlayersDialog(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor 41 | 42 | // Dialog Data 43 | private: 44 | CB_XRC_BEGIN_CTRLS_DECL() 45 | RefPtr m_btnUpdate; 46 | RefPtr m_listNames; 47 | RefPtr m_editName; 48 | CB_XRC_END_CTRLS_DECL() 49 | // wx doesn't support mixing sorted wxListBox w/ Insert() 50 | std::vector m_tblNamesSorted; 51 | public: 52 | 53 | void SetDialogsPlayerNames(const CPlayerManager& pPlayerMgr); 54 | void GetPlayerNamesFromDialog(CPlayerManager& pPlayerMgr) const; 55 | 56 | std::vector m_tblNames; 57 | 58 | // Overrides 59 | protected: 60 | bool TransferDataToWindow() override; 61 | bool TransferDataFromWindow() override; 62 | 63 | // Implementation 64 | protected: 65 | 66 | void OnSelChangeNameList(wxCommandEvent& event); 67 | void OnBtnPressUpdateName(wxCommandEvent& event); 68 | #if 0 69 | afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); 70 | afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); 71 | #endif 72 | wxDECLARE_EVENT_TABLE(); 73 | }; 74 | 75 | #endif 76 | 77 | -------------------------------------------------------------------------------- /GP/MoveHist.h: -------------------------------------------------------------------------------- 1 | // MoveHist.h 2 | // 3 | // Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #ifndef _MOVEHIST_H 26 | #define _MOVEHIST_H 27 | 28 | class CHistRecord 29 | { 30 | public: 31 | CTime m_timeCreated; // Time from move file 32 | CTime m_timeAbsorbed; // Time record entered history 33 | CB::string m_strTitle; // User title of move packet 34 | CB::string m_strDescr; // User description of move packet 35 | OwnerOrNullPtr m_pMList; // Move list for this record (>= Ver2.90) 36 | DWORD m_dwFilePos; // Location of move list in game file (< Ver2.90) 37 | // We need to save the version of the game file 38 | // when the moves were absorbed. 39 | int m_nGamFileVersion; // Version of Game when saved history (< Ver2.90) 40 | 41 | public: 42 | CHistRecord(); 43 | ~CHistRecord() = default; 44 | void Serialize(CArchive& ar); 45 | }; 46 | 47 | // The history table stores a record of playback in 48 | // chronological order. 49 | // ptr since objects xfer between gamdoc and here (TODO: maybe switch ptr to obj?) 50 | class CHistoryTable : private std::vector> 51 | { 52 | public: 53 | ~CHistoryTable() { Clear(); } 54 | // ------- // 55 | size_t GetNumHistRecords() const { return size(); } 56 | void AddNewHistRecord(OwnerPtr pHist) { push_back(std::move(pHist)); } 57 | CHistRecord& GetHistRecord(size_t nIndex) 58 | { return *at(nIndex); } 59 | // ------- // 60 | void Clear(); 61 | void Serialize(CArchive& ar); 62 | }; 63 | 64 | #endif 65 | 66 | 67 | -------------------------------------------------------------------------------- /GM/DlgGPass.cpp: -------------------------------------------------------------------------------- 1 | // DlgGPass.cpp : implementation file 2 | // 3 | // Copyright (c) 1994-2023 By Dale L. Larson & William Su, All Rights Reserved. 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining 6 | // a copy of this software and associated documentation files (the 7 | // "Software"), to deal in the Software without restriction, including 8 | // without limitation the rights to use, copy, modify, merge, publish, 9 | // distribute, sublicense, and/or sell copies of the Software, and to 10 | // permit persons to whom the Software is furnished to do so, subject to 11 | // the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be 14 | // included in all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | // 24 | 25 | #include "stdafx.h" 26 | #include "Gm.h" 27 | #include "DlgGPass.h" 28 | #include "LibMfc.h" 29 | 30 | #ifdef _DEBUG 31 | #define new DEBUG_NEW 32 | #undef THIS_FILE 33 | static char THIS_FILE[] = __FILE__; 34 | #endif 35 | 36 | ///////////////////////////////////////////////////////////////////////////// 37 | // CDlgGetGameboxPassword dialog 38 | 39 | CDlgGetGameboxPassword::CDlgGetGameboxPassword(wxWindow* parent /*= &CB::GetMainWndWx()*/) : 40 | CB_XRC_BEGIN_CTRLS_DEFN(parent, CDlgGetGameboxPassword) 41 | CB_XRC_CTRL_VAL(m_editPassword, m_strPassword, wxFILTER_NONE, 0) 42 | CB_XRC_END_CTRLS_DEFN() 43 | { 44 | m_strPassword = ""; 45 | } 46 | 47 | 48 | wxBEGIN_EVENT_TABLE(CDlgGetGameboxPassword, wxDialog) 49 | #if 0 50 | ON_WM_HELPINFO() 51 | ON_WM_CONTEXTMENU() 52 | #endif 53 | wxEND_EVENT_TABLE() 54 | 55 | #if 0 56 | ///////////////////////////////////////////////////////////////////////////// 57 | // Html Help control ID Map 58 | 59 | static DWORD adwHelpMap[] = 60 | { 61 | IDC_D_GETPASS_PASSWORD, IDH_D_GETPASS_PASSWORD, 0,0 62 | }; 63 | 64 | BOOL CDlgGetGameboxPassword::OnHelpInfo(HELPINFO* pHelpInfo) 65 | { 66 | return GetApp()->DoHelpTipHelp(pHelpInfo, adwHelpMap); 67 | } 68 | 69 | void CDlgGetGameboxPassword::OnContextMenu(CWnd* pWnd, CPoint point) 70 | { 71 | GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap); 72 | } 73 | #endif 74 | 75 | ///////////////////////////////////////////////////////////////////////////// 76 | // CDlgGetGameboxPassword message handlers 77 | --------------------------------------------------------------------------------