mirror of
https://git.code.sf.net/p/quake/newtree
synced 2025-03-24 08:51:58 +00:00
Rename all Server_List_* to SL_* as well as some code cleanup. Does not fix
segfault
This commit is contained in:
parent
8b45c1b324
commit
af98ae5fa5
4 changed files with 81 additions and 86 deletions
|
@ -42,18 +42,18 @@ typedef struct server_entry_s {
|
|||
|
||||
extern server_entry_t *slist;
|
||||
|
||||
server_entry_t *Server_List_Add(server_entry_t *start, char *ip, char *desc);
|
||||
server_entry_t *Server_List_Del(server_entry_t *start, server_entry_t *del);
|
||||
server_entry_t *Server_List_InsB(server_entry_t *start, server_entry_t *place, char *ip, char *desc);
|
||||
void Server_List_Swap(server_entry_t *swap1, server_entry_t *swap2);
|
||||
server_entry_t *Server_List_Get_By_Num(server_entry_t *start, int n);
|
||||
int Server_List_Len(server_entry_t *start);
|
||||
server_entry_t *SL_Add(server_entry_t *start, char *ip, char *desc);
|
||||
server_entry_t *SL_Del(server_entry_t *start, server_entry_t *del);
|
||||
server_entry_t *SL_InsB(server_entry_t *start, server_entry_t *place, char *ip, char *desc);
|
||||
void SL_Swap(server_entry_t *swap1, server_entry_t *swap2);
|
||||
server_entry_t *SL_Get_By_Num(server_entry_t *start, int n);
|
||||
int SL_Len(server_entry_t *start);
|
||||
|
||||
server_entry_t *Server_List_LoadF(FILE *f, server_entry_t *start);
|
||||
void Server_List_SaveF(FILE *f, server_entry_t *start);
|
||||
server_entry_t *SL_LoadF(FILE *f, server_entry_t *start);
|
||||
void SL_SaveF(FILE *f, server_entry_t *start);
|
||||
|
||||
void Server_List_Del_All(server_entry_t *start);
|
||||
void Server_List_Shutdown(server_entry_t *start);
|
||||
void SL_Del_All(server_entry_t *start);
|
||||
void SL_Shutdown(server_entry_t *start);
|
||||
|
||||
char *gettokstart(char *str, int req, char delim);
|
||||
int gettoklen(char *str, int req, char delim);
|
||||
|
|
|
@ -1140,7 +1140,7 @@ void CL_Init (void)
|
|||
|
||||
Qexpand_squiggle(fs_userpath->string, e_path);
|
||||
if ((servlist = fopen(va("%s/servers.txt", e_path), "r"))) {
|
||||
slist = Server_List_LoadF(servlist,slist);
|
||||
slist = SL_LoadF(servlist,slist);
|
||||
fclose(servlist);
|
||||
}
|
||||
|
||||
|
@ -1631,7 +1631,7 @@ void Host_Shutdown(void)
|
|||
}
|
||||
isdown = true;
|
||||
|
||||
Server_List_Shutdown (slist);
|
||||
SL_Shutdown (slist);
|
||||
|
||||
Host_WriteConfiguration ();
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
|
||||
server_entry_t *slist;
|
||||
|
||||
server_entry_t *Server_List_Add (server_entry_t *start, char *ip, char *desc) {
|
||||
server_entry_t *SL_Add (server_entry_t *start, char *ip, char *desc) {
|
||||
server_entry_t *p;
|
||||
p = start;
|
||||
if (!start) { //Nothing at beginning of list, create it
|
||||
|
@ -70,7 +70,7 @@ server_entry_t *Server_List_Add (server_entry_t *start, char *ip, char *desc) {
|
|||
return (start);
|
||||
}
|
||||
|
||||
server_entry_t *Server_List_Del(server_entry_t *start, server_entry_t *del) {
|
||||
server_entry_t *SL_Del(server_entry_t *start, server_entry_t *del) {
|
||||
server_entry_t *n;
|
||||
if (del == start) {
|
||||
Z_Free(start->server);
|
||||
|
@ -92,7 +92,7 @@ server_entry_t *Server_List_Del(server_entry_t *start, server_entry_t *del) {
|
|||
return (start);
|
||||
}
|
||||
|
||||
server_entry_t *Server_List_InsB (server_entry_t *start, server_entry_t *place, char *ip, char *desc) {
|
||||
server_entry_t *SL_InsB (server_entry_t *start, server_entry_t *place, char *ip, char *desc) {
|
||||
server_entry_t *new;
|
||||
server_entry_t *other;
|
||||
|
||||
|
@ -112,7 +112,7 @@ server_entry_t *Server_List_InsB (server_entry_t *start, server_entry_t *place,
|
|||
return start;
|
||||
}
|
||||
|
||||
void Server_List_Swap (server_entry_t *swap1, server_entry_t *swap2) {
|
||||
void SL_Swap (server_entry_t *swap1, server_entry_t *swap2) {
|
||||
char *p;
|
||||
p = swap1->server;
|
||||
swap1->server = swap2->server;
|
||||
|
@ -122,23 +122,23 @@ void Server_List_Swap (server_entry_t *swap1, server_entry_t *swap2) {
|
|||
swap2->desc = p;
|
||||
}
|
||||
|
||||
server_entry_t *Server_List_Get_By_Num (server_entry_t *start, int n) {
|
||||
server_entry_t *SL_Get_By_Num (server_entry_t *start, int n) {
|
||||
int i;
|
||||
for (i=0;i < n;i++)
|
||||
start = start->next;
|
||||
if (!start)
|
||||
return (0);
|
||||
if (!start)
|
||||
return (0);
|
||||
return (start);
|
||||
}
|
||||
|
||||
int Server_List_Len (server_entry_t *start) {
|
||||
int SL_Len (server_entry_t *start) {
|
||||
int i;
|
||||
for (i=0;start;i++)
|
||||
start=start->next;
|
||||
return i;
|
||||
}
|
||||
|
||||
server_entry_t *Server_List_LoadF (FILE *f,server_entry_t *start) { // This could get messy
|
||||
server_entry_t *SL_LoadF (FILE *f,server_entry_t *start) { // This could get messy
|
||||
char line[256]; /* Long lines get truncated. */
|
||||
int c = ' '; /* int so it can be compared to EOF properly*/
|
||||
int len;
|
||||
|
@ -164,10 +164,10 @@ server_entry_t *Server_List_LoadF (FILE *f,server_entry_t *start) { // This coul
|
|||
strncpy(addr,&line[0],len);
|
||||
addr[len] = '\0';
|
||||
if ((st = gettokstart(line,2,' '))) {
|
||||
start = Server_List_Add(start,addr,st);
|
||||
start = SL_Add(start,addr,st);
|
||||
}
|
||||
else {
|
||||
start = Server_List_Add(start,addr,"Unknown");
|
||||
start = SL_Add(start,addr,"Unknown");
|
||||
}
|
||||
}
|
||||
if (c == EOF) // We're done
|
||||
|
@ -175,7 +175,7 @@ server_entry_t *Server_List_LoadF (FILE *f,server_entry_t *start) { // This coul
|
|||
}
|
||||
}
|
||||
|
||||
void Server_List_SaveF (FILE *f,server_entry_t *start) {
|
||||
void SL_SaveF (FILE *f,server_entry_t *start) {
|
||||
do {
|
||||
fprintf(f,"%s %s\n",start->server,start->desc);
|
||||
start = start->next;
|
||||
|
@ -183,21 +183,21 @@ server_entry_t *Server_List_LoadF (FILE *f,server_entry_t *start) { // This coul
|
|||
} while (start);
|
||||
}
|
||||
|
||||
void Server_List_Shutdown (server_entry_t *start) {
|
||||
void SL_Shutdown (server_entry_t *start) {
|
||||
FILE *f;
|
||||
char e_path[MAX_OSPATH];
|
||||
|
||||
if (start) {
|
||||
Qexpand_squiggle(fs_userpath->string, e_path);
|
||||
if ((f = fopen(va("%s/servers.txt", e_path),"w"))) {
|
||||
Server_List_SaveF(f,start);
|
||||
SL_SaveF(f,start);
|
||||
fclose(f);
|
||||
}
|
||||
Server_List_Del_All (start);
|
||||
SL_Del_All (start);
|
||||
}
|
||||
}
|
||||
|
||||
void Server_List_Del_All (server_entry_t *start) {
|
||||
void SL_Del_All (server_entry_t *start) {
|
||||
server_entry_t *n;
|
||||
while (start) {
|
||||
n = start->next;
|
||||
|
|
111
source/menu.c
111
source/menu.c
|
@ -1059,14 +1059,14 @@ void M_MultiPlayer_Draw (void) {
|
|||
M_DrawTextBox(STAT_X,STAT_Y,23,4);
|
||||
M_DrawTextBox(STAT_X,STAT_Y+38,23,3);
|
||||
M_DrawTextBox(MENU_X,MENU_Y,23,(m_multip_maxs - m_multip_mins)+1);
|
||||
for (serv = m_multip_mins; serv <= m_multip_maxs && serv < Server_List_Len(slist); serv++) {
|
||||
cp = Server_List_Get_By_Num(slist,serv);
|
||||
for (serv = m_multip_mins; serv <= m_multip_maxs && serv < SL_Len(slist); serv++) {
|
||||
cp = SL_Get_By_Num(slist,serv);
|
||||
M_Print(MENU_X+18,line*8+MENU_Y,
|
||||
va("%1.21s",
|
||||
strlen(cp->desc) <= m_multip_horiz ? "" : cp->desc+m_multip_horiz));
|
||||
line++;
|
||||
}
|
||||
cp = Server_List_Get_By_Num(slist,m_multip_cursor);
|
||||
cp = SL_Get_By_Num(slist,m_multip_cursor);
|
||||
M_PrintWhite(STAT_X+18,STAT_Y+16,"IP/Hostname:");
|
||||
M_Print(STAT_X+18,STAT_Y+24,cp->server);
|
||||
M_DrawCharacter(MENU_X+8,(m_multip_cursor - m_multip_mins + 1) * 8+MENU_Y,
|
||||
|
@ -1087,7 +1087,7 @@ void M_MultiPlayer_Key (key) {
|
|||
case KP_DOWNARROW:
|
||||
case K_DOWNARROW:
|
||||
S_LocalSound("misc/menu1.wav");
|
||||
if (Server_List_Get_By_Num(slist,m_multip_cursor+1)) {
|
||||
if (SL_Get_By_Num(slist,m_multip_cursor+1)) {
|
||||
m_multip_cursor++;
|
||||
}
|
||||
break;
|
||||
|
@ -1107,8 +1107,8 @@ void M_MultiPlayer_Key (key) {
|
|||
case K_PGDN:
|
||||
S_LocalSound("misc/menu1.wav");
|
||||
m_multip_cursor += (m_multip_maxs - m_multip_mins);
|
||||
if (Server_List_Len(slist) - 1 < m_multip_cursor )
|
||||
m_multip_cursor = Server_List_Len(slist) - 1;
|
||||
if (SL_Len(slist) - 1 < m_multip_cursor )
|
||||
m_multip_cursor = SL_Len(slist) - 1;
|
||||
break;
|
||||
case K_RIGHTARROW:
|
||||
S_LocalSound("misc/menu1.wav");
|
||||
|
@ -1124,7 +1124,7 @@ void M_MultiPlayer_Key (key) {
|
|||
m_state = m_main;
|
||||
M_ToggleMenu_f();
|
||||
CL_Disconnect();
|
||||
strncpy(cls.servername,Server_List_Get_By_Num(slist,m_multip_cursor)->server,sizeof(cls.servername)-1);
|
||||
strncpy(cls.servername,SL_Get_By_Num(slist,m_multip_cursor)->server,sizeof(cls.servername)-1);
|
||||
CL_BeginServerConnect();
|
||||
break;
|
||||
case 'e':
|
||||
|
@ -1135,26 +1135,26 @@ void M_MultiPlayer_Key (key) {
|
|||
S_LocalSound("misc/menu2.wav");
|
||||
if (!slist) {
|
||||
m_multip_cursor = 0;
|
||||
slist = Server_List_Add(slist, "127.0.0.1","<BLANK>");
|
||||
slist = SL_Add(slist, "127.0.0.1","<BLANK>");
|
||||
}
|
||||
else {
|
||||
temp = Server_List_Get_By_Num(slist,m_multip_cursor);
|
||||
slist = Server_List_InsB(slist, temp, "127.0.0.1","<BLANK>");
|
||||
temp = SL_Get_By_Num(slist,m_multip_cursor);
|
||||
slist = SL_InsB(slist, temp, "127.0.0.1","<BLANK>");
|
||||
}
|
||||
break;
|
||||
case K_DEL:
|
||||
S_LocalSound("misc/menu2.wav");
|
||||
if (Server_List_Len(slist) > 0) {
|
||||
slist = Server_List_Del(slist, Server_List_Get_By_Num(slist,m_multip_cursor));
|
||||
if (Server_List_Len(slist) == m_multip_cursor && slist)
|
||||
if (SL_Len(slist) > 0) {
|
||||
slist = SL_Del(slist, SL_Get_By_Num(slist,m_multip_cursor));
|
||||
if (SL_Len(slist) == m_multip_cursor && slist)
|
||||
m_multip_cursor--;
|
||||
}
|
||||
break;
|
||||
case ']':
|
||||
case '}':
|
||||
S_LocalSound("misc/menu1.wav");
|
||||
if (m_multip_cursor != Server_List_Len(slist) - 1) {
|
||||
Server_List_Swap(Server_List_Get_By_Num(slist,m_multip_cursor),Server_List_Get_By_Num(slist,m_multip_cursor+1));
|
||||
if (m_multip_cursor != SL_Len(slist) - 1) {
|
||||
SL_Swap(SL_Get_By_Num(slist,m_multip_cursor),SL_Get_By_Num(slist,m_multip_cursor+1));
|
||||
m_multip_cursor++;
|
||||
}
|
||||
break;
|
||||
|
@ -1162,7 +1162,7 @@ void M_MultiPlayer_Key (key) {
|
|||
case '{':
|
||||
S_LocalSound("misc/menu1.wav");
|
||||
if (m_multip_cursor) {
|
||||
Server_List_Swap(Server_List_Get_By_Num(slist,m_multip_cursor),Server_List_Get_By_Num(slist,m_multip_cursor-1));
|
||||
SL_Swap(SL_Get_By_Num(slist,m_multip_cursor),SL_Get_By_Num(slist,m_multip_cursor-1));
|
||||
m_multip_cursor--;
|
||||
}
|
||||
break;
|
||||
|
@ -1191,15 +1191,15 @@ int serv_max;
|
|||
int serv_min;
|
||||
int desc_max;
|
||||
int desc_min;
|
||||
int sedit_state;
|
||||
qboolean sedit_state;
|
||||
|
||||
void M_Menu_SEdit_f (void) {
|
||||
server_entry_t *c;
|
||||
key_dest = key_menu;
|
||||
m_entersound = true;
|
||||
m_state = m_sedit;
|
||||
sedit_state = 0;
|
||||
c = Server_List_Get_By_Num(slist,m_multip_cursor);
|
||||
sedit_state = false;
|
||||
c = SL_Get_By_Num(slist,m_multip_cursor);
|
||||
strncpy(serv,c->server,255);
|
||||
serv[strlen(c->server) + 1] = 0;
|
||||
strncpy(desc,c->desc,255);
|
||||
|
@ -1235,12 +1235,13 @@ void M_SEdit_Draw (void) {
|
|||
void M_SEdit_Key (int key) {
|
||||
int l;
|
||||
server_entry_t *c;
|
||||
|
||||
switch (key) {
|
||||
case K_ESCAPE:
|
||||
M_Menu_MultiPlayer_f ();
|
||||
break;
|
||||
case K_ENTER:
|
||||
c = Server_List_Get_By_Num(slist,m_multip_cursor);
|
||||
c = SL_Get_By_Num(slist,m_multip_cursor);
|
||||
free(c->server);
|
||||
free(c->desc);
|
||||
c->server = malloc(strlen(serv) + 1);
|
||||
|
@ -1251,60 +1252,54 @@ void M_SEdit_Key (int key) {
|
|||
break;
|
||||
case K_UPARROW:
|
||||
S_LocalSound("misc/menu1.wav");
|
||||
sedit_state = sedit_state == 0 ? 1 : 0;
|
||||
sedit_state = !sedit_state;
|
||||
break;
|
||||
case K_DOWNARROW:
|
||||
S_LocalSound("misc/menu1.wav");
|
||||
sedit_state = sedit_state == 1 ? 0 : 1;
|
||||
sedit_state = !sedit_state;
|
||||
break;
|
||||
case K_BACKSPACE:
|
||||
switch (sedit_state) {
|
||||
case 0:
|
||||
if (sedit_state) {
|
||||
if ((l = strlen(desc)))
|
||||
desc[--l] = 0;
|
||||
if (strlen(desc)-6 < desc_min && desc_min) {
|
||||
desc_min--;
|
||||
desc_max--;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ((l = strlen(serv)))
|
||||
serv[--l] = 0;
|
||||
if (strlen(serv)-6 < serv_min && serv_min) {
|
||||
serv_min--;
|
||||
serv_max--;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if ((l = strlen(desc)))
|
||||
desc[--l] = 0;
|
||||
if (strlen(desc)-6 < desc_min && desc_min) {
|
||||
desc_min--;
|
||||
desc_max--;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (key < 32 || key > 127)
|
||||
break;
|
||||
switch(sedit_state) {
|
||||
case 0:
|
||||
l = strlen(serv);
|
||||
if (l < 254) {
|
||||
serv[l+1] = 0;
|
||||
serv[l] = key;
|
||||
}
|
||||
if (strlen(serv) > serv_max) {
|
||||
serv_min++;
|
||||
serv_max++;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
l = strlen(desc);
|
||||
if (l < 254) {
|
||||
desc[l+1] = 0;
|
||||
desc[l] = key;
|
||||
}
|
||||
if (strlen(desc) > desc_max) {
|
||||
desc_min++;
|
||||
desc_max++;
|
||||
}
|
||||
break;
|
||||
if (sedit_state) {
|
||||
l = strlen(desc);
|
||||
if (l < 254) {
|
||||
desc[l+1] = 0;
|
||||
desc[l] = key;
|
||||
}
|
||||
if (strlen(desc) > desc_max) {
|
||||
desc_min++;
|
||||
desc_max++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
l = strlen(serv);
|
||||
if (l < 254) {
|
||||
serv[l+1] = 0;
|
||||
serv[l] = key;
|
||||
}
|
||||
if (strlen(serv) > serv_max) {
|
||||
serv_min++;
|
||||
serv_max++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue