1
1
mirror of https://github.com/OpenDiablo2/OpenDiablo2 synced 2024-06-29 10:35:23 +00:00

added max player act support in quest log

This commit is contained in:
M. Sz 2020-12-07 19:17:46 +01:00
parent 1d5516c374
commit cbe4466fea

View File

@ -121,6 +121,9 @@ func NewQuestLog(asset *d2asset.AssetManager,
tabs[i] = questLogTab{} tabs[i] = questLogTab{}
} }
// nolint:gomnd // this is only test, it also should come from save file
mpa := 2
ql := &QuestLog{ ql := &QuestLog{
asset: asset, asset: asset,
uiManager: ui, uiManager: ui,
@ -130,6 +133,7 @@ func NewQuestLog(asset *d2asset.AssetManager,
tab: tabs, tab: tabs,
quests: quests, quests: quests,
questStatus: qs, questStatus: qs,
maxPlayersAct: mpa,
} }
ql.Logger = d2util.NewLogger() ql.Logger = d2util.NewLogger()
@ -155,6 +159,7 @@ type QuestLog struct {
questDescr *d2ui.Label questDescr *d2ui.Label
quests [d2enum.ActsNumber]*d2ui.WidgetGroup quests [d2enum.ActsNumber]*d2ui.WidgetGroup
questStatus map[int]int questStatus map[int]int
maxPlayersAct int
originX int originX int
originY int originY int
@ -165,8 +170,7 @@ type QuestLog struct {
/* questIconTab returns path to quest animation using its /* questIconTab returns path to quest animation using its
act and number. From d2resource: act and number. From d2resource:
QuestLogAQuestAnimation = "/data/global/ui/MENU/a%dq%d.dc6" QuestLogAQuestAnimation = "/data/global/ui/MENU/a%dq%d.dc6"*/
*/
func (s *QuestLog) questIconsTable(act, number int) string { func (s *QuestLog) questIconsTable(act, number int) string {
return fmt.Sprintf(d2resource.QuestLogAQuestAnimation, act, number+1) return fmt.Sprintf(d2resource.QuestLogAQuestAnimation, act, number+1)
} }
@ -240,7 +244,7 @@ func (s *QuestLog) loadTabs() {
tabsResource := d2resource.WPTabs tabsResource := d2resource.WPTabs
for i := 0; i < d2enum.ActsNumber; i++ { for i := 0; i < s.maxPlayersAct; i++ {
currentValue := i currentValue := i
s.tab[i].sprite, err = s.uiManager.NewSprite(tabsResource, d2resource.PaletteSky) s.tab[i].sprite, err = s.uiManager.NewSprite(tabsResource, d2resource.PaletteSky)
@ -414,11 +418,11 @@ func (s *QuestLog) setTab(tab int) {
s.selectedQuest = d2enum.QuestNone s.selectedQuest = d2enum.QuestNone
s.setQuestLabel() s.setQuestLabel()
for i := 0; i < d2enum.ActsNumber; i++ { for i := 0; i < s.maxPlayersAct; i++ {
s.quests[i].SetVisible(tab == i) s.quests[i].SetVisible(tab == i)
} }
for i := 0; i < d2enum.ActsNumber; i++ { for i := 0; i < s.maxPlayersAct; i++ {
cv := i cv := i
if cv == s.selectedTab { if cv == s.selectedTab {
@ -470,7 +474,7 @@ func (s *QuestLog) Close() {
s.isOpen = false s.isOpen = false
s.panelGroup.SetVisible(false) s.panelGroup.SetVisible(false)
for i := 0; i < d2enum.ActsNumber; i++ { for i := 0; i < s.maxPlayersAct; i++ {
s.quests[i].SetVisible(false) s.quests[i].SetVisible(false)
} }