]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Refactor Settings > Game code
authorotta8634 <k9wolf@pm.me>
Sat, 8 Feb 2025 18:25:34 +0000 (02:25 +0800)
committerotta8634 <k9wolf@pm.me>
Fri, 14 Mar 2025 16:33:04 +0000 (00:33 +0800)
Make it use the same format as the other Settings dialogs.

qcsrc/menu/xonotic/dialog_settings.qc
qcsrc/menu/xonotic/dialog_settings_game.qc
qcsrc/menu/xonotic/dialog_settings_game.qh

index bd6fd4c4f41295e6d7228e02c2972717b63b4ee6..5ef9e7debd59d8ae961e915c23e55571363d8434 100644 (file)
@@ -15,14 +15,14 @@ void XonoticSettingsDialog_fill(entity me)
        entity mc;
        mc = makeXonoticTabController(me.rows - 2.5);
        me.TR(me);
-               me.TD(me, 1, 2, mc.makeTabButton(mc, _("Video"),   makeXonoticVideoSettingsTab()));
-               me.TD(me, 1, 2, mc.makeTabButton(mc, _("Effects"), makeXonoticEffectsSettingsTab()));
-               me.TD(me, 1, 2, mc.makeTabButton(mc, _("Audio"),   makeXonoticAudioSettingsTab()));
+               me.TD(me, 1, 2, mc.makeTabButton(mc, _("Video"),    makeXonoticVideoSettingsTab()));
+               me.TD(me, 1, 2, mc.makeTabButton(mc, _("Effects"),  makeXonoticEffectsSettingsTab()));
+               me.TD(me, 1, 2, mc.makeTabButton(mc, _("Audio"),    makeXonoticAudioSettingsTab()));
        me.TR(me);
-               me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("Game"),    NEW(XonoticGameSettingsTab)));
-               me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("Input"),   makeXonoticInputSettingsTab()));
-               me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("User"),    makeXonoticUserSettingsTab()));
-               me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("Misc"),    makeXonoticMiscSettingsTab()));
+               me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("Game"),   makeXonoticGameSettingsTab()));
+               me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("Input"),  makeXonoticInputSettingsTab()));
+               me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("User"),   makeXonoticUserSettingsTab()));
+               me.TD(me, 1, 1.5, mc.makeTabButton(mc, _("Misc"),   makeXonoticMiscSettingsTab()));
        me.gotoRC(me, 2.5, 0);
                me.TD(me, me.rows - 2.5, me.columns, mc);
 }
index 5605f8c8247bd16c2a1a7f0b20ba5bbf561b579e..a914677469ae4f2de158415d00c257f619f284b5 100644 (file)
@@ -92,47 +92,55 @@ CONSTRUCTOR(XonoticRegisteredSettingsList, DataSource _source) {
     this.refilter(this);
 }
 
-METHOD(XonoticGameSettingsTab, topicChangeNotify, void(entity, entity this))
+
+entity makeXonoticGameSettingsTab()
+{
+       entity me;
+       me = NEW(XonoticGameSettingsTab);
+       me.configureDialog(me);
+       return me;
+}
+METHOD(XonoticGameSettingsTab, topicChangeNotify, void(entity, entity me))
 {
        entity s = NULL;
-       entity c = this.currentPanel;
+       entity c = me.currentPanel;
        if (c.classname == "XonoticScrollPanel")
        {
-               s = this.currentPanel;
+               s = me.currentPanel;
                s.viewportHeight = 15.5;
                c = s.currentPanel;
        }
 
-    entity removing = this.currentItem;
-    DataSource data = this.topicList.source;
-    entity adding = data.getEntry(data, this.topicList.selectedItem, func_null);
-    if (removing == adding) return;
-    if (removing) {
-        this.currentItem = NULL;
-        c.removeItem(c, removing);
-    }
-    if (adding) {
-        this.currentItem = adding;
-        adding.resizeNotify(adding, '0 0 0', c.size, '0 0 0', c.size);
-        c.addItem(c, adding, '0 0 0', '1 1 0', 1);
+       entity removing = me.currentItem;
+       DataSource data = me.topicList.source;
+       entity adding = data.getEntry(data, me.topicList.selectedItem, func_null);
+       if (removing == adding) return;
+       if (removing) {
+               me.currentItem = NULL;
+               c.removeItem(c, removing);
+       }
+       if (adding) {
+               me.currentItem = adding;
+               adding.resizeNotify(adding, '0 0 0', c.size, '0 0 0', c.size);
+               c.addItem(c, adding, '0 0 0', '1 1 0', 1);
                if (s)
                        s.resizeNotify(s, '0 0 0', s.size, '0 0 0', s.size);
-    }
+       }
 }
-METHOD(XonoticGameSettingsTab, fill, void(entity this))
+void XonoticGameSettingsTab_fill(entity me)
 {
-    entity topics = this.topicList;
-        topics.onChange = this.topicChangeNotify;
-        topics.onChangeEntity = this;
+       entity topics = me.topicList;
+               topics.onChange = me.topicChangeNotify;
+               topics.onChangeEntity = me;
 
-    int
-    col = 0, width = 1;
-    this.gotoRC(this, 0, col);
-        this.TD(this, this.rows, width, topics);
+       int
+       col = 0, width = 1;
+       me.gotoRC(me, 0, col);
+               me.TD(me, me.rows, width, topics);
 
-    col += width, width = this.columns - col;
-    this.gotoRC(this, 0, col); this.setFirstColumn(this, this.currentColumn);
-        this.TD(this, this.rows, width, this.currentPanel);
+       col += width, width = me.columns - col;
+       me.gotoRC(me, 0, col); me.setFirstColumn(me, me.currentColumn);
+               me.TD(me, me.rows, width, me.currentPanel);
 
-    this.topicChangeNotify(topics, this);
+       me.topicChangeNotify(topics, me);
 }
index 3a4a36b1d55b0a5a203d7b5b4771a77815710317..c368d89212a79764656e8867332f487a7e8bcd10 100644 (file)
@@ -45,8 +45,5 @@ CLASS(XonoticGameSettingsTab, XonoticTab)
        ATTRIB(XonoticGameSettingsTab, currentItem, entity);
        METHOD(XonoticGameSettingsTab, topicChangeNotify, void(entity, entity this));
        METHOD(XonoticGameSettingsTab, fill, void(entity this));
-       INIT(XonoticGameSettingsTab)
-    {
-        this.configureDialog(this);
-    }
 ENDCLASS(XonoticGameSettingsTab)
+entity makeXonoticGameSettingsTab();