| summaryrefslogtreecommitdiff | 
diff options
| author | nsensfel <SpamShield0@noot-noot.org> | 2018-07-12 17:10:30 +0200 | 
|---|---|---|
| committer | nsensfel <SpamShield0@noot-noot.org> | 2018-07-12 17:10:30 +0200 | 
| commit | 0b2562792eb35c35b573fd9a79d1c73576e0d536 (patch) | |
| tree | 0a42b767f19e6c1ea76fd9520c886a6716b26966 | |
| parent | 73bea4600f5bb3ad748d9bfa65ef6cd14e6bbd55 (diff) | |
Shared sec. module, some renammings.
| -rw-r--r-- | conf/yaws.conf.m4 | 2 | ||||
| -rw-r--r-- | src/battle/btl_shim.erl | 12 | ||||
| -rw-r--r-- | src/battle/game-logic/btl_movement.erl | 6 | ||||
| -rw-r--r-- | src/battle/game-logic/btl_turn_actions.erl | 2 | ||||
| -rw-r--r-- | src/battle/io/btl_security.erl | 33 | ||||
| -rw-r--r-- | src/battle/query/btl_character_turn.erl | 6 | ||||
| -rw-r--r-- | src/battle/query/btl_load_state.erl | 159 | ||||
| -rw-r--r-- | src/battle/reply/btl_set_map.erl | 8 | ||||
| -rw-r--r-- | src/battle/struct/btl_battle.erl | 20 | ||||
| -rw-r--r-- | src/battle/struct/btl_battlemap.erl | 100 | ||||
| -rw-r--r-- | src/map/io/map_security.erl | 33 | ||||
| -rw-r--r-- | src/map/query/map_load_state.erl | 159 | 
12 files changed, 28 insertions, 512 deletions
| diff --git a/conf/yaws.conf.m4 b/conf/yaws.conf.m4 index abd174e..0e96a29 100644 --- a/conf/yaws.conf.m4 +++ b/conf/yaws.conf.m4 @@ -110,6 +110,6 @@ keepalive_timeout = 30000    listen = 0.0.0.0    docroot = __MAKEFILE_WWW_DIR    auth_log = true -  appmods = btl_character_turn btl_load_state +  appmods = btl_character_turn btl_load map_load    start_mod = qry_handler  </server> diff --git a/src/battle/btl_shim.erl b/src/battle/btl_shim.erl index fddc2f6..2964a76 100644 --- a/src/battle/btl_shim.erl +++ b/src/battle/btl_shim.erl @@ -19,7 +19,7 @@        non_neg_integer(),        non_neg_integer(),        non_neg_integer(), -      btl_battlemap:type(), +      btl_map:type(),        list(btl_location:type()),        list(btl_character:type())     ) @@ -70,8 +70,8 @@ generate_random_characters        (           TotalCharacterCount,           MaxPlayerIX, -         btl_battlemap:get_width(Battlemap), -         btl_battlemap:get_height(Battlemap), +         btl_map:get_width(Battlemap), +         btl_map:get_height(Battlemap),           ForbiddenLocations        ),     Character = @@ -134,8 +134,8 @@ demo_map () ->  generate_random_battle () ->     %BattlemapWidth = 32, % shr_roll:between(16, 32),     %BattlemapHeight = 32, %shr_roll:between(16, 32), -   %Battlemap = btl_battlemap:random(0, BattlemapWidth, BattlemapHeight), -   Battlemap = btl_battlemap:from_list(0, 32, 32, demo_map()), +   %Battlemap = btl_map:random(0, BattlemapWidth, BattlemapHeight), +   Battlemap = btl_map:from_list(0, 32, 32, demo_map()),     Characters = generate_random_characters(1, 8, 8, 0, Battlemap, [], []),     PlayersAsList = [btl_player:new(0, 8, <<"0">>), btl_player:new(1, 0, <<"1">>)], @@ -165,7 +165,7 @@ generate_random_battle () ->              )           end,           sets:new(), -         btl_battlemap:get_tile_class_ids(Battlemap) +         btl_map:get_tile_class_ids(Battlemap)        ),     Battle = diff --git a/src/battle/game-logic/btl_movement.erl b/src/battle/game-logic/btl_movement.erl index 87b1806..f78eca1 100644 --- a/src/battle/game-logic/btl_movement.erl +++ b/src/battle/game-logic/btl_movement.erl @@ -19,7 +19,7 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -spec cross     ( -      btl_battlemap:type(), +      btl_map:type(),        list(btl_location:type()),        list(btl_direction:enum()),        non_neg_integer(), @@ -30,7 +30,7 @@ cross (_Battlemap, _ForbiddenLocations, [], Cost, Location) ->     {Location, Cost};  cross (Battlemap, ForbiddenLocations, [Step|NextSteps], Cost, Location) ->     NextLocation = btl_location:apply_direction(Step, Location), -   NextTileClassID = btl_battlemap:get_tile_class_id(NextLocation, Battlemap), +   NextTileClassID = btl_map:get_tile_class_id(NextLocation, Battlemap),     NextTileID = btl_tile:class_id_to_type_id(NextTileClassID),     NextTile = btl_tile:from_id(NextTileID),     NextCost = (Cost + btl_tile:get_cost(NextTile)), @@ -50,7 +50,7 @@ cross (Battlemap, ForbiddenLocations, [Step|NextSteps], Cost, Location) ->  -spec cross     ( -      btl_battlemap:type(), +      btl_map:type(),        list(btl_location:type()),        list(btl_direction:enum()),        btl_location:type() diff --git a/src/battle/game-logic/btl_turn_actions.erl b/src/battle/game-logic/btl_turn_actions.erl index e7153f9..d46818f 100644 --- a/src/battle/game-logic/btl_turn_actions.erl +++ b/src/battle/game-logic/btl_turn_actions.erl @@ -79,7 +79,7 @@ get_path_cost_and_destination (Data, Path) ->     Character = btl_character_turn_data:get_character(Data),     CharacterIX = btl_character_turn_data:get_character_ix(Data),     Battle = btl_character_turn_data:get_battle(Data), -   Battlemap = btl_battle:get_battlemap(Battle), +   Battlemap = btl_battle:get_map(Battle),     ForbiddenLocations =        array:foldl diff --git a/src/battle/io/btl_security.erl b/src/battle/io/btl_security.erl deleted file mode 100644 index cf6bb9b..0000000 --- a/src/battle/io/btl_security.erl +++ /dev/null @@ -1,33 +0,0 @@ --module(btl_security). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export -( -   [ -      assert_identity/2, -      lock_queries/1, -      unlock_queries/1 -   ] -). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec assert_identity (any(), any()) -> 'unimplemented'. -assert_identity (_PlayerID, _SessionToken) -> unimplemented. - --spec lock_queries (any()) -> 'unimplemented'. -lock_queries (_PlayerID) -> unimplemented. - --spec unlock_queries (any()) -> 'unimplemented'. -unlock_queries (_PlayerID) -> unimplemented. diff --git a/src/battle/query/btl_character_turn.erl b/src/battle/query/btl_character_turn.erl index ed6ca86..a65dc91 100644 --- a/src/battle/query/btl_character_turn.erl +++ b/src/battle/query/btl_character_turn.erl @@ -30,8 +30,8 @@ authenticate_user (Request) ->     PlayerID = btl_character_turn_request:get_player_id(Request),     SessionToken = btl_character_turn_request:get_session_token(Request), -   btl_security:assert_identity(PlayerID, SessionToken), -   btl_security:lock_queries(PlayerID), +   shr_security:assert_identity(PlayerID, SessionToken), +   shr_security:lock_queries(PlayerID),     ok. @@ -246,7 +246,7 @@ commit_update (Update, Request) ->  disconnect_user (Request) ->     PlayerID = btl_character_turn_request:get_player_id(Request), -   btl_security:unlock_queries(PlayerID), +   shr_security:unlock_queries(PlayerID),     ok. diff --git a/src/battle/query/btl_load_state.erl b/src/battle/query/btl_load_state.erl deleted file mode 100644 index 2026222..0000000 --- a/src/battle/query/btl_load_state.erl +++ /dev/null @@ -1,159 +0,0 @@ --module(btl_load_state). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --include("../../../include/yaws_api.hrl"). - --record -( -   input, -   { -      player_id :: btl_player:id(), -      session_token :: binary(), -      battle_id :: binary() -   } -). - --record -( -   query_state, -   { -      battle :: btl_battle:type() -   } -). - --type input() :: #input{}. --type query_state() :: #query_state{}. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export([out/1]). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec parse_input (binary()) -> input(). -parse_input (Req) -> -   JSONReqMap = jiffy:decode(Req, [return_maps]), -   PlayerID = maps:get(<<"pid">>, JSONReqMap), -   SessionToken =  maps:get(<<"stk">>, JSONReqMap), -   BattleID = maps:get(<<"bid">>, JSONReqMap), - -   #input -   { -      player_id = PlayerID, -      session_token = SessionToken, -      battle_id = BattleID -   }. - --spec fetch_data (input()) -> query_state(). -fetch_data (Input) -> -   PlayerID = Input#input.player_id, -   BattleID = Input#input.battle_id, - -   Battle = shr_timed_cache:fetch(battle_db, PlayerID, BattleID), - -   #query_state -   { -      battle = Battle -   }. - --spec generate_reply(query_state(), input()) -> binary(). -generate_reply (QueryState, Input) -> -   PlayerID = Input#input.player_id, -   Battle = QueryState#query_state.battle, -   Players = btl_battle:get_players(Battle), - -   PlayerIX = -      shr_array_util:first -      ( -         fun (Player) -> -            (btl_player:get_id(Player) == PlayerID) -         end, -         Players -      ), - -   true = (PlayerIX >= 0), - -   SetTimeline = -      btl_set_timeline:generate -      ( -         btl_battle:get_encoded_last_turns_effects(Battle) -      ), - -   SetMap = btl_set_map:generate(btl_battle:get_battlemap(Battle)), - -   AddCharList = -      array:sparse_to_list -      ( -         array:map -         ( -            fun (IX, Character) -> -               btl_add_char:generate(IX, Character, PlayerIX) -            end, -            btl_battle:get_characters(Battle) -         ) -      ), - -   AddWeaponList = -      lists:map -      ( -         fun (WeaponID) -> -            btl_add_weapon:generate(shr_weapon:from_id(WeaponID)) -         end, -         btl_battle:get_used_weapon_ids(Battle) -      ), - -   AddArmorList = -      lists:map -      ( -         fun (ArmorID) -> -            btl_add_armor:generate(shr_armor:from_id(ArmorID)) -         end, -         btl_battle:get_used_armor_ids(Battle) -      ), - -   AddTileList = -      lists:map -      ( -         fun (TileID) -> -            btl_add_tile:generate(btl_tile:from_id(TileID)) -         end, -         btl_battle:get_used_tile_ids(Battle) -      ), - -   OutputList = -      ( -         AddTileList -         ++ [SetTimeline, SetMap | AddWeaponList] -         ++ AddArmorList -         ++ AddCharList -      ), -   Output = jiffy:encode(OutputList), - -   Output. - --spec handle (binary()) -> binary(). -handle (Req) -> -   Input = parse_input(Req), -   btl_security:assert_identity -   ( -      Input#input.player_id, -      Input#input.session_token -   ), -   btl_security:lock_queries(Input#input.player_id), -   QueryState = fetch_data(Input), -   btl_security:unlock_queries(Input#input.player_id), -   generate_reply(QueryState, Input). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -out(A) -> -   { -      content, -      "application/json; charset=UTF-8", -      handle(A#arg.clidata) -   }. diff --git a/src/battle/reply/btl_set_map.erl b/src/battle/reply/btl_set_map.erl index 37c6331..c520930 100644 --- a/src/battle/reply/btl_set_map.erl +++ b/src/battle/reply/btl_set_map.erl @@ -16,16 +16,16 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec generate (btl_battlemap:type()) -> {list(any())}. +-spec generate (btl_map:type()) -> {list(any())}.  generate (Battlemap) ->     {        [           {<<"msg">>, <<"set_map">>}, -         {<<"w">>, btl_battlemap:get_width(Battlemap)}, -         {<<"h">>, btl_battlemap:get_height(Battlemap)}, +         {<<"w">>, btl_map:get_width(Battlemap)}, +         {<<"h">>, btl_map:get_height(Battlemap)},           {              <<"t">>, -            array:sparse_to_list(btl_battlemap:get_tile_class_ids(Battlemap)) +            array:sparse_to_list(btl_map:get_tile_class_ids(Battlemap))           }        ]     }. diff --git a/src/battle/struct/btl_battle.erl b/src/battle/struct/btl_battle.erl index dd68b42..97742aa 100644 --- a/src/battle/struct/btl_battle.erl +++ b/src/battle/struct/btl_battle.erl @@ -13,7 +13,7 @@        used_armor_ids :: list(shr_armor:id()),        used_weapon_ids :: list(shr_weapon:id()),        used_tile_ids :: list(btl_tile:id()), -      battlemap :: btl_battlemap:type(), +      map :: btl_map:type(),        characters :: array:array(btl_character:type()),        players :: array:array(btl_player:type()),        current_player_turn :: btl_player_turn:type() @@ -35,7 +35,7 @@        get_used_weapon_ids/1,        get_used_armor_ids/1,        get_used_tile_ids/1, -      get_battlemap/1, +      get_map/1,        get_characters/1,        get_character/2,        get_players/1, @@ -43,7 +43,7 @@        get_current_player_turn/1,        get_encoded_last_turns_effects/1, -      set_battlemap/2, +      set_map/2,        set_characters/2,        set_character/3,        set_players/2, @@ -95,8 +95,8 @@ get_used_armor_ids (Battle) -> Battle#battle.used_armor_ids.  -spec get_used_tile_ids (type()) -> list(btl_tile:id()).  get_used_tile_ids (Battle) -> Battle#battle.used_tile_ids. --spec get_battlemap (type()) -> btl_battlemap:type(). -get_battlemap (Battle) -> Battle#battle.battlemap. +-spec get_map (type()) -> btl_map:type(). +get_map (Battle) -> Battle#battle.map.  -spec get_characters (type()) -> array:array(btl_character:type()).  get_characters (Battle) -> Battle#battle.characters. @@ -127,11 +127,11 @@ get_encoded_last_turns_effects (Battle) ->     StartingPoint = ((CurrentPlayerIX + 1) rem PlayersCount),     get_all_timelines([], StartingPoint, CurrentPlayerIX, PlayersCount, Players). --spec set_battlemap (btl_battlemap:type(), type()) -> type(). -set_battlemap (Battlemap, Battle) -> +-spec set_map (btl_map:type(), type()) -> type(). +set_map (Battlemap, Battle) ->     Battle#battle     { -      battlemap = Battlemap +      map = Battlemap     }.  -spec set_characters (array:array(btl_character:type()), type()) -> type(). @@ -185,7 +185,7 @@ set_current_player_turn (PlayerTurn, Battle) ->     (        id(),        list(btl_player:type()), -      btl_battlemap:type(), +      btl_map:type(),        list(btl_character:type()),        list(shr_weapon:id()),        list(shr_armor:id()), @@ -199,7 +199,7 @@ new (ID, PlayersAsList, Battlemap, CharactersAsList, UWIDs, UAIDs, UTIDs) ->        used_weapon_ids = UWIDs,        used_armor_ids = UAIDs,        used_tile_ids = UTIDs, -      battlemap = Battlemap, +      map = Battlemap,        characters = array:from_list(CharactersAsList),        players = array:from_list(PlayersAsList),        current_player_turn = btl_player_turn:new(0, 0) diff --git a/src/battle/struct/btl_battlemap.erl b/src/battle/struct/btl_battlemap.erl deleted file mode 100644 index 886e2a9..0000000 --- a/src/battle/struct/btl_battlemap.erl +++ /dev/null @@ -1,100 +0,0 @@ --module(btl_battlemap). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --type id() :: binary(). - --record -( -   battlemap, -   { -      id :: id(), -      width :: integer(), -      height :: integer(), -      tile_class_ids :: array:array(btl_tile:class_id()) -   } -). - --opaque type() :: #battlemap{}. - --export_type([type/0, id/0]). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%% Accessors --export -( -   [ -      get_id/1, -      get_width/1, -      get_height/1, -      get_tile_class_ids/1, -      get_tile_class_id/2 -   ] -). - --export -( -   [ -      from_list/4 -   ] -). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec location_to_array_index -   ( -      non_neg_integer(), -      btl_location:type() -   ) -   -> ('error' | non_neg_integer()). -location_to_array_index (ArrayWidth, {X, Y}) -> -   if -      (X < 0) -> error; -      (Y < 0) -> error; -      (X >= ArrayWidth) -> error; -      true -> ((Y * ArrayWidth) + X) -   end. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%% Accessors --spec get_id (type()) -> id(). -get_id (Battlemap) -> Battlemap#battlemap.id. - --spec get_width (type()) -> integer(). -get_width (Battlemap) -> Battlemap#battlemap.width. - --spec get_height (type()) -> integer(). -get_height (Battlemap) -> Battlemap#battlemap.height. - --spec get_tile_class_ids (type()) -> array:array(btl_tile:class_id()). -get_tile_class_ids (Battlemap) -> Battlemap#battlemap.tile_class_ids. - --spec get_tile_class_id (btl_location:type(), type()) -> btl_tile:class_id(). -get_tile_class_id (Location, Battlemap) -> -   TileIX = location_to_array_index(Battlemap#battlemap.width, Location), -   array:get(TileIX, Battlemap#battlemap.tile_class_ids). - --spec from_list -   ( -      non_neg_integer(), -      non_neg_integer(), -      non_neg_integer(), -      list(non_neg_integer()) -   ) -   -> type(). -from_list (ID, Width, Height, List) -> -   TileClassIDs = lists:map(fun btl_tile:class_id_from_int/1, List), - -   #battlemap -   { -      id = list_to_binary(integer_to_list(ID)), -      width = Width, -      height = Height, -      tile_class_ids = array:from_list(TileClassIDs) -   }. diff --git a/src/map/io/map_security.erl b/src/map/io/map_security.erl deleted file mode 100644 index cf6bb9b..0000000 --- a/src/map/io/map_security.erl +++ /dev/null @@ -1,33 +0,0 @@ --module(btl_security). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export -( -   [ -      assert_identity/2, -      lock_queries/1, -      unlock_queries/1 -   ] -). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec assert_identity (any(), any()) -> 'unimplemented'. -assert_identity (_PlayerID, _SessionToken) -> unimplemented. - --spec lock_queries (any()) -> 'unimplemented'. -lock_queries (_PlayerID) -> unimplemented. - --spec unlock_queries (any()) -> 'unimplemented'. -unlock_queries (_PlayerID) -> unimplemented. diff --git a/src/map/query/map_load_state.erl b/src/map/query/map_load_state.erl deleted file mode 100644 index 2026222..0000000 --- a/src/map/query/map_load_state.erl +++ /dev/null @@ -1,159 +0,0 @@ --module(btl_load_state). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --include("../../../include/yaws_api.hrl"). - --record -( -   input, -   { -      player_id :: btl_player:id(), -      session_token :: binary(), -      battle_id :: binary() -   } -). - --record -( -   query_state, -   { -      battle :: btl_battle:type() -   } -). - --type input() :: #input{}. --type query_state() :: #query_state{}. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export([out/1]). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec parse_input (binary()) -> input(). -parse_input (Req) -> -   JSONReqMap = jiffy:decode(Req, [return_maps]), -   PlayerID = maps:get(<<"pid">>, JSONReqMap), -   SessionToken =  maps:get(<<"stk">>, JSONReqMap), -   BattleID = maps:get(<<"bid">>, JSONReqMap), - -   #input -   { -      player_id = PlayerID, -      session_token = SessionToken, -      battle_id = BattleID -   }. - --spec fetch_data (input()) -> query_state(). -fetch_data (Input) -> -   PlayerID = Input#input.player_id, -   BattleID = Input#input.battle_id, - -   Battle = shr_timed_cache:fetch(battle_db, PlayerID, BattleID), - -   #query_state -   { -      battle = Battle -   }. - --spec generate_reply(query_state(), input()) -> binary(). -generate_reply (QueryState, Input) -> -   PlayerID = Input#input.player_id, -   Battle = QueryState#query_state.battle, -   Players = btl_battle:get_players(Battle), - -   PlayerIX = -      shr_array_util:first -      ( -         fun (Player) -> -            (btl_player:get_id(Player) == PlayerID) -         end, -         Players -      ), - -   true = (PlayerIX >= 0), - -   SetTimeline = -      btl_set_timeline:generate -      ( -         btl_battle:get_encoded_last_turns_effects(Battle) -      ), - -   SetMap = btl_set_map:generate(btl_battle:get_battlemap(Battle)), - -   AddCharList = -      array:sparse_to_list -      ( -         array:map -         ( -            fun (IX, Character) -> -               btl_add_char:generate(IX, Character, PlayerIX) -            end, -            btl_battle:get_characters(Battle) -         ) -      ), - -   AddWeaponList = -      lists:map -      ( -         fun (WeaponID) -> -            btl_add_weapon:generate(shr_weapon:from_id(WeaponID)) -         end, -         btl_battle:get_used_weapon_ids(Battle) -      ), - -   AddArmorList = -      lists:map -      ( -         fun (ArmorID) -> -            btl_add_armor:generate(shr_armor:from_id(ArmorID)) -         end, -         btl_battle:get_used_armor_ids(Battle) -      ), - -   AddTileList = -      lists:map -      ( -         fun (TileID) -> -            btl_add_tile:generate(btl_tile:from_id(TileID)) -         end, -         btl_battle:get_used_tile_ids(Battle) -      ), - -   OutputList = -      ( -         AddTileList -         ++ [SetTimeline, SetMap | AddWeaponList] -         ++ AddArmorList -         ++ AddCharList -      ), -   Output = jiffy:encode(OutputList), - -   Output. - --spec handle (binary()) -> binary(). -handle (Req) -> -   Input = parse_input(Req), -   btl_security:assert_identity -   ( -      Input#input.player_id, -      Input#input.session_token -   ), -   btl_security:lock_queries(Input#input.player_id), -   QueryState = fetch_data(Input), -   btl_security:unlock_queries(Input#input.player_id), -   generate_reply(QueryState, Input). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -out(A) -> -   { -      content, -      "application/json; charset=UTF-8", -      handle(A#arg.clidata) -   }. | 


