├── .gitignore ├── .gitmodules ├── 3rdparty └── src │ └── usermanual │ └── .placeholder ├── AUTHORS ├── CONTRIBUTING.md ├── LICENSE ├── LICENSE.html ├── Little Go.xcodeproj ├── project.pbxproj └── xcshareddata │ └── xcschemes │ ├── Little Go AdHoc Distribution.xcscheme │ ├── Little Go AppStore Distribution.xcscheme │ ├── Little Go Debug.xcscheme │ └── doxygen.xcscheme ├── Little Go.xcworkspace ├── contents.xcworkspacedata └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── NOTICE ├── Podfile ├── Podfile.lock ├── README.md ├── doc ├── BUGS ├── ChangeLog ├── Class diagram of packages go + player.jpg ├── CodingGuidelines ├── MediaFiles ├── NOTES.Architecture ├── NOTES.Build ├── NOTES.Build.3rdparty ├── NOTES.Design ├── NOTES.DeviceSupport ├── NOTES.Diagnostics ├── NOTES.Info-plist ├── NOTES.Marketing ├── NOTES.SgfSupport ├── ProgrammingTopics ├── README.developer ├── ReleaseSteps ├── Research ├── Roadmap ├── TESTING ├── fuego-knowledge-memoryusage.txt └── littlego.asta ├── doxygen └── Doxyfile ├── resource ├── html │ ├── About.html │ ├── BoostSoftwareLicense.html │ ├── COPYING.LESSER.html │ ├── COPYING.html │ ├── Crashlytics-opensource.txt.html │ ├── Credits.html │ ├── Firebase-oss.html │ ├── Lumberjack-LICENSE.txt.html │ ├── MBProgressHUD-license.html │ ├── SGFCSoftwareLicense.html │ ├── SourceCode.html │ └── ZipKit-COPYING.TXT.html ├── icon │ ├── about │ │ ├── about.png │ │ ├── about.svg │ │ ├── about@2x.png │ │ ├── about@3x.png │ │ └── noun_55404_cc.svg │ ├── archive │ │ ├── archive.png │ │ ├── archive.svg │ │ ├── archive@2x.png │ │ ├── archive@3x.png │ │ └── noun_26076_cc.svg │ ├── board-setup │ │ └── board-setup.svg │ ├── changelog │ │ ├── changelog.png │ │ ├── changelog.svg │ │ ├── changelog@2.png │ │ ├── changelog@3.png │ │ └── noun_Changelog_365219.svg │ ├── computer-play │ │ ├── computer-play.png │ │ ├── computer-play.svg │ │ ├── computer-play@2x.png │ │ ├── computer-play@3x.png │ │ ├── noun_123922_cc.svg │ │ └── noun_2873_cc.svg │ ├── computer-suggest-move │ │ ├── computer-suggest-move.png │ │ ├── computer-suggest-move.svg │ │ ├── computer-suggest-move@2.png │ │ ├── computer-suggest-move@3.png │ │ └── noun_hint_3194435.svg │ ├── continue │ │ ├── continue.png │ │ ├── continue.svg │ │ ├── continue@2x.png │ │ ├── continue@3x.png │ │ └── noun_5582_cc.svg │ ├── credits │ │ ├── credits.png │ │ ├── credits.svg │ │ ├── credits@2x.png │ │ ├── credits@3x.png │ │ └── noun_8180_cc.svg │ ├── diagnostics │ │ ├── diagnostics.png │ │ ├── diagnostics.svg │ │ ├── diagnostics@2x.png │ │ ├── diagnostics@3x.png │ │ └── noun_27633_cc.svg │ ├── discard │ │ ├── discard.png │ │ ├── discard.svg │ │ ├── discard@2x.png │ │ ├── discard@3x.png │ │ └── noun_3715.svg │ ├── dot-symbol │ │ ├── dot-symbol.png │ │ ├── dot-symbol.svg │ │ ├── dot-symbol@2x.png │ │ └── dot-symbol@3x.png │ ├── doubtful │ │ ├── doubtful.png │ │ ├── doubtful.svg │ │ ├── doubtful@2x.png │ │ ├── doubtful@3x.png │ │ └── noun-questions-3550357.svg │ ├── edit │ │ ├── edit.png │ │ ├── edit.svg │ │ ├── edit@2x.png │ │ ├── edit@3x.png │ │ └── noun-edit-3756863.svg │ ├── game-info │ │ ├── game-info.png │ │ ├── game-info.svg │ │ ├── game-info@2x.png │ │ ├── game-info@3x.png │ │ └── noun_50837_cc.svg │ ├── game-types │ │ ├── computer-vs-computer.png │ │ ├── computer-vs-computer.svg │ │ ├── computer-vs-computer@2x.png │ │ ├── computer-vs-computer@3x.png │ │ ├── game-types.svg │ │ ├── human-vs-computer.png │ │ ├── human-vs-computer.svg │ │ ├── human-vs-computer@2x.png │ │ ├── human-vs-computer@3x.png │ │ ├── human-vs-human.png │ │ ├── human-vs-human.svg │ │ ├── human-vs-human@2x.png │ │ ├── human-vs-human@3x.png │ │ └── noun_17845_cc.svg │ ├── go-motifs │ │ ├── nounproject-originals │ │ │ ├── noun-go-stone-3961179.svg │ │ │ ├── noun_go_181270.svg │ │ │ ├── noun_go_181271.svg │ │ │ ├── noun_go_181272.svg │ │ │ ├── noun_go_181273.svg │ │ │ ├── noun_go_181274.svg │ │ │ ├── noun_go_181275.svg │ │ │ ├── noun_go_181276.svg │ │ │ ├── noun_go_181277.svg │ │ │ ├── noun_go_181278.svg │ │ │ ├── noun_go_181279.svg │ │ │ ├── noun_go_181280.svg │ │ │ ├── noun_go_181281.svg │ │ │ ├── noun_go_181282.svg │ │ │ ├── noun_go_181283.svg │ │ │ └── noun_go_181284.svg │ │ ├── stone-black-and-white-icon.png │ │ ├── stone-black-and-white-icon.svg │ │ ├── stone-black-and-white-icon@2.png │ │ ├── stone-black-and-white-icon@3.png │ │ ├── stone-black-icon.png │ │ ├── stone-black-icon.svg │ │ ├── stone-black-icon@2x.png │ │ ├── stone-black-icon@3x.png │ │ ├── stone-white-icon.png │ │ ├── stone-white-icon.svg │ │ ├── stone-white-icon@2x.png │ │ ├── stone-white-icon@3x.png │ │ ├── stones-overlapping-black-and-white-icon.png │ │ ├── stones-overlapping-black-and-white-icon.svg │ │ ├── stones-overlapping-black-and-white-icon@2x.png │ │ ├── stones-overlapping-black-and-white-icon@3x.png │ │ ├── stones-overlapping-black-icon.png │ │ ├── stones-overlapping-black-icon.svg │ │ ├── stones-overlapping-black-icon@2x.png │ │ ├── stones-overlapping-black-icon@3x.png │ │ ├── stones-overlapping-white-icon.png │ │ ├── stones-overlapping-white-icon.svg │ │ ├── stones-overlapping-white-icon@2x.png │ │ ├── stones-overlapping-white-icon@3x.png │ │ └── unused │ │ │ └── 181278-reversed.svg │ ├── gogrid2x2 │ │ ├── gogrid2x2.png │ │ ├── gogrid2x2.svg │ │ ├── gogrid2x2@2x.png │ │ └── gogrid2x2@3x.png │ ├── help │ │ ├── help.png │ │ ├── help.svg │ │ ├── help@2x.png │ │ └── help@3x.png │ ├── hotspot │ │ ├── hotspot.png │ │ ├── hotspot.svg │ │ ├── hotspot@2x.png │ │ ├── hotspot@3x.png │ │ └── noun-flame-4575899.svg │ ├── interesting │ │ ├── interesting.png │ │ ├── interesting.svg │ │ ├── interesting@2x.png │ │ ├── interesting@3x.png │ │ └── noun-exclamation-1678344.svg │ ├── interrupt │ │ ├── interrupt.png │ │ ├── interrupt.svg │ │ ├── interrupt@2x.png │ │ ├── interrupt@3x.png │ │ └── noun_5763_cc.svg │ ├── licenses │ │ ├── licenses.png │ │ ├── licenses.svg │ │ ├── licenses@2x.png │ │ ├── licenses@3x.png │ │ └── noun_92864_cc.svg │ ├── markup-types │ │ ├── arrow.png │ │ ├── arrow.svg │ │ ├── arrow@2x.png │ │ ├── arrow@3x.png │ │ ├── check-mark.png │ │ ├── check-mark.svg │ │ ├── check-mark@2x.png │ │ ├── check-mark@3x.png │ │ ├── circle.png │ │ ├── circle.svg │ │ ├── circle@2x.png │ │ ├── circle@3x.png │ │ ├── cross-mark.png │ │ ├── cross-mark.svg │ │ ├── cross-mark@2x.png │ │ ├── cross-mark@3x.png │ │ ├── label.png │ │ ├── label.svg │ │ ├── label@2x.png │ │ ├── label@3x.png │ │ ├── letter-marker.png │ │ ├── letter-marker.svg │ │ ├── letter-marker@2x.png │ │ ├── letter-marker@3x.png │ │ ├── line.png │ │ ├── line.svg │ │ ├── line@2x.png │ │ ├── line@3x.png │ │ ├── nounproject-originals │ │ │ ├── noun-arrow-3134186.svg │ │ │ ├── noun-check-mark-638157.svg │ │ │ ├── noun-circle-4148559.svg │ │ │ ├── noun-cross-mark-638153.svg │ │ │ ├── noun-detail-4148592.svg │ │ │ └── noun-square-4148585.svg │ │ ├── number-marker.png │ │ ├── number-marker.svg │ │ ├── number-marker@2x.png │ │ ├── number-marker@3x.png │ │ ├── square.png │ │ ├── square.svg │ │ ├── square@2x.png │ │ ├── square@3x.png │ │ ├── triangle.png │ │ ├── triangle.svg │ │ ├── triangle@2x.png │ │ └── triangle@3x.png │ ├── markup │ │ ├── markup.png │ │ ├── markup.svg │ │ ├── markup@2x.png │ │ ├── markup@3x.png │ │ └── noun-code-4410725.svg │ ├── menu │ │ └── menu-hamburger │ │ │ ├── menu-hamburger.png │ │ │ ├── menu-hamburger.svg │ │ │ ├── menu-hamburger@2x.png │ │ │ ├── menu-hamburger@3x.png │ │ │ └── noun_36901_cc.svg │ ├── more-game-actions │ │ ├── more-game-actions.png │ │ ├── more-game-actions@2x.png │ │ ├── more-game-actions@3x.png │ │ ├── more-game-actons.svg │ │ └── noun_61422.svg │ ├── navigation │ │ ├── back.png │ │ ├── back.svg │ │ ├── back@2x.png │ │ ├── back@3x.png │ │ ├── forward.png │ │ ├── forward.svg │ │ ├── forward@2x.png │ │ ├── forward@3x.png │ │ ├── forwardtoend.png │ │ ├── forwardtoend.svg │ │ ├── forwardtoend@2x.png │ │ ├── forwardtoend@3x.png │ │ ├── noun_45526_cc.svg │ │ ├── rewindtostart.png │ │ ├── rewindtostart.svg │ │ ├── rewindtostart@2x.png │ │ └── rewindtostart@3x.png │ ├── node-tree │ │ ├── node-construction-box.svg │ │ ├── node-sequence.png │ │ ├── node-sequence.svg │ │ ├── node-sequence@2x.png │ │ ├── node-sequence@3x.png │ │ ├── node-tree-small.png │ │ ├── node-tree-small.svg │ │ ├── node-tree-small@2x.png │ │ └── node-tree-small@3x.png │ ├── none │ │ ├── none.png │ │ ├── none.svg │ │ ├── none@2x.png │ │ ├── none@3x.png │ │ └── noun-none-3548770.svg │ ├── pass │ │ ├── noun_10554_cc.svg │ │ ├── pass.png │ │ ├── pass.svg │ │ ├── pass@2x.png │ │ └── pass@3x.png │ ├── pause │ │ ├── noun_2866_cc.svg │ │ ├── pause.png │ │ ├── pause.svg │ │ ├── pause@2x.png │ │ └── pause@3x.png │ ├── position-valuation │ │ ├── noun-question-mark-2647217.svg │ │ ├── unclear.png │ │ ├── unclear.svg │ │ ├── unclear@2x.png │ │ ├── unclear@3x.png │ │ ├── very-unclear.png │ │ ├── very-unclear.svg │ │ ├── very-unclear@2x.png │ │ └── very-unclear@3x.png │ ├── scoring │ │ ├── noun_8926_cc-modified.svg │ │ ├── noun_8926_cc.svg │ │ ├── scoring.png │ │ ├── scoring.svg │ │ ├── scoring@2x.png │ │ └── scoring@3x.png │ ├── settings │ │ ├── noun_31893_cc.svg │ │ ├── settings.png │ │ ├── settings.svg │ │ ├── settings@2x.png │ │ └── settings@3x.png │ ├── source-code │ │ ├── noun_1171.svg │ │ ├── source-code.png │ │ ├── source-code.svg │ │ ├── source-code@2x.png │ │ └── source-code@3x.png │ ├── thumbs-up-down │ │ ├── bad.png │ │ ├── bad.svg │ │ ├── bad@2x.png │ │ ├── bad@3x.png │ │ ├── good.png │ │ ├── good.svg │ │ ├── good@2x.png │ │ ├── good@3x.png │ │ ├── noun-dislike-3323410.svg │ │ ├── noun-like-3323435.svg │ │ ├── very-bad.png │ │ ├── very-bad.svg │ │ ├── very-bad@2x.png │ │ ├── very-bad@3x.png │ │ ├── very-good.png │ │ ├── very-good.svg │ │ ├── very-good@2x.png │ │ └── very-good@3x.png │ └── trashcan │ │ ├── noun-trash-428421.svg │ │ ├── trashcan.png │ │ ├── trashcan.svg │ │ ├── trashcan@2x.png │ │ └── trashcan@3x.png ├── image │ ├── stones │ │ ├── stone-black.png │ │ ├── stone-crosshair.png │ │ ├── stone-white.png │ │ └── stones.svg │ └── wooden-background-tile.png ├── images.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── appicon-appstore@2x.png │ │ ├── appicon-ipad.png │ │ ├── appicon-ipad@2x.png │ │ ├── appicon-ipadpro@2x.png │ │ ├── appicon-iphone@2x.png │ │ ├── appicon-iphone@3x.png │ │ ├── spotlighticon-ipad.png │ │ ├── spotlighticon-ipad@2x.png │ │ ├── spotlighticon-iphone@2x.png │ │ └── spotlighticon-iphone@3.png │ └── Contents.json ├── openingbook │ └── book.dat ├── plist │ ├── Entitlements.plist │ ├── Info.plist │ └── RegistrationDomainDefaults.plist ├── sound │ ├── wood-on-wood-01.aiff │ └── wood-on-wood-12.aiff ├── storyboard │ └── Launch Screen.storyboard └── text │ ├── Crashlytics-opensource.txt │ └── bug-report-message-template.txt ├── script ├── build-3rdparty-software.sh ├── build-env.sh ├── build-fuego.sh ├── build-sgfckit.sh ├── build-software.sh ├── build-usermanual.sh ├── copy-sgf-files-to-simulator.sh ├── generate-sgf-with-moves.awk ├── makedist.sh └── render-readme.rb ├── sgf ├── 19x19 │ ├── Fuego vs. Fuego.sgf │ ├── handicap-7-komi-0-with-pass-moves.sgf │ ├── markup.sgf │ ├── maximum-number-of-moves.sgf │ └── pu2-gokifu-20110910-Melkisheva_Anastasia-Shikshina_Svetlana.sgf ├── 25x25 │ └── 25x25_single_black_move.sgf ├── 7x7 │ ├── play-b-b7-for-superko.sgf │ └── seki-9b.sgf ├── 9x9 │ ├── 2-passes.sgf │ ├── 3-passes.sgf │ ├── 4-passes.sgf │ ├── 5-passes.sgf │ ├── 9x9_1.sgf │ ├── 9x9_2.sgf │ ├── Anonymous vs. Fuego 1.sgf │ ├── annotations.sgf │ ├── game_050.sgf │ ├── gameinfo.sgf │ ├── illegal-board-setup-test.sgf │ ├── node-tree-view.sgf │ ├── non-alternating-play.sgf │ ├── seki-9b.sgf │ └── setup-variations.sgf ├── Famous games │ ├── Blood-vomiting game.sgf │ ├── Ear-reddening game.sgf │ └── Lee's Broken Ladder Game.sgf ├── Illegal games │ ├── encoding-detection-fails.sgf │ ├── encoding-multiple.sgf │ ├── encoding-unsupported.sgf │ ├── illegal-move.sgf │ ├── illegal-setup.sgf │ ├── not-an-sgf-file.sgf │ ├── not-enough-handicap-stones.sgf │ ├── positional-superko.sgf │ ├── setup-after-first-move.sgf │ ├── setup-before-handicap-setup.sgf │ ├── setup-player-after-first-move.sgf │ ├── situational-superko.sgf │ ├── suicide.sgf │ └── too-many-moves.sgf ├── README.txt └── sgfc │ ├── ff4_ex-rewritten-by-sgfc.sgf │ ├── ff4_ex.sgf │ ├── test-reorder.sgf │ ├── test-strict.sgf │ └── test.sgf ├── src ├── archive │ ├── ArchiveGame.h │ ├── ArchiveGame.m │ ├── ArchiveUtility.h │ ├── ArchiveUtility.m │ ├── ArchiveViewController.h │ ├── ArchiveViewController.m │ ├── ArchiveViewModel.h │ ├── ArchiveViewModel.m │ ├── GameInfoItem.h │ ├── GameInfoItem.m │ ├── GameInfoItemController.h │ ├── GameInfoItemController.m │ ├── ViewGameController.h │ ├── ViewGameController.m │ ├── ViewLoadResultController.h │ ├── ViewLoadResultController.m │ ├── ViewLoadResultMessageController.h │ └── ViewLoadResultMessageController.m ├── command │ ├── AsynchronousCommand.h │ ├── ChangeUIAreaPlayModeCommand.h │ ├── ChangeUIAreaPlayModeCommand.m │ ├── Command.h │ ├── CommandBase.h │ ├── CommandBase.m │ ├── CommandProcessor.h │ ├── CommandProcessor.m │ ├── HandleDocumentInteractionCommand.h │ ├── HandleDocumentInteractionCommand.m │ ├── ResetPlayersAndProfilesCommand.h │ ├── ResetPlayersAndProfilesCommand.m │ ├── SetupApplicationCommand.h │ ├── SetupApplicationCommand.m │ ├── SetupUserManualCommand.h │ ├── SetupUserManualCommand.m │ ├── applicationstate │ │ ├── RestoreApplicationStateCommand.h │ │ ├── RestoreApplicationStateCommand.m │ │ ├── SaveApplicationStateCommand.h │ │ └── SaveApplicationStateCommand.m │ ├── backup │ │ ├── BackupGameToSgfCommand.h │ │ ├── BackupGameToSgfCommand.m │ │ ├── CleanBackupSgfCommand.h │ │ ├── CleanBackupSgfCommand.m │ │ ├── RestoreGameFromSgfCommand.h │ │ ├── RestoreGameFromSgfCommand.m │ │ ├── UnarchiveGameCommand.h │ │ └── UnarchiveGameCommand.m │ ├── boardposition │ │ ├── ChangeAndDiscardCommand.h │ │ ├── ChangeAndDiscardCommand.m │ │ ├── ChangeBoardPositionCommand.h │ │ ├── ChangeBoardPositionCommand.m │ │ ├── PlayCommand.h │ │ ├── PlayCommand.m │ │ ├── SyncGTPEngineCommand.h │ │ └── SyncGTPEngineCommand.m │ ├── boardsetup │ │ ├── DiscardAllSetupCommand.h │ │ ├── DiscardAllSetupCommand.m │ │ ├── HandleBoardSetupInteractionCommand.h │ │ ├── HandleBoardSetupInteractionCommand.m │ │ ├── SetupFirstMoveColorCommand.h │ │ └── SetupFirstMoveColorCommand.m │ ├── diagnostics │ │ ├── GenerateDiagnosticsInformationFileCommand.h │ │ ├── GenerateDiagnosticsInformationFileCommand.m │ │ ├── RestoreBugReportApplicationStateCommand.h │ │ ├── RestoreBugReportApplicationStateCommand.m │ │ ├── RestoreBugReportUserDefaultsCommand.h │ │ └── RestoreBugReportUserDefaultsCommand.m │ ├── game │ │ ├── ContinueGameCommand.h │ │ ├── ContinueGameCommand.m │ │ ├── DeleteGameCommand.h │ │ ├── DeleteGameCommand.m │ │ ├── LoadGameCommand.h │ │ ├── LoadGameCommand.m │ │ ├── NewGameCommand.h │ │ ├── NewGameCommand.m │ │ ├── PauseGameCommand.h │ │ ├── PauseGameCommand.m │ │ ├── RenameGameCommand.h │ │ ├── RenameGameCommand.m │ │ ├── ResumePlayCommand.h │ │ ├── ResumePlayCommand.m │ │ ├── SaveGameCommand.h │ │ └── SaveGameCommand.m │ ├── gtp │ │ ├── InterruptComputerCommand.h │ │ ├── InterruptComputerCommand.m │ │ ├── LoadOpeningBookCommand.h │ │ ├── LoadOpeningBookCommand.m │ │ ├── SetAdditiveKnowledgeTypeCommand.h │ │ └── SetAdditiveKnowledgeTypeCommand.mm │ ├── markup │ │ ├── DiscardAllMarkupCommand.h │ │ ├── DiscardAllMarkupCommand.m │ │ ├── HandleMarkupEditingInteractionCommand.h │ │ └── HandleMarkupEditingInteractionCommand.m │ ├── move │ │ ├── ComputerPlayMoveCommand.h │ │ ├── ComputerPlayMoveCommand.m │ │ ├── ComputerSuggestMoveCommand.h │ │ ├── ComputerSuggestMoveCommand.m │ │ ├── PlayMoveCommand.h │ │ └── PlayMoveCommand.m │ ├── node │ │ ├── ChangeAnnotationDataCommand.h │ │ ├── ChangeAnnotationDataCommand.m │ │ ├── ChangeGameVariationCommand.h │ │ ├── ChangeGameVariationCommand.m │ │ ├── ChangeNodeSelectionAsyncCommand.h │ │ └── ChangeNodeSelectionAsyncCommand.m │ ├── playerinfluence │ │ ├── GenerateTerritoryStatisticsCommand.h │ │ ├── GenerateTerritoryStatisticsCommand.m │ │ ├── ToggleTerritoryStatisticsCommand.h │ │ ├── ToggleTerritoryStatisticsCommand.m │ │ ├── UpdateTerritoryStatisticsCommand.h │ │ └── UpdateTerritoryStatisticsCommand.m │ ├── scoring │ │ ├── ToggleScoringStateOfStoneGroupCommand.h │ │ └── ToggleScoringStateOfStoneGroupCommand.m │ └── sgf │ │ ├── LoadSgfCommand.h │ │ ├── LoadSgfCommand.m │ │ ├── SaveSgfCommand.h │ │ └── SaveSgfCommand.m ├── diagnostics │ ├── BugReportUtilities.h │ ├── BugReportUtilities.m │ ├── CrashReportingHandler.h │ ├── CrashReportingHandler.m │ ├── CrashReportingModel.h │ ├── CrashReportingModel.m │ ├── CrashReportingSettingsController.h │ ├── CrashReportingSettingsController.m │ ├── DiagnosticsViewController.h │ ├── DiagnosticsViewController.m │ ├── GtpCommandModel.h │ ├── GtpCommandModel.m │ ├── GtpCommandViewController.h │ ├── GtpCommandViewController.m │ ├── GtpLogItem.h │ ├── GtpLogItem.m │ ├── GtpLogItemViewController.h │ ├── GtpLogItemViewController.m │ ├── GtpLogModel.h │ ├── GtpLogModel.m │ ├── GtpLogSettingsController.h │ ├── GtpLogSettingsController.m │ ├── GtpLogViewController.h │ ├── GtpLogViewController.m │ ├── LoggingModel.h │ ├── LoggingModel.m │ ├── SendBugReportController.h │ ├── SendBugReportController.m │ ├── SubmitGtpCommandViewController.h │ └── SubmitGtpCommandViewController.m ├── go │ ├── GoBoard.h │ ├── GoBoard.m │ ├── GoBoardPosition.h │ ├── GoBoardPosition.m │ ├── GoBoardRegion.h │ ├── GoBoardRegion.m │ ├── GoGame.h │ ├── GoGame.m │ ├── GoGameAdditions.h │ ├── GoGameDocument.h │ ├── GoGameDocument.m │ ├── GoGameRules.h │ ├── GoGameRules.m │ ├── GoMove.h │ ├── GoMove.m │ ├── GoMoveAdditions.h │ ├── GoMoveNodeCreationOptions.h │ ├── GoMoveNodeCreationOptions.m │ ├── GoNode.h │ ├── GoNode.m │ ├── GoNodeAdditions.h │ ├── GoNodeAnnotation.h │ ├── GoNodeAnnotation.m │ ├── GoNodeCreationOptions.h │ ├── GoNodeCreationOptions.m │ ├── GoNodeMarkup.h │ ├── GoNodeMarkup.m │ ├── GoNodeModel.h │ ├── GoNodeModel.m │ ├── GoNodeSetup.h │ ├── GoNodeSetup.m │ ├── GoPlayer.h │ ├── GoPlayer.m │ ├── GoPoint.h │ ├── GoPoint.m │ ├── GoScore.h │ ├── GoScore.m │ ├── GoUtilities.h │ ├── GoUtilities.m │ ├── GoVertex.h │ ├── GoVertex.m │ ├── GoVertexNumeric.h │ ├── GoVertexNumeric.m │ ├── GoZobristTable.h │ └── GoZobristTable.mm ├── gtp │ ├── GtpClient.h │ ├── GtpClient.mm │ ├── GtpCommand.h │ ├── GtpCommand.m │ ├── GtpEngine.h │ ├── GtpEngine.mm │ ├── GtpResponse.h │ ├── GtpResponse.m │ ├── GtpUtilities.h │ ├── GtpUtilities.m │ ├── PipeStreamBuffer.cpp │ └── PipeStreamBuffer.h ├── help │ ├── UserManualUtilities.h │ ├── UserManualUtilities.m │ ├── UserManualViewController.h │ └── UserManualViewController.m ├── main │ ├── ApplicationDelegate.h │ ├── ApplicationDelegate.mm │ ├── Constants.h │ ├── Constants.m │ ├── DocumentViewController.h │ ├── DocumentViewController.m │ ├── LicensesViewController.h │ ├── LicensesViewController.m │ ├── MagnifyingGlassOwner.h │ ├── MainTabBarController.h │ ├── MainTabBarController.m │ ├── MainUtility.h │ ├── MainUtility.m │ ├── Prefix.pch │ ├── SectionedDocumentViewController.h │ ├── SectionedDocumentViewController.m │ ├── UIAreaInfo.h │ ├── UIAreaInfo.m │ └── main.m ├── newgame │ ├── HandicapSelectionController.h │ ├── HandicapSelectionController.m │ ├── KomiSelectionController.h │ ├── KomiSelectionController.m │ ├── NewGameAdvancedController.h │ ├── NewGameAdvancedController.m │ ├── NewGameController.h │ ├── NewGameController.m │ ├── NewGameModel.h │ └── NewGameModel.m ├── play │ ├── annotationview │ │ ├── AnnotationViewController.h │ │ ├── AnnotationViewController.m │ │ ├── EditEstimatedScoreController.h │ │ ├── EditEstimatedScoreController.m │ │ ├── EditNodeDescriptionController.h │ │ └── EditNodeDescriptionController.m │ ├── boardposition │ │ ├── BoardPositionButtonBoxDataSource.h │ │ ├── BoardPositionButtonBoxDataSource.m │ │ ├── BoardPositionCollectionViewCell.h │ │ ├── BoardPositionCollectionViewCell.m │ │ ├── BoardPositionCollectionViewController.h │ │ ├── BoardPositionCollectionViewController.m │ │ ├── BoardPositionNavigationManager.h │ │ └── BoardPositionNavigationManager.m │ ├── boardview │ │ ├── BoardAnimationController.h │ │ ├── BoardAnimationController.m │ │ ├── BoardTileView.h │ │ ├── BoardTileView.m │ │ ├── BoardView.h │ │ ├── BoardView.m │ │ ├── BoardViewAccessibility.h │ │ ├── BoardViewAccessibility.m │ │ ├── BoardViewController.h │ │ ├── BoardViewController.m │ │ ├── CoordinateLabelsTileView.h │ │ ├── CoordinateLabelsTileView.m │ │ ├── StoneView.h │ │ ├── StoneView.m │ │ └── layer │ │ │ ├── BoardViewCGLayerCache.h │ │ │ ├── BoardViewCGLayerCache.m │ │ │ ├── BoardViewDrawingHelper.h │ │ │ ├── BoardViewDrawingHelper.m │ │ │ ├── BoardViewLayerDelegate.h │ │ │ ├── BoardViewLayerDelegateBase.h │ │ │ ├── BoardViewLayerDelegateBase.m │ │ │ ├── CoordinatesLayerDelegate.h │ │ │ ├── CoordinatesLayerDelegate.m │ │ │ ├── CrossHairLinesLayerDelegate.h │ │ │ ├── CrossHairLinesLayerDelegate.m │ │ │ ├── GridLayerDelegate.h │ │ │ ├── GridLayerDelegate.m │ │ │ ├── InfluenceLayerDelegate.h │ │ │ ├── InfluenceLayerDelegate.m │ │ │ ├── LabelsLayerDelegate.h │ │ │ ├── LabelsLayerDelegate.m │ │ │ ├── RectangleLayerDelegate.h │ │ │ ├── RectangleLayerDelegate.m │ │ │ ├── StonesLayerDelegate.h │ │ │ ├── StonesLayerDelegate.m │ │ │ ├── SymbolsLayerDelegate.h │ │ │ ├── SymbolsLayerDelegate.m │ │ │ ├── TerritoryLayerDelegate.h │ │ │ └── TerritoryLayerDelegate.m │ ├── controller │ │ ├── AutoLayoutConstraintHelper.h │ │ ├── AutoLayoutConstraintHelper.m │ │ ├── DiscardFutureNodesAlertController.h │ │ ├── DiscardFutureNodesAlertController.m │ │ ├── GameInfoViewController.h │ │ ├── GameInfoViewController.m │ │ ├── MoreGameActionsController.h │ │ ├── MoreGameActionsController.m │ │ ├── SoundHandling.h │ │ ├── SoundHandling.m │ │ ├── StatusViewController.h │ │ └── StatusViewController.m │ ├── gameaction │ │ ├── GameActionButtonBoxDataSource.h │ │ ├── GameActionButtonBoxDataSource.m │ │ ├── GameActionManager.h │ │ └── GameActionManager.m │ ├── gesture │ │ ├── BoardViewTapGestureController.h │ │ ├── BoardViewTapGestureController.m │ │ ├── DoubleTapGestureController.h │ │ ├── DoubleTapGestureController.m │ │ ├── PanGestureController.h │ │ ├── PanGestureController.m │ │ ├── TwoFingerTapGestureController.h │ │ ├── TwoFingerTapGestureController.m │ │ └── handler │ │ │ ├── EraseMarkupInRectanglePanGestureHandler.h │ │ │ ├── EraseMarkupInRectanglePanGestureHandler.m │ │ │ ├── MoveMarkupPanGestureHandler.h │ │ │ ├── MoveMarkupPanGestureHandler.m │ │ │ ├── PanGestureHandler.h │ │ │ ├── PanGestureHandler.m │ │ │ ├── PlaceMarkupConnectionPanGestureHandler.h │ │ │ ├── PlaceMarkupConnectionPanGestureHandler.m │ │ │ ├── PlayStonePanGestureHandler.h │ │ │ └── PlayStonePanGestureHandler.m │ ├── model │ │ ├── BoardPositionModel.h │ │ ├── BoardPositionModel.m │ │ ├── BoardSetupModel.h │ │ ├── BoardSetupModel.m │ │ ├── BoardViewIntersection.h │ │ ├── BoardViewIntersection.m │ │ ├── BoardViewMetrics.h │ │ ├── BoardViewMetrics.m │ │ ├── BoardViewModel.h │ │ ├── BoardViewModel.m │ │ ├── GameVariationModel.h │ │ ├── GameVariationModel.m │ │ ├── MarkupModel.h │ │ ├── MarkupModel.m │ │ ├── NavigationBarButtonModel.h │ │ ├── NavigationBarButtonModel.m │ │ ├── NodeTreeViewModel.h │ │ ├── NodeTreeViewModel.m │ │ ├── ScoringModel.h │ │ └── ScoringModel.m │ ├── nodetreeview │ │ ├── NodeNumbersTileView.h │ │ ├── NodeNumbersTileView.m │ │ ├── NodeNumbersView.h │ │ ├── NodeNumbersView.m │ │ ├── NodeTreeTileView.h │ │ ├── NodeTreeTileView.m │ │ ├── NodeTreeView.h │ │ ├── NodeTreeView.m │ │ ├── NodeTreeViewController.h │ │ ├── NodeTreeViewController.m │ │ ├── NodeTreeViewIntegration.h │ │ ├── NodeTreeViewIntegration.m │ │ ├── NodeTreeViewMetrics.h │ │ ├── NodeTreeViewMetrics.m │ │ ├── NodeTreeViewMetricsUpdater.h │ │ ├── NodeTreeViewMetricsUpdater.m │ │ ├── NodeTreeViewTapGestureController.h │ │ ├── NodeTreeViewTapGestureController.m │ │ ├── canvas │ │ │ ├── NodeNumbersViewCell.h │ │ │ ├── NodeNumbersViewCell.m │ │ │ ├── NodeTreeViewBranch.h │ │ │ ├── NodeTreeViewBranch.m │ │ │ ├── NodeTreeViewBranchTuple.h │ │ │ ├── NodeTreeViewBranchTuple.m │ │ │ ├── NodeTreeViewCanvas.h │ │ │ ├── NodeTreeViewCanvas.m │ │ │ ├── NodeTreeViewCanvasAdditions.h │ │ │ ├── NodeTreeViewCanvasData.h │ │ │ ├── NodeTreeViewCanvasData.m │ │ │ ├── NodeTreeViewCanvasDataProvider.h │ │ │ ├── NodeTreeViewCell.h │ │ │ ├── NodeTreeViewCell.m │ │ │ ├── NodeTreeViewCellPosition.h │ │ │ └── NodeTreeViewCellPosition.m │ │ └── layer │ │ │ ├── LinesLayerDelegate.h │ │ │ ├── LinesLayerDelegate.m │ │ │ ├── NodeNumbersLayerDelegate.h │ │ │ ├── NodeNumbersLayerDelegate.m │ │ │ ├── NodeSymbolLayerDelegate.h │ │ │ ├── NodeSymbolLayerDelegate.m │ │ │ ├── NodeTreeViewCGLayerCache.h │ │ │ ├── NodeTreeViewCGLayerCache.m │ │ │ ├── NodeTreeViewDrawingHelper.h │ │ │ ├── NodeTreeViewDrawingHelper.m │ │ │ ├── NodeTreeViewLayerDelegate.h │ │ │ ├── NodeTreeViewLayerDelegateBase.h │ │ │ ├── NodeTreeViewLayerDelegateBase.m │ │ │ ├── SelectedNodeLayerDelegate.h │ │ │ └── SelectedNodeLayerDelegate.m │ ├── rootview │ │ ├── PlayRootViewController.h │ │ ├── PlayRootViewController.m │ │ ├── PlayRootViewControllerPhoneAndPad.h │ │ ├── PlayRootViewControllerPhoneAndPad.m │ │ ├── PlayRootViewControllerPhonePortraitOnly.h │ │ ├── PlayRootViewControllerPhonePortraitOnly.m │ │ ├── PlayRootViewNavigationController.h │ │ └── PlayRootViewNavigationController.m │ └── splitview │ │ ├── LeftPaneViewController.h │ │ ├── LeftPaneViewController.m │ │ ├── RightPaneViewController.h │ │ └── RightPaneViewController.m ├── player │ ├── GtpEngineProfile.h │ ├── GtpEngineProfile.m │ ├── GtpEngineProfileModel.h │ ├── GtpEngineProfileModel.m │ ├── Player.h │ ├── Player.m │ ├── PlayerModel.h │ ├── PlayerModel.m │ ├── PlayerStatistics.h │ └── PlayerStatistics.m ├── settings │ ├── BoardPositionSettingsController.h │ ├── BoardPositionSettingsController.m │ ├── BoardSetupSettingsController.h │ ├── BoardSetupSettingsController.m │ ├── ComputerAssistanceSettingsController.h │ ├── ComputerAssistanceSettingsController.m │ ├── DisplaySettingsController.h │ ├── DisplaySettingsController.m │ ├── EditPlayerProfileController.h │ ├── EditPlayerProfileController.m │ ├── EditPlayingStrengthSettingsController.h │ ├── EditPlayingStrengthSettingsController.m │ ├── EditResignBehaviourSettingsController.h │ ├── EditResignBehaviourSettingsController.m │ ├── GameVariationSettingsController.h │ ├── GameVariationSettingsController.m │ ├── MagnifyingGlassSettingsController.h │ ├── MagnifyingGlassSettingsController.m │ ├── MarkupSettingsController.h │ ├── MarkupSettingsController.m │ ├── MaxMemoryController.h │ ├── MaxMemoryController.m │ ├── NodeTreeViewSettingsController.h │ ├── NodeTreeViewSettingsController.m │ ├── PlayerProfileSettingsController.h │ ├── PlayerProfileSettingsController.m │ ├── ScoringSettingsController.h │ ├── ScoringSettingsController.m │ ├── SettingsViewController.h │ ├── SettingsViewController.m │ ├── SgfDisabledMessagesController.h │ ├── SgfDisabledMessagesController.m │ ├── SgfSettingsController.h │ ├── SgfSettingsController.m │ ├── SgfSyntaxCheckingLevelSettingsController.h │ ├── SgfSyntaxCheckingLevelSettingsController.m │ ├── SoundSettingsController.h │ └── SoundSettingsController.m ├── sgf │ ├── SgfSettingsModel.h │ ├── SgfSettingsModel.m │ ├── SgfUtilities.h │ └── SgfUtilities.m ├── shared │ ├── ApplicationStateManager.h │ ├── ApplicationStateManager.m │ ├── LayoutManager.h │ ├── LayoutManager.m │ ├── LongRunningActionCounter.h │ └── LongRunningActionCounter.m ├── ui │ ├── AutoLayoutUtility.h │ ├── AutoLayoutUtility.m │ ├── ButtonBoxCell.h │ ├── ButtonBoxCell.m │ ├── ButtonBoxController.h │ ├── ButtonBoxController.m │ ├── CGDrawingHelper.h │ ├── CGDrawingHelper.m │ ├── EditTextController.h │ ├── EditTextController.m │ ├── GoDrawingHelper.h │ ├── GoDrawingHelper.m │ ├── ItemPickerController.h │ ├── ItemPickerController.m │ ├── KeyboardHeightAdjustment.h │ ├── KeyboardHeightAdjustment.m │ ├── MagnifyingView.h │ ├── MagnifyingView.m │ ├── MagnifyingViewController.h │ ├── MagnifyingViewController.m │ ├── MagnifyingViewModel.h │ ├── MagnifyingViewModel.m │ ├── OrientationChangeNotifyingView.h │ ├── OrientationChangeNotifyingView.m │ ├── PageViewController.h │ ├── PageViewController.m │ ├── PlaceholderView.h │ ├── PlaceholderView.m │ ├── ResizableStackViewController.h │ ├── ResizableStackViewController.m │ ├── SliderInputController.h │ ├── SliderInputController.m │ ├── SpacerView.h │ ├── SpacerView.m │ ├── SplitViewController.h │ ├── SplitViewController.m │ ├── StaticTableView.h │ ├── StaticTableView.m │ ├── TableViewCellFactory.h │ ├── TableViewCellFactory.m │ ├── TableViewGridCell.h │ ├── TableViewGridCell.m │ ├── TableViewSliderCell.h │ ├── TableViewSliderCell.m │ ├── TableViewVariableHeightCell.h │ ├── TableViewVariableHeightCell.m │ ├── Tile.h │ ├── TiledScrollView.h │ ├── TiledScrollView.m │ ├── UIViewControllerAdditions.h │ ├── UIViewControllerAdditions.m │ ├── UiElementMetrics.h │ ├── UiElementMetrics.m │ ├── UiSettingsModel.h │ ├── UiSettingsModel.m │ ├── UiUtilities.h │ ├── UiUtilities.m │ ├── WebBrowserViewController.h │ └── WebBrowserViewController.m └── utility │ ├── AccessibilityUtility.h │ ├── AccessibilityUtility.m │ ├── DocumentGenerator.h │ ├── DocumentGenerator.m │ ├── ExceptionUtility.h │ ├── ExceptionUtility.m │ ├── FontRange.h │ ├── FontRange.m │ ├── LogFormatter.h │ ├── LogFormatter.m │ ├── MarkupUtilities.h │ ├── MarkupUtilities.mm │ ├── NSArrayAdditions.h │ ├── NSArrayAdditions.m │ ├── NSObjectAdditions.h │ ├── NSObjectAdditions.m │ ├── NSStringAdditions.h │ ├── NSStringAdditions.m │ ├── PathUtilities.h │ ├── PathUtilities.m │ ├── UIColorAdditions.h │ ├── UIColorAdditions.m │ ├── UIDebugging.h │ ├── UIDebugging.m │ ├── UIDeviceAdditions.h │ ├── UIDeviceAdditions.m │ ├── UIImageAdditions.h │ ├── UIImageAdditions.m │ ├── UserDefaultsUpdater.h │ ├── UserDefaultsUpdater.m │ ├── VersionInfoUtilities.h │ └── VersionInfoUtilities.m ├── test ├── resource │ └── Info.plist └── src │ ├── BaseTestCase.h │ ├── BaseTestCase.m │ ├── GoBoardPositionTest.h │ ├── GoBoardPositionTest.m │ ├── GoBoardRegionTest.h │ ├── GoBoardRegionTest.m │ ├── GoBoardTest.h │ ├── GoBoardTest.m │ ├── GoGameRulesTest.h │ ├── GoGameRulesTest.m │ ├── GoGameTest.h │ ├── GoGameTest.m │ ├── GoMoveTest.h │ ├── GoMoveTest.m │ ├── GoNodeAnnotationTest.h │ ├── GoNodeAnnotationTest.m │ ├── GoNodeMarkupTest.h │ ├── GoNodeMarkupTest.m │ ├── GoNodeModelTest.h │ ├── GoNodeModelTest.m │ ├── GoNodeSetupTest.h │ ├── GoNodeSetupTest.m │ ├── GoNodeTest.h │ ├── GoNodeTest.m │ ├── GoPlayerTest.h │ ├── GoPlayerTest.m │ ├── GoPointTest.h │ ├── GoPointTest.m │ ├── GoVertexTest.h │ ├── GoVertexTest.m │ ├── GoZobristTableTest.h │ ├── GoZobristTableTest.m │ ├── NodeTreeViewCanvasTest.h │ ├── NodeTreeViewCanvasTest.m │ ├── NodeTreeViewLayerDelegateBaseTest.h │ └── NodeTreeViewLayerDelegateBaseTest.m └── uitest ├── Info.plist ├── PortraitBasicTest.m ├── UiElementFinder.h ├── UiElementFinder.m ├── UiTestDeviceInfo.h ├── UiTestDeviceInfo.m ├── UiTestHelper.h └── UiTestHelper.m /.gitignore: -------------------------------------------------------------------------------- 1 | # Build products 2 | DerivedData/ 3 | build/ 4 | doxygen/html 5 | 6 | # Xcode workspace 7 | Little Go.xcworkspace/xcuserdata 8 | 9 | # Xcode project 10 | Little Go.xcodeproj/*.pbxuser 11 | Little Go.xcodeproj/*.mode1v3 12 | Little Go.xcodeproj/xcuserdata 13 | # Xcode creates this hidden workspace when someone opens just the 14 | # project (top-level .xcodeproj folder) instead of the workspace 15 | # (top-level .xcworkspace folder). Because the hidden workspace never 16 | # contains anything but the enclosing project, it can be safely ignored. 17 | Little Go.xcodeproj/project.xcworkspace 18 | 19 | # Firebase/Crashlytics files 20 | GoogleService-Info.plist 21 | 22 | # CocoaPods files 23 | Pods/ 24 | 25 | # Folders for local/manual storage of beta test .ipa bundles, 26 | # crash reports and bug reports 27 | dist/ 28 | crash/ 29 | bugreport/ 30 | 31 | # Other files 32 | 3rdparty/src/usermanual/ 33 | 3rdparty/install/ 34 | .DS_Store 35 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "3rdparty/src/fuego-on-ios"] 2 | path = 3rdparty/src/fuego-on-ios 3 | url = git@github.com:herzbube/fuego-on-ios.git 4 | [submodule "3rdparty/src/SgfcKit"] 5 | path = 3rdparty/src/SgfcKit 6 | url = https://github.com/herzbube/SgfcKit 7 | -------------------------------------------------------------------------------- /3rdparty/src/usermanual/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/3rdparty/src/usermanual/.placeholder -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Principal authors 2 | ----------------- 3 | Patrick Näf 4 | 5 | 6 | Contributors 7 | ------------ 8 | Dan Hassin (in-app usability improvements, make the software build simpler for new contributors) 9 | 10 | -------------------------------------------------------------------------------- /Little Go.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Little Go.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /doc/Class diagram of packages go + player.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/doc/Class diagram of packages go + player.jpg -------------------------------------------------------------------------------- /doc/littlego.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/doc/littlego.asta -------------------------------------------------------------------------------- /resource/icon/about/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/about/about.png -------------------------------------------------------------------------------- /resource/icon/about/about@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/about/about@2x.png -------------------------------------------------------------------------------- /resource/icon/about/about@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/about/about@3x.png -------------------------------------------------------------------------------- /resource/icon/about/noun_55404_cc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Created by José Camposfrom the Noun Project -------------------------------------------------------------------------------- /resource/icon/archive/archive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/archive/archive.png -------------------------------------------------------------------------------- /resource/icon/archive/archive@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/archive/archive@2x.png -------------------------------------------------------------------------------- /resource/icon/archive/archive@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/archive/archive@3x.png -------------------------------------------------------------------------------- /resource/icon/changelog/changelog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/changelog/changelog.png -------------------------------------------------------------------------------- /resource/icon/changelog/changelog@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/changelog/changelog@2.png -------------------------------------------------------------------------------- /resource/icon/changelog/changelog@3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/changelog/changelog@3.png -------------------------------------------------------------------------------- /resource/icon/changelog/noun_Changelog_365219.svg: -------------------------------------------------------------------------------- 1 | Slice 1Created with Sketch.Created by Tolga Inamfrom the Noun Project -------------------------------------------------------------------------------- /resource/icon/computer-play/computer-play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/computer-play/computer-play.png -------------------------------------------------------------------------------- /resource/icon/computer-play/computer-play@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/computer-play/computer-play@2x.png -------------------------------------------------------------------------------- /resource/icon/computer-play/computer-play@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/computer-play/computer-play@3x.png -------------------------------------------------------------------------------- /resource/icon/computer-play/noun_123922_cc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | Created by Kunsung Kimfrom the Noun Project -------------------------------------------------------------------------------- /resource/icon/computer-play/noun_2873_cc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | Created by P.J. Onorifrom the Noun Project -------------------------------------------------------------------------------- /resource/icon/computer-suggest-move/computer-suggest-move.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/computer-suggest-move/computer-suggest-move.png -------------------------------------------------------------------------------- /resource/icon/computer-suggest-move/computer-suggest-move@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/computer-suggest-move/computer-suggest-move@2.png -------------------------------------------------------------------------------- /resource/icon/computer-suggest-move/computer-suggest-move@3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/computer-suggest-move/computer-suggest-move@3.png -------------------------------------------------------------------------------- /resource/icon/continue/continue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/continue/continue.png -------------------------------------------------------------------------------- /resource/icon/continue/continue.svg: -------------------------------------------------------------------------------- 1 | 2 | 36 | 37 | 38 | 39 | 40 | 41 | 44 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /resource/icon/continue/continue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/continue/continue@2x.png -------------------------------------------------------------------------------- /resource/icon/continue/continue@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/continue/continue@3x.png -------------------------------------------------------------------------------- /resource/icon/credits/credits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/credits/credits.png -------------------------------------------------------------------------------- /resource/icon/credits/credits@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/credits/credits@2x.png -------------------------------------------------------------------------------- /resource/icon/credits/credits@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/credits/credits@3x.png -------------------------------------------------------------------------------- /resource/icon/diagnostics/diagnostics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/diagnostics/diagnostics.png -------------------------------------------------------------------------------- /resource/icon/diagnostics/diagnostics@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/diagnostics/diagnostics@2x.png -------------------------------------------------------------------------------- /resource/icon/diagnostics/diagnostics@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/diagnostics/diagnostics@3x.png -------------------------------------------------------------------------------- /resource/icon/discard/discard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/discard/discard.png -------------------------------------------------------------------------------- /resource/icon/discard/discard@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/discard/discard@2x.png -------------------------------------------------------------------------------- /resource/icon/discard/discard@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/discard/discard@3x.png -------------------------------------------------------------------------------- /resource/icon/discard/noun_3715.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /resource/icon/dot-symbol/dot-symbol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/dot-symbol/dot-symbol.png -------------------------------------------------------------------------------- /resource/icon/dot-symbol/dot-symbol@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/dot-symbol/dot-symbol@2x.png -------------------------------------------------------------------------------- /resource/icon/dot-symbol/dot-symbol@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/dot-symbol/dot-symbol@3x.png -------------------------------------------------------------------------------- /resource/icon/doubtful/doubtful.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/doubtful/doubtful.png -------------------------------------------------------------------------------- /resource/icon/doubtful/doubtful@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/doubtful/doubtful@2x.png -------------------------------------------------------------------------------- /resource/icon/doubtful/doubtful@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/doubtful/doubtful@3x.png -------------------------------------------------------------------------------- /resource/icon/edit/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/edit/edit.png -------------------------------------------------------------------------------- /resource/icon/edit/edit@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/edit/edit@2x.png -------------------------------------------------------------------------------- /resource/icon/edit/edit@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/edit/edit@3x.png -------------------------------------------------------------------------------- /resource/icon/game-info/game-info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/game-info/game-info.png -------------------------------------------------------------------------------- /resource/icon/game-info/game-info@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/game-info/game-info@2x.png -------------------------------------------------------------------------------- /resource/icon/game-info/game-info@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/game-info/game-info@3x.png -------------------------------------------------------------------------------- /resource/icon/game-info/noun_50837_cc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | Created by Richard Schumannfrom the Noun Project -------------------------------------------------------------------------------- /resource/icon/game-types/computer-vs-computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/game-types/computer-vs-computer.png -------------------------------------------------------------------------------- /resource/icon/game-types/computer-vs-computer@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/game-types/computer-vs-computer@2x.png -------------------------------------------------------------------------------- /resource/icon/game-types/computer-vs-computer@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/game-types/computer-vs-computer@3x.png -------------------------------------------------------------------------------- /resource/icon/game-types/human-vs-computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/game-types/human-vs-computer.png -------------------------------------------------------------------------------- /resource/icon/game-types/human-vs-computer@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/game-types/human-vs-computer@2x.png -------------------------------------------------------------------------------- /resource/icon/game-types/human-vs-computer@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/game-types/human-vs-computer@3x.png -------------------------------------------------------------------------------- /resource/icon/game-types/human-vs-human.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/game-types/human-vs-human.png -------------------------------------------------------------------------------- /resource/icon/game-types/human-vs-human@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/game-types/human-vs-human@2x.png -------------------------------------------------------------------------------- /resource/icon/game-types/human-vs-human@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/game-types/human-vs-human@3x.png -------------------------------------------------------------------------------- /resource/icon/game-types/noun_17845_cc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | Created by Mike Rowefrom the Noun Project -------------------------------------------------------------------------------- /resource/icon/go-motifs/nounproject-originals/noun_go_181272.svg: -------------------------------------------------------------------------------- 1 | Created by Duygu Ozkanfrom the Noun Project -------------------------------------------------------------------------------- /resource/icon/go-motifs/nounproject-originals/noun_go_181273.svg: -------------------------------------------------------------------------------- 1 | Created by Duygu Ozkanfrom the Noun Project -------------------------------------------------------------------------------- /resource/icon/go-motifs/nounproject-originals/noun_go_181276.svg: -------------------------------------------------------------------------------- 1 | Created by Duygu Ozkanfrom the Noun Project -------------------------------------------------------------------------------- /resource/icon/go-motifs/nounproject-originals/noun_go_181277.svg: -------------------------------------------------------------------------------- 1 | Created by Duygu Ozkanfrom the Noun Project -------------------------------------------------------------------------------- /resource/icon/go-motifs/nounproject-originals/noun_go_181279.svg: -------------------------------------------------------------------------------- 1 | Created by Duygu Ozkanfrom the Noun Project -------------------------------------------------------------------------------- /resource/icon/go-motifs/stone-black-and-white-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stone-black-and-white-icon.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stone-black-and-white-icon@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stone-black-and-white-icon@2.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stone-black-and-white-icon@3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stone-black-and-white-icon@3.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stone-black-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stone-black-icon.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stone-black-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stone-black-icon@2x.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stone-black-icon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stone-black-icon@3x.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stone-white-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stone-white-icon.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stone-white-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stone-white-icon@2x.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stone-white-icon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stone-white-icon@3x.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stones-overlapping-black-and-white-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stones-overlapping-black-and-white-icon.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stones-overlapping-black-and-white-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stones-overlapping-black-and-white-icon@2x.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stones-overlapping-black-and-white-icon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stones-overlapping-black-and-white-icon@3x.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stones-overlapping-black-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stones-overlapping-black-icon.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stones-overlapping-black-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stones-overlapping-black-icon@2x.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stones-overlapping-black-icon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stones-overlapping-black-icon@3x.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stones-overlapping-white-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stones-overlapping-white-icon.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stones-overlapping-white-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stones-overlapping-white-icon@2x.png -------------------------------------------------------------------------------- /resource/icon/go-motifs/stones-overlapping-white-icon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/go-motifs/stones-overlapping-white-icon@3x.png -------------------------------------------------------------------------------- /resource/icon/gogrid2x2/gogrid2x2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/gogrid2x2/gogrid2x2.png -------------------------------------------------------------------------------- /resource/icon/gogrid2x2/gogrid2x2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/gogrid2x2/gogrid2x2@2x.png -------------------------------------------------------------------------------- /resource/icon/gogrid2x2/gogrid2x2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/gogrid2x2/gogrid2x2@3x.png -------------------------------------------------------------------------------- /resource/icon/help/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/help/help.png -------------------------------------------------------------------------------- /resource/icon/help/help@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/help/help@2x.png -------------------------------------------------------------------------------- /resource/icon/help/help@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/help/help@3x.png -------------------------------------------------------------------------------- /resource/icon/hotspot/hotspot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/hotspot/hotspot.png -------------------------------------------------------------------------------- /resource/icon/hotspot/hotspot@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/hotspot/hotspot@2x.png -------------------------------------------------------------------------------- /resource/icon/hotspot/hotspot@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/hotspot/hotspot@3x.png -------------------------------------------------------------------------------- /resource/icon/interesting/interesting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/interesting/interesting.png -------------------------------------------------------------------------------- /resource/icon/interesting/interesting@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/interesting/interesting@2x.png -------------------------------------------------------------------------------- /resource/icon/interesting/interesting@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/interesting/interesting@3x.png -------------------------------------------------------------------------------- /resource/icon/interrupt/interrupt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/interrupt/interrupt.png -------------------------------------------------------------------------------- /resource/icon/interrupt/interrupt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/interrupt/interrupt@2x.png -------------------------------------------------------------------------------- /resource/icon/interrupt/interrupt@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/interrupt/interrupt@3x.png -------------------------------------------------------------------------------- /resource/icon/licenses/licenses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/licenses/licenses.png -------------------------------------------------------------------------------- /resource/icon/licenses/licenses@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/licenses/licenses@2x.png -------------------------------------------------------------------------------- /resource/icon/licenses/licenses@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/licenses/licenses@3x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/arrow.png -------------------------------------------------------------------------------- /resource/icon/markup-types/arrow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/arrow@2x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/arrow@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/arrow@3x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/check-mark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/check-mark.png -------------------------------------------------------------------------------- /resource/icon/markup-types/check-mark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/check-mark@2x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/check-mark@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/check-mark@3x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/circle.png -------------------------------------------------------------------------------- /resource/icon/markup-types/circle@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/circle@2x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/circle@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/circle@3x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/cross-mark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/cross-mark.png -------------------------------------------------------------------------------- /resource/icon/markup-types/cross-mark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/cross-mark@2x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/cross-mark@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/cross-mark@3x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/label.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/label.png -------------------------------------------------------------------------------- /resource/icon/markup-types/label@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/label@2x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/label@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/label@3x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/letter-marker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/letter-marker.png -------------------------------------------------------------------------------- /resource/icon/markup-types/letter-marker@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/letter-marker@2x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/letter-marker@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/letter-marker@3x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/line.png -------------------------------------------------------------------------------- /resource/icon/markup-types/line@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/line@2x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/line@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/line@3x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/nounproject-originals/noun-circle-4148559.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /resource/icon/markup-types/nounproject-originals/noun-detail-4148592.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /resource/icon/markup-types/nounproject-originals/noun-square-4148585.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /resource/icon/markup-types/number-marker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/number-marker.png -------------------------------------------------------------------------------- /resource/icon/markup-types/number-marker@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/number-marker@2x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/number-marker@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/number-marker@3x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/square.png -------------------------------------------------------------------------------- /resource/icon/markup-types/square@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/square@2x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/square@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/square@3x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/triangle.png -------------------------------------------------------------------------------- /resource/icon/markup-types/triangle@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/triangle@2x.png -------------------------------------------------------------------------------- /resource/icon/markup-types/triangle@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup-types/triangle@3x.png -------------------------------------------------------------------------------- /resource/icon/markup/markup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup/markup.png -------------------------------------------------------------------------------- /resource/icon/markup/markup@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup/markup@2x.png -------------------------------------------------------------------------------- /resource/icon/markup/markup@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/markup/markup@3x.png -------------------------------------------------------------------------------- /resource/icon/menu/menu-hamburger/menu-hamburger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/menu/menu-hamburger/menu-hamburger.png -------------------------------------------------------------------------------- /resource/icon/menu/menu-hamburger/menu-hamburger@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/menu/menu-hamburger/menu-hamburger@2x.png -------------------------------------------------------------------------------- /resource/icon/menu/menu-hamburger/menu-hamburger@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/menu/menu-hamburger/menu-hamburger@3x.png -------------------------------------------------------------------------------- /resource/icon/menu/menu-hamburger/noun_36901_cc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Created by John Casertafrom the Noun Project -------------------------------------------------------------------------------- /resource/icon/more-game-actions/more-game-actions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/more-game-actions/more-game-actions.png -------------------------------------------------------------------------------- /resource/icon/more-game-actions/more-game-actions@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/more-game-actions/more-game-actions@2x.png -------------------------------------------------------------------------------- /resource/icon/more-game-actions/more-game-actions@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/more-game-actions/more-game-actions@3x.png -------------------------------------------------------------------------------- /resource/icon/more-game-actions/more-game-actons.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /resource/icon/more-game-actions/noun_61422.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /resource/icon/navigation/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/navigation/back.png -------------------------------------------------------------------------------- /resource/icon/navigation/back@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/navigation/back@2x.png -------------------------------------------------------------------------------- /resource/icon/navigation/back@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/navigation/back@3x.png -------------------------------------------------------------------------------- /resource/icon/navigation/forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/navigation/forward.png -------------------------------------------------------------------------------- /resource/icon/navigation/forward@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/navigation/forward@2x.png -------------------------------------------------------------------------------- /resource/icon/navigation/forward@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/navigation/forward@3x.png -------------------------------------------------------------------------------- /resource/icon/navigation/forwardtoend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/navigation/forwardtoend.png -------------------------------------------------------------------------------- /resource/icon/navigation/forwardtoend@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/navigation/forwardtoend@2x.png -------------------------------------------------------------------------------- /resource/icon/navigation/forwardtoend@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/navigation/forwardtoend@3x.png -------------------------------------------------------------------------------- /resource/icon/navigation/noun_45526_cc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | Created by useiconic.comfrom the Noun Project -------------------------------------------------------------------------------- /resource/icon/navigation/rewindtostart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/navigation/rewindtostart.png -------------------------------------------------------------------------------- /resource/icon/navigation/rewindtostart@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/navigation/rewindtostart@2x.png -------------------------------------------------------------------------------- /resource/icon/navigation/rewindtostart@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/navigation/rewindtostart@3x.png -------------------------------------------------------------------------------- /resource/icon/node-tree/node-sequence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/node-tree/node-sequence.png -------------------------------------------------------------------------------- /resource/icon/node-tree/node-sequence@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/node-tree/node-sequence@2x.png -------------------------------------------------------------------------------- /resource/icon/node-tree/node-sequence@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/node-tree/node-sequence@3x.png -------------------------------------------------------------------------------- /resource/icon/node-tree/node-tree-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/node-tree/node-tree-small.png -------------------------------------------------------------------------------- /resource/icon/node-tree/node-tree-small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/node-tree/node-tree-small@2x.png -------------------------------------------------------------------------------- /resource/icon/node-tree/node-tree-small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/node-tree/node-tree-small@3x.png -------------------------------------------------------------------------------- /resource/icon/none/none.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/none/none.png -------------------------------------------------------------------------------- /resource/icon/none/none@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/none/none@2x.png -------------------------------------------------------------------------------- /resource/icon/none/none@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/none/none@3x.png -------------------------------------------------------------------------------- /resource/icon/pass/noun_10554_cc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Created by Alex Fullerfrom the Noun Project -------------------------------------------------------------------------------- /resource/icon/pass/pass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/pass/pass.png -------------------------------------------------------------------------------- /resource/icon/pass/pass.svg: -------------------------------------------------------------------------------- 1 | 2 | 36 | 39 | 44 | 49 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /resource/icon/pass/pass@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/pass/pass@2x.png -------------------------------------------------------------------------------- /resource/icon/pass/pass@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/pass/pass@3x.png -------------------------------------------------------------------------------- /resource/icon/pause/noun_2866_cc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Created by P.J. Onorifrom the Noun Project -------------------------------------------------------------------------------- /resource/icon/pause/pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/pause/pause.png -------------------------------------------------------------------------------- /resource/icon/pause/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 35 | 36 | 51 | 52 | -------------------------------------------------------------------------------- /resource/icon/pause/pause@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/pause/pause@2x.png -------------------------------------------------------------------------------- /resource/icon/pause/pause@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/pause/pause@3x.png -------------------------------------------------------------------------------- /resource/icon/position-valuation/unclear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/position-valuation/unclear.png -------------------------------------------------------------------------------- /resource/icon/position-valuation/unclear@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/position-valuation/unclear@2x.png -------------------------------------------------------------------------------- /resource/icon/position-valuation/unclear@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/position-valuation/unclear@3x.png -------------------------------------------------------------------------------- /resource/icon/position-valuation/very-unclear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/position-valuation/very-unclear.png -------------------------------------------------------------------------------- /resource/icon/position-valuation/very-unclear@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/position-valuation/very-unclear@2x.png -------------------------------------------------------------------------------- /resource/icon/position-valuation/very-unclear@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/position-valuation/very-unclear@3x.png -------------------------------------------------------------------------------- /resource/icon/scoring/scoring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/scoring/scoring.png -------------------------------------------------------------------------------- /resource/icon/scoring/scoring@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/scoring/scoring@2x.png -------------------------------------------------------------------------------- /resource/icon/scoring/scoring@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/scoring/scoring@3x.png -------------------------------------------------------------------------------- /resource/icon/settings/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/settings/settings.png -------------------------------------------------------------------------------- /resource/icon/settings/settings@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/settings/settings@2x.png -------------------------------------------------------------------------------- /resource/icon/settings/settings@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/settings/settings@3x.png -------------------------------------------------------------------------------- /resource/icon/source-code/source-code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/source-code/source-code.png -------------------------------------------------------------------------------- /resource/icon/source-code/source-code@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/source-code/source-code@2x.png -------------------------------------------------------------------------------- /resource/icon/source-code/source-code@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/source-code/source-code@3x.png -------------------------------------------------------------------------------- /resource/icon/thumbs-up-down/bad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/thumbs-up-down/bad.png -------------------------------------------------------------------------------- /resource/icon/thumbs-up-down/bad@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/thumbs-up-down/bad@2x.png -------------------------------------------------------------------------------- /resource/icon/thumbs-up-down/bad@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/thumbs-up-down/bad@3x.png -------------------------------------------------------------------------------- /resource/icon/thumbs-up-down/good.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/thumbs-up-down/good.png -------------------------------------------------------------------------------- /resource/icon/thumbs-up-down/good@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/thumbs-up-down/good@2x.png -------------------------------------------------------------------------------- /resource/icon/thumbs-up-down/good@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/thumbs-up-down/good@3x.png -------------------------------------------------------------------------------- /resource/icon/thumbs-up-down/very-bad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/thumbs-up-down/very-bad.png -------------------------------------------------------------------------------- /resource/icon/thumbs-up-down/very-bad@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/thumbs-up-down/very-bad@2x.png -------------------------------------------------------------------------------- /resource/icon/thumbs-up-down/very-bad@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/thumbs-up-down/very-bad@3x.png -------------------------------------------------------------------------------- /resource/icon/thumbs-up-down/very-good.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/thumbs-up-down/very-good.png -------------------------------------------------------------------------------- /resource/icon/thumbs-up-down/very-good@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/thumbs-up-down/very-good@2x.png -------------------------------------------------------------------------------- /resource/icon/thumbs-up-down/very-good@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/thumbs-up-down/very-good@3x.png -------------------------------------------------------------------------------- /resource/icon/trashcan/noun-trash-428421.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /resource/icon/trashcan/trashcan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/trashcan/trashcan.png -------------------------------------------------------------------------------- /resource/icon/trashcan/trashcan@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/trashcan/trashcan@2x.png -------------------------------------------------------------------------------- /resource/icon/trashcan/trashcan@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/icon/trashcan/trashcan@3x.png -------------------------------------------------------------------------------- /resource/image/stones/stone-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/image/stones/stone-black.png -------------------------------------------------------------------------------- /resource/image/stones/stone-crosshair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/image/stones/stone-crosshair.png -------------------------------------------------------------------------------- /resource/image/stones/stone-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/image/stones/stone-white.png -------------------------------------------------------------------------------- /resource/image/wooden-background-tile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/image/wooden-background-tile.png -------------------------------------------------------------------------------- /resource/images.xcassets/AppIcon.appiconset/appicon-appstore@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/images.xcassets/AppIcon.appiconset/appicon-appstore@2x.png -------------------------------------------------------------------------------- /resource/images.xcassets/AppIcon.appiconset/appicon-ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/images.xcassets/AppIcon.appiconset/appicon-ipad.png -------------------------------------------------------------------------------- /resource/images.xcassets/AppIcon.appiconset/appicon-ipad@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/images.xcassets/AppIcon.appiconset/appicon-ipad@2x.png -------------------------------------------------------------------------------- /resource/images.xcassets/AppIcon.appiconset/appicon-ipadpro@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/images.xcassets/AppIcon.appiconset/appicon-ipadpro@2x.png -------------------------------------------------------------------------------- /resource/images.xcassets/AppIcon.appiconset/appicon-iphone@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/images.xcassets/AppIcon.appiconset/appicon-iphone@2x.png -------------------------------------------------------------------------------- /resource/images.xcassets/AppIcon.appiconset/appicon-iphone@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/images.xcassets/AppIcon.appiconset/appicon-iphone@3x.png -------------------------------------------------------------------------------- /resource/images.xcassets/AppIcon.appiconset/spotlighticon-ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/images.xcassets/AppIcon.appiconset/spotlighticon-ipad.png -------------------------------------------------------------------------------- /resource/images.xcassets/AppIcon.appiconset/spotlighticon-ipad@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/images.xcassets/AppIcon.appiconset/spotlighticon-ipad@2x.png -------------------------------------------------------------------------------- /resource/images.xcassets/AppIcon.appiconset/spotlighticon-iphone@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/images.xcassets/AppIcon.appiconset/spotlighticon-iphone@2x.png -------------------------------------------------------------------------------- /resource/images.xcassets/AppIcon.appiconset/spotlighticon-iphone@3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/images.xcassets/AppIcon.appiconset/spotlighticon-iphone@3.png -------------------------------------------------------------------------------- /resource/images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /resource/plist/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | keychain-access-groups 6 | 7 | $(AppIdentifierPrefix)$(CFBundleIdentifier) 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /resource/sound/wood-on-wood-01.aiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/sound/wood-on-wood-01.aiff -------------------------------------------------------------------------------- /resource/sound/wood-on-wood-12.aiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herzbube/littlego/b043b89bf58569d5c0fb3dd94a5be2371efd87e9/resource/sound/wood-on-wood-12.aiff -------------------------------------------------------------------------------- /resource/text/bug-report-message-template.txt: -------------------------------------------------------------------------------- 1 | Hi, 2 | 3 | I believe I have found a bug in your iOS app Little Go. This is what I have found out about the problem. 4 | 5 | Description: %@ 6 | 7 | Steps to reproduce: 8 | %@ 9 | 10 | Thanks for having a look at this. 11 | -------------------------------------------------------------------------------- /script/render-readme.rb: -------------------------------------------------------------------------------- 1 | #/usr/bin/env ruby 2 | 3 | # Run this script with the following command line 4 | # ruby -rubygems script/render-readme.rb >README.html 5 | # in the project's top-level folder. View the resulting README.html in a browser 6 | # to see how GitHub will render README.mediawiki once it has been pushed. 7 | # 8 | # To install the "github/markup" Ruby gem: 9 | # git clone git://github.com/github/markup.git 10 | # cd markup 11 | # gem install github-markup 12 | # gem install wikicloth 13 | # 14 | # See: https://github.com/github/markup 15 | 16 | require 'github/markup' 17 | file = "README.mediawiki" 18 | renderedOutput = GitHub::Markup.render(file, File.read(file)) 19 | print renderedOutput 20 | -------------------------------------------------------------------------------- /sgf/19x19/handicap-7-komi-0-with-pass-moves.sgf: -------------------------------------------------------------------------------- 1 | (;FF[4]CA[UTF-8]AP[GoGui:1.4.9] 2 | HA[7]DT[2015-06-08] 3 | AB[dp][pd][dd][pp][jj][dj][pj]PL[W];W[hc];B[ib];W[ic];B[jb];W[jc];B[];W[kb]; 4 | B[]) 5 | -------------------------------------------------------------------------------- /sgf/19x19/pu2-gokifu-20110910-Melkisheva_Anastasia-Shikshina_Svetlana.sgf: -------------------------------------------------------------------------------- 1 | (;FF[4]GM[1]SZ[19]ST[2]CA[UTF-8]AP[SGFC:1.16]GN[Russian Women's Championship 2011]EV[Russian Women's Championship 2011]RO[2 round]PB[Shikshina Svetlana]BR[7d]PW[Melkisheva Anastasia]WR[1d]KM[6.5]DT[2011-09-10]PC[Moscow,Russia]RE[B+Resign]TM[3600]OT[3x30 byo-yomi]RU[Japanese]SO[gokifu.com]WC[ru]BC[ru];B[pd];W[dp];B[fq];W[dc];B[qp];W[op];B[mq];W[qq];B[qm];W[rp];B[pq];W[pp];B[qo];W[pr];B[rq];W[oq];B[rr];W[kq];B[iq];W[mp];B[cn];W[cq];B[eo];W[cl];B[em];W[ci];B[bp];W[bq];B[jc];W[qf];B[re];W[qe];B[qd];W[rf];B[rd];W[qj];B[gc];W[ce];B[lq];W[kp];B[lp];W[lo];B[mo];W[np];B[kr];W[ko];B[jr];W[mn];B[md];W[bo];B[co];W[cp];B[bn];W[ap];B[dk];W[ck];B[io];W[fn];B[en];W[hn];B[in];W[gl];B[fo];W[kc];B[jd];W[mc];B[nc];W[ld];B[mb];W[lc];B[me];W[ke];B[je];W[kf];B[ig];W[mf];B[od];W[ne];B[nd];W[nf];B[of];W[og];B[le];W[kd];B[lf];W[kh];B[lg];W[jf];B[if];W[jh];B[il];W[mh];B[lh];W[kj];B[li];W[ij];B[hk];W[dj];B[qh];W[pi];B[pf];W[rh];B[pg];W[qi];B[fk];W[hd];B[hc];W[he];B[ec];W[eb];B[gf];W[ed];B[fe];W[fc];B[df];W[cf];B[dh];W[ch];B[ki];W[ji];B[jk];W[gi];B[hj];W[hi];B[ej];W[jj];B[ll];W[lk];B[on];W[nn];B[kl];W[mk];B[ml];W[om];B[nk];W[hg];B[hf];W[nj];B[ih];W[mj];B[ii];W[ef];B[eg];W[di];B[ei];W[cg];B[oh];W[nh];B[qg];W[rg];B[ol];W[rl];B[nm];W[nr];B[dr];W[cr];B[qr];W[lm];B[mr];W[oo];B[pn];W[dg];B[kn]) -------------------------------------------------------------------------------- /sgf/25x25/25x25_single_black_move.sgf: -------------------------------------------------------------------------------- 1 | (;FF[4]CA[UTF-8]AP[GoGui:1.4.9]SZ[25] 2 | KM[6.5]DT[2015-05-18] 3 | ;B[dd]) 4 | -------------------------------------------------------------------------------- /sgf/7x7/play-b-b7-for-superko.sgf: -------------------------------------------------------------------------------- 1 | (;SZ[7]KM[6.5] 2 | DT[2013-07-26];B[dd];W[dc];B[gf];W[ed];B[ec];W[eb];B[fc];W[cd];B[de] 3 | ;W[cc];B[ef];W[ce];B[bf];W[fb];B[gb];W[fd];B[gd];W[fe];B[ff] 4 | ;W[gc];B[ee];W[cf];B[fc];W[ec];B[fa];W[ea];B[ge];W[bg];B[gc] 5 | ;W[cg];B[db];W[];B[ga];W[];B[da];W[];B[ag];W[];B[af] 6 | ;W[];B[df];W[];B[dg];W[];B[be];W[];B[bd];W[bc];B[ad] 7 | ;W[];B[ac];W[ab];B[cb];W[bb];B[ba];W[ca];B[cb];W[];B[da] 8 | ;W[];B[aa];W[ca]) 9 | -------------------------------------------------------------------------------- /sgf/7x7/seki-9b.sgf: -------------------------------------------------------------------------------- 1 | (;SZ[7] 2 | DT[2013-12-07]KM[6.5];B[ab];W[ac];B[bb];W[bc];B[ba];W[cc];B[cb];W[db] 3 | ;B[dc];W[da];B[ec];W[eb];B[fc];W[fb];B[gc];W[fa];B[gb];W[dd] 4 | ;B[ga];W[cd]) 5 | -------------------------------------------------------------------------------- /sgf/9x9/2-passes.sgf: -------------------------------------------------------------------------------- 1 | (;SZ[9]KM[6.5] 2 | DT[2015-05-25];B[];W[]) 3 | -------------------------------------------------------------------------------- /sgf/9x9/3-passes.sgf: -------------------------------------------------------------------------------- 1 | (;SZ[9]KM[6.5] 2 | DT[2015-05-25];B[];W[];B[]) 3 | -------------------------------------------------------------------------------- /sgf/9x9/4-passes.sgf: -------------------------------------------------------------------------------- 1 | (;SZ[9]KM[6.5] 2 | DT[2015-05-25];B[];W[];B[];W[]) 3 | -------------------------------------------------------------------------------- /sgf/9x9/5-passes.sgf: -------------------------------------------------------------------------------- 1 | (;SZ[9]KM[6.5] 2 | DT[2015-05-25];B[];W[];B[];W[];B[]) 3 | -------------------------------------------------------------------------------- /sgf/9x9/9x9_2.sgf: -------------------------------------------------------------------------------- 1 | ( 2 | ; 3 | SZ[9] 4 | EV[Special event] 5 | RO[2] 6 | PB[Go Seigen] 7 | PW[Miyamoto Naoki] 8 | KM[0] 9 | DT[1968] 10 | PC[Japan] 11 | RE[B+4] 12 | C[This was the second and last game in a two game match on 9x9, 13 | played to try to decide the proper komi for this board size. 14 | ] 15 | ; 16 | B[ee] 17 | ; 18 | W[cc] 19 | ; 20 | B[cd] 21 | ; 22 | W[bd] 23 | ; 24 | B[dc] 25 | ; 26 | W[db] 27 | ; 28 | B[dd] 29 | ; 30 | W[bb] 31 | ; 32 | B[be] 33 | ; 34 | W[fc] 35 | ; 36 | B[ad] 37 | ; 38 | W[bc] 39 | ; 40 | B[gc] 41 | ; 42 | W[fb] 43 | ; 44 | B[fd] 45 | ; 46 | W[eg] 47 | ; 48 | B[dh] 49 | ; 50 | W[dg] 51 | ; 52 | B[cg] 53 | ; 54 | W[eh] 55 | ; 56 | B[gg] 57 | ; 58 | W[ch] 59 | ; 60 | B[bh] 61 | ; 62 | W[di] 63 | ; 64 | B[bg] 65 | ; 66 | W[gh] 67 | ; 68 | B[hh] 69 | ; 70 | W[fg] 71 | ; 72 | B[hg] 73 | ; 74 | W[hi] 75 | ; 76 | B[gb] 77 | ; 78 | W[gf] 79 | ; 80 | B[hf] 81 | ; 82 | W[ge] 83 | ; 84 | B[he] 85 | ; 86 | W[ff] 87 | ; 88 | B[ga] 89 | ; 90 | W[gd] 91 | ; 92 | B[hd] 93 | ; 94 | W[df] 95 | ; 96 | B[cf] 97 | ; 98 | W[fa] 99 | ; 100 | B[ba] 101 | ; 102 | W[cb] 103 | ; 104 | B[da] 105 | ; 106 | W[eb] 107 | ; 108 | B[bi] 109 | ; 110 | W[ci] 111 | ; 112 | B[ac] 113 | ; 114 | W[ab] 115 | ; 116 | B[ae] 117 | ; 118 | W[ca] 119 | ; 120 | B[ih] 121 | ; 122 | ) 123 | -------------------------------------------------------------------------------- /sgf/9x9/Anonymous vs. Fuego 1.sgf: -------------------------------------------------------------------------------- 1 | (;SZ[9] 2 | DT[2011-12-22]KM[6.5] 3 | PW[GoUctPlayer];B[fb];W[dg]) 4 | -------------------------------------------------------------------------------- /sgf/9x9/annotations.sgf: -------------------------------------------------------------------------------- 1 | (;FF[4]CA[UTF-8]GM[1]SZ[9]AP[SGFC:1.18] 2 | N[This game contains node annotation and move annotation properties] 3 | ;B[aa]N[Good for black node annotation]GB[1] 4 | ;W[ab]N[Very good for black node annotation]GB[2] 5 | ;B[ac]N[Good for white node annotation]GW[1] 6 | ;W[ad]N[Very good for white node annotation]GW[2] 7 | ;B[ae]N[Even node annotation]DM[1] 8 | ;W[af]N[Very even node annotation]DM[2] 9 | ;B[ag]N[Unclear node annotation]UC[1] 10 | ;W[ah]N[Very unclear node annotation]UC[2] 11 | ;B[ba]N[Good move annotation]TE[1] 12 | ;W[bb]N[Very good move annotation]TE[2] 13 | ;B[bc]N[Bad move annotation]BM[1] 14 | ;W[bd]N[Very bad move annotation]BM[2] 15 | ;B[be]N[Interesting move annotation]IT[] 16 | ;W[bg]N[Doubtful move annotation]DO[] 17 | ;B[ca]N[Node name]C[Comment] 18 | ;W[cb]N[Hotspot node annotation]HO[1] 19 | ;B[cc]N[Emphasized hotspot node annotation]HO[2] 20 | ;W[cd]N[Estimated score (black wins) node annotation]V[42.5] 21 | ;B[ce]N[Estimated score (white wins) node annotation]V[-42.5] 22 | ;W[cf]N[Estimated score (game is tied) node annotation]V[0] 23 | ;B[cg]N[Combined annotations]C[Node with a combination of all possible node and move annotations]GB[2]IT[]V[42.5]HO[2] 24 | ;W[da]N[Hotspot node annotation and move that captures stones]HO[1] 25 | ;N[Nodes from here on contain no moves and no node title] 26 | ;GB[1] 27 | ;HO[1] 28 | ;GW[2]HO[2] 29 | ) 30 | -------------------------------------------------------------------------------- /sgf/9x9/game_050.sgf: -------------------------------------------------------------------------------- 1 | ( 2 | ; 3 | FF[4] 4 | SZ[9] 5 | PB[Kurahashi Masayuki] 6 | BR[2p] 7 | PW[Sasaka Shiro] 8 | WR[1p] 9 | KM[5.5] 10 | DT[1988-10-08] 11 | PC[Japan] 12 | RE[B+R] 13 | SO[http://gobase.org/9x9/book/] 14 | AP[sgf2misc:3.1.9] 15 | ;B[ee];W[gd];B[fc];W[gg];B[eg];W[gc];B[gh];W[ff];B[ef];W[ce] 16 | ;B[cc];W[bc];B[bb];W[cd];B[dc];W[ch];B[be];W[bf];B[bd];W[ae] 17 | ;B[ac];W[eh];B[fh];W[dg];B[ei];W[df];B[hf];W[fb];B[dh];W[ci] 18 | ;B[eb];W[fd];B[ec];W[hg];B[gf];W[if];B[he];W[hd];B[fe];W[ge] 19 | ;B[fg];W[ie];B[ff];W[ha];B[fa];W[ib];B[gb];W[hb];B[ih];W[ig] 20 | ;B[hh];W[id];B[di];W[ga];B[bh];W[cg];B[de] 21 | ) 22 | -------------------------------------------------------------------------------- /sgf/9x9/illegal-board-setup-test.sgf: -------------------------------------------------------------------------------- 1 | (;SZ[9] 2 | DT[2019-01-30]KM[0.5]; 3 | AB[hi][ch][gh][ih][bg][cg][dg][eg][cf][hf][if][hd][id][ab][aa] 4 | AW[ci][bh][dh][hh][ag][bf][df][ce][he][ie][ac][hc][bb][gb][ib][ca][ha]) 5 | -------------------------------------------------------------------------------- /sgf/9x9/non-alternating-play.sgf: -------------------------------------------------------------------------------- 1 | (;SZ[9] 2 | DT[2012-02-10]KM[6.5] 3 | PW[GoUctPlayer];B[df];W[ee];B[cd];W[ef];B[ed];W[de];B[ce];W[dd];B[ec] 4 | ;W[dc];B[cc];W[dg];B[ge];W[fd];B[fc];W[gd];B[fe];W[he];B[fg] 5 | ;W[ff];B[gf];W[gg];B[gc];W[hf];B[cg];W[db];B[eb];W[dh];B[ch] 6 | ;W[cf];B[bf];W[hc];B[hb];W[ib];B[gb];W[ha];B[da];W[ca] 7 | (;B[cb];W[ea];B[fa];W[da];B[ba];W[bb];W[ge] 8 | (;B[di];W[ei];B[ci];W[eh];B[bc];W[];B[ab];W[bg];B[bh];W[ah] 9 | ;B[ag];W[];B[df];W[eg];B[cf];W[];B[ga];W[];B[ia];W[ic] 10 | ;B[];W[]) 11 | (;B[eh];W[ei])) 12 | (;B[ea];W[cb]) 13 | (;B[df];W[cb])) 14 | -------------------------------------------------------------------------------- /sgf/9x9/seki-9b.sgf: -------------------------------------------------------------------------------- 1 | (;SZ[7] 2 | DT[2013-12-07]KM[6.5];B[ab];W[ac];B[bb];W[bc];B[ba];W[cc];B[cb];W[db] 3 | ;B[dc];W[da];B[ec];W[eb];B[fc];W[fb];B[gc];W[fa];B[gb];W[dd] 4 | ;B[ga];W[cd]) 5 | -------------------------------------------------------------------------------- /sgf/Famous games/Lee's Broken Ladder Game.sgf: -------------------------------------------------------------------------------- 1 | (;DT[2003-04-23]EV[3rd Korean KAT Cup] 2 | PB[Lee Sedol]PW[Hong Jansik] 3 | KM[6.5]RE[B+R]SO[Go4Go.net] 4 | ;B[pd];W[dd];B[pq];W[po];B[pl];W[mp];B[oo];W[on];B[no];W[pp] 5 | ;B[nq];W[nn];B[mo];W[qq];B[oq];W[qr];B[pn];W[pm];B[qn];W[qm] 6 | ;B[ro];W[qo];B[rn];W[rm];B[rp];W[qp];B[om];W[rk];B[qk];W[rl] 7 | ;B[rq];W[rr];B[sr];W[sn];B[sm];W[sl];B[rj];W[so];B[sq];W[rs] 8 | ;B[fd];W[ol];B[df];W[db];B[nm];W[mn];B[lo];W[mm];B[nl];W[dq] 9 | ;B[ok];W[km];B[iq];W[co];B[nc];W[cf];B[ec];W[de];B[dc];W[cc] 10 | ;B[cb];W[bb];B[cg];W[dg];B[ef];W[ce];B[dh];W[eg];B[fg];W[eh] 11 | ;B[ei];W[fh];B[lm];W[ml];B[gh];W[fi];B[fj];W[gi];B[hi];W[gj] 12 | ;B[gk];W[hj];B[ij];W[hk];B[hl];W[ik];B[jk];W[il];B[im];W[jl] 13 | ;B[kl];W[jm];B[jn];W[kn];B[ln];W[ko];B[mk];W[kk];B[lk];W[cl] 14 | ;B[kj];W[kp];B[dl];W[cm];B[eq];W[ep];B[fp];W[fq];B[er];W[gp] 15 | ;B[fo];W[gq];B[go];W[dr];B[dn];W[eo];B[cn];W[en];B[dm];W[cj] 16 | ;B[do];W[dp];B[ck];W[bk];B[dk];W[bl];B[cp];W[di];B[bo];W[bq] 17 | ;B[cq];W[br];B[cr];W[cs];B[bp];W[bn];B[em];W[fn];B[an];W[bm] 18 | ;B[bs];W[as];B[gn];W[fm];B[fl];W[gm];B[hm];W[ho];B[hn];W[fr] 19 | ;B[gl];W[es];B[io];W[ek];B[ej];W[hp];B[kq];W[jp];B[ip];W[jq] 20 | ;B[jr];W[kr];B[hr];W[lq];B[dj];W[ci];B[aq];W[gs];B[ap];W[ds] 21 | ;B[gr];W[js];B[ir];W[qc];B[qd];W[rd];B[re];W[rb];B[sd];W[sc] 22 | ;B[rc];W[ss];B[ll];W[rd];B[bj];W[bi];B[rc];W[on];B[nn];W[rd] 23 | ;B[se];W[pc];B[oc];W[hd];B[eb];W[ca];B[jd];W[qe];B[rc];W[jc] 24 | ;B[sb];W[kd];B[ic];W[id];B[je];W[hc];B[kc];W[ib];B[kb];W[hg] 25 | ;B[jg]) 26 | -------------------------------------------------------------------------------- /sgf/Illegal games/encoding-detection-fails.sgf: -------------------------------------------------------------------------------- 1 | (CA[UTF-8])(;FF[4]CA[ISO-8859-3]) 2 | -------------------------------------------------------------------------------- /sgf/Illegal games/encoding-multiple.sgf: -------------------------------------------------------------------------------- 1 | (;FF[4]GM[1]CA[UTF-8]) 2 | (;FF[4]GM[1]CA[ISO-8859-1]) 3 | -------------------------------------------------------------------------------- /sgf/Illegal games/encoding-unsupported.sgf: -------------------------------------------------------------------------------- 1 | (;FF[4]GM[1]CA[foo] 2 | -------------------------------------------------------------------------------- /sgf/Illegal games/illegal-move.sgf: -------------------------------------------------------------------------------- 1 | (;SZ[9] 2 | DT[2012-06-27]KM[0.5] 3 | PW[GoUctPlayer];B[df];W[ee];B[gc];W[de];B[ef];W[fe];B[gg];W[gf];B[ec] 4 | ;W[fg];B[ff];W[gh] 5 | (;B[hg];W[gd];B[hd];W[hd];B[eg];W[fh];B[ce];W[cd];B[be];W[eh] 6 | (;B[cg];W[fc];B[fb];W[dc];B[fd];W[ge];B[hc];W[ch];B[bh];W[db] 7 | ;B[dh];W[bd];B[ad];W[ac];B[ae];W[cf];B[bf];W[hb];B[ib];W[ha] 8 | ;B[eb];W[ea] 9 | (;B[ga];W[gb];B[fa];W[ed];B[ia];W[id];B[hb];W[bb];B[hh]; 10 | C[White resigned]) 11 | (;B[fa];W[ed])) 12 | (;B[ch];W[cf];B[dg];W[bf])) 13 | (;B[hh];W[hg])) 14 | -------------------------------------------------------------------------------- /sgf/Illegal games/illegal-setup.sgf: -------------------------------------------------------------------------------- 1 | (;FF[4]GM[1]AB[aa][ab]AW[ac][ba][bb]) 2 | -------------------------------------------------------------------------------- /sgf/Illegal games/not-an-sgf-file.sgf: -------------------------------------------------------------------------------- 1 | this is not an .sgf file -------------------------------------------------------------------------------- /sgf/Illegal games/not-enough-handicap-stones.sgf: -------------------------------------------------------------------------------- 1 | (;FF[4]GM[1]HA[3]) 2 | -------------------------------------------------------------------------------- /sgf/Illegal games/positional-superko.sgf: -------------------------------------------------------------------------------- 1 | (;FF[4]CA[UTF-8]AP[GoGui:1.4.9]SZ[11] 2 | KM[6.5]DT[2014-01-04] 3 | ;B[dc];W[ef];B[dd];W[ff];B[de];W[gf];B[df];W[hf];B[cg];W[eh] 4 | ;B[eg];W[fh];B[dh];W[gh];B[di];W[hh];B[dj];W[gg];B[dk];W[ig] 5 | ;B[fg];W[dg];B[eg]) 6 | -------------------------------------------------------------------------------- /sgf/Illegal games/setup-after-first-move.sgf: -------------------------------------------------------------------------------- 1 | (;FF[4]GM[1];B[aa];AB[bb]) 2 | -------------------------------------------------------------------------------- /sgf/Illegal games/setup-before-handicap-setup.sgf: -------------------------------------------------------------------------------- 1 | (;FF[4]GM[1]AB[bb];HA[1]AB[aa]) 2 | -------------------------------------------------------------------------------- /sgf/Illegal games/setup-player-after-first-move.sgf: -------------------------------------------------------------------------------- 1 | (;FF[4]GM[1];B[aa];PL[B]) 2 | -------------------------------------------------------------------------------- /sgf/Illegal games/situational-superko.sgf: -------------------------------------------------------------------------------- 1 | (;FF[4]CA[UTF-8]AP[GoGui:1.4.9]SZ[9] 2 | KM[6.5]DT[2014-01-04] 3 | ;B[ad];W[ac];B[bd];W[ab];B[cd];W[ba];B[cc];W[ae];B[cb];W[be] 4 | ;B[bb];W[ce];B[db];W[dd];B[da];W[dc];B[];W[eb];B[];W[ea] 5 | ;B[];W[ca];B[aa];W[ba]) 6 | -------------------------------------------------------------------------------- /sgf/Illegal games/suicide.sgf: -------------------------------------------------------------------------------- 1 | (;FF[4]CA[UTF-8]AP[GoGui:1.4.9] 2 | KM[6.5]DT[2015-06-08] 3 | ;B[ab];W[];B[ba];W[aa]) 4 | -------------------------------------------------------------------------------- /sgf/sgfc/test-reorder.sgf: -------------------------------------------------------------------------------- 1 | (;GM[1]C[a](;B[ab]C[a11](;W[cc]C[a21]) 2 | (;W[fb]C[a22](;C[a221]) 3 | (;C[a222])) 4 | (;B[fb]C[a23])) 5 | (;W[ab]C[a12]) 6 | (;B[ab]C[a13])) 7 | 8 | (;GM[1]C[b];B[aa]C[b01];W[cg]C[b02] 9 | (;B[ab]C[b11];M[aa]C[e1];M[aa]C[e2] 10 | (;W[cc]C[b21];M[aa]C[e3];M[aa]C[e4]) 11 | (;W[fb]C[b22];M[aa]C[e5];M[aa]C[e6]) 12 | (;B[fb]C[b23];M[aa]C[e7];M[aa]C[e8])) 13 | (;W[ab]C[b12];M[aa]C[e9];M[aa]C[e10]) 14 | (;B[ab]C[b13];M[aa]C[e11];M[aa]C[e12])) 15 | 16 | -------------------------------------------------------------------------------- /sgf/sgfc/test-strict.sgf: -------------------------------------------------------------------------------- 1 | (;GM[1]HA[2]) 2 | (;GM[1]HA[2]AB[aa][bb]) 3 | (;GM[1]AB[aa][ab]) 4 | (;GM[1]HA[2]AB[aa][ab]AW[cc]) 5 | (;GM[1]HA[2]AW[aa][ab]) 6 | 7 | (;GM[1];B[aa];W[cc];B[dd]) 8 | (;GM[1];W[bb];B[aa];C[empty];W[cc];B[dd]) 9 | (;GM[1];B[aa];W[cc];B[dd];C[empty];B[ee]) 10 | (;GM[1];B[aa];W[cc];B[dd];C[empty];AB[ee]) 11 | (;GM[1];B[aa];W[cc];AE[cc];B[ee]) 12 | (;GM[1];B[aa];W[cg](;B[ab];W[cc];AE[ab];W[gh]) 13 | (;W[ab];B[cc];AW[cb];W[ff]) 14 | (;B[ab];W[cc];AE[ab];W[dd];B[ee])) 15 | 16 | -------------------------------------------------------------------------------- /src/archive/ArchiveUtility.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2014-2016 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The ArchiveUtility class is a container for various utility functions 20 | /// related to handling of archived games 21 | /// 22 | /// All functions in ArchiveUtility are class methods, so there is no need to 23 | /// create an instance of ArchiveUtility. 24 | // ----------------------------------------------------------------------------- 25 | @interface ArchiveUtility : NSObject 26 | { 27 | } 28 | 29 | + (enum ArchiveGameNameValidationResult) validateGameName:(NSString*)name; 30 | + (void) showAlertForFailedGameNameValidation:(enum ArchiveGameNameValidationResult)validationResult 31 | alertPresenter:(UIViewController*)presenter; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /src/archive/ArchiveViewController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2016 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Forward declarations 19 | @class ArchiveViewModel; 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The ArchiveViewController class is responsible for managing user 24 | /// interaction on the "Archive" view. 25 | // ----------------------------------------------------------------------------- 26 | @interface ArchiveViewController : UIViewController 27 | { 28 | } 29 | 30 | /// @brief The model that manages data used by the ArchiveView. 31 | @property(nonatomic, assign) ArchiveViewModel* archiveViewModel; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /src/archive/GameInfoItemController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2021 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Forward declarations 19 | @class GameInfoItem; 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The GameInfoItemController class is responsible for managing user 24 | /// interaction on the "Game info item" view. 25 | /// 26 | /// The "Game info item" view displays information associated with a 27 | /// GameInfoItem object. The view is a generic UITableView whose input elements 28 | /// are created dynamically by GameInfoItemController. 29 | // ----------------------------------------------------------------------------- 30 | @interface GameInfoItemController : UITableViewController 31 | { 32 | } 33 | 34 | + (GameInfoItemController*) controllerWithGameInfoItem:(GameInfoItem*)gameInfoItem; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /src/command/SetupApplicationCommand.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2013 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "CommandBase.h" 20 | #import "AsynchronousCommand.h" 21 | 22 | 23 | // ----------------------------------------------------------------------------- 24 | /// @brief The SetupApplicationCommand class is responsible for setting up the 25 | /// application environment during the application launch cycle. 26 | /// 27 | /// SetupApplicationCommand is executed asynchronously (unless the executor is 28 | /// another asynchronous command). 29 | // ----------------------------------------------------------------------------- 30 | @interface SetupApplicationCommand : CommandBase 31 | { 32 | } 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /src/command/backup/CleanBackupSgfCommand.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "CommandBase.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The CleanBackupSgfCommand class is responsible for removing the 24 | /// backup file created by BackupGameToSgfCommand. 25 | // ----------------------------------------------------------------------------- 26 | @interface CleanBackupSgfCommand : CommandBase 27 | { 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /src/command/backup/RestoreGameFromSgfCommand.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2013 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "../CommandBase.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The RestoreGameFromSgfCommand class is responsible for restoring a 24 | /// game during application startup from an .sgf file that was previously 25 | /// created by BackupGameToSgfCommand. 26 | /// 27 | /// RestoreGameFromSgfCommand fails if no backup .sgf file exists. 28 | /// 29 | /// @see BackupGameToSgfCommand. 30 | /// @see ApplicationStateManager. 31 | // ----------------------------------------------------------------------------- 32 | @interface RestoreGameFromSgfCommand : CommandBase 33 | { 34 | } 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /src/command/game/ContinueGameCommand.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "../CommandBase.h" 20 | 21 | // Forward declarations 22 | @class GoGame; 23 | 24 | 25 | // ----------------------------------------------------------------------------- 26 | /// @brief The ContinueGameCommand class is responsible for continuing the game 27 | /// if it is paused while two computer players play against each other. 28 | /// 29 | /// @see PauseGameCommand. 30 | // ----------------------------------------------------------------------------- 31 | @interface ContinueGameCommand : CommandBase 32 | { 33 | } 34 | 35 | - (id) init; 36 | 37 | @property(nonatomic, retain) GoGame* game; 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /src/command/game/DeleteGameCommand.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "CommandBase.h" 20 | 21 | // Forward declarations 22 | @class ArchiveGame; 23 | 24 | 25 | // ----------------------------------------------------------------------------- 26 | /// @brief The DeleteGameCommand class is responsible for deleting an .sgf file 27 | /// in the documents folder. 28 | // ----------------------------------------------------------------------------- 29 | @interface DeleteGameCommand : CommandBase 30 | { 31 | } 32 | 33 | - (id) initWithGame:(ArchiveGame*)aGame; 34 | 35 | @property(nonatomic, retain) ArchiveGame* game; 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /src/command/game/PauseGameCommand.m: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2013 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "PauseGameCommand.h" 20 | #import "../../go/GoGame.h" 21 | 22 | 23 | @implementation PauseGameCommand 24 | 25 | // ----------------------------------------------------------------------------- 26 | /// @brief Executes this command. See the class documentation for details. 27 | // ----------------------------------------------------------------------------- 28 | - (bool) doIt 29 | { 30 | GoGame* game = [GoGame sharedGame]; 31 | if (GoGameTypeComputerVsComputer != game.type) 32 | { 33 | DDLogError(@"%@: Unexpected game type %d", [self shortDescription], game.type); 34 | return false; 35 | } 36 | [game pause]; 37 | return true; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /src/command/game/RenameGameCommand.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "CommandBase.h" 20 | 21 | // Forward declarations 22 | @class ArchiveGame; 23 | 24 | 25 | // ----------------------------------------------------------------------------- 26 | /// @brief The RenameGameCommand class is responsible for renaming an .sgf file 27 | /// in the documents folder. 28 | // ----------------------------------------------------------------------------- 29 | @interface RenameGameCommand : CommandBase 30 | { 31 | } 32 | 33 | - (id) initWithGame:(ArchiveGame*)aGame newName:(NSString*)aNewName; 34 | 35 | @property(nonatomic, retain) ArchiveGame* game; 36 | @property(nonatomic, retain) NSString* theNewName; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /src/command/gtp/InterruptComputerCommand.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2013 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "CommandBase.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The InterruptComputerCommand class is responsible for interrupting 24 | /// the computer if it is currently thinking. 25 | /// 26 | /// The Research document has detailed information on how Fuego handles 27 | /// interrupts. 28 | // ----------------------------------------------------------------------------- 29 | @interface InterruptComputerCommand : CommandBase 30 | { 31 | } 32 | 33 | - (id) init; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /src/diagnostics/CrashReportingHandler.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2016-2021 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Forward declarations 19 | @class CrashReportingModel; 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The CrashReportingHandler class customizes the default process for 24 | /// submitting crash reports according to the user preferences in 25 | /// CrashReportingModel. 26 | // ----------------------------------------------------------------------------- 27 | @interface CrashReportingHandler : NSObject 28 | { 29 | } 30 | 31 | - (id) initWithModel:(CrashReportingModel*)crashReportingModel; 32 | 33 | - (void) handleUnsentCrashReportsOrDoNothing; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /src/diagnostics/CrashReportingModel.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2013 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The CrashReportingModel class provides user defaults data to its 20 | /// clients that describes the behaviour of the crash reporting service. 21 | // ----------------------------------------------------------------------------- 22 | @interface CrashReportingModel : NSObject 23 | { 24 | } 25 | 26 | - (id) init; 27 | - (void) readUserDefaults; 28 | - (void) writeUserDefaults; 29 | 30 | @property(nonatomic, assign) bool collectCrashData; 31 | @property(nonatomic, assign) bool automaticReport; 32 | @property(nonatomic, assign) bool allowContact; 33 | @property(nonatomic, retain) NSString* contactEmail; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /src/diagnostics/CrashReportingSettingsController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2013 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "../ui/EditTextController.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The CrashReportingSettingsController class is responsible for 24 | /// managing user interaction on the "Crash Report" user preferences view. 25 | // ----------------------------------------------------------------------------- 26 | @interface CrashReportingSettingsController : UITableViewController 27 | { 28 | } 29 | 30 | + (CrashReportingSettingsController*) controller; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /src/diagnostics/DiagnosticsViewController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2014 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The DiagnosticsViewController class is responsible for managing user 20 | /// interaction on the "Diagnostics" view. 21 | // ----------------------------------------------------------------------------- 22 | @interface DiagnosticsViewController : UITableViewController 23 | { 24 | } 25 | 26 | + (DiagnosticsViewController*) controller; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /src/diagnostics/GtpCommandViewController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2014 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "../ui/EditTextController.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The GtpCommandViewController class is responsible for managing user 24 | /// interaction on the "GTP Commands" view. 25 | // ----------------------------------------------------------------------------- 26 | @interface GtpCommandViewController : UITableViewController 27 | { 28 | } 29 | 30 | + (GtpCommandViewController*) controller; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /src/diagnostics/GtpLogSettingsController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2012 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The GtpLogSettingsController class is responsible for managing user 20 | /// interaction on the "Gtp Log Settings" view. 21 | // ----------------------------------------------------------------------------- 22 | @interface GtpLogSettingsController : UITableViewController 23 | { 24 | } 25 | 26 | + (GtpLogSettingsController*) controller; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /src/diagnostics/LoggingModel.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2013 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The LoggingModel class provides user defaults data to its clients 20 | /// that is relevant for the logging service. 21 | // ----------------------------------------------------------------------------- 22 | @interface LoggingModel : NSObject 23 | { 24 | } 25 | 26 | - (void) readUserDefaults; 27 | - (void) writeUserDefaults; 28 | 29 | @property(nonatomic, assign) bool loggingEnabled; 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /src/diagnostics/SubmitGtpCommandViewController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2014 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "../ui/EditTextController.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The SubmitGtpCommandViewController class is responsible for managing 24 | /// user interaction on the "Submit GTP command" view. 25 | // ----------------------------------------------------------------------------- 26 | @interface SubmitGtpCommandViewController : UIViewController 27 | { 28 | } 29 | 30 | + (SubmitGtpCommandViewController*) controller; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /src/go/GoGameAdditions.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2023-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "GoGame.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The GoGameAdditions category enhances GoGame by adding methods for 24 | /// unit testing support. 25 | /// 26 | /// @ingroup go 27 | // ----------------------------------------------------------------------------- 28 | @interface GoGame(GoGameAdditions) 29 | 30 | /// @name Unit testing 31 | //@{ 32 | - (void) play:(GoPoint*)point; 33 | - (void) pass; 34 | //@} 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /src/go/GoMoveAdditions.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2022-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "GoMove.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The GoMoveAdditions category enhances GoMove by adding methods for 24 | /// unit testing support. 25 | /// 26 | /// @ingroup go 27 | // ----------------------------------------------------------------------------- 28 | @interface GoMove(GoMoveAdditions) 29 | 30 | /// @name Unit testing 31 | //@{ 32 | - (void) setMoveNumber:(int)moveNumber; 33 | //@} 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /src/go/GoVertexNumeric.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2014 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief Helper struct to bind the numeric compounds of a GoVertex together. 20 | /// 21 | /// @ingroup go 22 | // ----------------------------------------------------------------------------- 23 | struct GoVertexNumeric 24 | { 25 | int x; ///< @brief Horizontal axis compound of the vertex. 26 | int y; ///< @brief Vertical axis compound of the vertex. 27 | }; 28 | 29 | // Helper functions 30 | extern bool GoVertexNumericEqualToVertex(struct GoVertexNumeric vertex1, struct GoVertexNumeric vertex2); 31 | -------------------------------------------------------------------------------- /src/go/GoVertexNumeric.m: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2014 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "GoVertexNumeric.h" 20 | 21 | 22 | bool GoVertexNumericEqualToVertex(struct GoVertexNumeric vertex1, struct GoVertexNumeric vertex2) 23 | { 24 | if (vertex1.x != vertex2.x) 25 | return false; 26 | if (vertex1.y != vertex2.y) 27 | return false; 28 | return true; 29 | } 30 | -------------------------------------------------------------------------------- /src/gtp/GtpUtilities.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2013 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Forward classes 19 | @class Player; 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The GtpUtilities class is a container for various utility functions 24 | /// related to the GTP module. 25 | /// 26 | /// @ingroup gtp 27 | /// 28 | /// All functions in GtpUtilities are class methods, so there is no need to 29 | /// create an instance of GtpUtilities. 30 | // ----------------------------------------------------------------------------- 31 | @interface GtpUtilities : NSObject 32 | { 33 | } 34 | 35 | + (Player*) playerProvidingActiveProfile; 36 | + (void) setupComputerPlayer; 37 | + (void) startPondering; 38 | + (void) stopPondering; 39 | + (void) restorePondering; 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /src/help/UserManualUtilities.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The UserManualUtilities class is a container for various utility 20 | /// functions related to managing the user manual. 21 | /// 22 | /// All functions in UserManualUtilities are class methods, so there is no need 23 | /// to create an instance of UserManualUtilities. 24 | // ----------------------------------------------------------------------------- 25 | @interface UserManualUtilities : NSObject 26 | { 27 | } 28 | 29 | + (NSString*) userManualBaseFolderPath; 30 | + (NSString*) filePathForUserManualFileNamed:(NSString*)fileName fileExists:(BOOL*)fileExists; 31 | + (NSString*) userManualEntryPointFilePath; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /src/help/UserManualViewController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | 19 | // ----------------------------------------------------------------------------- 20 | /// @brief The UserManualViewController class is responsible for displaying the 21 | /// user manual and managing user interaction on the "Help" view. 22 | // ----------------------------------------------------------------------------- 23 | @interface UserManualViewController : UIViewController 24 | { 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /src/main/LicensesViewController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2014 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | 19 | // ----------------------------------------------------------------------------- 20 | /// @brief The LicensesViewController class is responsible for managing a table 21 | /// view that lists license documents. 22 | // ----------------------------------------------------------------------------- 23 | @interface LicensesViewController : UITableViewController 24 | { 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /src/main/Prefix.pch: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | #ifdef __OBJC__ 18 | // System includes 19 | #import 20 | #import 21 | #import 22 | #if defined(LITTLEGO_UNITTESTS) || defined(LITTLEGO_UITESTS) 23 | #import 24 | #endif 25 | #import 26 | 27 | // Library includes 28 | #ifndef LITTLEGO_UITESTS 29 | #import 30 | #import 31 | #endif 32 | #if ! defined(LITTLEGO_UNITTESTS) && ! defined(LITTLEGO_UITESTS) 33 | #import // for FIRApp 34 | #import // for FIRCrashlytics 35 | #endif 36 | 37 | // Project includes 38 | #import "Constants.h" 39 | #endif 40 | -------------------------------------------------------------------------------- /src/main/SectionedDocumentViewController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2015 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | 19 | // ----------------------------------------------------------------------------- 20 | /// @brief The SectionedDocumentViewController class is responsible for managing 21 | /// a table view that lists the sections in a structured text file. The text 22 | /// file is parsed internally by a DocumentGenerator instance. 23 | // ----------------------------------------------------------------------------- 24 | @interface SectionedDocumentViewController : UITableViewController 25 | { 26 | } 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /src/main/UIAreaInfo.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2015 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The UIAreaInfo category adds a property to UIViewController that 20 | /// allows to associate the view controller with an UIArea value. 21 | // ----------------------------------------------------------------------------- 22 | @interface UIViewController(UIAreaInfo) 23 | 24 | /// @brief The UIArea value associated with this view controller. If not 25 | /// explicitly set the default value of this property is #UIAreaUnknown. 26 | @property(nonatomic, assign) enum UIArea uiArea; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /src/main/UIAreaInfo.m: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2015 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "UIAreaInfo.h" 20 | 21 | // System includes 22 | #import 23 | 24 | // Constants 25 | NSString* associatedUIAreaObjectKey = @"AssociatedUIAreaObject"; 26 | 27 | 28 | @implementation UIViewController(UIAreaInfo) 29 | 30 | - (enum UIArea) uiArea 31 | { 32 | NSNumber* uiAreaAsNumber = objc_getAssociatedObject(self, associatedUIAreaObjectKey); 33 | if (uiAreaAsNumber) 34 | return [uiAreaAsNumber intValue]; 35 | else 36 | return UIAreaUnknown; 37 | } 38 | 39 | - (void) setUiArea:(enum UIArea)uiArea 40 | { 41 | objc_setAssociatedObject(self, associatedUIAreaObjectKey, [NSNumber numberWithInt:uiArea], OBJC_ASSOCIATION_RETAIN); 42 | } 43 | 44 | @end -------------------------------------------------------------------------------- /src/main/main.m: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2014 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | // Project includes 18 | #import "ApplicationDelegate.h" 19 | 20 | 21 | int main(int argc, char *argv[]) 22 | { 23 | @autoreleasepool 24 | { 25 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([ApplicationDelegate class])); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/play/boardview/StoneView.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2021 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Forward declarations 19 | @class BoardViewMetrics; 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The StoneView class is a custom view that draws a single black or 24 | /// white stone without symbols of any kind, in exactly the same size and 25 | /// appearance as does the BoardView. 26 | // ----------------------------------------------------------------------------- 27 | @interface StoneView : UIView 28 | { 29 | } 30 | 31 | - (id) initWithFrame:(CGRect)frame stoneColor:(enum GoColor)stoneColor metrics:(BoardViewMetrics*)metrics; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /src/play/boardview/layer/CrossHairLinesLayerDelegate.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2014 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "BoardViewLayerDelegateBase.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The CrossHairLinesLayerDelegate class is responsible for drawing the 24 | /// lines of the cross-hair that indicates to the user during stone placement 25 | /// where the stone would be placed. 26 | // ----------------------------------------------------------------------------- 27 | @interface CrossHairLinesLayerDelegate : BoardViewLayerDelegateBase 28 | { 29 | } 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /src/play/boardview/layer/GridLayerDelegate.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2014 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "BoardViewLayerDelegateBase.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The GridLayerDelegate class is responsible for drawing the line grid 24 | /// on the Go board. 25 | // ----------------------------------------------------------------------------- 26 | @interface GridLayerDelegate : BoardViewLayerDelegateBase 27 | { 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /src/play/boardview/layer/StonesLayerDelegate.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2014 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "BoardViewLayerDelegateBase.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The StonesLayerDelegate class is responsible for drawing stones on 24 | /// the Go board. 25 | // ----------------------------------------------------------------------------- 26 | @interface StonesLayerDelegate : BoardViewLayerDelegateBase 27 | { 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /src/play/controller/DiscardFutureNodesAlertController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2013-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "../gameaction/GameActionManager.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The DiscardFutureNodesAlertController class displays an alert and 24 | /// executes a command, working as a delegate on behalf of GameActionManager. 25 | // ----------------------------------------------------------------------------- 26 | @interface DiscardFutureNodesAlertController : NSObject 27 | { 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /src/play/gesture/BoardViewTapGestureController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2013-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Forward declarations 19 | @class BoardView; 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The BoardViewTapGestureController class is responsible for managing 24 | /// the tap gesture on the Go board. Tapping is used to place stones during game 25 | /// setup prior to the first move, and to mark dead stones during scoring. 26 | // ----------------------------------------------------------------------------- 27 | @interface BoardViewTapGestureController : NSObject 28 | { 29 | } 30 | 31 | @property(nonatomic, assign) BoardView* boardView; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /src/play/gesture/handler/PlayStonePanGestureHandler.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2022-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "PanGestureHandler.h" 20 | 21 | // Forward declarations 22 | @class BoardView; 23 | 24 | 25 | NS_ASSUME_NONNULL_BEGIN 26 | 27 | // ----------------------------------------------------------------------------- 28 | /// @brief The PlayStonePanGestureHandler class implements handling of a pan 29 | /// gesture that attempts to place a stone on the board. 30 | // ----------------------------------------------------------------------------- 31 | @interface PlayStonePanGestureHandler : PanGestureHandler 32 | { 33 | } 34 | 35 | - (id) initWithBoardView:(BoardView*)boardView; 36 | 37 | @end 38 | 39 | NS_ASSUME_NONNULL_END 40 | -------------------------------------------------------------------------------- /src/play/model/BoardPositionModel.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2012-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The BoardPositionModel class provides user defaults data to its 20 | /// clients that is related to board position viewing. 21 | // ----------------------------------------------------------------------------- 22 | @interface BoardPositionModel : NSObject 23 | { 24 | } 25 | 26 | - (id) init; 27 | - (void) readUserDefaults; 28 | - (void) writeUserDefaults; 29 | 30 | @property(nonatomic, assign) bool discardFutureNodesAlert; 31 | @property(nonatomic, assign) bool markNextMove; 32 | @property(nonatomic, assign) bool discardMyLastMove; 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /src/play/model/GameVariationModel.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2023-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The GameVariationModel class provides user defaults data and other 20 | /// values to its clients that are related to game variations. 21 | // ----------------------------------------------------------------------------- 22 | @interface GameVariationModel : NSObject 23 | { 24 | } 25 | 26 | - (id) init; 27 | 28 | - (void) readUserDefaults; 29 | - (void) writeUserDefaults; 30 | 31 | @property(nonatomic, assign) enum GoNewMoveInsertPolicy newMoveInsertPolicy; 32 | @property(nonatomic, assign) enum GoNewMoveInsertPosition newMoveInsertPosition; 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /src/play/nodetreeview/NodeNumbersView.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2023-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "../../ui/TiledScrollView.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The NodeNumbersView class subclasses TiledScrollView to add updater 24 | /// methods that initiate redrawing of tiles. 25 | // ----------------------------------------------------------------------------- 26 | @interface NodeNumbersView : TiledScrollView 27 | { 28 | } 29 | 30 | - (void) updateColors; 31 | - (void) removeNotificationResponders; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /src/play/nodetreeview/NodeTreeViewTapGestureController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2022-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Forward declarations 19 | @class NodeTreeView; 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The NodeTreeViewTapGestureController class is responsible for 24 | /// managing the tap gesture on the node tree view. Tapping is used to change 25 | /// the node selection. 26 | // ----------------------------------------------------------------------------- 27 | @interface NodeTreeViewTapGestureController : NSObject 28 | { 29 | } 30 | 31 | @property(nonatomic, assign) NodeTreeView* nodeTreeView; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /src/play/nodetreeview/layer/LinesLayerDelegate.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2022-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "NodeTreeViewLayerDelegateBase.h" 20 | 21 | // Forward declarations 22 | @class NodeTreeViewCanvas; 23 | 24 | 25 | // ----------------------------------------------------------------------------- 26 | /// @brief The LinesLayerDelegate class is responsible for drawing the 27 | /// connection lines between the nodes of the node tree. 28 | // ----------------------------------------------------------------------------- 29 | @interface LinesLayerDelegate : NodeTreeViewLayerDelegateBase 30 | { 31 | } 32 | 33 | - (id) initWithTile:(id)tile 34 | metrics:(NodeTreeViewMetrics*)metrics 35 | canvas:(NodeTreeViewCanvas*)nodeTreeViewCanvas; 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /src/play/nodetreeview/layer/NodeSymbolLayerDelegate.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2022-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "NodeTreeViewLayerDelegateBase.h" 20 | 21 | // Forward declarations 22 | @class NodeTreeViewCanvas; 23 | 24 | 25 | // ----------------------------------------------------------------------------- 26 | /// @brief The NodeSymbolLayerDelegate class is responsible for drawing the 27 | /// symbols that represent nodes. 28 | // ----------------------------------------------------------------------------- 29 | @interface NodeSymbolLayerDelegate : NodeTreeViewLayerDelegateBase 30 | { 31 | } 32 | 33 | - (id) initWithTile:(id)tile 34 | metrics:(NodeTreeViewMetrics*)metrics 35 | canvas:(NodeTreeViewCanvas*)nodeTreeViewCanvas; 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /src/play/rootview/PlayRootViewNavigationController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2015-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "../gameaction/GameActionManager.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The PlayRootViewNavigationController class is a 24 | /// UINavigationController that handles the special navigational needs of 25 | /// #UIAreaPlay for #UITypePhonePortraitOnly and #UITypePad. 26 | // ----------------------------------------------------------------------------- 27 | @interface PlayRootViewNavigationController : UINavigationController 28 | { 29 | } 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /src/play/splitview/LeftPaneViewController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2013-2021 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The LeftPaneViewController class manages a simple container view 20 | /// intended to be displayed as the left pane of a split view (i.e. the view 21 | /// managed by UISplitViewController). 22 | /// 23 | /// LeftPaneViewController is a container view controller. It is used for 24 | /// #UITypePad (both Portrait and Landscape) and #UITypePhone (Landscape only). 25 | // ----------------------------------------------------------------------------- 26 | @interface LeftPaneViewController : UIViewController 27 | { 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /src/settings/BoardPositionSettingsController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2012-2013 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The BoardPositionSettingsController class is responsible for managing 20 | /// user interaction on the "Board position" user preferences view. 21 | // ----------------------------------------------------------------------------- 22 | @interface BoardPositionSettingsController : UITableViewController 23 | { 24 | } 25 | 26 | + (BoardPositionSettingsController*) controller; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /src/settings/BoardSetupSettingsController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2019 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The BoardSetupSettingsController class is responsible for managing 20 | /// user interaction on the "Board setup" user preferences view. 21 | // ----------------------------------------------------------------------------- 22 | @interface BoardSetupSettingsController : UITableViewController 23 | { 24 | } 25 | 26 | + (BoardSetupSettingsController*) controller; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /src/settings/ComputerAssistanceSettingsController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2021 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "../ui/ItemPickerController.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The ComputerAssistanceSettingsController class is responsible for 24 | /// managing user interaction on the "Computer assistance" user preferences 25 | /// view. 26 | // ----------------------------------------------------------------------------- 27 | @interface ComputerAssistanceSettingsController : UITableViewController 28 | { 29 | } 30 | 31 | + (ComputerAssistanceSettingsController*) controller; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /src/settings/DisplaySettingsController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2014 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The DisplaySettingsController class is responsible for managing user 20 | /// interaction on the "Display" user preferences view. 21 | // ----------------------------------------------------------------------------- 22 | @interface DisplaySettingsController : UITableViewController 23 | { 24 | } 25 | 26 | + (DisplaySettingsController*) controller; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /src/settings/GameVariationSettingsController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2023-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "../ui/ItemPickerController.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The GameVariationSettingsController class is responsible for 24 | /// managing user interaction on the "Game variation" user preferences view. 25 | // ----------------------------------------------------------------------------- 26 | @interface GameVariationSettingsController : UITableViewController 27 | { 28 | } 29 | 30 | + (GameVariationSettingsController*) controller; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /src/settings/MagnifyingGlassSettingsController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2013-2015 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "../ui/ItemPickerController.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The MagnifyingGlassSettingsController class is responsible for 24 | /// managing user interaction on the "Magnifying Glass" user preferences view. 25 | // ----------------------------------------------------------------------------- 26 | @interface MagnifyingGlassSettingsController : UITableViewController 27 | { 28 | } 29 | 30 | + (MagnifyingGlassSettingsController*) controller; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /src/settings/MarkupSettingsController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2022-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "../ui/ItemPickerController.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The MarkupSettingsController class is responsible for managing user 24 | /// interaction on the "Markup" user preferences view. 25 | // ----------------------------------------------------------------------------- 26 | @interface MarkupSettingsController : UITableViewController 27 | { 28 | } 29 | 30 | + (MarkupSettingsController*) controller; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /src/settings/NodeTreeViewSettingsController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2022-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "../ui/ItemPickerController.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The NodeTreeViewSettingsController class is responsible for managing 24 | /// user interaction on the "Tree view" user preferences view. 25 | // ----------------------------------------------------------------------------- 26 | @interface NodeTreeViewSettingsController : UITableViewController 27 | { 28 | } 29 | 30 | + (NodeTreeViewSettingsController*) controller; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /src/settings/PlayerProfileSettingsController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2021 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "EditPlayerProfileController.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The PlayerProfileSettingsController class is responsible for managing 24 | /// user interaction on the "Players & Profiles" user preferences view. 25 | // ----------------------------------------------------------------------------- 26 | @interface PlayerProfileSettingsController : UITableViewController 27 | { 28 | } 29 | 30 | + (PlayerProfileSettingsController*) controller; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /src/settings/ScoringSettingsController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "../ui/ItemPickerController.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The ScoringSettingsController class is responsible for managing user 24 | /// interaction on the "Scoring" user preferences view. 25 | // ----------------------------------------------------------------------------- 26 | @interface ScoringSettingsController : UITableViewController 27 | { 28 | } 29 | 30 | + (ScoringSettingsController*) controller; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /src/settings/SoundSettingsController.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2013 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The SoundSettingsController class is responsible for managing user 20 | /// interaction on the "Sound & Vibration" user preferences view. 21 | // ----------------------------------------------------------------------------- 22 | @interface SoundSettingsController : UITableViewController 23 | { 24 | } 25 | 26 | + (SoundSettingsController*) controller; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /src/ui/ButtonBoxCell.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2015 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The ButtonBoxCell class is a private class used by 20 | /// ButtonBoxController to host a single UIButton. 21 | // ----------------------------------------------------------------------------- 22 | @interface ButtonBoxCell : UICollectionViewCell 23 | { 24 | } 25 | 26 | - (void) setupWithButton:(UIButton*)button; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /src/ui/Tile.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2014-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The Tile protocol defines the interface that tile views displayed 20 | /// by TiledScrollView must implement. 21 | /// 22 | /// The tile with row/column = 0/0 is in the upper-left corner. 23 | // ----------------------------------------------------------------------------- 24 | @protocol Tile 25 | 26 | /// @brief Invalidates the content currently displayed by the tile. 27 | /// 28 | /// The tile should redraw its content in response to this method being invoked. 29 | - (void) invalidateContent; 30 | 31 | @property(nonatomic, assign) int row; 32 | @property(nonatomic, assign) int column; 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /src/utility/NSArrayAdditions.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2022-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Forward declarations 19 | @class NSArray; 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The NSArrayAdditions category enhances NSArray by adding a number 24 | /// of useful class and instance methods. 25 | /// 26 | /// @ingroup utility 27 | // ----------------------------------------------------------------------------- 28 | @interface NSArray(NSArrayAdditions) 29 | + (NSArray*) arrayWithArrayInReverseOrder:(NSArray*)otherArray; 30 | - (BOOL) isEqualToArrayIgnoringOrder:(NSArray*)otherArray; 31 | - (NSArray*) intersectionWithArray:(NSArray*)otherArray; 32 | @end 33 | -------------------------------------------------------------------------------- /src/utility/NSObjectAdditions.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2022-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Forward declarations 19 | @class NSObject; 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The NSObjectAdditions category enhances NSObject by adding a number 24 | /// of useful class and instance methods. 25 | /// 26 | /// @ingroup utility 27 | // ----------------------------------------------------------------------------- 28 | @interface NSObject(NSObjectAdditions) 29 | 30 | - (void) performBlockOnMainThread:(void(^)(void))callback afterDelay:(double)delayInSeconds; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /src/utility/UIDebugging.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | 19 | // ----------------------------------------------------------------------------- 20 | /// @brief The UIDebugging class is a container for functions that help with 21 | /// debugging and inspecting UI elements. 22 | /// 23 | /// @ingroup utility 24 | // ----------------------------------------------------------------------------- 25 | @interface UIDebugging : NSObject 26 | { 27 | } 28 | 29 | + (void) inspect:(UIView*)view; 30 | + (void) inspectWithSubviews:(UIView*)view; 31 | + (void) inspectWithTree:(UIView*)view; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /src/utility/UIDeviceAdditions.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2013 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Forward declarations 19 | @class UIDevice; 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The UIDeviceAdditions category enhances UIDevice by adding a number 24 | /// of useful class methods. 25 | /// 26 | /// @ingroup utility 27 | // ----------------------------------------------------------------------------- 28 | @interface UIDevice(UIDeviceAdditions) 29 | + (NSArray*) deviceSuffixes; 30 | + (NSString*) currentDeviceSuffix; 31 | + (int) systemVersionMajor; 32 | + (int) physicalMemoryMegabytes; 33 | @end 34 | -------------------------------------------------------------------------------- /src/utility/VersionInfoUtilities.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2013 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The VersionInfoUtilities class is a container for various utility 20 | /// functions that provide version information about the application bundle. 21 | /// 22 | /// All functions in VersionInfoUtilities are class methods, so there is no 23 | /// need to create an instance of VersionInfoUtilities. 24 | // ----------------------------------------------------------------------------- 25 | @interface VersionInfoUtilities : NSObject 26 | { 27 | } 28 | 29 | + (NSString*) applicationName; 30 | + (NSString*) applicationVersion; 31 | + (NSString*) applicationCopyright; 32 | + (NSDate*) buildDateTime; 33 | + (NSString*) buildDateTimeString; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /test/resource/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /test/src/GoBoardPositionTest.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2013-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "BaseTestCase.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The GoBoardPositionTest class contains unit tests that exercise the 24 | /// GoBoardPosition class. 25 | // ----------------------------------------------------------------------------- 26 | @interface GoBoardPositionTest : BaseTestCase 27 | { 28 | } 29 | 30 | - (void) testInitialState; 31 | - (void) testChangeToLastBoardPositionWithoutUpdatingGoObjects; 32 | - (void) testCurrentBoardPosition; 33 | - (void) testCurrentNode; 34 | - (void) testIsFirstPosition; 35 | - (void) testIsLastPosition; 36 | - (void) testNumberOfBoardPositions; 37 | - (void) testBoardPositionChangeProgress; 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /test/src/GoBoardTest.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2012 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "BaseTestCase.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The GoBoardTest class contains unit tests that exercise the GoBoard 24 | /// class. 25 | // ----------------------------------------------------------------------------- 26 | @interface GoBoardTest : BaseTestCase 27 | { 28 | } 29 | 30 | - (void) testInitialState; 31 | - (void) testBoardWithDefaultSize; 32 | - (void) testBoardWithSize; 33 | - (void) testStringForSize; 34 | - (void) testPointEnumerator; 35 | - (void) testPointAtVertex; 36 | - (void) testNeighbourOfInDirection; 37 | - (void) testPointAtCorner; 38 | - (void) testStarPoints; 39 | - (void) testRegions; 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /test/src/GoGameRulesTest.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2013 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "BaseTestCase.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The GoGameRulesTest class contains unit tests that exercise the 24 | /// GoGameRules class. 25 | // ----------------------------------------------------------------------------- 26 | @interface GoGameRulesTest : BaseTestCase 27 | { 28 | } 29 | 30 | - (void) testInitialState; 31 | - (void) testNonDefaultRules; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /test/src/GoMoveTest.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "BaseTestCase.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The GoMoveTest class contains unit tests that exercise the GoMove 24 | /// class. 25 | // ----------------------------------------------------------------------------- 26 | @interface GoMoveTest : BaseTestCase 27 | { 28 | } 29 | 30 | - (void) testMoveByAfter; 31 | - (void) testPoint; 32 | - (void) testCapturedStones; 33 | - (void) testCapturedStonesHandicapAndSetup; 34 | - (void) testDoIt; 35 | - (void) testUndo; 36 | - (void) testMoveNumber; 37 | - (void) testGoMoveValuation; 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /test/src/GoPlayerTest.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2012 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "BaseTestCase.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The GoPlayerTest class contains unit tests that exercise the GoPlayer 24 | /// class. 25 | // ----------------------------------------------------------------------------- 26 | @interface GoPlayerTest : BaseTestCase 27 | { 28 | } 29 | 30 | - (void) testInitialState; 31 | - (void) testDefaultBlackWhitePlayer; 32 | - (void) testInvalidDefaultBlackWhitePlayer; 33 | - (void) testBlackWhitePlayer; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /test/src/GoPointTest.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2012 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "BaseTestCase.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The GoPointTest class contains unit tests that exercise the GoPoint 24 | /// class. 25 | // ----------------------------------------------------------------------------- 26 | @interface GoPointTest : BaseTestCase 27 | { 28 | } 29 | 30 | - (void) testInitialState; 31 | - (void) testPointAtVertexOnBoard; 32 | - (void) testNeighbours; 33 | - (void) testStarPoint; 34 | - (void) testStoneState; 35 | - (void) testLiberties; 36 | - (void) testIsEqualToPoint; 37 | - (void) testNeighbourRegionsWithColor; 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /test/src/GoVertexTest.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2019 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The GoVertexTest class contains unit tests that exercise the 20 | /// GoVertex class. 21 | // ----------------------------------------------------------------------------- 22 | @interface GoVertexTest : XCTestCase 23 | { 24 | } 25 | 26 | - (void) testVertexFromNumeric; 27 | - (void) testVertexFromString; 28 | - (void) testIsEqualToVertex; 29 | - (void) testUnusedLetterI; 30 | - (void) testLowerCaseString; 31 | - (void) testBorderCases; 32 | - (void) testIllegalInputValues; 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /test/src/GoZobristTableTest.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2011-2024 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // Project includes 19 | #import "BaseTestCase.h" 20 | 21 | 22 | // ----------------------------------------------------------------------------- 23 | /// @brief The GoZobristTableTest class contains unit tests that exercise the 24 | /// GoZobristTable class. 25 | // ----------------------------------------------------------------------------- 26 | @interface GoZobristTableTest : BaseTestCase 27 | { 28 | } 29 | 30 | - (void) testInitialState; 31 | - (void) testHashForBoard; 32 | - (void) testHashForHandicapStonesInGame; 33 | - (void) testHashForNodeInGame; 34 | - (void) testHashForSetup; 35 | - (void) testHashForStone; 36 | - (void) testHashForLastMoveEqualsHashForBoard; 37 | - (void) testHashAfterPass; 38 | - (void) testHashAfterUndoAndRedo; 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /uitest/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /uitest/UiTestDeviceInfo.h: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------------- 2 | // Copyright 2019 Patrick Näf (herzbube@herzbube.ch) 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ----------------------------------------------------------------------------- 16 | 17 | 18 | // ----------------------------------------------------------------------------- 19 | /// @brief The UiTestDeviceInfo class is used by user interface tests (UI tests) 20 | /// to obtain characteristics about the device under test. 21 | // ----------------------------------------------------------------------------- 22 | 23 | @interface UiTestDeviceInfo : NSObject 24 | 25 | - (id) initWithUiApplication:(XCUIApplication*)app; 26 | 27 | @property(nonatomic, assign, readonly) enum UIType uiType; 28 | @property(nonatomic, assign, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations; 29 | 30 | @end 31 | --------------------------------------------------------------------------------