Aurora var region support

Firestorm patch by Cinders
Adopted from Angstrom viewer with assistance of nhede Core
and Revolution Smythe.
This commit is contained in:
Latif Khalifa
2013-09-26 04:09:01 +02:00
parent 6c1ea557b5
commit ad8ea07a7a
34 changed files with 901 additions and 174 deletions

View File

@@ -309,7 +309,10 @@ void init_start_screen(S32 location_id);
void release_start_screen();
void reset_login();
void apply_udp_blacklist(const std::string& csv);
bool process_login_success_response(std::string &password);
// <FS:CR> Aurora Sim
//bool process_login_success_response();
bool process_login_success_response(std::string& password, U32 &first_sim_size_x, U32 &first_sim_size_y);
// </FS:CR> Aurora Sim
void transition_back_to_login_panel(const std::string& emsg);
void callback_cache_name(const LLUUID& id, const std::string& full_name, bool is_group)
@@ -397,6 +400,10 @@ bool idle_startup()
static std::vector<const char*> requested_options;
static std::string redirect_uri;
// <FS:CR> Aurora Sim
static U32 first_sim_size_x = 256;
static U32 first_sim_size_y = 256;
// </FS:CR> Aurora Sim
static LLVector3 initial_sun_direction(1.f, 0.f, 0.f);
static LLVector3 agent_start_position_region(10.f, 10.f, 10.f); // default for when no space server
@@ -1543,7 +1550,7 @@ bool idle_startup()
if (successful_login)
{
// unpack login data needed by the application
if(process_login_success_response(password))
if(process_login_success_response(password, first_sim_size_x, first_sim_size_y))
{
std::string name = firstname;
if (!gHippoGridManager->getCurrentGrid()->isSecondLife() ||
@@ -1662,7 +1669,10 @@ bool idle_startup()
gAgent.initOriginGlobal(from_region_handle(gFirstSimHandle));
display_startup();
LLWorld::getInstance()->addRegion(gFirstSimHandle, gFirstSim);
// <FS:CR> Aurora Sim
//LLWorld::getInstance()->addRegion(gFirstSimHandle, gFirstSim);
LLWorld::getInstance()->addRegion(gFirstSimHandle, gFirstSim, first_sim_size_x, first_sim_size_y);
// </FS:CR> Aurora Sim
display_startup();
LLViewerRegion *regionp = LLWorld::getInstance()->getRegionFromHandle(gFirstSimHandle);
@@ -3844,7 +3854,7 @@ void apply_udp_blacklist(const std::string& csv)
}
bool process_login_success_response(std::string& password)
bool process_login_success_response(std::string& password, U32 &first_sim_size_x, U32 &first_sim_size_y)
{
LLSD response = LLUserAuth::getInstance()->getResponse();
@@ -3985,6 +3995,17 @@ bool process_login_success_response(std::string& password)
gFirstSimHandle = to_region_handle(region_x, region_y);
}
// <FS:CR> Aurora Sim
text = response["region_size_x"].asString();
if(!text.empty()) {
first_sim_size_x = strtoul(text.c_str(), NULL, 10);
LLViewerParcelMgr::getInstance()->init(first_sim_size_x);
}
//region Y size is currently unused, major refactoring required. - Patrick Sapinski (2/10/2011)
text = response["region_size_y"].asString();
if(!text.empty()) first_sim_size_y = strtoul(text.c_str(), NULL, 10);
// </FS:CR> Aurora Sim
const std::string look_at_str = response["look_at"];
if (!look_at_str.empty())
{