You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

145 lines
3.4 KiB

#include "../../types.h"
void selconn_Render()
{
DrawArtImage(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, pPcxTitleImage);
RenderDiabloLogoSm();
PrintText30Silver(-1, 161, "Multi Player Game", JustCentre);
int w = 334;
int x = 280;
int y = 261;
PrintText30Silver(x, 211, "Select Connection", JustCentre, w);
char *connections[2] = {
//"Battle.net",
//"Local Area Network (IPC)",
//"Modem",
//"Direct Cable Connection",
"Local Area Network (UDP)"
,"Solo"
};
int selectorTop = y;
for (int i = 0; i < 2; i++) {
PrintText16Gold(x - 1, y, connections[i], JustCentre, w);
y += 26;
}
DrawSelector16(x, selectorTop - 2, w, 35, 26);
if (SelectedItem == 1) {
PrintText16Silver(35, 218, "Players Supported: 4");
PrintText16Silver(35, 256, "Requirements:");
// TODO need a word wrap function
PrintText16Silver(35, 275, "All computers must be");
PrintText16Silver(35, 291, "connected to an");
PrintText16Silver(35, 307, "UDP-compatible network.");
} else {
PrintText16Silver(35, 218, "Players Supported: 1");
PrintText16Silver(35, 256, "Play by your self with");
PrintText16Silver(35, 275, "no network exposure.");
}
PrintText24Silver(26, 356, "no gateway needed", JustCentre, 226);
PrintText30Gold(349, 429, "OK");
PrintText30Gold(476, 429, "Cancel");
}
void selconn_Loade()
{
LoadTitelArt("ui_art\\selconn.pcx");
}
void selconn_Free()
{
mem_free_dbg(pPcxTitleImage);
pPcxTitleImage = NULL;
}
int __stdcall UiSelectProvider(int a1, _SNETPROGRAMDATA *client_info, _SNETPLAYERDATA *user_info, _SNETUIDATA *ui_info,
_SNETVERSIONDATA *file_info, int *type)
{
selconn_Loade();
SelectedItem = 1;
SelectedItemMax = 2;
SDL_Event event;
bool endMenu = false;
while (!endMenu) {
CapFPS();
selconn_Render();
DrawMouse();
UiFadeIn();
while (SDL_PollEvent(&event)) {
switch (event.type) {
case SDL_KEYDOWN:
switch (event.key.keysym.sym) {
case SDLK_UP:
SelectedItem--;
if (SelectedItem < MAINMENU_SINGLE_PLAYER) {
SelectedItem = SelectedItemMax;
}
effects_play_sound("sfx\\items\\titlemov.wav");
break;
case SDLK_DOWN:
SelectedItem++;
if (SelectedItem > SelectedItemMax) {
SelectedItem = MAINMENU_SINGLE_PLAYER;
}
effects_play_sound("sfx\\items\\titlemov.wav");
break;
case SDLK_ESCAPE:
if (PreviousItem[submenu]) {
SetMenu(PreviousItem[submenu]);
break;
}
return FALSE;
case SDLK_RETURN:
case SDLK_KP_ENTER:
case SDLK_SPACE:
effects_play_sound("sfx\\items\\titlslct.wav");
switch (SelectedItem) {
/*
case 1:
endMenu = SNetInitializeProvider('BNET', client_info, user_info, ui_info, file_info);
break;
case 2:
endMenu = SNetInitializeProvider('IPXN', client_info, user_info, ui_info, file_info);
break;
case 3:
endMenu = SNetInitializeProvider('MODM', client_info, user_info, ui_info, file_info);
break;
case 4:
endMenu = SNetInitializeProvider('SCBL', client_info, user_info, ui_info, file_info);
break;
case 5:*/
case 1:
endMenu = SNetInitializeProvider('UDPN', client_info, user_info, ui_info, file_info);
break;
case 2:
endMenu = SNetInitializeProvider('SCBL', client_info, user_info, ui_info, file_info);
break;
}
SelectedItem = 1;
SelectedItemMax = 3;
break;
}
break;
case SDL_QUIT:
exit(0);
}
}
}
BlackPalette();
selconn_Free();
return TRUE;
}