| summaryrefslogtreecommitdiff | 
diff options
| -rw-r--r-- | Makefile | 99 | ||||
| -rw-r--r-- | src/battlemap/Makefile | 72 | ||||
| -rw-r--r-- | src/battlemap/bm_handler.erl (renamed from src/battlemap/src/handler.erl) | 8 | ||||
| -rw-r--r-- | src/battlemap/game-logic/bm_movement.erl (renamed from src/battlemap/src/game-logic/movement.erl) | 28 | ||||
| -rw-r--r-- | src/battlemap/game-logic/bm_next_turn.erl (renamed from src/battlemap/src/game-logic/next_turn.erl) | 81 | ||||
| -rw-r--r-- | src/battlemap/game-logic/bm_roll.erl (renamed from src/battlemap/src/game-logic/roll.erl) | 2 | ||||
| -rw-r--r-- | src/battlemap/game-logic/bm_turn_actions.erl (renamed from src/battlemap/src/game-logic/turn_actions.erl) | 206 | ||||
| -rw-r--r-- | src/battlemap/io/bm_security.erl (renamed from src/battlemap/src/io/security.erl) | 2 | ||||
| -rw-r--r-- | src/battlemap/mk/debug.mk | 40 | ||||
| -rw-r--r-- | src/battlemap/mk/erlang.mk | 28 | ||||
| -rw-r--r-- | src/battlemap/mk/preprocessor.mk | 44 | ||||
| -rw-r--r-- | src/battlemap/mk/yaws.mk | 29 | ||||
| -rw-r--r-- | src/battlemap/module.conf | 9 | ||||
| -rw-r--r-- | src/battlemap/query/bm_character_turn.erl | 250 | ||||
| -rw-r--r-- | src/battlemap/query/bm_load_state.erl (renamed from src/battlemap/src/query/load_state.erl) | 29 | ||||
| -rw-r--r-- | src/battlemap/reply/add_char.erl (renamed from src/battlemap/src/reply/add_char.erl) | 0 | ||||
| -rw-r--r-- | src/battlemap/reply/set_map.erl (renamed from src/battlemap/src/reply/set_map.erl) | 0 | ||||
| -rw-r--r-- | src/battlemap/reply/set_timeline.erl (renamed from src/battlemap/src/reply/set_timeline.erl) | 0 | ||||
| -rw-r--r-- | src/battlemap/reply/turn_results.erl (renamed from src/battlemap/src/reply/turn_results.erl) | 0 | ||||
| -rw-r--r-- | src/battlemap/src/query/character_turn.erl | 255 | ||||
| -rw-r--r-- | src/battlemap/struct/bm_attack.erl (renamed from src/battlemap/src/struct/attack.erl) | 51 | ||||
| -rw-r--r-- | src/battlemap/struct/bm_battle.erl (renamed from src/battlemap/src/struct/battle.erl) | 46 | ||||
| -rw-r--r-- | src/battlemap/struct/bm_battle_action.erl (renamed from src/battlemap/src/struct/battle_action.erl) | 6 | ||||
| -rw-r--r-- | src/battlemap/struct/bm_battlemap.erl (renamed from src/battlemap/src/struct/battlemap.erl) | 22 | ||||
| -rw-r--r-- | src/battlemap/struct/bm_character.erl (renamed from src/battlemap/src/struct/character.erl) | 32 | ||||
| -rw-r--r-- | src/battlemap/struct/bm_character_turn_data.erl (renamed from src/battlemap/src/struct/character_turn_data.erl) | 20 | ||||
| -rw-r--r-- | src/battlemap/struct/bm_character_turn_request.erl (renamed from src/battlemap/src/struct/character_turn_request.erl) | 10 | ||||
| -rw-r--r-- | src/battlemap/struct/bm_character_turn_update.erl (renamed from src/battlemap/src/struct/character_turn_update.erl) | 20 | ||||
| -rw-r--r-- | src/battlemap/struct/bm_direction.erl (renamed from src/battlemap/src/struct/direction.erl) | 2 | ||||
| -rw-r--r-- | src/battlemap/struct/bm_location.erl (renamed from src/battlemap/src/struct/location.erl) | 4 | ||||
| -rw-r--r-- | src/battlemap/struct/bm_player.erl (renamed from src/battlemap/src/struct/player.erl) | 2 | ||||
| -rw-r--r-- | src/battlemap/struct/bm_player_turn.erl (renamed from src/battlemap/src/struct/player_turn.erl) | 2 | ||||
| -rw-r--r-- | src/battlemap/struct/bm_tile.erl (renamed from src/battlemap/src/struct/tile.erl) | 4 | ||||
| -rw-r--r-- | src/battlemap/struct/bm_turn_result.erl (renamed from src/battlemap/src/struct/turn_result.erl) | 36 | ||||
| -rw-r--r-- | src/battlemap/struct/bm_weapon.erl (renamed from src/battlemap/src/struct/weapon.erl) | 17 | ||||
| -rw-r--r-- | src/battlemap/util/array_util.erl (renamed from src/battlemap/src/util/array_util.erl) | 0 | ||||
| -rw-r--r-- | src/db/Makefile | 71 | ||||
| -rw-r--r-- | src/db/db_node.erl (renamed from src/db/src/db_node.erl) | 0 | ||||
| -rw-r--r-- | src/db/logic/storage_access.erl (renamed from src/db/src/logic/storage_access.erl) | 0 | ||||
| -rw-r--r-- | src/db/mk/debug.mk | 40 | ||||
| -rw-r--r-- | src/db/mk/erlang.mk | 28 | ||||
| -rw-r--r-- | src/db/mk/preprocessor.mk | 34 | ||||
| -rw-r--r-- | src/db/module.conf | 6 | ||||
| -rw-r--r-- | src/db/struct/db_model.erl (renamed from src/db/src/struct/db_model.erl) | 0 | ||||
| -rw-r--r-- | src/db/struct/db_query.erl (renamed from src/db/src/struct/db_query.erl) | 13 | ||||
| -rw-r--r-- | src/shared/include/db_item.hrl (renamed from src/db/include/db_item.hrl) | 0 | ||||
| -rw-r--r-- | src/shared/include/db_query.hrl (renamed from src/db/include/db_query.hrl) | 0 | ||||
| -rw-r--r-- | src/shared/include/db_user.hrl (renamed from src/db/include/db_user.hrl) | 0 | ||||
| -rw-r--r-- | src/shared/io/sh_database.erl (renamed from src/battlemap/src/shim/database_shim.erl) | 30 | ||||
| -rw-r--r-- | src/shared/io/sh_timed_cache.erl (renamed from src/battlemap/src/io/timed_cache.erl) | 12 | ||||
| -rw-r--r-- | src/shared/io/sh_timed_caches_manager.erl (renamed from src/battlemap/src/io/timed_caches_manager.erl) | 2 | ||||
| -rw-r--r-- | src/shared/struct/sh_attributes.erl (renamed from src/battlemap/src/struct/attributes.erl) | 14 | ||||
| -rw-r--r-- | src/shared/struct/sh_db_item.erl (renamed from src/db/src/struct/db_item.erl) | 4 | ||||
| -rw-r--r-- | src/shared/struct/sh_db_query.erl (renamed from src/battlemap/src/struct/db_query.erl) | 6 | ||||
| -rw-r--r-- | src/shared/struct/sh_db_user.erl (renamed from src/db/src/struct/db_user.erl) | 4 | ||||
| -rw-r--r-- | src/shared/struct/sh_statistics.erl (renamed from src/battlemap/src/struct/statistics.erl) | 2 | 
56 files changed, 682 insertions, 1040 deletions
| @@ -1,57 +1,88 @@  ################################################################################ -## CONFIG ###################################################################### +## USER CONFIGURATION OPTIONS ##################################################  ################################################################################ -MODULES ?= battlemap db -MODULES_DIR ?= ${CURDIR}/src +## Main Directories +SRC_DIR ?= ${CURDIR}/src +CONFIG_DIR ?= ${CURDIR}/conf + +## Optional Directories +BIN_DIR ?= ${CURDIR}/ebin +INCLUDE_DIR ?= ${CURDIR}/include +WWW_DIR ?= ${CURDIR}/www +LOG_DIR ?= ${CURDIR}/log + +## Binaries +YAWS ?= yaws +YAWS_OPTS ?= + +ERLC ?= erlc +ERLC_OPTS ?= + +ERL ?= erl +ERL_OPTS ?= + +DIALYZER ?= dialyzer +DIALYZER_OPTS ?= + +M4 ?= m4 +M4_OPTS ?= + +## Filenames +DIALYZER_PLT_FILE ?= tacticians-server.plt -YAWS_CONFIG_TEMPLATE ?= ${CURDIR}/conf/yaws.conf.m4 -YAWS_API_HEADER ?= /my/src/yaws/include/yaws_api.hrl  ################################################################################  ## MAKEFILE MAGIC ##############################################################  ################################################################################ -MODULES_SRC = $(addprefix $(MODULES_DIR)/,$(MODULES)) +## General +OPTIONAL_DIRS = $(BIN_DIR) $(INCLUDE_DIR) $(WWW_DIR) $(LOG_DIR) + +## Preprocessor +PREPROCESSOR_CONFIG_FILES = $(shell find $(CONFIG_DIR) -name "*.m4.conf") +PREPROCESSABLE_FILES = $(shell find ${CURDIR} -name "*.m4") +PREPROCESSED_FILES = $(patsubst %.m4,%,$(PREPROCESSABLE_FILES)) + +## Erlang +ERL_SRC_FILES = $(shell find $(SRC_DIR) -name "*.erl") +ERL_BIN_FILES = $(patsubst %.erl,$(BIN_DIR)/%.beam,$(notdir $(ERL_SRC_FILES))) + +## Yaws +REQUIRED_HEADERS = $(INCLUDE_DIR)/yaws_api.hrl  ################################################################################  ## SANITY CHECKS ###############################################################  ################################################################################ -MISSING_MODULES_DIR = \ -	$(filter-out $(wildcard $(MODULES_SRC)),$(MODULES_SRC)) - -ifneq ($(MISSING_MODULES_DIR),) -$(error "The following modules are missing: $(MISSING_MODULES_DIR)") -endif  ################################################################################  ## TARGET RULES ################################################################  ################################################################################ -export - -all: -	for module in $(MODULES_SRC) ; do \ -		$(MAKE) -C $$module all; \ -	done +all: build -debug: -	for module in $(MODULES_SRC) ; do \ -		$(MAKE) -C $$module debug ; \ -	done +debug: debug_run -build: -	for module in $(MODULES_SRC) ; do \ -		$(MAKE) -C $$module build ; \ -	done +build: $(OPTIONAL_DIRS) $(REQUIRED_HEADERS) $(PREPROCESSED_FILES) $(ERL_BIN_FILES) -run_battlemap: -	$(MAKE) -C $(MODULES_DIR)/battlemap/ run - -run_db: -	$(MAKE) -C $(MODULES_DIR)/db/ run +run: yaws_run  clean: -	for module in $(MODULES_SRC) ; do \ -		$(MAKE) -C $$module clean; \ -	done +	# Preprocessor +	rm -rf $(PREPROCESSED_FILES) +	# Erlang +	rm -rf $(BIN_DIR)/* + +reset: +	# Preprocessor +	rm -rf $(PREPROCESSED_FILES) +	rm -rf $(OPTIONAL_DIRS)  ################################################################################  ## INTERNAL RULES ##############################################################  ################################################################################ +$(PREPROCESSED_FILES): %: $(PREPROCESSOR_CONFIG_FILES) %.m4 +	$(M4) -P $^ > $@ + +$(OPTIONAL_DIRS): %: +	mkdir -p $@ + +.SECONDEXPANSION: +$(ERL_BIN_FILES): $(BIN_DIR)/%.beam: $$(shell find $(SRC_DIR) -name "%.erl") +	$(ERLC) $(ERLC_OPTS) -o $(BIN_DIR) $< diff --git a/src/battlemap/Makefile b/src/battlemap/Makefile deleted file mode 100644 index 9b0c9f4..0000000 --- a/src/battlemap/Makefile +++ /dev/null @@ -1,72 +0,0 @@ -################################################################################ -## CONFIG ###################################################################### -################################################################################ -YAWS_CONF ?= ${CURDIR}/yaws.conf -YAWS_API_HEADER ?= /my/src/yaws/include/yaws_api.hrl - -MODULE_NAME ?= $ $(shell basename ${CURDIR}) -MODULE_PORT ?= 8001 - -DIALYZER_PLT_FILE ?= tacticians-server.plt - -## Main Directories -SRC_DIR ?= ${CURDIR}/src -CONF_DIR ?= ${CURDIR}/conf - -#### Optional Dirs -BIN_DIR ?= ${CURDIR}/ebin -INCLUDE_DIR ?= ${CURDIR}/include -WWW_DIR ?= ${CURDIR}/www -LOG_DIR ?= ${CURDIR}/log - -## Binaries -YAWS ?= yaws -ERLC ?= erlc -ERLC_OPTS ?= -DIALYZER ?= dialyzer - -################################################################################ -## MAKEFILE MAGIC ############################################################## -################################################################################ -OPTIONAL_DIRS = $(BIN_DIR) $(INCLUDE_DIR) $(WWW_DIR) $(LOG_DIR) -REQUIRED_HEADERS = $(INCLUDE_DIR)/yaws_api.hrl - -################################################################################ -## SANITY CHECKS ############################################################### -################################################################################ -YAWS_API_HEADER ?= /my/src/yaws/include/yaws_api.hrl -DIALYZER_PLT_FILE ?= tacticians-server.plt - -## Main Directories -SRC_DIR ?= src -CONF_DIR ?= conf - -################################################################################ -## INCLUDES #################################################################### -################################################################################ -main_target: all - -include ${CURDIR}/mk/debug.mk -include ${CURDIR}/mk/erlang.mk -include ${CURDIR}/mk/preprocessor.mk -include ${CURDIR}/mk/yaws.mk - -################################################################################ -## TARGET RULES ################################################################ -################################################################################ -all: build - -debug: debug_run - -build: $(REQUIRED_HEADERS) $(PREPROCESSOR_RESULT) $(ERLANG_RESULT) - -run: yaws_run - -clean: -	rm -rf $(PREPROCESSOR_RESULT) $(ERLANG_RESULT) - -################################################################################ -## INTERNAL RULES ############################################################## -################################################################################ -$(OPTIONAL_DIRS): %: -	mkdir -p $@ diff --git a/src/battlemap/src/handler.erl b/src/battlemap/bm_handler.erl index 1b79b69..09659e9 100644 --- a/src/battlemap/src/handler.erl +++ b/src/battlemap/bm_handler.erl @@ -1,4 +1,4 @@ --module(handler). +-module(bm_handler).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -17,7 +17,7 @@  %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  start (_YawsParams) -> -   {ok, Pid} = timed_caches_manager:start(), -   database_shim:generate_db(), -   timed_caches_manager:new_cache(Pid, battle_db, none), +   {ok, Pid} = sh_timed_caches_manager:start(), +   bm_database_shim:generate_db(), +   sh_timed_caches_manager:new_cache(Pid, battle_db, none),     ok. diff --git a/src/battlemap/src/game-logic/movement.erl b/src/battlemap/game-logic/bm_movement.erl index 467f87b..ed4c38c 100644 --- a/src/battlemap/src/game-logic/movement.erl +++ b/src/battlemap/game-logic/bm_movement.erl @@ -1,4 +1,4 @@ --module(movement). +-module(bm_movement).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -19,19 +19,19 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -spec cross     ( -      battlemap:type(), -      list(location:type()), -      list(direction:enum()), +      bm_battlemap:type(), +      list(bm_location:type()), +      list(bm_direction:enum()),        non_neg_integer(), -      location:type() +      bm_location:type()     ) -   -> {location:type(), non_neg_integer()}. +   -> {bm_location:type(), non_neg_integer()}.  cross (_Battlemap, _ForbiddenLocations, [], Cost, Location) ->     {Location, Cost};  cross (Battlemap, ForbiddenLocations, [Step|NextSteps], Cost, Location) -> -   NextLocation = location:apply_direction(Step, Location), -   NextTile = battlemap:get_tile_id(NextLocation, Battlemap), -   NextCost = (Cost + tile:get_cost(NextTile)), +   NextLocation = bm_location:apply_direction(Step, Location), +   NextTile = bm_battlemap:get_tile_id(NextLocation, Battlemap), +   NextCost = (Cost + bm_tile:get_cost(NextTile)),     IsForbidden =        lists:foldl        ( @@ -48,11 +48,11 @@ cross (Battlemap, ForbiddenLocations, [Step|NextSteps], Cost, Location) ->  -spec cross     ( -      battlemap:type(), -      list(location:type()), -      list(direction:enum()), -      location:type() +      bm_battlemap:type(), +      list(bm_location:type()), +      list(bm_direction:enum()), +      bm_location:type()     ) -   -> {location:type(), non_neg_integer()}. +   -> {bm_location:type(), non_neg_integer()}.  cross (Battlemap, ForbiddenLocations, Path, Location) ->     cross(Battlemap, ForbiddenLocations, Path, 0, Location). diff --git a/src/battlemap/src/game-logic/next_turn.erl b/src/battlemap/game-logic/bm_next_turn.erl index 8e7ca8a..3628111 100644 --- a/src/battlemap/src/game-logic/next_turn.erl +++ b/src/battlemap/game-logic/bm_next_turn.erl @@ -1,4 +1,4 @@ --module(next_turn). +-module(bm_next_turn).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -16,85 +16,90 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec set_player_turn_to_next (battle:type()) -> battle:type(). +-spec set_player_turn_to_next (bm_battle:type()) -> bm_battle:type().  set_player_turn_to_next (Battle) -> -   Players = battle:get_players(Battle), -   CurrentPlayerTurn = battle:get_current_player_turn(Battle), +   Players = bm_battle:get_players(Battle), +   CurrentPlayerTurn = bm_battle:get_current_player_turn(Battle), -   NextPlayerTurn = player_turn:next(array:size(Players), CurrentPlayerTurn), +   NextPlayerTurn = bm_player_turn:next(array:size(Players), CurrentPlayerTurn), -   battle:set_current_player_turn(NextPlayerTurn, Battle). +   bm_battle:set_current_player_turn(NextPlayerTurn, Battle).  -spec reset_next_player_timeline     ( -      battle:type() +      bm_battle:type()     ) -   -> {battle:type(), player:type()}. +   -> {bm_battle:type(), bm_player:type()}.  reset_next_player_timeline (Battle) -> -   NextPlayerTurn = battle:get_current_player_turn(Battle), -   NextPlayerIX = player_turn:get_player_ix(NextPlayerTurn), -   NextPlayer = battle:get_player(NextPlayerIX, Battle), +   NextPlayerTurn = bm_battle:get_current_player_turn(Battle), +   NextPlayerIX = bm_player_turn:get_player_ix(NextPlayerTurn), +   NextPlayer = bm_battle:get_player(NextPlayerIX, Battle), -   UpdatedNextPlayer = player:reset_timeline(NextPlayer), -   UpdatedBattle = battle:set_player(NextPlayerIX, UpdatedNextPlayer, Battle), +   UpdatedNextPlayer = bm_player:reset_timeline(NextPlayer), +   UpdatedBattle = +      bm_battle:set_player(NextPlayerIX, UpdatedNextPlayer, Battle),     {UpdatedBattle, UpdatedNextPlayer}.  -spec activate_next_players_characters     ( -      battle:type(), -      player:type() +      bm_battle:type(), +      bm_player:type()     ) -   -> {battle:type(), list(non_neg_integer())}. +   -> {bm_battle:type(), list(non_neg_integer())}.  activate_next_players_characters (Battle, NextPlayer) -> -   NextPlayerID = player:get_id(NextPlayer), -   Characters = battle:get_characters(Battle), +   NextPlayerID = bm_player:get_id(NextPlayer), +   Characters = bm_battle:get_characters(Battle),     {UpdatedCharacters, ModifiedIXs} =        array_util:mapiff        (           fun (Character) -> -            (character:get_owner_id(Character) == NextPlayerID) +            (bm_character:get_owner_id(Character) == NextPlayerID)           end,           fun (Character) -> -            character:set_is_active(true, Character) +            bm_character:set_is_active(true, Character)           end,           Characters        ), -   UpdatedBattle = battle:set_characters(UpdatedCharacters, Battle), +   UpdatedBattle = bm_battle:set_characters(UpdatedCharacters, Battle),     {UpdatedBattle, ModifiedIXs}.  -spec add_activation_updates     (        list(non_neg_integer()), -      character_turn_update:type() +      bm_character_turn_update:type()     ) -   -> character_turn_update:type(). +   -> bm_character_turn_update:type().  add_activation_updates ([], Update) ->     Update;  add_activation_updates ([IX|NextIXs], Update) ->     add_activation_updates     (        NextIXs, -      character_turn_update:add_to_db +      bm_character_turn_update:add_to_db        ( -         db_query:update_indexed +         sh_db_query:update_indexed           ( -            battle:get_characters_field(), +            bm_battle:get_characters_field(),              IX, -            [db_query:set_field(character:get_active_field(), true)] +            [sh_db_query:set_field(bm_character:get_active_field(), true)]           ),           Update        )     ). --spec update (character_turn_update:type()) -> character_turn_update:type(). +-spec update +   ( +      bm_character_turn_update:type() +   ) +   -> bm_character_turn_update:type().  update (Update) -> -   Data = character_turn_update:get_data(Update), -   Battle = character_turn_data:get_battle(Data), +   Data = bm_character_turn_update:get_data(Update), +   Battle = bm_character_turn_data:get_battle(Data),     S0Battle = set_player_turn_to_next(Battle),     {S1Battle, NextPlayer} = reset_next_player_timeline(S0Battle), @@ -103,24 +108,24 @@ update (Update) ->     S0Update = add_activation_updates(ActivatedCharactersIX, Update), -   UpdatedData = character_turn_data:set_battle(S2Battle, Data), +   UpdatedData = bm_character_turn_data:set_battle(S2Battle, Data), -   character_turn_update:set_data(UpdatedData, S0Update). +   bm_character_turn_update:set_data(UpdatedData, S0Update). --spec requires_update (character_turn_update:type()) -> boolean(). +-spec requires_update (bm_character_turn_update:type()) -> boolean().  requires_update (Update) -> -   Data = character_turn_update:get_data(Update), -   Battle = character_turn_data:get_battle(Data), -   Characters = battle:get_characters(Battle), +   Data = bm_character_turn_update:get_data(Update), +   Battle = bm_character_turn_data:get_battle(Data), +   Characters = bm_battle:get_characters(Battle), -   array_util:none(fun character:get_is_active/1, Characters). +   array_util:none(fun bm_character:get_is_active/1, Characters).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -spec update_if_needed     ( -      character_turn_update:type() +      bm_character_turn_update:type()     )     -> character_turn_update:type().  update_if_needed (Update) -> diff --git a/src/battlemap/src/game-logic/roll.erl b/src/battlemap/game-logic/bm_roll.erl index 074054b..be1cb9d 100644 --- a/src/battlemap/src/game-logic/roll.erl +++ b/src/battlemap/game-logic/bm_roll.erl @@ -1,4 +1,4 @@ --module(roll). +-module(bm_roll).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/src/battlemap/src/game-logic/turn_actions.erl b/src/battlemap/game-logic/bm_turn_actions.erl index e6aac9e..9664283 100644 --- a/src/battlemap/src/game-logic/turn_actions.erl +++ b/src/battlemap/game-logic/bm_turn_actions.erl @@ -1,4 +1,4 @@ --module(turn_actions). +-module(bm_turn_actions).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -20,102 +20,102 @@  %%%% SWITCHING WEAPON %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -spec handle_switch_weapon     ( -      character_turn_update:type() +      bm_character_turn_update:type()     ) -   -> character_turn_update:type(). +   -> bm_character_turn_update:type().  handle_switch_weapon (Update) -> -   Data = character_turn_update:get_data(Update), -   Character = character_turn_data:get_character(Data), -   CharacterIX = character_turn_data:get_character_ix(Data), -   CharacterAttributes = character:get_attributes(Character), -   {PrimaryWeaponID, SecondaryWeaponID} = character:get_weapon_ids(Character), +   Data = bm_character_turn_update:get_data(Update), +   Character = bm_character_turn_data:get_character(Data), +   CharacterIX = bm_character_turn_data:get_character_ix(Data), +   CharacterAttributes = bm_character:get_attributes(Character), +   {PrimaryWeaponID, SecondaryWeaponID} = bm_character:get_weapon_ids(Character),     UpdatedWeaponIDs = {SecondaryWeaponID, PrimaryWeaponID},     UpdatedCharacterStatistics = -      statistics:new(CharacterAttributes, UpdatedWeaponIDs), +      bm_statistics:new(CharacterAttributes, UpdatedWeaponIDs),     UpdatedCharacter = -      character:set_statistics +      bm_character:set_statistics        (           UpdatedCharacterStatistics, -         character:set_weapon_ids(UpdatedWeaponIDs, Character) +         bm_character:set_weapon_ids(UpdatedWeaponIDs, Character)        ),     DBQuery = -      db_query:update_indexed +      sh_db_query:update_indexed        ( -         battle:get_characters_field(), +         bm_battle:get_characters_field(),           CharacterIX,           [ -            db_query:set_field +            sh_db_query:set_field              ( -               character:get_weapons_field(), +               bm_character:get_weapons_field(),                 UpdatedWeaponIDs              )           ]        ), -   UpdatedData = character_turn_data:set_character(UpdatedCharacter, Data), +   UpdatedData = bm_character_turn_data:set_character(UpdatedCharacter, Data), -   S0Update = character_turn_update:set_data(UpdatedData, Update), +   S0Update = bm_character_turn_update:set_data(UpdatedData, Update),     S1Update = -      character_turn_update:add_to_timeline +      bm_character_turn_update:add_to_timeline        ( -         turn_result:new_character_switched_weapons(CharacterIX), +         bm_turn_result:new_character_switched_weapons(CharacterIX),           S0Update        ), -   character_turn_update:add_to_db(DBQuery, S1Update). +   bm_character_turn_update:add_to_db(DBQuery, S1Update).  %%%% MOVING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -spec get_path_cost_and_destination     ( -      character_turn_data:type(), -      list(direction:type()) +      bm_character_turn_data:type(), +      list(bm_direction:type())     ) -   -> {non_neg_integer(), location:type()}. +   -> {non_neg_integer(), bm_location:type()}.  get_path_cost_and_destination (Data, Path) -> -   Character = character_turn_data:get_character(Data), -   CharacterIX = character_turn_data:get_character_ix(Data), -   Battle = character_turn_data:get_battle(Data), -   Battlemap = battle:get_battlemap(Battle), +   Character = bm_character_turn_data:get_character(Data), +   CharacterIX = bm_character_turn_data:get_character_ix(Data), +   Battle = bm_character_turn_data:get_battle(Data), +   Battlemap = bm_battle:get_battlemap(Battle),     ForbiddenLocations =        array:foldl        (           fun (IX, Char, Prev) -> -            IsAlive = character:get_is_alive(Char), +            IsAlive = bm_character:get_is_alive(Char),              if                 (IX == CharacterIX) -> Prev;                 (not IsAlive) -> Prev; -               true -> [character:get_location(Char)|Prev] +               true -> [bm_character:get_location(Char)|Prev]              end           end,           [], -         battle:get_characters(Battle) +         bm_battle:get_characters(Battle)        ),     {NewLocation, Cost} = -      movement:cross +      bm_movement:cross        (           Battlemap,           ForbiddenLocations,           Path, -         character:get_location(Character) +         bm_character:get_location(Character)        ),     {Cost, NewLocation}.  -spec assert_character_can_move     ( -      character_turn_data:type(), +      bm_character_turn_data:type(),        non_neg_integer()     )     -> 'ok'.  assert_character_can_move (Data, Cost) -> -   Character = character_turn_data:get_character(Data), -   CharacterStatistics = character:get_statistics(Character), +   Character = bm_character_turn_data:get_character(Data), +   CharacterStatistics = bm_character:get_statistics(Character),     CharacterMovementPoints = -      statistics:get_movement_points(CharacterStatistics), +      bm_statistics:get_movement_points(CharacterStatistics),     true = (Cost =< CharacterMovementPoints), @@ -123,38 +123,38 @@ assert_character_can_move (Data, Cost) ->  -spec commit_move     ( -      character_turn_update:type(), -      list(direction:type()), -      location:type() +      bm_character_turn_update:type(), +      list(bm_direction:type()), +      bm_location:type()     ) -   -> character_turn_update:type(). +   -> bm_character_turn_update:type().  commit_move (Update, Path, NewLocation) -> -   Data = character_turn_update:get_data(Update), -   Character = character_turn_data:get_character(Data), -   CharacterIX = character_turn_data:get_character_ix(Data), +   Data = bm_character_turn_update:get_data(Update), +   Character = bm_character_turn_data:get_character(Data), +   CharacterIX = bm_character_turn_data:get_character_ix(Data), -   UpdatedCharacter = character:set_location(NewLocation, Character), +   UpdatedCharacter = bm_character:set_location(NewLocation, Character), -   UpdatedData = character_turn_data:set_character(UpdatedCharacter, Data), +   UpdatedData = bm_character_turn_data:set_character(UpdatedCharacter, Data),     S0Update = -      character_turn_update:add_to_timeline +      bm_character_turn_update:add_to_timeline        ( -         turn_result:new_character_moved(CharacterIX, Path, NewLocation), +         bm_turn_result:new_character_moved(CharacterIX, Path, NewLocation),           Update        ),     S1Update = -      character_turn_update:add_to_db +      bm_character_turn_update:add_to_db        ( -         db_query:update_indexed +         sh_db_query:update_indexed           ( -            battle:get_characters_field(), +            bm_battle:get_characters_field(),              CharacterIX,              [ -               db_query:set_field +               sh_db_query:set_field                 ( -                  character:get_location_field(), +                  bm_character:get_location_field(),                    NewLocation                 )              ] @@ -162,17 +162,17 @@ commit_move (Update, Path, NewLocation) ->           S0Update        ), -   character_turn_update:set_data(UpdatedData, S1Update). +   bm_character_turn_update:set_data(UpdatedData, S1Update).  -spec handle_move     ( -      battle_action:type(), -      character_turn_update:type() +      bm_battle_action:type(), +      bm_character_turn_update:type()     ) -   -> character_turn_update:type(). +   -> bm_character_turn_update:type().  handle_move (BattleAction, Update) -> -   Data = character_turn_update:get_data(Update), -   Path = battle_action:get_path(BattleAction), +   Data = bm_character_turn_update:get_data(Update), +   Path = bm_battle_action:get_path(BattleAction),     {PathCost, NewLocation} = get_path_cost_and_destination(Data, Path),     assert_character_can_move(Data, PathCost), @@ -182,25 +182,25 @@ handle_move (BattleAction, Update) ->  %%%% ATTACKING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -spec handle_attack_sequence     ( -      character:type(), -      character:type(), -      list(attack:step()) +      bm_character:type(), +      bm_character:type(), +      list(bm_attack:step())     ) -   -> {list(attack:type()), non_neg_integer(), non_neg_integer()}. +   -> {list(bm_attack:type()), non_neg_integer(), non_neg_integer()}.  handle_attack_sequence  (     Character,     TargetCharacter,     AttackSequence  ) -> -   CharacterStatistics = character:get_statistics(Character), -   TargetCharacterStatistics = character:get_statistics(TargetCharacter), +   CharacterStatistics = bm_character:get_statistics(Character), +   TargetCharacterStatistics = bm_character:get_statistics(TargetCharacter),     AttackPlannedEffects =        lists:map        (           fun (AttackStep) -> -            attack:get_description_of +            bm_attack:get_description_of              (                 AttackStep,                 CharacterStatistics, @@ -218,7 +218,7 @@ handle_attack_sequence           {AttackValidEffects, AttackerHealth, DefenderHealth}        ) ->           {AttackResult, NewAttackerHealth, NewDefenderHealth} = -            attack:apply_to_healths +            bm_attack:apply_to_healths              (                 AttackEffectCandidate,                 AttackerHealth, @@ -236,48 +236,48 @@ handle_attack_sequence        end,        {           [], -         character:get_current_health(Character), -         character:get_current_health(TargetCharacter) +         bm_character:get_current_health(Character), +         bm_character:get_current_health(TargetCharacter)        },        AttackPlannedEffects     ).  -spec get_attack_sequence     ( -      character:type(), -      character:type() +      bm_character:type(), +      bm_character:type()     )     -> list(attack:step()).  get_attack_sequence (Character, TargetCharacter) ->     Range =        location:dist        ( -         character:get_location(Character), -         character:get_location(TargetCharacter) +         bm_character:get_location(Character), +         bm_character:get_location(TargetCharacter)        ), -   {AttackingWeaponID, _} = character:get_weapon_ids(Character), -   {DefendingWeaponID, _} = character:get_weapon_ids(TargetCharacter), +   {AttackingWeaponID, _} = bm_character:get_weapon_ids(Character), +   {DefendingWeaponID, _} = bm_character:get_weapon_ids(TargetCharacter), -   AttackingWeapon = weapon:from_id(AttackingWeaponID), -   DefendingWeapon = weapon:from_id(DefendingWeaponID), +   AttackingWeapon = bm_weapon:from_id(AttackingWeaponID), +   DefendingWeapon = bm_weapon:from_id(DefendingWeaponID), -   attack:get_sequence(Range, AttackingWeapon, DefendingWeapon). +   bm_attack:get_sequence(Range, AttackingWeapon, DefendingWeapon).  -spec handle_attack     ( -      battle_action:type(), -      character_turn_update:type() +      bm_battle_action:type(), +      bm_character_turn_update:type()     ) -   -> character_turn_update:type(). +   -> bm_character_turn_update:type().  handle_attack (BattleAction, Update) -> -   Data = character_turn_update:get_data(Update), -   Battle = character_turn_data:get_battle(Data), -   Character = character_turn_data:get_character(Data), -   CharacterIX = character_turn_data:get_character_ix(Data), -   TargetIX = battle_action:get_target_ix(BattleAction), -   TargetCharacter = battle:get_character(TargetIX, Battle), +   Data = bm_character_turn_update:get_data(Update), +   Battle = bm_character_turn_data:get_battle(Data), +   Character = bm_character_turn_data:get_character(Data), +   CharacterIX = bm_character_turn_data:get_character_ix(Data), +   TargetIX = bm_battle_action:get_target_ix(BattleAction), +   TargetCharacter = bm_battle:get_character(TargetIX, Battle),     AttackSequence = get_attack_sequence(Character, TargetCharacter), @@ -290,17 +290,17 @@ handle_attack (BattleAction, Update) ->        ),     UpdatedCharacter = -      character:set_current_health +      bm_character:set_current_health        (           RemainingAttackerHealth,           Character        ),     UpdatedBattle = -      battle:set_character +      bm_battle:set_character        (           TargetIX, -         character:set_current_health +         bm_character:set_current_health           (              RemainingDefenderHealth,              TargetCharacter @@ -309,9 +309,9 @@ handle_attack (BattleAction, Update) ->        ), -   S0Data = character_turn_data:set_battle(UpdatedBattle, Data), +   S0Data = bm_character_turn_data:set_battle(UpdatedBattle, Data),     S1Data = -      character_turn_data:set_character +      bm_character_turn_data:set_character        (           UpdatedCharacter,           S0Data @@ -319,9 +319,9 @@ handle_attack (BattleAction, Update) ->     S0Update = -      character_turn_update:add_to_timeline +      bm_character_turn_update:add_to_timeline        ( -         turn_result:new_character_attacked +         bm_turn_result:new_character_attacked           (              CharacterIX,              TargetIX, @@ -329,35 +329,35 @@ handle_attack (BattleAction, Update) ->           ),           Update        ), -   S1Update = character_turn_update:set_data(S1Data, S0Update), +   S1Update = bm_character_turn_update:set_data(S1Data, S0Update),     DBQuery = -      db_query:update_indexed +      sh_db_query:update_indexed        ( -         battle:get_characters_field(), +         bm_battle:get_characters_field(),           TargetIX,           [ -            db_query:set_field +            sh_db_query:set_field              ( -               character:get_current_health_field(), +               bm_character:get_current_health_field(),                 RemainingDefenderHealth              )           ]        ), -   character_turn_update:add_to_db(DBQuery, S1Update). +   bm_character_turn_update:add_to_db(DBQuery, S1Update).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -spec handle  ( -   battle_action:type(), -   character_turn_update:type() +   bm_battle_action:type(), +   bm_character_turn_update:type()  ) --> character_turn_update:type(). +-> bm_character_turn_update:type().  handle (BattleAction, Update) -> -   case battle_action:get_category(BattleAction) of +   case bm_battle_action:get_category(BattleAction) of        move -> handle_move(BattleAction, Update);        switch_weapon -> handle_switch_weapon(Update);        attack -> handle_attack(BattleAction, Update) diff --git a/src/battlemap/src/io/security.erl b/src/battlemap/io/bm_security.erl index 60f6661..787082a 100644 --- a/src/battlemap/src/io/security.erl +++ b/src/battlemap/io/bm_security.erl @@ -1,4 +1,4 @@ --module(security). +-module(bm_security).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/src/battlemap/mk/debug.mk b/src/battlemap/mk/debug.mk deleted file mode 100644 index 7e88422..0000000 --- a/src/battlemap/mk/debug.mk +++ /dev/null @@ -1,40 +0,0 @@ -################################################################################ -## CONFIG ###################################################################### -################################################################################ -DIALYZER_PLT_FILE ?= tacticians-server.plt -DIALYZER ?= dialyzer - -################################################################################ -## MAKEFILE MAGIC ############################################################## -################################################################################ -SRC_FILES ?= $(wildcard $(SRC_DIR)/*.erl $(SRC_DIR)/*/*.erl) - -################################################################################ -## SANITY CHECKS ############################################################### -################################################################################ - -################################################################################ -## TARGET RULES ################################################################ -################################################################################ -DEBUG_RESULT = $(DIALYZER_PLT_FILE) - -debug_rebuild: -	$(MAKE) clean -	$(MAKE) ERLC_OPTS=+debug_info - -################################################################################ -## INTERNAL RULES ############################################################## -################################################################################ -ifeq ($(wildcard $(DIALYZER_PLT_FILE)),) -debug_run: -	$(DIALYZER) --build_plt --apps erts kernel stdlib jiffy --output_plt \ -		$(DIALYZER_PLT_FILE) -	$(MAKE) debug_rebuild -	$(DIALYZER) --add_to_plt --plt $(DIALYZER_PLT_FILE) -r $(BIN_DIR) -else -debug_run: -	$(MAKE) debug_rebuild -	$(DIALYZER) --check_plt --plt $(DIALYZER_PLT_FILE) -	$(DIALYZER) --get_warnings $(SRC_DIR)/*.erl $(SRC_DIR)/*/*.erl \ -		--src --plt $(DIALYZER_PLT_FILE) -endif diff --git a/src/battlemap/mk/erlang.mk b/src/battlemap/mk/erlang.mk deleted file mode 100644 index 9150f63..0000000 --- a/src/battlemap/mk/erlang.mk +++ /dev/null @@ -1,28 +0,0 @@ -################################################################################ -## CONFIG ###################################################################### -################################################################################ -ERLC ?= erlc -ERLC_OPTS ?= - -################################################################################ -## MAKEFILE MAGIC ############################################################## -################################################################################ -SRC_FILES ?= $(wildcard $(SRC_DIR)/*.erl $(SRC_DIR)/*/*.erl) -BIN_FILES = \ -	$(patsubst %.erl,$(BIN_DIR)/%.beam,$(notdir $(SRC_FILES))) - -################################################################################ -## SANITY CHECKS ############################################################### -################################################################################ - -################################################################################ -## TARGET RULES ################################################################ -################################################################################ -ERLANG_RESULT = $(BIN_DIR) $(BIN_FILES) - -################################################################################ -## INTERNAL RULES ############################################################## -################################################################################ -.SECONDEXPANSION: -$(BIN_FILES): $(BIN_DIR)/%.beam : $$(wildcard $(SRC_DIR)/*/%.erl $(SRC_DIR)/%.erl) -	$(ERLC) $(ERLC_OPTS) -o $(BIN_DIR) $< diff --git a/src/battlemap/mk/preprocessor.mk b/src/battlemap/mk/preprocessor.mk deleted file mode 100644 index d27de1b..0000000 --- a/src/battlemap/mk/preprocessor.mk +++ /dev/null @@ -1,44 +0,0 @@ -################################################################################ -## CONFIG ###################################################################### -################################################################################ -CONFIG_FILE ?= ${CURDIR}/module.conf -YAWS_CONFIG_TEMPLATE ?= - -################################################################################ -## MAKEFILE MAGIC ############################################################## -################################################################################ -PREPROCESSOR_FILES = $(shell find ${CURDIR} -name "*.m4") -PREPROCESSED_FILES = $(patsubst %.m4,%,$(PREPROCESSOR_FILES)) - -MAKEFILE_TO_M4 = \ -	--define=__MAKEFILE_MODULE_NAME=$(MODULE_NAME) \ -	--define=__MAKEFILE_MODULE_PORT=$(MODULE_PORT) \ -	--define=__MAKEFILE_BIN_DIR=$(BIN_DIR) \ -	--define=__MAKEFILE_INCLUDE_DIR=$(INCLUDE_DIR) \ -	--define=__MAKEFILE_LOG_DIR=$(LOG_DIR) \ -	--define=__MAKEFILE_WWW_DIR=$(WWW_DIR) - -################################################################################ -## SANITY CHECKS ############################################################### -################################################################################ -ifeq ($(wildcard $(CONFIG_FILE)),) -$(error "Missing CONFIG_FILE ($(CONFIG_FILE)).") -endif - -ifeq ($(wildcard $(YAWS_CONFIG_TEMPLATE)),) -$(error "Missing YAWS_CONFIG_TEMPLATE ($(YAWS_CONFIG_TEMPLATE)).") -endif - -################################################################################ -## TARGET RULES ################################################################ -################################################################################ -PREPROCESSOR_RESULT = $(PREPROCESSED_FILES) yaws.conf - -################################################################################ -## INTERNAL RULES ############################################################## -################################################################################ -$(PREPROCESSED_FILES): %: $(CONFIG_FILE) %.m4 -	m4 -P $^ > $@ - -yaws.conf: $(CONFIG_FILE) $(YAWS_CONFIG_TEMPLATE) -	m4 -P $(MAKEFILE_TO_M4) $^ > $@ diff --git a/src/battlemap/mk/yaws.mk b/src/battlemap/mk/yaws.mk deleted file mode 100644 index a68edf2..0000000 --- a/src/battlemap/mk/yaws.mk +++ /dev/null @@ -1,29 +0,0 @@ -################################################################################ -## CONFIG ###################################################################### -################################################################################ -YAWS_CONF ?= ${CURDIR}/yaws.conf -YAWS_API_HEADER ?= /my/src/yaws/include/yaws_api.hrl - -YAWS ?= yaws -YAWS_OPTS ?= -name battlemap_node -erlarg "-connect_all false" - -################################################################################ -## MAKEFILE MAGIC ############################################################## -################################################################################ - -################################################################################ -## SANITY CHECKS ############################################################### -################################################################################ -YAWS_API_HEADER ?= /my/src/yaws/include/yaws_api.hrl - -################################################################################ -## TARGET RULES ################################################################ -################################################################################ -yaws_run: build $(WWW_DIR) $(LOG_DIR) -	$(YAWS) --conf $(YAWS_CONF) $(YAWS_OPTS) - -################################################################################ -## INTERNAL RULES ############################################################## -################################################################################ -$(INCLUDE_DIR)/yaws_api.hrl: $(YAWS_API_HEADER) $(INCLUDE_DIR) -	cp $< $@ diff --git a/src/battlemap/module.conf b/src/battlemap/module.conf deleted file mode 100644 index 8c2a2b6..0000000 --- a/src/battlemap/module.conf +++ /dev/null @@ -1,9 +0,0 @@ -m4_define(`__MODULE_NAME', `__MAKEFILE_MODULE_NAME')m4_dnl -m4_define(`__MODULE_PORT', `__MAKEFILE_MODULE_PORT')m4_dnl -m4_dnl -m4_define(`__MODULE_BIN_DIR', `__MAKEFILE_BIN_DIR')m4_dnl -m4_define(`__MODULE_INCLUDE_DIR', `__MAKEFILE_INCLUDE_DIR')m4_dnl -m4_define(`__MODULE_LOG_DIR', `__MAKEFILE_LOG_DIR')m4_dnl -m4_define(`__MODULE_WWW_DIR', `__MAKEFILE_WWW_DIR')m4_dnl -m4_dnl -m4_define(`__MODULE_APP_MODS', `character_turn load_state')m4_dnl diff --git a/src/battlemap/query/bm_character_turn.erl b/src/battlemap/query/bm_character_turn.erl new file mode 100644 index 0000000..26b8dce --- /dev/null +++ b/src/battlemap/query/bm_character_turn.erl @@ -0,0 +1,250 @@ +-module(bm_character_turn). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-include("../../../include/yaws_api.hrl"). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-export([out/1]). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%-spec send_to_database (list(database_diff:type()), character_turn_request:type()) -> 'ok'. + + +%%%% REQUEST DECODING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec decode_request (binary()) -> bm_character_turn_request:type(). +decode_request (BinaryRequest) -> +   JSONMap = jiffy:decode(BinaryRequest, [return_maps]), + +   bm_character_turn_request:decode(JSONMap). + +%%%% USER AUTHENTICATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec authenticate_user (bm_character_turn_request:type()) -> 'ok'. +authenticate_user (Request) -> +   PlayerID = bm_character_turn_request:get_player_id(Request), +   SessionToken = bm_character_turn_request:get_session_token(Request), + +   bm_security:assert_identity(PlayerID, SessionToken), +   bm_security:lock_queries(PlayerID), + +   ok. + +%%%% MAIN LOGIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec fetch_data +   ( +      bm_character_turn_request:type() +   ) +   -> bm_character_turn_data:type(). +fetch_data (Request) -> +   PlayerID = bm_character_turn_request:get_player_id(Request), +   BattleID = bm_character_turn_request:get_battle_id(Request), +   CharacterIX = bm_character_turn_request:get_character_ix(Request), +   Battle = sh_timed_cache:fetch(battle_db, PlayerID, BattleID), + +   bm_character_turn_data:new(Battle, CharacterIX). + +%%%% ASSERTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec assert_user_is_current_player +   ( +      bm_character_turn_data:type(), +      bm_character_turn_request:type() +   ) -> 'ok'. +assert_user_is_current_player (Data, Request) -> +   PlayerID = bm_character_turn_request:get_player_id(Request), +   Battle = bm_character_turn_data:get_battle(Data), +   CurrentPlayerTurn = bm_battle:get_current_player_turn(Battle), +   CurrentPlayerIX = bm_player_turn:get_player_ix(CurrentPlayerTurn), +   CurrentPlayer = bm_battle:get_player(CurrentPlayerIX, Battle), + +   true = (PlayerID == bm_player:get_id(CurrentPlayer)), + +   ok. + +-spec assert_user_owns_played_character +   ( +      bm_character_turn_data:type(), +      bm_character_turn_request:type() +   ) -> 'ok'. +assert_user_owns_played_character (Data, Request) -> +   PlayerID = bm_character_turn_request:get_player_id(Request), +   Character = bm_character_turn_data:get_character(Data), +   CharacterOwnerID = bm_character:get_owner_id(Character), + +   true = (PlayerID == CharacterOwnerID), + +   ok. + +-spec assert_character_can_be_played (bm_character_turn_data:type()) -> 'ok'. +assert_character_can_be_played (Data) -> +   Character = bm_character_turn_data:get_character(Data), + +   true = bm_character:get_is_active(Character), + +   ok. + +-spec assert_user_permissions +   ( +      bm_character_turn_data:type(), +      bm_character_turn_request:type() +   ) -> 'ok'. +assert_user_permissions (Data, Request) -> +   assert_user_is_current_player(Data, Request), +   assert_user_owns_played_character(Data, Request), +   assert_character_can_be_played(Data), + +   ok. + +%%%% QUERY LOGIC HANDLING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec finalize_character +   ( +      bm_character_turn_update:type() +   ) +   -> bm_character_turn_update:type(). +finalize_character (Update) -> +   Data = bm_character_turn_update:get_data(Update), +   Character = bm_character_turn_data:get_character(Data), + +   DisabledCharacter = bm_character:set_is_active(false, Character), +   UpdatedData = bm_character_turn_data:set_character(DisabledCharacter, Data), +   FinalizedData = bm_character_turn_data:clean_battle(UpdatedData), + +   bm_character_turn_update:set_data(FinalizedData, Update). + +-spec handle_actions +   ( +      bm_character_turn_data:type(), +      bm_character_turn_request:type() +   ) +   -> bm_character_turn_update:type(). +handle_actions (Data, Request) -> +   Actions = bm_character_turn_request:get_actions(Request), + +   EmptyUpdate = bm_character_turn_update:new(Data), +   PostActionsUpdate = +      lists:foldl(fun bm_turn_actions:handle/2, EmptyUpdate, Actions), + +   finalize_character(PostActionsUpdate). + +-spec update_timeline +   ( +      bm_character_turn_update:type() +   ) +   -> bm_character_turn_update:type(). +update_timeline (Update) -> +   NewTimelineElements = bm_character_turn_update:get_timeline(Update), +   Data = bm_character_turn_update:get_data(Update), +   Battle = bm_character_turn_data:get_battle(Data), +   PlayerTurn = bm_battle:get_current_player_turn(Battle), +   PlayerIX = bm_player_turn:get_player_ix(PlayerTurn), +   Player = bm_battle:get_player(PlayerIX, Battle), + +   UpdatedPlayer = bm_player:add_to_timeline(NewTimelineElements, Player), +   UpdatedBattle = bm_battle:set_player(PlayerIX, UpdatedPlayer, Battle), +   UpdatedData = bm_character_turn_data:set_battle(UpdatedBattle, Data), + +   bm_character_turn_update:set_data(UpdatedData, Update). + +-spec update_data +   ( +      bm_character_turn_data:type(), +      bm_character_turn_request:type() +   ) +   -> bm_character_turn_update:type(). +update_data (Data, Request) -> +   PostActionsUpdate = handle_actions(Data, Request), +   PostCharacterTurnUpdate = update_timeline(PostActionsUpdate), + +   bm_next_turn:update_if_needed(PostCharacterTurnUpdate). + +%%%% DATABASE UPDATES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec send_to_database +   ( +      bm_character_turn_update:type(), +      bm_character_turn_request:type() +   ) +   -> 'ok'. +send_to_database (Update, Request) -> +   PlayerID = bm_character_turn_request:get_player_id(Request), +   BattleID = bm_character_turn_request:get_battle_id(Request), +   Ops = bm_character_turn_update:get_db(Update), +   Query = sh_db_query:new(battle_db, BattleID, {user, PlayerID}, Ops), + +   % TODO: send queries to an actual DB... + +   sh_database:commit(Query), + +   ok. + +-spec send_to_cache +   ( +      bm_character_turn_update:type(), +      bm_character_turn_request:type() +   ) +   -> 'ok'. +send_to_cache (Update, Request) -> +   PlayerID = bm_character_turn_request:get_player_id(Request), +   BattleID = bm_character_turn_request:get_battle_id(Request), +   Data = bm_character_turn_update:get_data(Update), +   Battle = bm_character_turn_data:get_battle(Data), + +   sh_timed_cache:update(battle_db, PlayerID, BattleID, Battle), + +   ok. + +-spec commit_update +   ( +      bm_character_turn_update:type(), +      bm_character_turn_request:type() +   ) +   -> 'ok'. +commit_update (Update, Request) -> +   send_to_database(Update, Request), +   send_to_cache(Update, Request), + +   ok. + +%%%% USER DISCONNECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec disconnect_user (bm_character_turn_request:type()) -> 'ok'. +disconnect_user (Request) -> +   PlayerID = bm_character_turn_request:get_player_id(Request), + +   bm_security:unlock_queries(PlayerID), + +   ok. + +%%%% REPLY GENERATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec generate_reply (bm_character_turn_update:type()) -> binary(). +generate_reply (Update) -> +   NewTimelineItems = bm_character_turn_update:get_timeline(Update), + +   TurnResultReply = bm_turn_results:generate(NewTimelineItems), + +   jiffy:encode([TurnResultReply]). + +%%%% MAIN LOGIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec handle (binary()) -> binary(). +handle (EncodedRequest) -> +   Request = decode_request(EncodedRequest), +   authenticate_user(Request), +   Data = fetch_data(Request), +   assert_user_permissions(Data, Request), +   Update = update_data(Data, Request), +   commit_update(Update, Request), +   disconnect_user(Request), +   generate_reply(Update). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +out(A) -> +   { +      content, +      "application/json; charset=UTF-8", +      handle(A#arg.clidata) +   }. diff --git a/src/battlemap/src/query/load_state.erl b/src/battlemap/query/bm_load_state.erl index f905892..b580b9f 100644 --- a/src/battlemap/src/query/load_state.erl +++ b/src/battlemap/query/bm_load_state.erl @@ -1,15 +1,15 @@ --module(load_state). +-module(bm_load_state).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --include("../../include/yaws_api.hrl"). +-include("../../../include/yaws_api.hrl").  -record  (     input,     { -      player_id :: player:id(), +      player_id :: bm_player:id(),        session_token :: binary(),        battle_id :: binary()     } @@ -19,7 +19,7 @@  (     query_state,     { -      battle :: battle:type() +      battle :: bm_battle:type()     }  ). @@ -68,17 +68,20 @@ generate_reply (QueryState, Input) ->     jiffy:encode     (        [ -         set_timeline:generate(battle:get_encoded_last_turns_effects(Battle)), -         set_map:generate(battle:get_battlemap(Battle)) +         bm_set_timeline:generate +         ( +            bm_battle:get_encoded_last_turns_effects(Battle) +         ), +         bm_set_map:generate(bm_battle:get_battlemap(Battle))           |           array:sparse_to_list           (              array:map              (                 fun (IX, Character) -> -                  add_char:generate(IX, Character, PlayerID) +                  bm_add_char:generate(IX, Character, PlayerID)                 end, -               battle:get_characters(Battle) +               bm_battle:get_characters(Battle)              )           )        ] @@ -87,10 +90,14 @@ generate_reply (QueryState, Input) ->  -spec handle (binary()) -> binary().  handle (Req) ->     Input = parse_input(Req), -   security:assert_identity(Input#input.player_id, Input#input.session_token), -   security:lock_queries(Input#input.player_id), +   bm_security:assert_identity +   ( +      Input#input.player_id, +      Input#input.session_token +   ), +   bm_security:lock_queries(Input#input.player_id),     QueryState = fetch_data(Input), -   security:unlock_queries(Input#input.player_id), +   bm_security:unlock_queries(Input#input.player_id),     generate_reply(QueryState, Input).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/src/battlemap/src/reply/add_char.erl b/src/battlemap/reply/add_char.erl index 86b1e9c..86b1e9c 100644 --- a/src/battlemap/src/reply/add_char.erl +++ b/src/battlemap/reply/add_char.erl diff --git a/src/battlemap/src/reply/set_map.erl b/src/battlemap/reply/set_map.erl index 8518ac5..8518ac5 100644 --- a/src/battlemap/src/reply/set_map.erl +++ b/src/battlemap/reply/set_map.erl diff --git a/src/battlemap/src/reply/set_timeline.erl b/src/battlemap/reply/set_timeline.erl index bfe621a..bfe621a 100644 --- a/src/battlemap/src/reply/set_timeline.erl +++ b/src/battlemap/reply/set_timeline.erl diff --git a/src/battlemap/src/reply/turn_results.erl b/src/battlemap/reply/turn_results.erl index 0f3ff25..0f3ff25 100644 --- a/src/battlemap/src/reply/turn_results.erl +++ b/src/battlemap/reply/turn_results.erl diff --git a/src/battlemap/src/query/character_turn.erl b/src/battlemap/src/query/character_turn.erl deleted file mode 100644 index a10cda7..0000000 --- a/src/battlemap/src/query/character_turn.erl +++ /dev/null @@ -1,255 +0,0 @@ --module(character_turn). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --include("../../include/yaws_api.hrl"). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export([out/1]). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%-spec send_to_database (list(database_diff:type()), character_turn_request:type()) -> 'ok'. - - -%%%% REQUEST DECODING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec decode_request (binary()) -> character_turn_request:type(). -decode_request (BinaryRequest) -> -   JSONMap = jiffy:decode(BinaryRequest, [return_maps]), - -   character_turn_request:decode(JSONMap). - -%%%% USER AUTHENTICATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec authenticate_user (character_turn_request:type()) -> 'ok'. -authenticate_user (Request) -> -   PlayerID = character_turn_request:get_player_id(Request), -   SessionToken = character_turn_request:get_session_token(Request), - -   security:assert_identity(PlayerID, SessionToken), -   security:lock_queries(PlayerID), - -   ok. - -%%%% MAIN LOGIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec fetch_data (character_turn_request:type()) -> character_turn_data:type(). -fetch_data (Request) -> -   PlayerID = character_turn_request:get_player_id(Request), -   BattleID = character_turn_request:get_battle_id(Request), -   CharacterIX = -      character_turn_request:get_character_ix(Request), - -   Battle = timed_cache:fetch(battle_db, PlayerID, BattleID), - -   character_turn_data:new(Battle, CharacterIX). - -%%%% ASSERTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec assert_user_is_current_player -   ( -      character_turn_data:type(), -      character_turn_request:type() -   ) -> 'ok'. -assert_user_is_current_player (Data, Request) -> -   PlayerID = character_turn_request:get_player_id(Request), -   Battle = character_turn_data:get_battle(Data), -   CurrentPlayerTurn = battle:get_current_player_turn(Battle), -   CurrentPlayerIX = player_turn:get_player_ix(CurrentPlayerTurn), -   CurrentPlayer = battle:get_player(CurrentPlayerIX, Battle), - -   true = (PlayerID == player:get_id(CurrentPlayer)), - -   ok. - --spec assert_user_owns_played_character -   ( -      character_turn_data:type(), -      character_turn_request:type() -   ) -> 'ok'. -assert_user_owns_played_character (Data, Request) -> -   PlayerID = character_turn_request:get_player_id(Request), -   Character = character_turn_data:get_character(Data), -   CharacterOwnerID = character:get_owner_id(Character), - -   true = (PlayerID == CharacterOwnerID), - -   ok. - --spec assert_character_can_be_played (character_turn_data:type()) -> 'ok'. -assert_character_can_be_played (Data) -> -   Character = character_turn_data:get_character(Data), - -   true = character:get_is_active(Character), - -   ok. - --spec assert_user_permissions -   ( -      character_turn_data:type(), -      character_turn_request:type() -   ) -> 'ok'. -assert_user_permissions (Data, Request) -> -   assert_user_is_current_player(Data, Request), -   assert_user_owns_played_character(Data, Request), -   assert_character_can_be_played(Data), - -   ok. - -%%%% QUERY LOGIC HANDLING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec finalize_character -   ( -      character_turn_update:type() -   ) -   -> character_turn_update:type(). -finalize_character (Update) -> -   Data = character_turn_update:get_data(Update), -   Character = character_turn_data:get_character(Data), - -   DisabledCharacter = -      character:set_is_active(false, Character), - -   UpdatedData = -      character_turn_data:set_character -      ( -         DisabledCharacter, -         Data -      ), -   FinalizedData = character_turn_data:clean_battle(UpdatedData), - -   character_turn_update:set_data(FinalizedData, Update). - --spec handle_actions -   ( -      character_turn_data:type(), -      character_turn_request:type() -   ) -   -> character_turn_update:type(). -handle_actions (Data, Request) -> -   Actions = character_turn_request:get_actions(Request), - -   EmptyUpdate = character_turn_update:new(Data), -   PostActionsUpdate = -      lists:foldl(fun turn_actions:handle/2, EmptyUpdate, Actions), - -   finalize_character(PostActionsUpdate). - --spec update_timeline -   ( -      character_turn_update:type() -   ) -   -> character_turn_update:type(). -update_timeline (Update) -> -   NewTimelineElements = character_turn_update:get_timeline(Update), -   Data = character_turn_update:get_data(Update), -   Battle = character_turn_data:get_battle(Data), -   PlayerTurn = battle:get_current_player_turn(Battle), -   PlayerIX = player_turn:get_player_ix(PlayerTurn), -   Player = battle:get_player(PlayerIX, Battle), - -   UpdatedPlayer = player:add_to_timeline(NewTimelineElements, Player), -   UpdatedBattle = battle:set_player(PlayerIX, UpdatedPlayer, Battle), -   UpdatedData = character_turn_data:set_battle(UpdatedBattle, Data), - -   character_turn_update:set_data(UpdatedData, Update). - --spec update_data -   ( -      character_turn_data:type(), -      character_turn_request:type() -   ) -   -> character_turn_update:type(). -update_data (Data, Request) -> -   PostActionsUpdate = handle_actions(Data, Request), -   PostCharacterTurnUpdate = update_timeline(PostActionsUpdate), - -   next_turn:update_if_needed(PostCharacterTurnUpdate). - -%%%% DATABASE UPDATES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec send_to_database -   ( -      character_turn_update:type(), -      character_turn_request:type() -   ) -   -> 'ok'. -send_to_database (Update, Request) -> -   PlayerID = character_turn_request:get_player_id(Request), -   BattleID = character_turn_request:get_battle_id(Request), -   Ops = character_turn_update:get_db(Update), -   Query = db_query:new(battle_db, BattleID, {user, PlayerID}, Ops), - -   % TODO: send queries to an actual DB... - -   database_shim:commit(Query), - -   ok. - --spec send_to_cache -   ( -      character_turn_update:type(), -      character_turn_request:type() -   ) -   -> 'ok'. -send_to_cache (Update, Request) -> -   PlayerID = character_turn_request:get_player_id(Request), -   BattleID = character_turn_request:get_battle_id(Request), -   Data = character_turn_update:get_data(Update), -   Battle = character_turn_data:get_battle(Data), - -   timed_cache:update(battle_db, PlayerID, BattleID, Battle), - -   ok. - --spec commit_update -   ( -      character_turn_update:type(), -      character_turn_request:type() -   ) -   -> 'ok'. -commit_update (Update, Request) -> -   send_to_database(Update, Request), -   send_to_cache(Update, Request), - -   ok. - -%%%% USER DISCONNECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec disconnect_user (character_turn_request:type()) -> 'ok'. -disconnect_user (Request) -> -   PlayerID = character_turn_request:get_player_id(Request), - -   security:unlock_queries(PlayerID), - -   ok. - -%%%% REPLY GENERATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec generate_reply (character_turn_update:type()) -> binary(). -generate_reply (Update) -> -   NewTimelineItems = character_turn_update:get_timeline(Update), - -   TurnResultReply = turn_results:generate(NewTimelineItems), - -   jiffy:encode([TurnResultReply]). - -%%%% MAIN LOGIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec handle (binary()) -> binary(). -handle (EncodedRequest) -> -   Request = decode_request(EncodedRequest), -   authenticate_user(Request), -   Data = fetch_data(Request), -   assert_user_permissions(Data, Request), -   Update = update_data(Data, Request), -   commit_update(Update, Request), -   disconnect_user(Request), -   generate_reply(Update). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -out(A) -> -   { -      content, -      "application/json; charset=UTF-8", -      handle(A#arg.clidata) -   }. diff --git a/src/battlemap/src/struct/attack.erl b/src/battlemap/struct/bm_attack.erl index fed6a56..fe7d8b8 100644 --- a/src/battlemap/src/struct/attack.erl +++ b/src/battlemap/struct/bm_attack.erl @@ -1,4 +1,4 @@ --module(attack). +-module(bm_attack).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -47,15 +47,15 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -spec roll_precision     ( -      statistics:type(), -      statistics:type() +      bm_statistics:type(), +      bm_statistics:type()     )     -> precision().  roll_precision (AttackerStatistics, DefenderStatistics) -> -   DefenderDodges = statistics:get_dodges(DefenderStatistics), -   AttackerAccuracy = statistics:get_accuracy(AttackerStatistics), +   DefenderDodges = bm_statistics:get_dodges(DefenderStatistics), +   AttackerAccuracy = bm_statistics:get_accuracy(AttackerStatistics),     MissChance = max(0, (DefenderDodges - AttackerAccuracy)), -   case roll:percentage() of +   case sh_roll:percentage() of        X when (X =< MissChance) -> misses;        X when (X =< (MissChance * 2)) -> grazes;        _ -> hits @@ -63,30 +63,31 @@ roll_precision (AttackerStatistics, DefenderStatistics) ->  -spec roll_damage     ( -      statistics:type(), -      statistics:type() +      bm_statistics:type(), +      bm_statistics:type()     )     -> {non_neg_integer(), boolean()}.  roll_damage (AttackerStatistics, _DefenderStatistics) -> -   {MinimumDamage, MaximumDamage} = statistics:get_damages(AttackerStatistics), +   {MinimumDamage, MaximumDamage} = +      bm_statistics:get_damages(AttackerStatistics),     MaximumRoll = max(1, MaximumDamage - MinimumDamage),     BaseDamage = MinimumDamage + (rand:uniform(MaximumRoll) - 1), -   CriticalHitChance = statistics:get_critical_hits(AttackerStatistics), -   case roll:percentage() of +   CriticalHitChance = bm_statistics:get_critical_hits(AttackerStatistics), +   case sh_roll:percentage() of        X when (X =< CriticalHitChance) -> {(BaseDamage * 2), true};        _ -> {BaseDamage, false}     end. --spec roll_parry (statistics:type()) -> boolean(). +-spec roll_parry (bm_statistics:type()) -> boolean().  roll_parry (DefenderStatistics) -> -   DefenderParryChance = statistics:get_parries(DefenderStatistics), -   (roll:percentage() =< DefenderParryChance). +   DefenderParryChance = bm_statistics:get_parries(DefenderStatistics), +   (sh_roll:percentage() =< DefenderParryChance).  -spec effect_of_attack     (        order(), -      statistics:type(), -      statistics:type(), +      bm_statistics:type(), +      bm_statistics:type(),        boolean()     )     -> type(). @@ -133,8 +134,8 @@ encode_precision (misses) -> <<"m">>.  -spec get_description_of     (        step(), -      statistics:type(), -      statistics:type() +      bm_statistics:type(), +      bm_statistics:type()     )     -> maybe_type().  get_description_of @@ -150,9 +151,10 @@ get_description_of     AttackerStatistics,     DefenderStatistics  ) -> -   AttackerDoubleAttackChange = statistics:get_double_hits(AttackerStatistics), +   AttackerDoubleAttackChange = +      bm_statistics:get_double_hits(AttackerStatistics), -   case roll:percentage() of +   case sh_roll:percentage() of        X when (X =< AttackerDoubleAttackChange) ->           effect_of_attack           ( @@ -244,15 +246,15 @@ when  -spec get_sequence     (        non_neg_integer(), -      weapon:type(), -      weapon:type() +      bm_weapon:type(), +      bm_weapon:type()     )     -> list(step()).  get_sequence (AttackRange, AttackerWeapon, DefenderWeapon) ->     {AttackerDefenseRange, AttackerAttackRange} = -      weapon:get_ranges(AttackerWeapon), +      bm_weapon:get_ranges(AttackerWeapon),     {DefenderDefenseRange, DefenderAttackRange} = -      weapon:get_ranges(DefenderWeapon), +      bm_weapon:get_ranges(DefenderWeapon),     AttackerCanAttack = (AttackRange =< AttackerAttackRange),     AttackerCanAttack = true, @@ -280,7 +282,6 @@ get_sequence (AttackRange, AttackerWeapon, DefenderWeapon) ->     end.  -spec encode (type()) -> {list(any())}. -% This shouldn't be a possibility. Types in this module are a mess...  encode (Attack) ->     Order = Attack#attack.order,     Precision = Attack#attack.precision, diff --git a/src/battlemap/src/struct/battle.erl b/src/battlemap/struct/bm_battle.erl index 6a76975..08c4943 100644 --- a/src/battlemap/src/struct/battle.erl +++ b/src/battlemap/struct/bm_battle.erl @@ -1,4 +1,4 @@ --module(battle). +-module(bm_battle).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -10,10 +10,10 @@     battle,     {        id :: id(), -      battlemap :: battlemap:type(), -      characters :: array:array(character:type()), -      players :: array:array(player:type()), -      current_player_turn :: player_turn:type() +      battlemap :: bm_battlemap:type(), +      characters :: array:array(bm_character:type()), +      players :: array:array(bm_player:type()), +      current_player_turn :: bm_player_turn:type()     }  ). @@ -62,7 +62,7 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  get_all_timelines (Result, CurrentIndex, EndPoint, ArraySize, Players) ->     Player = array:get(CurrentIndex, Players), -   Timeline = player:get_timeline(Player), +   Timeline = bm_player:get_timeline(Player),     NextIndex = ((CurrentIndex + 1) rem ArraySize),     NextResult = (Timeline ++ Result),     case CurrentIndex of @@ -80,27 +80,27 @@ get_all_timelines (Result, CurrentIndex, EndPoint, ArraySize, Players) ->  -spec get_id (type()) -> id().  get_id (Battle) -> Battle#battle.id. --spec get_battlemap (type()) -> battlemap:type(). +-spec get_battlemap (type()) -> bm_battlemap:type().  get_battlemap (Battle) ->     Battle#battle.battlemap. --spec get_characters (type()) -> array:array(character:type()). +-spec get_characters (type()) -> array:array(bm_character:type()).  get_characters (Battle) ->     Battle#battle.characters. --spec get_character (non_neg_integer(), type()) -> character:type(). +-spec get_character (non_neg_integer(), type()) -> bm_character:type().  get_character (IX, Battle) ->     array:get(IX, Battle#battle.characters). --spec get_players (type()) -> array:array(player:type()). +-spec get_players (type()) -> array:array(bm_player:type()).  get_players (Battle) ->     Battle#battle.players. --spec get_player (non_neg_integer(), type()) -> player:type(). +-spec get_player (non_neg_integer(), type()) -> bm_player:type().  get_player (IX, Battle) ->     array:get(IX, Battle#battle.players). --spec get_current_player_turn (type()) -> player_turn:type(). +-spec get_current_player_turn (type()) -> bm_player_turn:type().  get_current_player_turn (Battle) ->     Battle#battle.current_player_turn. @@ -108,27 +108,27 @@ get_current_player_turn (Battle) ->  get_encoded_last_turns_effects (Battle) ->     CurrentPlayerTurn = Battle#battle.current_player_turn,     Players = Battle#battle.players, -   CurrentPlayerIX = player_turn:get_player_ix(CurrentPlayerTurn), +   CurrentPlayerIX = bm_player_turn:get_player_ix(CurrentPlayerTurn),     PlayersCount = array:size(Players),     StartingPoint = ((CurrentPlayerIX + 1) rem PlayersCount),     get_all_timelines([], StartingPoint, CurrentPlayerIX, PlayersCount, Players). --spec set_battlemap (battlemap:type(), type()) -> type(). +-spec set_battlemap (bm_battlemap:type(), type()) -> type().  set_battlemap (Battlemap, Battle) ->     Battle#battle     {        battlemap = Battlemap     }. --spec set_characters (array:array(character:type()), type()) -> type(). +-spec set_characters (array:array(bm_character:type()), type()) -> type().  set_characters (Characters, Battle) ->     Battle#battle     {        characters = Characters     }. --spec set_character (non_neg_integer(), character:type(), type()) -> type(). +-spec set_character (non_neg_integer(), bm_character:type(), type()) -> type().  set_character (IX, Character, Battle) ->     Battle#battle     { @@ -141,14 +141,14 @@ set_character (IX, Character, Battle) ->           )     }. --spec set_players (array:array(player:type()), type()) -> type(). +-spec set_players (array:array(bm_player:type()), type()) -> type().  set_players (Players, Battle) ->     Battle#battle     {        players = Players     }. --spec set_player (non_neg_integer(), player:type(), type()) -> type(). +-spec set_player (non_neg_integer(), bm_player:type(), type()) -> type().  set_player (IX, Player, Battle) ->     Battle#battle     { @@ -161,7 +161,7 @@ set_player (IX, Player, Battle) ->           )     }. --spec set_current_player_turn (player_turn:type(), type()) -> type(). +-spec set_current_player_turn (bm_player_turn:type(), type()) -> type().  set_current_player_turn (PlayerTurn, Battle) ->     Battle#battle     { @@ -171,9 +171,9 @@ set_current_player_turn (PlayerTurn, Battle) ->  -spec new     (        id(), -      list(player:type()), -      battlemap:type(), -      list(character:type()) +      list(bm_player:type()), +      bm_battlemap:type(), +      list(bm_character:type())     )     -> type().  new (ID, PlayersAsList, Battlemap, CharactersAsList) -> @@ -183,7 +183,7 @@ new (ID, PlayersAsList, Battlemap, CharactersAsList) ->        battlemap = Battlemap,        characters = array:from_list(CharactersAsList),        players = array:from_list(PlayersAsList), -      current_player_turn = player_turn:new(0, 0) +      current_player_turn = bm_player_turn:new(0, 0)     }. diff --git a/src/battlemap/src/struct/battle_action.erl b/src/battlemap/struct/bm_battle_action.erl index 3cedfa7..abdc1c6 100644 --- a/src/battlemap/src/struct/battle_action.erl +++ b/src/battlemap/struct/bm_battle_action.erl @@ -1,4 +1,4 @@ --module(battle_action). +-module(bm_battle_action).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -7,7 +7,7 @@  (     move,     { -      path :: list(direction:enum()) +      path :: list(bm_direction:enum())     }  ). @@ -57,7 +57,7 @@  -spec decode_mov_action (map()) -> type().  decode_mov_action (JSONMap) ->     PathInBinary = maps:get(<<"p">>, JSONMap), -   Path = lists:map(fun direction:decode/1, PathInBinary), +   Path = lists:map(fun bm_direction:decode/1, PathInBinary),     #move { path = Path }. diff --git a/src/battlemap/src/struct/battlemap.erl b/src/battlemap/struct/bm_battlemap.erl index dc6bdc7..c3eabb0 100644 --- a/src/battlemap/src/struct/battlemap.erl +++ b/src/battlemap/struct/bm_battlemap.erl @@ -1,4 +1,4 @@ --module(battlemap). +-module(bm_battlemap).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -12,7 +12,7 @@        id :: id(),        width :: integer(),        height :: integer(), -      tile_ids :: array:array(tile:id()) +      tile_ids :: array:array(bm_tile:id())     }  ). @@ -47,29 +47,29 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -spec generate_random_tile_ids     ( -      tile:id(), -      list(tile:id()), +      bm_tile:id(), +      list(bm_tile:id()),        non_neg_integer(),        non_neg_integer(),        non_neg_integer()     ) -   -> list(tile:id()). +   -> list(bm_tile:id()).  generate_random_tile_ids (_PreviousTileID, Result, _X, 0, _Width) ->     Result;  generate_random_tile_ids (PreviousTileID, Result, 0, Y, Width) ->     generate_random_tile_ids(PreviousTileID, Result, Width, (Y - 1), Width);  generate_random_tile_ids (PreviousTileID, Result, X, Y, Width) ->     NewTile = -      case roll:percentage() of +      case sh_roll:percentage() of           N when (N >= 10) -> PreviousTileID; -         _ -> tile:random_id() +         _ -> bm_tile:random_id()        end,     generate_random_tile_ids(NewTile, [NewTile|Result], (X - 1), Y, Width).  -spec location_to_array_index     (        non_neg_integer(), -      location:type() +      bm_location:type()     )     -> ('error' | non_neg_integer()).  location_to_array_index (ArrayWidth, {X, Y}) -> @@ -93,10 +93,10 @@ get_width (Battlemap) -> Battlemap#battlemap.width.  -spec get_height (type()) -> integer().  get_height (Battlemap) -> Battlemap#battlemap.height. --spec get_tile_ids (type()) -> array:array(tile:id()). +-spec get_tile_ids (type()) -> array:array(bm_tile:id()).  get_tile_ids (Battlemap) -> Battlemap#battlemap.tile_ids. --spec get_tile_id (location:type(), type()) -> tile:id(). +-spec get_tile_id (bm_location:type(), type()) -> bm_tile:id().  get_tile_id (Location, Battlemap) ->     TileIX = location_to_array_index(Battlemap#battlemap.width, Location),     array:get(TileIX, Battlemap#battlemap.tile_ids). @@ -109,7 +109,7 @@ get_tile_id (Location, Battlemap) ->     )     -> type().  random (ID, Width, Height) -> -   InitialTile = tile:random_id(), +   InitialTile = bm_tile:random_id(),     TileIDs = generate_random_tile_ids(InitialTile, [], Width, Height, Width),     #battlemap diff --git a/src/battlemap/src/struct/character.erl b/src/battlemap/struct/bm_character.erl index 2792da5..e797b74 100644 --- a/src/battlemap/src/struct/character.erl +++ b/src/battlemap/struct/bm_character.erl @@ -1,4 +1,4 @@ --module(character). +-module(bm_character).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -10,13 +10,13 @@     character,     {        id :: id(), -      owner_id :: player:id(), +      owner_id :: bm_player:id(),        name :: binary(),        icon :: binary(),        portrait :: binary(), -      attributes :: attributes:type(), -      statistics :: statistics:type(), -      weapon_ids :: {weapon:id(), weapon:id()}, +      attributes :: sh_attributes:type(), +      statistics :: bm_statistics:type(), +      weapon_ids :: {bm_weapon:id(), bm_weapon:id()},        location :: {non_neg_integer(), non_neg_integer()},        current_health :: non_neg_integer(),        active :: boolean() @@ -102,7 +102,7 @@ find_random_location (BattlemapWidth, BattlemapHeight, ForbiddenLocations) ->  -spec get_id (type()) -> id().  get_id (Char) -> Char#character.id. --spec get_owner_id (type()) -> player:id(). +-spec get_owner_id (type()) -> bm_player:id().  get_owner_id (Char) -> Char#character.owner_id.  -spec get_name (type()) -> binary(). @@ -114,13 +114,13 @@ get_icon (Char) -> Char#character.icon.  -spec get_portrait (type()) -> binary().  get_portrait (Char) -> Char#character.portrait. --spec get_attributes (type()) -> attributes:type(). +-spec get_attributes (type()) -> sh_attributes:type().  get_attributes (Char) -> Char#character.attributes. --spec get_weapon_ids (type()) -> {weapon:id(), weapon:id()}. +-spec get_weapon_ids (type()) -> {bm_weapon:id(), bm_weapon:id()}.  get_weapon_ids (Char) -> Char#character.weapon_ids. --spec get_statistics (type()) -> statistics:type(). +-spec get_statistics (type()) -> bm_statistics:type().  get_statistics (Char) -> Char#character.statistics.  -spec get_location (type()) -> {non_neg_integer(), non_neg_integer()}. @@ -171,7 +171,7 @@ set_is_active (Active, Char) ->  -spec set_weapon_ids     ( -      {weapon:id(), weapon:id()}, +      {bm_weapon:id(), bm_weapon:id()},        type()     )     -> type(). @@ -183,7 +183,7 @@ set_weapon_ids (WeaponIDs, Char) ->  -spec set_statistics     ( -      statistics:type(), +      bm_statistics:type(),        type()     )     -> type(). @@ -197,7 +197,7 @@ set_statistics (Stats, Char) ->  -spec random     (        non_neg_integer(), -      player:id(), +      bm_player:id(),        non_neg_integer(),        non_neg_integer(),        list({non_neg_integer(), non_neg_integer()}) @@ -206,9 +206,9 @@ set_statistics (Stats, Char) ->  random (ID, OwnerID, BattlemapWidth, BattlemapHeight, ForbiddenLocations) ->     Location =        find_random_location(BattlemapWidth, BattlemapHeight, ForbiddenLocations), -   WeaponIDs = {weapon:random_id(), weapon:random_id()}, -   Attributes = attributes:random(), -   Statistics = statistics:new(Attributes, WeaponIDs), +   WeaponIDs = {bm_weapon:random_id(), bm_weapon:random_id()}, +   Attributes = sh_attributes:random(), +   Statistics = bm_statistics:new(Attributes, WeaponIDs),     IDAsListString = integer_to_list(ID),     IDAsBinaryString = list_to_binary(IDAsListString), @@ -223,7 +223,7 @@ random (ID, OwnerID, BattlemapWidth, BattlemapHeight, ForbiddenLocations) ->        weapon_ids = WeaponIDs,        statistics = Statistics,        location = Location, -      current_health = statistics:get_health(Statistics), +      current_health = bm_statistics:get_health(Statistics),        active = false     }. diff --git a/src/battlemap/src/struct/character_turn_data.erl b/src/battlemap/struct/bm_character_turn_data.erl index 6ea744b..aaf7426 100644 --- a/src/battlemap/src/struct/character_turn_data.erl +++ b/src/battlemap/struct/bm_character_turn_data.erl @@ -1,4 +1,4 @@ --module(character_turn_data). +-module(bm_character_turn_data).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -8,8 +8,8 @@     type,     {        dirty :: boolean(), -      battle :: battle:type(), -      character :: character:type(), +      battle :: bm_battle:type(), +      character :: bm_character:type(),        character_ix :: non_neg_integer()     }  ). @@ -50,9 +50,9 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec new (battle:type(), non_neg_integer()) -> type(). +-spec new (bm_battle:type(), non_neg_integer()) -> type().  new (Battle, CharacterIX) -> -   Character = battle:get_character(CharacterIX, Battle), +   Character = bm_battle:get_character(CharacterIX, Battle),     #type     { @@ -65,20 +65,20 @@ new (Battle, CharacterIX) ->  -spec get_battle_is_dirty (type()) -> boolean().  get_battle_is_dirty (Data) -> Data#type.dirty. --spec get_battle (type()) -> battle:type(). +-spec get_battle (type()) -> bm_battle:type().  get_battle (Data) -> Data#type.battle. --spec get_character (type()) -> character:type(). +-spec get_character (type()) -> bm_character:type().  get_character (Data) -> Data#type.character.  -spec get_character_ix (type()) -> non_neg_integer().  get_character_ix (Data) -> Data#type.character_ix. --spec set_battle (battle:type(), type()) -> type(). +-spec set_battle (bm_battle:type(), type()) -> type().  set_battle (Battle, Data) ->     Data#type{ battle = Battle }. --spec set_character (character:type(), type()) -> type(). +-spec set_character (bm_character:type(), type()) -> type().  set_character (Character, Data) ->     Data#type     { @@ -92,7 +92,7 @@ clean_battle (Data) ->     {        dirty = false,        battle = -         battle:set_character +         bm_battle:set_character           (              Data#type.character_ix,              Data#type.character, diff --git a/src/battlemap/src/struct/character_turn_request.erl b/src/battlemap/struct/bm_character_turn_request.erl index ca8f44f..d141d7e 100644 --- a/src/battlemap/src/struct/character_turn_request.erl +++ b/src/battlemap/struct/bm_character_turn_request.erl @@ -1,4 +1,4 @@ --module(character_turn_request). +-module(bm_character_turn_request).  -define(PLAYER_ID_FIELD, <<"pid">>).  -define(SESSION_TOKEN_FIELD, <<"stk">>). @@ -13,11 +13,11 @@  (     type,     { -      player_id :: player:id(), +      player_id :: bm_player:id(),        session_token :: binary(),        battle_id :: binary(),        character_ix :: non_neg_integer(), -      actions :: list(battle_action:type()) +      actions :: list(bm_battle_action:type())     }  ). @@ -57,7 +57,7 @@  decode (Map) ->     CharacterIX = binary_to_integer(maps:get(?CHAR_IX_FIELD, Map)),     EncodedActions = maps:get(?ACTIONS_FIELD, Map), -   Actions = lists:map(fun battle_action:decode/1, EncodedActions), +   Actions = lists:map(fun bm_battle_action:decode/1, EncodedActions),     #type     { @@ -80,5 +80,5 @@ get_battle_id (Request) -> Request#type.battle_id.  -spec get_character_ix (type()) -> non_neg_integer().  get_character_ix (Request) -> Request#type.character_ix. --spec get_actions (type()) -> list(battle_action:type()). +-spec get_actions (type()) -> list(bm_battle_action:type()).  get_actions (Request) -> Request#type.actions. diff --git a/src/battlemap/src/struct/character_turn_update.erl b/src/battlemap/struct/bm_character_turn_update.erl index 07cb562..078075c 100644 --- a/src/battlemap/src/struct/character_turn_update.erl +++ b/src/battlemap/struct/bm_character_turn_update.erl @@ -1,4 +1,4 @@ --module(character_turn_update). +-module(bm_character_turn_update).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -7,9 +7,9 @@  (     type,     { -      data :: character_turn_data:type(), +      data :: bm_character_turn_data:type(),        timeline :: list(any()), -      db :: list(db_query:op()) +      db :: list(sh_db_query:op())     }  ). @@ -42,7 +42,7 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec new (character_turn_data:type()) -> type(). +-spec new (bm_character_turn_data:type()) -> type().  new (Data) ->     #type     { @@ -51,23 +51,23 @@ new (Data) ->        db = []     }. --spec get_data (type()) -> character_turn_data:type(). +-spec get_data (type()) -> bm_character_turn_data:type().  get_data (Update) -> Update#type.data.  -spec get_timeline (type()) -> list(any()).  get_timeline (Update) -> Update#type.timeline. --spec get_db (type()) -> list(db_query:op()). +-spec get_db (type()) -> list(sh_db_query:op()).  get_db (Update) -> Update#type.db. --spec set_data (character_turn_data:type(), type()) -> type(). +-spec set_data (bm_character_turn_data:type(), type()) -> type().  set_data (Data, Update) ->     Update#type{ data = Data}. --spec add_to_timeline (turn_result:type(), type()) -> type(). +-spec add_to_timeline (bm_turn_result:type(), type()) -> type().  add_to_timeline (Item, Update) -> -   Update#type{ timeline = [turn_result:encode(Item)|Update#type.timeline] }. +   Update#type{ timeline = [bm_turn_result:encode(Item)|Update#type.timeline] }. --spec add_to_db (db_query:op(), type()) -> type(). +-spec add_to_db (sh_db_query:op(), type()) -> type().  add_to_db (Item, Update) ->     Update#type{ db = [Item|Update#type.db] }. diff --git a/src/battlemap/src/struct/direction.erl b/src/battlemap/struct/bm_direction.erl index be43a13..2da3936 100644 --- a/src/battlemap/src/struct/direction.erl +++ b/src/battlemap/struct/bm_direction.erl @@ -1,4 +1,4 @@ --module(direction). +-module(bm_direction).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/src/battlemap/src/struct/location.erl b/src/battlemap/struct/bm_location.erl index e54584b..056d10c 100644 --- a/src/battlemap/src/struct/location.erl +++ b/src/battlemap/struct/bm_location.erl @@ -1,4 +1,4 @@ --module(location). +-module(bm_location).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -44,7 +44,7 @@ validate ({X, Y}) ->  -spec get_nowhere () -> type().  get_nowhere () -> nowhere. --spec apply_direction (direction:enum(), type()) -> type(). +-spec apply_direction (bm_direction:enum(), type()) -> type().  apply_direction (left, {X, Y}) ->     validate({(X - 1), Y});  apply_direction (right, {X, Y}) -> diff --git a/src/battlemap/src/struct/player.erl b/src/battlemap/struct/bm_player.erl index 4cd073e..3f14a6f 100644 --- a/src/battlemap/src/struct/player.erl +++ b/src/battlemap/struct/bm_player.erl @@ -1,4 +1,4 @@ --module(player). +-module(bm_player).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/src/battlemap/src/struct/player_turn.erl b/src/battlemap/struct/bm_player_turn.erl index a558bfc..5f2c074 100644 --- a/src/battlemap/src/struct/player_turn.erl +++ b/src/battlemap/struct/bm_player_turn.erl @@ -1,4 +1,4 @@ --module(player_turn). +-module(bm_player_turn).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/src/battlemap/src/struct/tile.erl b/src/battlemap/struct/bm_tile.erl index a2e04ee..c1dd448 100644 --- a/src/battlemap/src/struct/tile.erl +++ b/src/battlemap/struct/bm_tile.erl @@ -1,4 +1,4 @@ --module(tile). +-module(bm_tile).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -44,4 +44,4 @@ get_cost (N) ->  -spec random_id () -> id().  random_id () -> -   roll:between(0, 15). +   sh_roll:between(0, 15). diff --git a/src/battlemap/src/struct/turn_result.erl b/src/battlemap/struct/bm_turn_result.erl index 42a3a18..c3440bd 100644 --- a/src/battlemap/src/struct/turn_result.erl +++ b/src/battlemap/struct/bm_turn_result.erl @@ -1,4 +1,4 @@ --module(turn_result). +-module(bm_turn_result).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -8,7 +8,7 @@  (     switched_weapon,     { -      character_ix :: character:id() +      character_ix :: bm_character:id()     }  ). @@ -16,9 +16,9 @@  (     moved,     { -      character_ix :: character:id(), -      path :: list(direction:enum()), -      new_location :: location:type() +      character_ix :: bm_character:id(), +      path :: list(bm_direction:enum()), +      new_location :: bm_location:type()     }  ). @@ -26,9 +26,9 @@  (     attacked,     { -      attacker_ix :: character:id(), -      defender_ix :: character:id(), -      sequence :: list(attack:type()) +      attacker_ix :: bm_character:id(), +      defender_ix :: bm_character:id(), +      sequence :: list(bm_attack:type())     }  ). @@ -62,15 +62,15 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec new_character_switched_weapons (character:id()) -> type(). +-spec new_character_switched_weapons (bm_character:id()) -> type().  new_character_switched_weapons (CharacterIX) ->     #switched_weapon { character_ix = CharacterIX }.  -spec new_character_moved     ( -      character:id(), -      list(direction:enum()), -      location:type() +      bm_character:id(), +      list(bm_direction:enum()), +      bm_location:type()     )     -> type().  new_character_moved (CharacterIX, Path, NewLocation) -> @@ -83,9 +83,9 @@ new_character_moved (CharacterIX, Path, NewLocation) ->  -spec new_character_attacked     ( -      character:id(), -      character:id(), -      list(attack:type()) +      bm_character:id(), +      bm_character:id(), +      list(bm_attack:type())     )     -> type().  new_character_attacked (AttackerIX, DefenderIX, AttackSequence) -> @@ -111,8 +111,8 @@ encode (TurnResult) when is_record(TurnResult, moved) ->     Path = TurnResult#moved.path,     NewLocation = TurnResult#moved.new_location, -   EncodedPath = lists:map(fun direction:encode/1, Path), -   EncodedNewLocation = location:encode(NewLocation), +   EncodedPath = lists:map(fun bm_direction:encode/1, Path), +   EncodedNewLocation = bm_location:encode(NewLocation),     {        [ @@ -127,7 +127,7 @@ encode (TurnResult) when is_record(TurnResult, attacked) ->     DefenderIX = TurnResult#attacked.defender_ix,     Sequence = TurnResult#attacked.sequence, -   EncodedSequence = lists:map(fun attack:encode/1, Sequence), +   EncodedSequence = lists:map(fun bm_attack:encode/1, Sequence),     {        [ diff --git a/src/battlemap/src/struct/weapon.erl b/src/battlemap/struct/bm_weapon.erl index 7d3c874..6c05799 100644 --- a/src/battlemap/src/struct/weapon.erl +++ b/src/battlemap/struct/bm_weapon.erl @@ -1,4 +1,4 @@ --module(weapon). +-module(bm_weapon).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -334,28 +334,27 @@ from_id (24) ->     }.  -spec random_id () -> id(). -random_id () -> roll:between(0, 24). +random_id () -> sh_roll:between(0, 24).  -spec apply_to_attributes     ( -      attributes:type(), -      weapon:type() +      sh_attributes:type(), +      bm_weapon:type()     )     -> attributes:type().  apply_to_attributes (Attributes, Weapon) -> -   Dexterity = attributes:get_dexterity(Attributes), -   Speed = attributes:get_speed(Attributes), +   Dexterity = sh_attributes:get_dexterity(Attributes), +   Speed = sh_attributes:get_speed(Attributes),     RangeModifier = Weapon#weapon.range_mod,     DamageModifier = Weapon#weapon.damage_mod,     WithRangeModifier =        case RangeModifier of           long -> -            attributes:set_dexterity(max(0, (Dexterity - 20)), Attributes); +            sh_attributes:set_dexterity(max(0, (Dexterity - 20)), Attributes);           _ -> Attributes        end,     case DamageModifier of -      heavy -> -         attributes:set_speed(max(0, (Speed - 20)), WithRangeModifier); +      heavy -> sh_attributes:set_speed(max(0, (Speed - 20)), WithRangeModifier);        _ -> WithRangeModifier     end. diff --git a/src/battlemap/src/util/array_util.erl b/src/battlemap/util/array_util.erl index 418d9ce..418d9ce 100644 --- a/src/battlemap/src/util/array_util.erl +++ b/src/battlemap/util/array_util.erl diff --git a/src/db/Makefile b/src/db/Makefile deleted file mode 100644 index 206a332..0000000 --- a/src/db/Makefile +++ /dev/null @@ -1,71 +0,0 @@ -################################################################################ -## CONFIG ###################################################################### -################################################################################ -MODULE_NAME ?= $ $(shell basename ${CURDIR}) -MODULE_PORT ?= 8002 - -DIALYZER_PLT_FILE ?= tacticians-server.plt - -## Main Directories -SRC_DIR ?= ${CURDIR}/src -CONF_DIR ?= ${CURDIR}/conf - -#### Optional Dirs -BIN_DIR ?= ${CURDIR}/ebin -INCLUDE_DIR ?= ${CURDIR}/include - -## Binaries -ERLC ?= erlc -ERLC_OPTS ?= -ERL ?= erl -ERL_OPTS ?= \ -	-connect_all false \ -	-name db_node \ -	-pa $(BIN_DIR) \ -	-run db_node start - -DIALYZER ?= dialyzer - -################################################################################ -## MAKEFILE MAGIC ############################################################## -################################################################################ -OPTIONAL_DIRS = $(BIN_DIR) $(INCLUDE_DIR) - -################################################################################ -## SANITY CHECKS ############################################################### -################################################################################ -DIALYZER_PLT_FILE ?= tacticians-server.plt - -## Main Directories -SRC_DIR ?= src -CONF_DIR ?= conf - -################################################################################ -## INCLUDES #################################################################### -################################################################################ -main_target: all - -include ${CURDIR}/mk/debug.mk -include ${CURDIR}/mk/erlang.mk -include ${CURDIR}/mk/preprocessor.mk - -################################################################################ -## TARGET RULES ################################################################ -################################################################################ -all: build - -debug: debug_run - -build: $(REQUIRED_HEADERS) $(PREPROCESSOR_RESULT) $(ERLANG_RESULT) - -run: -	$(ERL) $(ERL_OPTS) - -clean: -	rm -rf $(PREPROCESSOR_RESULT) $(ERLANG_RESULT) - -################################################################################ -## INTERNAL RULES ############################################################## -################################################################################ -$(OPTIONAL_DIRS): %: -	mkdir -p $@ diff --git a/src/db/src/db_node.erl b/src/db/db_node.erl index be295c6..be295c6 100644 --- a/src/db/src/db_node.erl +++ b/src/db/db_node.erl diff --git a/src/db/src/logic/storage_access.erl b/src/db/logic/storage_access.erl index 437294f..437294f 100644 --- a/src/db/src/logic/storage_access.erl +++ b/src/db/logic/storage_access.erl diff --git a/src/db/mk/debug.mk b/src/db/mk/debug.mk deleted file mode 100644 index bd93669..0000000 --- a/src/db/mk/debug.mk +++ /dev/null @@ -1,40 +0,0 @@ -################################################################################ -## CONFIG ###################################################################### -################################################################################ -DIALYZER_PLT_FILE ?= tacticians-server.plt -DIALYZER ?= dialyzer - -################################################################################ -## MAKEFILE MAGIC ############################################################## -################################################################################ -SRC_FILES ?= $(wildcard $(SRC_DIR)/*.erl $(SRC_DIR)/*/*.erl) - -################################################################################ -## SANITY CHECKS ############################################################### -################################################################################ - -################################################################################ -## TARGET RULES ################################################################ -################################################################################ -DEBUG_RESULT = $(DIALYZER_PLT_FILE) - -debug_rebuild: -	$(MAKE) clean -	$(MAKE) ERLC_OPTS=+debug_info - -################################################################################ -## INTERNAL RULES ############################################################## -################################################################################ -ifeq ($(wildcard $(DIALYZER_PLT_FILE)),) -debug_run: -	$(DIALYZER) --build_plt --apps erts kernel stdlib --output_plt \ -		$(DIALYZER_PLT_FILE) -	$(MAKE) debug_rebuild -	$(DIALYZER) --add_to_plt --plt $(DIALYZER_PLT_FILE) -r $(BIN_DIR) -else -debug_run: -	$(MAKE) debug_rebuild -	$(DIALYZER) --check_plt --plt $(DIALYZER_PLT_FILE) -	$(DIALYZER) --get_warnings $(SRC_DIR)/*.erl $(SRC_DIR)/*/*.erl \ -		--src --plt $(DIALYZER_PLT_FILE) -endif diff --git a/src/db/mk/erlang.mk b/src/db/mk/erlang.mk deleted file mode 100644 index 9150f63..0000000 --- a/src/db/mk/erlang.mk +++ /dev/null @@ -1,28 +0,0 @@ -################################################################################ -## CONFIG ###################################################################### -################################################################################ -ERLC ?= erlc -ERLC_OPTS ?= - -################################################################################ -## MAKEFILE MAGIC ############################################################## -################################################################################ -SRC_FILES ?= $(wildcard $(SRC_DIR)/*.erl $(SRC_DIR)/*/*.erl) -BIN_FILES = \ -	$(patsubst %.erl,$(BIN_DIR)/%.beam,$(notdir $(SRC_FILES))) - -################################################################################ -## SANITY CHECKS ############################################################### -################################################################################ - -################################################################################ -## TARGET RULES ################################################################ -################################################################################ -ERLANG_RESULT = $(BIN_DIR) $(BIN_FILES) - -################################################################################ -## INTERNAL RULES ############################################################## -################################################################################ -.SECONDEXPANSION: -$(BIN_FILES): $(BIN_DIR)/%.beam : $$(wildcard $(SRC_DIR)/*/%.erl $(SRC_DIR)/%.erl) -	$(ERLC) $(ERLC_OPTS) -o $(BIN_DIR) $< diff --git a/src/db/mk/preprocessor.mk b/src/db/mk/preprocessor.mk deleted file mode 100644 index 74f66ba..0000000 --- a/src/db/mk/preprocessor.mk +++ /dev/null @@ -1,34 +0,0 @@ -################################################################################ -## CONFIG ###################################################################### -################################################################################ -CONFIG_FILE ?= ${CURDIR}/module.conf - -################################################################################ -## MAKEFILE MAGIC ############################################################## -################################################################################ -PREPROCESSOR_FILES = $(shell find ${CURDIR} -name "*.m4") -PREPROCESSED_FILES = $(patsubst %.m4,%,$(PREPROCESSOR_FILES)) - -MAKEFILE_TO_M4 = \ -	--define=__MAKEFILE_MODULE_NAME=$(MODULE_NAME) \ -	--define=__MAKEFILE_MODULE_PORT=$(MODULE_PORT) \ -	--define=__MAKEFILE_BIN_DIR=$(BIN_DIR) \ -	--define=__MAKEFILE_INCLUDE_DIR=$(INCLUDE_DIR) - -################################################################################ -## SANITY CHECKS ############################################################### -################################################################################ -ifeq ($(wildcard $(CONFIG_FILE)),) -$(error "Missing CONFIG_FILE ($(CONFIG_FILE)).") -endif - -################################################################################ -## TARGET RULES ################################################################ -################################################################################ -PREPROCESSOR_RESULT = $(PREPROCESSED_FILES) - -################################################################################ -## INTERNAL RULES ############################################################## -################################################################################ -$(PREPROCESSED_FILES): %: $(CONFIG_FILE) %.m4 -	m4 -P $^ > $@ diff --git a/src/db/module.conf b/src/db/module.conf deleted file mode 100644 index 08714a1..0000000 --- a/src/db/module.conf +++ /dev/null @@ -1,6 +0,0 @@ -m4_define(`__MODULE_NAME', `__MAKEFILE_MODULE_NAME')m4_dnl -m4_define(`__MODULE_PORT', `__MAKEFILE_MODULE_PORT')m4_dnl -m4_dnl -m4_define(`__MODULE_BIN_DIR', `__MAKEFILE_BIN_DIR')m4_dnl -m4_define(`__MODULE_INCLUDE_DIR', `__MAKEFILE_INCLUDE_DIR')m4_dnl -m4_dnl diff --git a/src/db/src/struct/db_model.erl b/src/db/struct/db_model.erl index 1b21629..1b21629 100644 --- a/src/db/src/struct/db_model.erl +++ b/src/db/struct/db_model.erl diff --git a/src/db/src/struct/db_query.erl b/src/db/struct/db_query.erl index f8ad310..9a86f98 100644 --- a/src/db/src/struct/db_query.erl +++ b/src/db/struct/db_query.erl @@ -3,7 +3,7 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --include("../../include/db_query.hrl"). +-include("../../shared/include/db_query.hrl").  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -20,7 +20,7 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec get_user (db_query()) -> db_user:user(). +-spec get_user (db_query()) -> sh_db_user:user().  get_user (#db_query{ user = Result }) -> Result.  -spec apply_update_indexed (#update_indexed{}, any()) -> any(). @@ -82,7 +82,7 @@ apply_master_op_to (MOp, Elem) when is_record(MOp, set_val) ->     db_item:set_value(NewVal, Elem);  apply_master_op_to (MOp, Elem) -> -   OldValue = db_item:get_value(Elem), +   OldValue = sh_db_item:get_value(Elem),     NewValue = apply_op_to(MOp, OldValue),     db_item:set_value(NewValue, Elem). @@ -103,7 +103,12 @@ get_entry_id (#db_query{ id = Result }) -> Result.     )     -> ({'ok', db_item:type()} | 'error').  apply_to (DBQuery, DBItem) -> -   true = db_user:can_access(db_item:get_permission(DBItem), get_user(DBQuery)), +   true = +      sh_db_user:can_access +      ( +         sh_db_item:get_permission(DBItem), +         get_user(DBQuery) +      ),     MOps = DBQuery#db_query.ops,     {ok, lists:foldl(fun apply_master_op_to/2, DBItem, MOps)}. diff --git a/src/db/include/db_item.hrl b/src/shared/include/db_item.hrl index 86d5863..86d5863 100644 --- a/src/db/include/db_item.hrl +++ b/src/shared/include/db_item.hrl diff --git a/src/db/include/db_query.hrl b/src/shared/include/db_query.hrl index 7e5a5b0..7e5a5b0 100644 --- a/src/db/include/db_query.hrl +++ b/src/shared/include/db_query.hrl diff --git a/src/db/include/db_user.hrl b/src/shared/include/db_user.hrl index c5b033e..c5b033e 100644 --- a/src/db/include/db_user.hrl +++ b/src/shared/include/db_user.hrl diff --git a/src/battlemap/src/shim/database_shim.erl b/src/shared/io/sh_database.erl index c64105d..a65b784 100644 --- a/src/battlemap/src/shim/database_shim.erl +++ b/src/shared/io/sh_database.erl @@ -1,4 +1,4 @@ --module(database_shim). +-module(sh_database).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -28,11 +28,11 @@ get_db_node () ->        non_neg_integer(),        non_neg_integer(),        non_neg_integer(), -      battlemap:type(), -      list(location:type()), -      list(character:type()) +      bm_battlemap:type(), +      list(bm_location:type()), +      list(bm_character:type())     ) -   -> list(character:type()). +   -> list(bm_character:type()).  generate_random_characters  (     0, @@ -75,17 +75,17 @@ generate_random_characters     Result  ) ->     NewCharacter = -      character:random +      bm_character:random        (           TotalCharacterCount,           list_to_binary(integer_to_list(MaxPlayerID)), -         battlemap:get_width(Battlemap), -         battlemap:get_height(Battlemap), +         bm_battlemap:get_width(Battlemap), +         bm_battlemap:get_height(Battlemap),           ForbiddenLocations        ),     Character =        case MaxPlayerID of -         0 -> character:set_is_active(true, NewCharacter); +         0 -> bm_character:set_is_active(true, NewCharacter);           _ -> NewCharacter        end, @@ -96,7 +96,7 @@ generate_random_characters        CharactersPerPlayer,        (TotalCharacterCount + 1),        Battlemap, -      [character:get_location(Character)|ForbiddenLocations], +      [bm_character:get_location(Character)|ForbiddenLocations],        [Character|Result]     ). @@ -105,12 +105,12 @@ generate_random_characters  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -spec generate_db () -> 'ok'.  generate_db () -> -   BattlemapWidth = roll:between(16, 64), -   BattlemapHeight = roll:between(16, 64), -   Battlemap = battlemap:random(0, BattlemapWidth, BattlemapHeight), +   BattlemapWidth = sh_roll:between(16, 64), +   BattlemapHeight = sh_roll:between(16, 64), +   Battlemap = bm_battlemap:random(0, BattlemapWidth, BattlemapHeight),     Characters = generate_random_characters(1, 8, 8, 0, Battlemap, [], []), -   PlayersAsList = [player:new(<<"0">>), player:new(<<"1">>)], -   Battle = battle:new(<<"0">>, PlayersAsList, Battlemap, Characters), +   PlayersAsList = [bm_player:new(<<"0">>), bm_player:new(<<"1">>)], +   Battle = bm_battle:new(<<"0">>, PlayersAsList, Battlemap, Characters),     {atomic, ok} =        rpc:call diff --git a/src/battlemap/src/io/timed_cache.erl b/src/shared/io/sh_timed_cache.erl index 52b98d6..1839992 100644 --- a/src/battlemap/src/io/timed_cache.erl +++ b/src/shared/io/sh_timed_cache.erl @@ -1,4 +1,4 @@ --module(timed_cache). +-module(sh_timed_cache).  -behavior(gen_server).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -37,8 +37,8 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -spec add_to_cache (atom(), any(), any()) -> any().  add_to_cache (DB, Owner, ObjectID) -> -   {ok, TimerPID} = gen_server:start(?MODULE, {DB, {Owner, ObjectID}}, []), -   {ok, Data} = database_shim:fetch(DB, ObjectID), +   {ok, TimerPID} = sh_gen_server:start(?MODULE, {DB, {Owner, ObjectID}}, []), +   {ok, Data} = sh_database:fetch(DB, ObjectID),     ets:insert(DB, {{Owner, ObjectID}, TimerPID, Data}),     Data. @@ -54,17 +54,17 @@ add_update_to_cache (DB, Owner, ObjectID, Data) ->  %%%% 'gen_server' functions  init ({DB, ObjectID}) ->     io:format("~nCache entry added: ~p.~n", [{DB, ObjectID}]), -   {ok, {DB, ObjectID}, timed_caches_manager:get_timeout()}. +   {ok, {DB, ObjectID}, sh_timed_caches_manager:get_timeout()}.  handle_call (invalidate, _, State) ->     {stop, normal, State};  handle_call (ping, _, State) -> -   {noreply, State, timed_caches_manager:get_timeout()}. +   {noreply, State, sh_timed_caches_manager:get_timeout()}.  handle_cast (invalidate, State) ->     {stop, normal, State};  handle_cast (ping, State) -> -   {noreply, State, timed_caches_manager:get_timeout()}. +   {noreply, State, sh_timed_caches_manager:get_timeout()}.  terminate (_, {DB, ObjectID}) ->     io:format diff --git a/src/battlemap/src/io/timed_caches_manager.erl b/src/shared/io/sh_timed_caches_manager.erl index 5901964..7921552 100644 --- a/src/battlemap/src/io/timed_caches_manager.erl +++ b/src/shared/io/sh_timed_caches_manager.erl @@ -1,4 +1,4 @@ --module(timed_caches_manager). +-module(sh_timed_caches_manager).  -behavior(gen_server).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/src/battlemap/src/struct/attributes.erl b/src/shared/struct/sh_attributes.erl index aca91d3..93dcfc6 100644 --- a/src/battlemap/src/struct/attributes.erl +++ b/src/shared/struct/sh_attributes.erl @@ -1,4 +1,4 @@ --module(attributes). +-module(sh_attributes).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -99,10 +99,10 @@ set_strength (Val, Att) -> Att#attributes{ strength = Val }.  random () ->     #attributes     { -      constitution = roll:percentage(), -      dexterity = roll:percentage(), -      intelligence = roll:percentage(), -      mind = roll:percentage(), -      speed = roll:percentage(), -      strength = roll:percentage() +      constitution = sh_roll:percentage(), +      dexterity = sh_roll:percentage(), +      intelligence = sh_roll:percentage(), +      mind = sh_roll:percentage(), +      speed = sh_roll:percentage(), +      strength = sh_roll:percentage()     }. diff --git a/src/db/src/struct/db_item.erl b/src/shared/struct/sh_db_item.erl index 0ce7630..e499634 100644 --- a/src/db/src/struct/db_item.erl +++ b/src/shared/struct/sh_db_item.erl @@ -1,9 +1,9 @@ --module(db_item). +-module(sh_db_item).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --include("../../include/db_item.hrl"). +-include("../include/db_item.hrl").  -type type() :: db_item(). diff --git a/src/battlemap/src/struct/db_query.erl b/src/shared/struct/sh_db_query.erl index 5d1e8d2..998568e 100644 --- a/src/battlemap/src/struct/db_query.erl +++ b/src/shared/struct/sh_db_query.erl @@ -1,9 +1,9 @@ --module(db_query). +-module(sh_db_query).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --include("../../../db/include/db_query.hrl"). +-include("../include/db_query.hrl").  -opaque op() :: db_query_op().  -opaque type() :: db_query(). @@ -30,7 +30,7 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec new (atom(), any(), db_user:user(), list(op())) -> type(). +-spec new (atom(), any(), sh_db_user:user(), list(op())) -> type().  new (DBName, ObjectID, User, Ops) ->     #db_query     { diff --git a/src/db/src/struct/db_user.erl b/src/shared/struct/sh_db_user.erl index 983013c..40a46d3 100644 --- a/src/db/src/struct/db_user.erl +++ b/src/shared/struct/sh_db_user.erl @@ -1,9 +1,9 @@ --module(db_user). +-module(sh_db_user).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --include("../../include/db_user.hrl"). +-include("../include/db_user.hrl").  -type user() :: db_user().  -type permission() :: db_permission(). diff --git a/src/battlemap/src/struct/statistics.erl b/src/shared/struct/sh_statistics.erl index 3406d9a..7cf2b06 100644 --- a/src/battlemap/src/struct/statistics.erl +++ b/src/shared/struct/sh_statistics.erl @@ -1,4 +1,4 @@ --module(statistics). +-module(sh_statistics).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 


