<pre style='margin:0'>
Frank Schima (mf2k) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/02787ac957388d8bc0c3b1677b739ef29bdeb5ed">https://github.com/macports/macports-ports/commit/02787ac957388d8bc0c3b1677b739ef29bdeb5ed</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 02787ac 2048.cpp: new port
</span>02787ac is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 02787ac957388d8bc0c3b1677b739ef29bdeb5ed
</span>Author: Chen Guokai <chenguokai17@mails.ucas.ac.cn>
AuthorDate: Tue Mar 31 18:24:45 2020 +0800
<span style='display:block; white-space:pre;color:#404040;'> 2048.cpp: new port
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> * add 2048.cpp as a new port
</span><span style='display:block; white-space:pre;color:#404040;'> * selfassign maintainer
</span>---
games/2048.cpp/Portfile | 30 ++++++++++
games/2048.cpp/files/data_path.diff | 111 ++++++++++++++++++++++++++++++++++++
2 files changed, 141 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/games/2048.cpp/Portfile b/games/2048.cpp/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..c01fe15
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/games/2048.cpp/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,30 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup cmake 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup plibither8 2048.cpp 81c0eebaa2e575c7c7943c01958b88896c9da852
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 2019-12-12
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories games
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers {mails.ucas.ac.cn:chenguokai17 @chenguokai} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license MIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description Fully featured terminal version of the game "2048" written in C++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description Fully featured terminal version of the game "2048" written in C++ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ which is made to run natively on the GNU/Linux and MacOS platforms.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles data_path.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 3f1b6aae943e70ac79d107dd899762313ff2ce66 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 e5746f6505220d62f1c250456731c632d6d2e820f6a66313bc2940dbd2e1dcbd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 4205777
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+notes "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If you run 2048 binary from a directory other than ${prefix}/bin,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+it is likely that this game fails to save scores. It is expected, since upstream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+code takes a relative path. Wait for any upstream updates.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/games/2048.cpp/files/data_path.diff b/games/2048.cpp/files/data_path.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..2d3aa17
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/games/2048.cpp/files/data_path.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,111 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ CMakeLists.txt 2020-04-03 14:36:08.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -31,4 +31,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- DESTINATION ${CMAKE_INSTALL_PREFIX})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DESTINATION ${CMAKE_INSTALL_PREFIX}/var/2048.cpp/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DIRECTORY_PERMISSIONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OWNER_WRITE OWNER_READ OWNER_EXECUTE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GROUP_WRITE GROUP_READ GROUP_EXECUTE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ WORLD_WRITE WORLD_READ WORLD_EXECUTE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PATTERN "data/*"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GROUP_WRITE GROUP_READ GROUP_EXECUTE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ WORLD_WRITE WORLD_READ WORLD_EXECUTE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/game-pregamemenu.cpp.ori 2020-03-31 17:44:45.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/game-pregamemenu.cpp 2020-03-31 17:41:34.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -127,8 +127,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ load_gameboard_status_t initialiseContinueBoardArray() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using namespace Loader;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- constexpr auto gameboard_data_filename = "../data/previousGame";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- constexpr auto game_stats_data_filename = "../data/previousGameStats";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ constexpr auto gameboard_data_filename = "../var/2048.cpp/data/previousGame";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ constexpr auto game_stats_data_filename = "../var/2048.cpp/data/previousGameStats";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ auto loaded_gameboard{false};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ auto loaded_game_stats{false};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ auto tempGBoard = GameBoard{1};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/menu.cpp.ori 2020-03-31 17:44:46.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/menu.cpp 2020-03-31 17:41:55.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -44,7 +44,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // bool loaded_scorelist;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Warning: Does not care if file exists or not!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::tie(std::ignore, scoreList) =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Scoreboard::loadFromFileScore("../data/scores.txt");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Scoreboard::loadFromFileScore("../var/2048.cpp/data/scores.txt");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ auto counter{1};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const auto convert_to_display_list_t = [&counter](const Scoreboard::Score s) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -68,7 +68,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Statistics::total_game_stats_t stats;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool stats_file_loaded{};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::tie(stats_file_loaded, stats) =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Statistics::loadFromFileStatistics("../data/statistics.txt");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Statistics::loadFromFileStatistics("../var/2048.cpp/data/statistics.txt");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const auto tsdd = std::make_tuple(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stats_file_loaded, std::to_string(stats.bestScore),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/saveresource.cpp.ori 2020-03-31 17:44:46.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/saveresource.cpp 2020-03-31 17:42:02.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -35,8 +35,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void saveGamePlayState(GameBoard gb) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Currently two datafiles for now.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Will be merged into one datafile in a future PR.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- constexpr auto filename_game_data_state = "../data/previousGame";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- constexpr auto filename_game_data_statistics = "../data/previousGameStats";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ constexpr auto filename_game_data_state = "../var/2048.cpp/data/previousGame";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ constexpr auto filename_game_data_statistics = "../var/2048.cpp/data/previousGameStats";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::remove(filename_game_data_state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::remove(filename_game_data_statistics);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/scores.cpp.ori 2020-03-31 17:44:47.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/scores.cpp 2020-03-31 17:42:13.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -45,7 +45,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void saveScore(Score finalscore) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- saveToFileScore("../data/scores.txt", finalscore);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ saveToFileScore("../var/2048.cpp/data/scores.txt", finalscore);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace Scoreboard
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/statistics.cpp.ori 2020-03-31 17:44:48.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/statistics.cpp 2020-03-31 17:42:27.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -58,7 +58,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool stats_file_loaded{};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ull tempscore{0};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::tie(stats_file_loaded, stats) =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- loadFromFileStatistics("../data/statistics.txt");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ loadFromFileStatistics("../var/2048.cpp/data/statistics.txt");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (stats_file_loaded) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tempscore = stats.bestScore;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -70,7 +70,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Need some sort of stats data values only.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // No need to care if file loaded successfully or not...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::tie(std::ignore, stats) =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- loadFromFileStatistics("../data/statistics.txt");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ loadFromFileStatistics("../var/2048.cpp/data/statistics.txt");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stats.bestScore =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stats.bestScore < finalscore.score ? finalscore.score : stats.bestScore;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stats.gameCount++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -78,7 +78,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stats.totalMoveCount += finalscore.moveCount;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stats.totalDuration += finalscore.duration;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- saveToFileEndGameStatistics("../data/statistics.txt", stats);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ saveToFileEndGameStatistics("../var/2048.cpp/data/statistics.txt", stats);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void CreateFinalScoreAndEndGameDataFile(std::ostream &os, std::istream &is,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>
</pre>