X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fsoundlist.qc;h=13e6ba34c03395f74fbe2f7f6fccfa3c26fd16f6;hb=0d4410adb034af1a9989862211e49e442fa9b9dd;hp=2b98c5fe52296a8f287c4294a3766019487262ea;hpb=403009a6838f98e3857e5708f5402c781ec003ce;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/soundlist.qc b/qcsrc/menu/xonotic/soundlist.qc index 2b98c5fe5..13e6ba34c 100644 --- a/qcsrc/menu/xonotic/soundlist.qc +++ b/qcsrc/menu/xonotic/soundlist.qc @@ -1,41 +1,7 @@ -#ifndef SOUNDLIST_H -#define SOUNDLIST_H -#include "listbox.qc" -CLASS(XonoticSoundList, XonoticListBox) - METHOD(XonoticSoundList, configureXonoticSoundList, void(entity)) - ATTRIB(XonoticSoundList, rowsPerItem, float, 1) - METHOD(XonoticSoundList, resizeNotify, void(entity, vector, vector, vector, vector)) - METHOD(XonoticSoundList, drawListBoxItem, void(entity, int, vector, bool, bool)) - METHOD(XonoticSoundList, getSounds, void(entity)) - METHOD(XonoticSoundList, soundName, string(entity, float)) - METHOD(XonoticSoundList, doubleClickListBoxItem, void(entity, float, vector)) - METHOD(XonoticSoundList, keyDown, float(entity, float, float, float)) - METHOD(XonoticSoundList, destroy, void(entity)) - METHOD(XonoticSoundList, showNotify, void(entity)) - - ATTRIB(XonoticSoundList, listSound, float, -1) - ATTRIB(XonoticSoundList, realFontSize, vector, '0 0 0') - ATTRIB(XonoticSoundList, columnNameOrigin, float, 0) - ATTRIB(XonoticSoundList, columnNameSize, float, 0) - ATTRIB(XonoticSoundList, columnNumberOrigin, float, 0) - ATTRIB(XonoticSoundList, columnNumberSize, float, 0) - ATTRIB(XonoticSoundList, realUpperMargin, float, 0) - ATTRIB(XonoticSoundList, origin, vector, '0 0 0') - ATTRIB(XonoticSoundList, itemAbsSize, vector, '0 0 0') - - ATTRIB(XonoticSoundList, filterString, string, string_null) - ATTRIB(XonoticSoundList, playlist, entity, world) -ENDCLASS(XonoticSoundList) - -entity makeXonoticSoundList(); -void SoundList_Filter_Change(entity box, entity me); -void SoundList_Add(entity box, entity me); -void SoundList_Add_All(entity box, entity me); -void SoundList_Menu_Track_Change(entity box, entity me); -void SoundList_Menu_Track_Reset(entity box, entity me); -#endif - -#ifdef IMPLEMENTATION +#include "soundlist.qh" + +#include "inputbox.qh" +#include "playlist.qh" entity makeXonoticSoundList() { @@ -48,10 +14,10 @@ entity makeXonoticSoundList() void XonoticSoundList_configureXonoticSoundList(entity me) { me.configureXonoticListBox(me); - me.getSounds(me); + me.nItems = 0; } -string XonoticSoundList_soundName(entity me, float i ) +string XonoticSoundList_soundName(entity me, int i) { string s; s = search_getfilename(me.listSound, i); @@ -75,10 +41,7 @@ void XonoticSoundList_getSounds(entity me) me.listSound = search_begin(s, false, true); - if(me.listSound < 0) - me.nItems=0; - else - me.nItems=search_getsize(me.listSound); + me.nItems = (me.listSound < 0) ? 0 : search_getsize(me.listSound); } void XonoticSoundList_destroy(entity me) @@ -114,7 +77,7 @@ void XonoticSoundList_drawListBoxItem(entity me, int i, vector absSize, bool isS draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha); } - s = me.soundName(me,i); + s = me.soundName(me, i); if(s == cvar_string("menu_cdtrack")) // current menu track draw_CenterText((me.columnNumberOrigin + 0.5 * me.columnNumberSize) * eX + me.realUpperMargin * eY, "[C]", me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0); else if(s == cvar_defstring("menu_cdtrack")) // default menu track @@ -131,7 +94,7 @@ void XonoticSoundList_showNotify(entity me) void SoundList_Menu_Track_Change(entity box, entity me) { - cvar_set("menu_cdtrack", me.soundName(me,me.selectedItem)); + cvar_set("menu_cdtrack", me.soundName(me, me.selectedItem)); } void SoundList_Menu_Track_Reset(entity box, entity me) @@ -159,12 +122,12 @@ void SoundList_Add(entity box, entity me) void SoundList_Add_All(entity box, entity me) { - float i; + int i; for(i = 0; i < me.nItems; ++i) me.playlist.addToPlayList(me.playlist, me.soundName(me, i)); } -void XonoticSoundList_doubleClickListBoxItem(entity me, float i, vector where) +void XonoticSoundList_doubleClickListBoxItem(entity me, int i, vector where) { me.playlist.addToPlayList(me.playlist, me.soundName(me, i)); } @@ -178,5 +141,3 @@ float XonoticSoundList_keyDown(entity me, float scan, float ascii, float shift) else return SUPER(XonoticSoundList).keyDown(me, scan, ascii, shift); } -#endif -