anchor.diff:  
   -module(psu_game).
   -export([start_link/1, cleanup/1]). %% External.
  --export([listen/2, accept/2, process_init/2, process/0, char_select/0, area_load/4, loop/1]). %% Internal.
  +-export([listen/2, accept/2, process_init/2, process/0, char_select/0, loop/1]). %% Internal.
   
   -include("include/records.hrl").
   -include("include/maps.hrl").
  
positive.code: 	end.
  
  %% @todo God this function is ugly. Use tail recursion!
  %% @todo Do it properly without relying on the temporary file.
  build_0233_contents([]) ->
  	<< >>;
  build_0233_contents(Users) ->
  	[User|Rest] = Users,
  	LID = 16#010000 + User#egs_user_model.lid, % @todo The LID must be 16 bits and 0233 seems to (almost always) require that 01 right there...
  	CharBin = psu_characters:character_user_to_binary(User#egs_user_model{lid=LID}),
  	IsGM = 0,
  	GameVersion = 0,
  
negative.code: %% @doc Movement (non-broadcast) handler. Do nothing.
  handle(16#0102, _) ->
  	ignore;
  
  %% @doc Chat broadcast handler. Dispatch the message to everyone (for now).
  %%      We must take extra precautions to handle different versions of the game correctly.
  