mirror of
https://github.com/whoahq/whoa.git
synced 2026-02-02 00:32:45 +03:00
feat(ui): finish implementing Script_GetSelectBackgroundModel
This commit is contained in:
parent
d536d2c353
commit
e2eb6b3586
@ -189,18 +189,60 @@ int32_t Script_GetSelectBackgroundModel(lua_State* L) {
|
|||||||
|
|
||||||
auto characterIndex = static_cast<int32_t>(lua_tonumber(L, 1)) - 1;
|
auto characterIndex = static_cast<int32_t>(lua_tonumber(L, 1)) - 1;
|
||||||
|
|
||||||
// TODO
|
if (SFile::IsStreamingTrial()) {
|
||||||
|
lua_pushstring(L, "CharacterSelect");
|
||||||
|
|
||||||
ChrRacesRec* racesRec = nullptr;
|
return 1;
|
||||||
|
|
||||||
if (characterIndex < 0 || characterIndex >= CCharacterSelection::s_characterList.Count()) {
|
|
||||||
racesRec = g_chrRacesDB.GetRecord(2);
|
|
||||||
} else {
|
|
||||||
// TODO
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (racesRec) {
|
// Out of bounds
|
||||||
lua_pushstring(L, racesRec->m_clientFileString);
|
|
||||||
|
if (characterIndex < 0 || characterIndex >= CCharacterSelection::s_characterList.Count()) {
|
||||||
|
auto defaultRaceRec = g_chrRacesDB.GetRecord(2);
|
||||||
|
|
||||||
|
if (defaultRaceRec) {
|
||||||
|
lua_pushstring(L, defaultRaceRec->m_clientFileString);
|
||||||
|
} else {
|
||||||
|
lua_pushstring(L, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Character exists at index
|
||||||
|
|
||||||
|
auto character = CCharacterSelection::GetCharacterDisplay(characterIndex);
|
||||||
|
|
||||||
|
// Class background
|
||||||
|
|
||||||
|
auto classID = character->info.classID;
|
||||||
|
|
||||||
|
if (classID == 6) {
|
||||||
|
auto classRec = g_chrClassesDB.GetRecord(character->info.classID);
|
||||||
|
|
||||||
|
if (classRec) {
|
||||||
|
lua_pushstring(L, classRec->m_filename);
|
||||||
|
} else {
|
||||||
|
lua_pushstring(L, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Race background
|
||||||
|
|
||||||
|
auto raceID = character->info.raceID;
|
||||||
|
|
||||||
|
if (raceID == 7) {
|
||||||
|
raceID = 3;
|
||||||
|
} else if (raceID == 8) {
|
||||||
|
raceID = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto raceRec = g_chrRacesDB.GetRecord(raceID);
|
||||||
|
|
||||||
|
if (raceRec) {
|
||||||
|
lua_pushstring(L, raceRec->m_clientFileString);
|
||||||
} else {
|
} else {
|
||||||
lua_pushstring(L, "");
|
lua_pushstring(L, "");
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user