Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
PieceMovePlan.hpp File Reference
#include "Actions.hpp"
#include "DataBanks.hpp"
#include "PieceCamera.hpp"
#include <cstdint>
#include <expected>
#include <optional>
#include <span>
#include <vector>
Include dependency graph for PieceMovePlan.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  monopoly::pieces::PieceMoveInstruction
 
struct  monopoly::pieces::PieceMovePlan
 

Namespaces

namespace  monopoly
 
namespace  monopoly::pieces
 

Enumerations

enum class  monopoly::pieces::PieceMoveSpecial : std::uint8_t {
  monopoly::pieces::None , monopoly::pieces::GoToJail , monopoly::pieces::LeaveJail , monopoly::pieces::OffBoardRequiresGameContext ,
  monopoly::pieces::OffBoardBankrupt , monopoly::pieces::OffBoardVictory
}
 
enum class  monopoly::pieces::OffBoardOutcome : std::uint8_t { monopoly::pieces::Bankrupt , monopoly::pieces::Victory }
 
enum class  monopoly::pieces::PieceMovePlanError : std::uint8_t {
  monopoly::pieces::UnsupportedNotification , monopoly::pieces::InvalidToken , monopoly::pieces::InvalidSquare , monopoly::pieces::MissingRandomChoice ,
  monopoly::pieces::AnimationStackOverflow , monopoly::pieces::UnsupportedCornerShape
}
 

Functions

std::expected< PieceMovePlan, PieceMovePlanError > monopoly::pieces::planTokenMove (actions::Type notification, std::uint8_t token, std::int32_t before, std::int32_t after, bool animationsEnabled, std::span< const std::uint8_t > randomChoices)
 
std::expected< PieceMovePlan, PieceMovePlanError > monopoly::pieces::planOffBoardMove (std::uint8_t token, std::int32_t before, OffBoardOutcome outcome)
 

Variables

constexpr std::size_t monopoly::pieces::TokenAnimationItemLimit = 12
 
constexpr data::DataTag monopoly::pieces::TokenCornerAnimationBaseTag = 0x00F6
 
constexpr data::DataTag monopoly::pieces::TokenMoveAnimationBaseTag = 0x010D
 
constexpr data::DataTag monopoly::pieces::TokenBackThreeAnimationBaseTag = 0x0118
 
constexpr data::DataTag monopoly::pieces::AnimationsPerToken = 0x0063