mirror of
https://github.com/nolen777/eagle0.git
synced 2026-07-28 20:55:44 +00:00
Remove broken Shardok inspector target (#7496)
This commit is contained in:
@@ -5,8 +5,7 @@ set -x
|
||||
|
||||
COMMAND_LOG="$(bazel info command_log)"
|
||||
bazel build \
|
||||
//src/main/cpp/net/eagle0/shardok:shardok-server \
|
||||
//src/main/cpp/net/eagle0/shardok:shardok-inspector
|
||||
//src/main/cpp/net/eagle0/shardok:shardok-server
|
||||
STATUS="$?"
|
||||
|
||||
if [ $STATUS -eq 0 ]
|
||||
@@ -26,7 +25,6 @@ echo "Setting up Shardok files..."
|
||||
/bin/cp -R ./bazel-bin/src/main/cpp/net/eagle0/shardok/shardok-server ./shardok/
|
||||
/bin/mkdir -p ./shardok/shardok-server.runfiles/net_eagle0/src/main/
|
||||
/bin/cp -R ./bazel-bin/src/main/cpp/net/eagle0/shardok/shardok-server.runfiles/net_eagle0/src/main/resources ./shardok/shardok-server.runfiles/net_eagle0/src/main/
|
||||
/bin/cp -R ./bazel-bin/src/main/cpp/net/eagle0/shardok/shardok-inspector ./shardok/
|
||||
|
||||
echo "tar & zip shardok files..."
|
||||
/bin/tar cfh - shardok | /usr/bin/pigz > ./deploy/shardok.tar.gz
|
||||
|
||||
@@ -28,24 +28,6 @@ cc_binary(
|
||||
deps = [":shardok-server-lib"],
|
||||
)
|
||||
|
||||
cc_binary(
|
||||
name = "shardok-inspector",
|
||||
srcs = ["shardok_inspector.cpp"],
|
||||
copts = COPTS,
|
||||
data = [
|
||||
"//src/main/resources/net/eagle0/shardok:battalion_types",
|
||||
"//src/main/resources/net/eagle0/shardok:settings",
|
||||
"//src/main/resources/net/eagle0/shardok/maps",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//src/main/cpp/net/eagle0/common:byte_vector",
|
||||
"//src/main/cpp/net/eagle0/common:filesystem_utils",
|
||||
"//src/main/cpp/net/eagle0/common:tsv_parser",
|
||||
"//src/main/cpp/net/eagle0/shardok/library:engine",
|
||||
],
|
||||
)
|
||||
|
||||
cc_binary(
|
||||
name = "hex-map-migrator",
|
||||
srcs = ["HexMapMigrator.cpp"],
|
||||
|
||||
@@ -1,140 +0,0 @@
|
||||
//
|
||||
// Created by Dan Crosby on 6/24/20.
|
||||
//
|
||||
|
||||
#include "src/main/cpp/net/eagle0/common/FilesystemUtils.hpp"
|
||||
#include "src/main/cpp/net/eagle0/common/TsvParser.hpp"
|
||||
#include "src/main/cpp/net/eagle0/common/byte_vector.hpp"
|
||||
#include "src/main/cpp/net/eagle0/shardok/library/ShardokEngine.hpp"
|
||||
#include "src/main/cpp/net/eagle0/shardok/library/fb_helpers/GameStateHelpers.hpp"
|
||||
#include "src/main/flatbuffer/net/eagle0/shardok/storage/unit.hpp"
|
||||
#include "src/main/protobuf/net/eagle0/shardok/storage/game.pb.h"
|
||||
|
||||
using net::eagle0::shardok::storage::Game;
|
||||
using Unit = net::eagle0::shardok::storage::fb::Unit;
|
||||
|
||||
void PrintChangedUnits(const net::eagle0::shardok::storage::ActionResult& result);
|
||||
|
||||
auto MakeEngine(const net::eagle0::shardok::storage::Game& game, int includeResultCount)
|
||||
-> std::shared_ptr<shardok::ShardokEngine>;
|
||||
|
||||
auto main(int argc, char** argv) -> int {
|
||||
if (argc < 2) {
|
||||
printf("Please supply a path.");
|
||||
return 1;
|
||||
}
|
||||
|
||||
const auto* path = argv[1];
|
||||
FilesystemUtils::SetExecPath(argv[0]);
|
||||
|
||||
printf("Using path %s\n", path);
|
||||
|
||||
const auto protoBytes = byte_vector::FromPath(path);
|
||||
Game game{};
|
||||
game.ParseFromArray(protoBytes.data(), protoBytes.size());
|
||||
|
||||
auto engine = MakeEngine(game, 200);
|
||||
auto result = game.action_result(201).action_result();
|
||||
|
||||
auto availableCommands = engine->GetAvailableCommandProtos(0, true);
|
||||
for (size_t i = 0; i < availableCommands.size(); i++) {
|
||||
auto cmd = availableCommands[i];
|
||||
if (result.has_actor() == cmd.has_actor() &&
|
||||
result.actor().value() == cmd.actor().value() && result.has_target_coords() &&
|
||||
result.target_coords() == cmd.target()) {
|
||||
printf("Command: %s\n", cmd.DebugString().c_str());
|
||||
engine->PostCommand(0, i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
availableCommands = engine->GetAvailableCommandProtos(0, true);
|
||||
for (size_t i = 0; i < availableCommands.size(); i++) {
|
||||
auto cmd = availableCommands[i];
|
||||
if (cmd.type() == net::eagle0::shardok::common::END_TURN_COMMAND) {
|
||||
printf("Command: %s\n", cmd.DebugString().c_str());
|
||||
engine->PostCommand(0, i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
availableCommands = engine->GetAvailableCommandProtos(1, true);
|
||||
for (size_t i = 0; i < availableCommands.size(); i++) {
|
||||
auto cmd = availableCommands[i];
|
||||
if (cmd.type() == net::eagle0::shardok::common::END_TURN_COMMAND) {
|
||||
printf("Command: %s\n", cmd.DebugString().c_str());
|
||||
engine->PostCommand(1, i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
result = game.action_result(218).action_result();
|
||||
availableCommands = engine->GetAvailableCommandProtos(0, true);
|
||||
for (size_t i = 0; i < availableCommands.size(); i++) {
|
||||
auto cmd = availableCommands[i];
|
||||
if (result.has_actor() == cmd.has_actor() &&
|
||||
result.actor().value() == cmd.actor().value() && result.has_target_coords() &&
|
||||
result.target_coords() == cmd.target()) {
|
||||
printf("Command: %s\n", cmd.DebugString().c_str());
|
||||
engine->PostCommand(0, i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// for (int i=180; i<219; i++) {
|
||||
// const auto& result = game.action_result(i).action_result();
|
||||
// // if (result.type() == net::eagle0::shardok::common::REDUCE || result.type() ==
|
||||
// net::eagle0::shardok::common::METEOR_UNIT_DAMAGE) {
|
||||
// printf("%d ", i);
|
||||
// PrintChangedUnits(result);
|
||||
// printf("id 0 after size: %d\n\n",
|
||||
// game.action_result(i).state_after().units().at(0).battalion().size());
|
||||
// // }
|
||||
// }
|
||||
|
||||
// for (const auto& kv : firstState.units()) {
|
||||
// printf("id: %d name: %s\n", kv.second.attached_hero().eagle_hero_id(),
|
||||
// kv.second.attached_hero().name().c_str());
|
||||
// }
|
||||
printf("Finished");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void PrintChangedUnits(const net::eagle0::shardok::storage::ActionResult& result) {
|
||||
printf("%s\n", net::eagle0::shardok::common::ActionType_Name(result.type()).c_str());
|
||||
for (const string& changedUnitData : result.changed_units_fb()) {
|
||||
const auto& changedUnit = *reinterpret_cast<const Unit*>(changedUnitData.data());
|
||||
printf("id: %d name: %s sizeAfter: %d\n",
|
||||
changedUnit.unit_id(),
|
||||
changedUnit.has_attached_hero() ? changedUnit.attached_hero().name().c_str() : "N/A",
|
||||
changedUnit.battalion().size());
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
auto MakeEngine(const net::eagle0::shardok::storage::Game& game, int includeResultCount)
|
||||
-> std::shared_ptr<shardok::ShardokEngine> {
|
||||
auto settings = std::make_shared<shardok::GameSettings>();
|
||||
|
||||
TsvParser parser;
|
||||
const string settingsPath = "src/main/resources/net/eagle0/shardok/settings.tsv";
|
||||
printf("Settings path is %s\n", settingsPath.c_str());
|
||||
string settingsTsv = string(byte_vector::FromPath(settingsPath));
|
||||
auto setter = shardok::GameSettings::Setter(*settings);
|
||||
|
||||
auto valuesAndTypes = parser.ParseColumnEntryTsv(settingsTsv);
|
||||
setter.SetFromTypesAndValues(valuesAndTypes[1], valuesAndTypes[0]);
|
||||
|
||||
const string battalionTypesPath = "src/main/resources/net/eagle0/shardok/battalionTypes.tsv";
|
||||
string tsv = string(byte_vector::FromPath(battalionTypesPath));
|
||||
auto battalionMaps = parser.ParseColumnEntryTsv(tsv);
|
||||
for (const std::unordered_map<string, string>& map : battalionMaps) {
|
||||
setter.RegisterBattalionType(shardok::BattalionType::NewBattalionTypeFromMap(map));
|
||||
}
|
||||
|
||||
return std::make_shared<shardok::ShardokEngine>(
|
||||
settings,
|
||||
shardok::fb::GameStateW::FromByteString(
|
||||
game.action_result(includeResultCount).state_after_fb()));
|
||||
}
|
||||
Reference in New Issue
Block a user