From 57a9f56e2cba50249ee8a96533c8baed47814f92 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Fri, 10 Dec 2010 23:56:32 +0000 Subject: Fix memory leak when dynamically resizing window in true color video modes. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2215 --- src/i_video.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/i_video.c b/src/i_video.c index 488c08a0..ad4d7f39 100644 --- a/src/i_video.c +++ b/src/i_video.c @@ -97,7 +97,7 @@ static SDL_Surface *screen; // This is used when we are rendering in 32-bit screen mode. // When in a real 8-bit screen mode, screenbuffer == screen. -static SDL_Surface *screenbuffer; +static SDL_Surface *screenbuffer = NULL; // palette @@ -1646,6 +1646,14 @@ static void SetVideoMode(screen_mode_t *mode, int w, int h) doompal = W_CacheLumpName(DEH_String("PLAYPAL"), PU_CACHE); + // If we are already running and in a true color mode, we need + // to free the screenbuffer surface before setting the new mode. + + if (screenbuffer != NULL && screen != screenbuffer) + { + SDL_FreeSurface(screenbuffer); + } + // Generate lookup tables before setting the video mode. if (mode != NULL && mode->InitMode != NULL) -- cgit v1.2.3 From f4eb88dd2322db7831563ad55f8b6c45516906f9 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sun, 12 Dec 2010 13:11:11 +0000 Subject: Add -privateserver and -servername options to chocolate-server manpage. Add server registration option to setup tool (thanks exp(x)). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2220 --- man/chocolate-server.6 | 6 ++++++ setup/multiplayer.c | 22 +++++++++++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/man/chocolate-server.6 b/man/chocolate-server.6 index 65d0a3fe..f37173f2 100644 --- a/man/chocolate-server.6 +++ b/man/chocolate-server.6 @@ -29,6 +29,12 @@ mean the netgame will simply not function at all. .TP \fB-port \fR Use the specified UDP port for communications, instead of the default (2342). +.TP +\fB-privateserver\fR +Don't register with the global master server. +.TP +\fB-servername \fR +Specify a name for the server. .SH SEE ALSO \fBchocolate-doom\fR(6), \fBchocolate-setup\fR(6) diff --git a/setup/multiplayer.c b/setup/multiplayer.c index dfd9e3ba..95453f8f 100644 --- a/setup/multiplayer.c +++ b/setup/multiplayer.c @@ -115,6 +115,7 @@ static int fast = 0; static int respawn = 0; static int udpport = 2342; static int timer = 0; +static int privateserver = 0; static txt_dropdown_list_t *skillbutton; static txt_button_t *warpbutton; @@ -252,6 +253,11 @@ static void StartGame(int multiplayer) { AddCmdLineParameter(exec, "-timer %i", timer); } + + if (privateserver) + { + AddCmdLineParameter(exec, "-privateserver"); + } } AddWADs(exec); @@ -611,14 +617,12 @@ static void StartGameMenu(char *window_title, int multiplayer) TXT_NewCheckBox("Respawning monsters", &respawn), TXT_NewSeparator("Advanced"), advanced_table = TXT_NewTable(2), - TXT_NewButton2("Add extra parameters...", - OpenExtraParamsWindow, NULL), NULL); TXT_SetWindowAction(window, TXT_HORIZ_CENTER, WadWindowAction()); TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, StartGameAction(multiplayer)); - TXT_SetColumnWidths(gameopt_table, 12, 12); + TXT_SetColumnWidths(gameopt_table, 12, 6); TXT_AddWidgets(gameopt_table, TXT_NewLabel("Game"), @@ -640,13 +644,21 @@ static void StartGameMenu(char *window_title, int multiplayer) NULL), NULL); - TXT_AddWidgets(advanced_table, + TXT_AddWidget(window, + TXT_NewInvertedCheckBox("Register with master server", + &privateserver)); + + TXT_AddWidgets(advanced_table, TXT_NewLabel("UDP port"), TXT_NewIntInputBox(&udpport, 5), NULL); } - TXT_SetColumnWidths(advanced_table, 12, 12); + TXT_AddWidget(window, + TXT_NewButton2("Add extra parameters...", + OpenExtraParamsWindow, NULL)); + + TXT_SetColumnWidths(advanced_table, 12, 6); TXT_SignalConnect(iwad_selector, "changed", UpdateWarpType, NULL); -- cgit v1.2.3 From 1ef81eb5f7c336972fe56f15285f389cafdc96f5 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Tue, 14 Dec 2010 20:55:30 +0000 Subject: Check that an address is provided to the -query command line option (thanks Sander van Dijk). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2221 --- NEWS | 2 ++ src/d_main.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 8ade803d..768ad7fd 100644 --- a/NEWS +++ b/NEWS @@ -79,6 +79,8 @@ exp(x)). * The controller player in a netgame is the first player to join, instead of just being someone who gets lucky. + * Check that an address is provided to the -query command line + option (thanks Sander van Dijk). libtextscreen: * The font used for the textscreen library can be forced by diff --git a/src/d_main.c b/src/d_main.c index 032c5caa..36382fb6 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -868,7 +868,7 @@ void D_DoomMain (void) p = M_CheckParm("-query"); - if (p > 0) + if (p && p < myargc-1) { NET_QueryAddress(myargv[p+1]); exit(0); -- cgit v1.2.3 From 463bcf013ce355398974953508d232ac88a6b2d6 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sat, 18 Dec 2010 23:55:07 +0000 Subject: Add a M_CheckParmWithArgs function, that behaves like M_CheckParm but also checks that extra options were provided on the command line (thanks Sander van Dijk). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2223 --- NEWS | 4 ++-- man/docgen | 4 ++-- src/d_iwad.c | 2 +- src/d_main.c | 62 ++++++++++++++++++++++++++++---------------------------- src/d_net.c | 2 +- src/g_game.c | 4 ++-- src/i_system.c | 2 +- src/i_video.c | 8 ++++---- src/m_argv.c | 13 ++++++++---- src/m_argv.h | 4 ++++ src/m_config.c | 8 ++++---- src/net_client.c | 4 ++-- src/net_sdl.c | 4 ++-- src/net_server.c | 4 ++-- src/p_map.c | 2 +- src/p_spec.c | 4 ++-- 16 files changed, 70 insertions(+), 61 deletions(-) diff --git a/NEWS b/NEWS index 768ad7fd..7a43dab0 100644 --- a/NEWS +++ b/NEWS @@ -79,8 +79,8 @@ exp(x)). * The controller player in a netgame is the first player to join, instead of just being someone who gets lucky. - * Check that an address is provided to the -query command line - option (thanks Sander van Dijk). + * Command line arguments that take an option now check that an + option is provided (thanks Sander van Dijk). libtextscreen: * The font used for the textscreen library can be forced by diff --git a/man/docgen b/man/docgen index bfde7aef..3016dc5a 100755 --- a/man/docgen +++ b/man/docgen @@ -293,10 +293,10 @@ def add_parameter(param, line, config_file): # Is this documenting a command line parameter? - match = re.search('M_CheckParm\s*\(\s*"(.*?)"\s*\)', line) + match = re.search('M_CheckParm(WithArgs)?\s*\(\s*"(.*?)"', line) if match: - param.name = match.group(1) + param.name = match.group(2) categories[param.category].add_param(param) return diff --git a/src/d_iwad.c b/src/d_iwad.c index 89a7fba3..c0d33707 100644 --- a/src/d_iwad.c +++ b/src/d_iwad.c @@ -658,7 +658,7 @@ char *D_FindIWAD(void) // @arg // - iwadparm = M_CheckParm("-iwad"); + iwadparm = M_CheckParmWithArgs("-iwad", 1); if (iwadparm) { diff --git a/src/d_main.c b/src/d_main.c index 36382fb6..465ed45b 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -672,9 +672,9 @@ static void InitGameVersion(void) // "ultimate" and "final". // - p = M_CheckParm("-gameversion"); + p = M_CheckParmWithArgs("-gameversion", 1); - if (p > 0) + if (p) { for (i=0; gameversions[i].description != NULL; ++i) { @@ -866,9 +866,9 @@ void D_DoomMain (void) // address. // - p = M_CheckParm("-query"); + p = M_CheckParmWithArgs("-query", 1); - if (p && p < myargc-1) + if (p) { NET_QueryAddress(myargv[p+1]); exit(0); @@ -1019,7 +1019,7 @@ void D_DoomMain (void) // into the main IWAD. Multiple files may be specified. // - p = M_CheckParm("-merge"); + p = M_CheckParmWithArgs("-merge", 1); if (p > 0) { @@ -1045,7 +1045,7 @@ void D_DoomMain (void) // Simulates the behavior of NWT's -merge option. Multiple files // may be specified. - p = M_CheckParm("-nwtmerge"); + p = M_CheckParmWithArgs("-nwtmerge", 1); if (p > 0) { @@ -1070,7 +1070,7 @@ void D_DoomMain (void) // the main IWAD directory. Multiple files may be specified. // - p = M_CheckParm("-af"); + p = M_CheckParmWithArgs("-af", 1); if (p > 0) { @@ -1093,7 +1093,7 @@ void D_DoomMain (void) // into the main IWAD directory. Multiple files may be specified. // - p = M_CheckParm("-as"); + p = M_CheckParmWithArgs("-as", 1); if (p > 0) { @@ -1115,7 +1115,7 @@ void D_DoomMain (void) // Equivalent to "-af -as ". // - p = M_CheckParm("-aa"); + p = M_CheckParmWithArgs("-aa", 1); if (p > 0) { @@ -1139,7 +1139,7 @@ void D_DoomMain (void) // Load the specified PWAD files. // - p = M_CheckParm ("-file"); + p = M_CheckParmWithArgs("-file", 1); if (p) { // the parms after p are wadfile/lump names, @@ -1163,7 +1163,7 @@ void D_DoomMain (void) // // convenience hack to allow -wart e m to add a wad file // prepend a tilde to the filename so wadfile will be reloadable - p = M_CheckParm ("-wart"); + p = M_CheckParmWithArgs("-wart", 1); if (p) { myargv[p][4] = 'p'; // big hack, change to -warp @@ -1200,7 +1200,7 @@ void D_DoomMain (void) // Play back the demo named demo.lmp. // - p = M_CheckParm ("-playdemo"); + p = M_CheckParmWithArgs ("-playdemo", 1); if (!p) { @@ -1212,11 +1212,11 @@ void D_DoomMain (void) // Play back the demo named demo.lmp, determining the framerate // of the screen. // - p = M_CheckParm ("-timedemo"); + p = M_CheckParmWithArgs("-timedemo", 1); } - if (p && p < myargc-1) + if (p) { if (!strcasecmp(myargv[p+1] + strlen(myargv[p+1]) - 4, ".lmp")) { @@ -1296,9 +1296,9 @@ void D_DoomMain (void) // 0 disables all monsters. // - p = M_CheckParm ("-skill"); + p = M_CheckParmWithArgs("-skill", 1); - if (p && p < myargc-1) + if (p) { startskill = myargv[p+1][0]-'1'; autostart = true; @@ -1311,9 +1311,9 @@ void D_DoomMain (void) // Start playing on episode n (1-4) // - p = M_CheckParm ("-episode"); + p = M_CheckParmWithArgs("-episode", 1); - if (p && p < myargc-1) + if (p) { startepisode = myargv[p+1][0]-'0'; startmap = 1; @@ -1330,9 +1330,9 @@ void D_DoomMain (void) // For multiplayer games: exit each level after n minutes. // - p = M_CheckParm ("-timer"); + p = M_CheckParmWithArgs("-timer", 1); - if (p && p < myargc-1) + if (p) { timelimit = atoi(myargv[p+1]); } @@ -1346,7 +1346,7 @@ void D_DoomMain (void) p = M_CheckParm ("-avg"); - if (p && p < myargc-1) + if (p) { timelimit = 20; } @@ -1359,9 +1359,9 @@ void D_DoomMain (void) // (Doom 2) // - p = M_CheckParm ("-warp"); + p = M_CheckParmWithArgs("-warp", 1); - if (p && p < myargc-1) + if (p) { if (gamemode == commercial) startmap = atoi (myargv[p+1]); @@ -1405,9 +1405,9 @@ void D_DoomMain (void) // Load the game in slot s. // - p = M_CheckParm ("-loadgame"); + p = M_CheckParmWithArgs("-loadgame", 1); - if (p && p < myargc-1) + if (p) { startloadgame = atoi(myargv[p+1]); } @@ -1507,24 +1507,24 @@ void D_DoomMain (void) // Record a demo named x.lmp. // - p = M_CheckParm ("-record"); + p = M_CheckParmWithArgs("-record", 1); - if (p && p < myargc-1) + if (p) { G_RecordDemo (myargv[p+1]); autostart = true; } - p = M_CheckParm ("-playdemo"); - if (p && p < myargc-1) + p = M_CheckParmWithArgs("-playdemo", 1); + if (p) { singledemo = true; // quit after one demo G_DeferedPlayDemo (demolumpname); D_DoomLoop (); // never returns } - p = M_CheckParm ("-timedemo"); - if (p && p < myargc-1) + p = M_CheckParmWithArgs("-timedemo", 1); + if (p) { G_TimeDemo (demolumpname); D_DoomLoop (); // never returns diff --git a/src/d_net.c b/src/d_net.c index ae5a6d62..57fe2399 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -317,7 +317,7 @@ void D_CheckNetGame (void) // address. // - i = M_CheckParm("-connect"); + i = M_CheckParmWithArgs("-connect", 1); if (i > 0) { diff --git a/src/g_game.c b/src/g_game.c index 59550513..7790b83e 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -2068,8 +2068,8 @@ void G_RecordDemo (char* name) // Specify the demo buffer size (KiB) // - i = M_CheckParm ("-maxdemo"); - if (i && i 0) { diff --git a/src/i_video.c b/src/i_video.c index ad4d7f39..55fd21e1 100644 --- a/src/i_video.c +++ b/src/i_video.c @@ -1442,7 +1442,7 @@ static void CheckCommandLine(void) // Specify the screen width, in pixels. // - i = M_CheckParm("-width"); + i = M_CheckParmWithArgs("-width", 1); if (i > 0) { @@ -1456,7 +1456,7 @@ static void CheckCommandLine(void) // Specify the screen height, in pixels. // - i = M_CheckParm("-height"); + i = M_CheckParmWithArgs("-height", 1); if (i > 0) { @@ -1470,7 +1470,7 @@ static void CheckCommandLine(void) // Specify the color depth of the screen, in bits per pixel. // - i = M_CheckParm("-bpp"); + i = M_CheckParmWithArgs("-bpp", 1); if (i > 0) { @@ -1497,7 +1497,7 @@ static void CheckCommandLine(void) // Specify the screen mode (when running fullscreen) or the window // dimensions (when running in windowed mode). - i = M_CheckParm("-geometry"); + i = M_CheckParmWithArgs("-geometry", 1); if (i > 0) { diff --git a/src/m_argv.c b/src/m_argv.c index 99295c6d..4d321bbc 100644 --- a/src/m_argv.c +++ b/src/m_argv.c @@ -47,19 +47,24 @@ char** myargv; // or 0 if not present // -int M_CheckParm (char *check) +int M_CheckParmWithArgs(char *check, int num_args) { - int i; + int i; - for (i = 1;i 0) settings.extratics = atoi(myargv[i+1]); @@ -426,7 +426,7 @@ void NET_CL_StartGame(void) // the amount of network bandwidth needed. // - i = M_CheckParm("-dup"); + i = M_CheckParmWithArgs("-dup", 1); if (i > 0) settings.ticdup = atoi(myargv[i+1]); diff --git a/src/net_sdl.c b/src/net_sdl.c index 9c647cc9..2589540d 100644 --- a/src/net_sdl.c +++ b/src/net_sdl.c @@ -170,7 +170,7 @@ static boolean NET_SDL_InitClient(void) // the default (2342). // - p = M_CheckParm("-port"); + p = M_CheckParmWithArgs("-port", 1); if (p > 0) port = atoi(myargv[p+1]); @@ -196,7 +196,7 @@ static boolean NET_SDL_InitServer(void) { int p; - p = M_CheckParm("-port"); + p = M_CheckParmWithArgs("-port", 1); if (p > 0) port = atoi(myargv[p+1]); diff --git a/src/net_server.c b/src/net_server.c index 4307e2e2..b3a9ea92 100644 --- a/src/net_server.c +++ b/src/net_server.c @@ -1121,9 +1121,9 @@ void NET_SV_SendQueryResponse(net_addr_t *addr) // When starting a network server, specify a name for the server. // - p = M_CheckParm("-servername"); + p = M_CheckParmWithArgs("-servername", 1); - if (p > 0 && p + 1 < myargc) + if (p > 0) { querydata.description = myargv[p + 1]; } diff --git a/src/p_map.c b/src/p_map.c index b50fff2c..1ac76349 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -1426,7 +1426,7 @@ static void SpechitOverrun(line_t *ld) // Use the specified magic value when emulating spechit overruns. // - p = M_CheckParm("-spechit"); + p = M_CheckParmWithArgs("-spechit", 1); if (p > 0) { diff --git a/src/p_spec.c b/src/p_spec.c index fa3ec335..90d0bb7c 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -1213,9 +1213,9 @@ static void DonutOverrun(fixed_t *s3_floorheight, short *s3_floorpic, // system. The default (if this option is not specified) is to // emulate the behavior when running under Windows 98. - p = M_CheckParm("-donut"); + p = M_CheckParmWithArgs("-donut", 2); - if (p > 0 && p < myargc - 2) + if (p > 0) { // Dump of needed memory: (fixed_t)0000:0000 and (short)0000:0008 // -- cgit v1.2.3 From 58b73530462fad1ab872ef5c60afbfcaaa08eff1 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sun, 19 Dec 2010 20:15:09 +0000 Subject: Change setup tool skill level names to match Doom's "new game" menu exactly (thanks AlexXav). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2224 --- NEWS | 2 ++ setup/multiplayer.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 7a43dab0..806eca31 100644 --- a/NEWS +++ b/NEWS @@ -81,6 +81,8 @@ instead of just being someone who gets lucky. * Command line arguments that take an option now check that an option is provided (thanks Sander van Dijk). + * Skill level names in the setup tool are now written the same as + they are on the in-game "new game" menu (thanks AlexXav). libtextscreen: * The font used for the textscreen library can be forced by diff --git a/setup/multiplayer.c b/setup/multiplayer.c index 95453f8f..2cb961d7 100644 --- a/setup/multiplayer.c +++ b/setup/multiplayer.c @@ -78,10 +78,10 @@ static char *iwadfile; static char *skills[] = { - "I'm too young to die!", + "I'm too young to die.", "Hey, not too rough.", "Hurt me plenty.", - "Ultra-violence", + "Ultra-Violence.", "NIGHTMARE!", }; -- cgit v1.2.3 From c67b4c15dc32f9824951f37c9b1fa665b7d1307f Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sat, 25 Dec 2010 20:55:30 +0000 Subject: Remove the 32 character limit on the lengths of filenames specified to -record (thanks AlexXav). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2225 --- NEWS | 2 ++ src/g_game.c | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 806eca31..0b198e02 100644 --- a/NEWS +++ b/NEWS @@ -83,6 +83,8 @@ option is provided (thanks Sander van Dijk). * Skill level names in the setup tool are now written the same as they are on the in-game "new game" menu (thanks AlexXav). + * There is no longer a limit on the lengths of filenames provided + to the -record command line parameter (thanks AlexXav). libtextscreen: * The font used for the textscreen library can be forced by diff --git a/src/g_game.c b/src/g_game.c index 7790b83e..f91e630e 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -139,7 +139,7 @@ int gametic; int levelstarttic; // gametic at level start int totalkills, totalitems, totalsecret; // for intermission -char demoname[32]; +char *demoname; boolean demorecording; boolean longtics; // cph's doom 1.91 longtics hack boolean lowres_turn; // low resolution turning for longtics @@ -2050,14 +2050,14 @@ void G_WriteDemoTiccmd (ticcmd_t* cmd) // // G_RecordDemo // -void G_RecordDemo (char* name) +void G_RecordDemo (char *name) { int i; int maxsize; usergame = false; - strcpy (demoname, name); - strcat (demoname, ".lmp"); + demoname = Z_Malloc(strlen(name) + 5, PU_STATIC, NULL); + sprintf(demoname, "%s.lmp", name); maxsize = 0x20000; //! -- cgit v1.2.3 From a854f3e246be1373200a296413b31ece296c2914 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sat, 25 Dec 2010 21:04:10 +0000 Subject: Remove the -wart parameter (thanks Sander van Dijk). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2226 --- src/d_main.c | 34 ---------------------------------- src/dstrings.h | 9 --------- 2 files changed, 43 deletions(-) diff --git a/src/d_main.c b/src/d_main.c index 465ed45b..397062a9 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -1158,40 +1158,6 @@ void D_DoomMain (void) // Debug: // W_PrintDirectory(); - // add any files specified on the command line with -file wadfile - // to the wad list - // - // convenience hack to allow -wart e m to add a wad file - // prepend a tilde to the filename so wadfile will be reloadable - p = M_CheckParmWithArgs("-wart", 1); - if (p) - { - myargv[p][4] = 'p'; // big hack, change to -warp - - // Map name handling. - switch (gamemode ) - { - case shareware: - case retail: - case registered: - sprintf (file,"~"DEVMAPS"E%cM%c.wad", - myargv[p+1][0], myargv[p+2][0]); - printf("Warping to Episode %s, Map %s.\n", - myargv[p+1],myargv[p+2]); - break; - - case commercial: - default: - p = atoi (myargv[p+1]); - if (p<10) - sprintf (file,"~"DEVMAPS"cdata/map0%i.wad", p); - else - sprintf (file,"~"DEVMAPS"cdata/map%i.wad", p); - break; - } - D_AddFile (file); - } - //! // @arg // @category demo diff --git a/src/dstrings.h b/src/dstrings.h index bdc6b2ce..d47fc1af 100644 --- a/src/dstrings.h +++ b/src/dstrings.h @@ -38,15 +38,6 @@ #define SAVEGAMENAME "doomsav" -// -// File locations, -// relative to current position. -// Path names are OS-sensitive. -// -#define DEVMAPS "devmaps" -#define DEVDATA "devdata" - - // QuitDOOM messages // 8 per each game type #define NUM_QUITMESSAGES 8 -- cgit v1.2.3 From a8839cecaa12fc3d9afb2bad0863b7b97901bc4c Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sat, 25 Dec 2010 21:51:24 +0000 Subject: Pass through all command line arguments specified to the setup tool to the game, to match Vanilla behavior (thanks AlexXav). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2227 --- NEWS | 2 ++ setup/execute.c | 55 +++++++++++++++++++++++++++++++++++------------------ setup/execute.h | 2 +- setup/mainmenu.c | 2 +- setup/multiplayer.c | 4 ++-- 5 files changed, 42 insertions(+), 23 deletions(-) diff --git a/NEWS b/NEWS index 0b198e02..c3289f3c 100644 --- a/NEWS +++ b/NEWS @@ -50,6 +50,8 @@ removed from the title of the dialog box that appears on Windows when this happens. This is desirable as not all such messages are actually errors (thanks Proteh). + * The setup tool now passes through all command line arguments + when launching the game (thanks AlexXav). Bugs fixed: * A workaround has been a bug in old versions of SDL_mixer diff --git a/setup/execute.c b/setup/execute.c index 8e753f60..69442b5d 100644 --- a/setup/execute.c +++ b/setup/execute.c @@ -101,6 +101,42 @@ static char *TempFile(char *s) return result; } +static int ArgumentNeedsEscape(char *arg) +{ + char *p; + + for (p = arg; *p != '\0'; ++p) + { + if (isspace(*p)) + { + return 1; + } + } + + return 0; +} + +// Arguments passed to the setup tool should be passed through to the +// game when launching a game. Calling this adds all arguments from +// myargv to the output context. + +void PassThroughArguments(execute_context_t *context) +{ + int i; + + for (i = 1; i < myargc; ++i) + { + if (ArgumentNeedsEscape(myargv[i])) + { + AddCmdLineParameter(context, "\"%s\"", myargv[i]); + } + else + { + AddCmdLineParameter(context, "%s", myargv[i]); + } + } +} + execute_context_t *NewExecuteContext(void) { execute_context_t *result; @@ -119,25 +155,6 @@ execute_context_t *NewExecuteContext(void) return result; } -void AddConfigParameters(execute_context_t *context) -{ - int p; - - p = M_CheckParm("-config"); - - if (p > 0) - { - AddCmdLineParameter(context, "-config \"%s\"", myargv[p + 1]); - } - - p = M_CheckParm("-extraconfig"); - - if (p > 0) - { - AddCmdLineParameter(context, "-extraconfig \"%s\"", myargv[p + 1]); - } -} - void AddCmdLineParameter(execute_context_t *context, char *s, ...) { va_list args; diff --git a/setup/execute.h b/setup/execute.h index 24711a16..25f1f10a 100644 --- a/setup/execute.h +++ b/setup/execute.h @@ -35,7 +35,7 @@ typedef struct execute_context_s execute_context_t; execute_context_t *NewExecuteContext(void); void AddCmdLineParameter(execute_context_t *context, char *s, ...); -void AddConfigParameters(execute_context_t *context); +void PassThroughArguments(execute_context_t *context); int ExecuteDoom(execute_context_t *context); int FindInstalledIWADs(void); diff --git a/setup/mainmenu.c b/setup/mainmenu.c index 1c341d78..ae8ab9b0 100644 --- a/setup/mainmenu.c +++ b/setup/mainmenu.c @@ -152,7 +152,7 @@ static void LaunchDoom(void *unused1, void *unused2) // Launch Doom exec = NewExecuteContext(); - AddConfigParameters(exec); + PassThroughArguments(exec); ExecuteDoom(exec); exit(0); diff --git a/setup/multiplayer.c b/setup/multiplayer.c index 2cb961d7..eece16d4 100644 --- a/setup/multiplayer.c +++ b/setup/multiplayer.c @@ -265,7 +265,7 @@ static void StartGame(int multiplayer) TXT_Shutdown(); M_SaveDefaults(); - AddConfigParameters(exec); + PassThroughArguments(exec); ExecuteDoom(exec); @@ -702,7 +702,7 @@ static void DoJoinGame(void *unused1, void *unused2) M_SaveDefaults(); - AddConfigParameters(exec); + PassThroughArguments(exec); ExecuteDoom(exec); -- cgit v1.2.3 From fe0eca1d099d79eec30c49882625827193ab0f6d Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sat, 25 Dec 2010 22:42:40 +0000 Subject: Include NOT-BUGS in rpm packages. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2228 --- rpm.spec.in | 1 + 1 file changed, 1 insertion(+) diff --git a/rpm.spec.in b/rpm.spec.in index b37a2876..9717ebfb 100644 --- a/rpm.spec.in +++ b/rpm.spec.in @@ -57,5 +57,6 @@ rm -rf $RPM_BUILD_ROOT %doc COPYING %doc CMDLINE %doc BUGS +%doc NOT-BUGS /usr/games/* -- cgit v1.2.3 From fc09dbdf6703e62146a74a164be475ba965d00ab Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Tue, 28 Dec 2010 16:43:41 +0000 Subject: Make demo loop handling of DEMO4 case depend on the executable version being emulated: the Vanilla versions did not have any conditional behavior based on gamemode/gamemission. This has the side effect of causing the game to exit with an error when playing with Final Doom, but this is Vanilla behavior. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2230 --- NEWS | 4 ++++ NOT-BUGS | 23 +++++++++++++++++++++++ src/d_main.c | 8 +++++++- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index c3289f3c..0dbdb06f 100644 --- a/NEWS +++ b/NEWS @@ -52,6 +52,10 @@ messages are actually errors (thanks Proteh). * The setup tool now passes through all command line arguments when launching the game (thanks AlexXav). + * Demo loop behavior (ie. whether to play DEMO4) now depends on + the version being emulated. When playing Final Doom the game + will exit unexpectedly as it tries to play the fourth demo - + this is Vanilla behaviour (thanks AlexXav). Bugs fixed: * A workaround has been a bug in old versions of SDL_mixer diff --git a/NOT-BUGS b/NOT-BUGS index 38d97770..f7d22231 100644 --- a/NOT-BUGS +++ b/NOT-BUGS @@ -31,6 +31,29 @@ upgrade. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +== Game exits in demo loop when playing Final Doom == + +When playing with the Final Doom IWAD files (tnt.wad, plutonia.wad), +if you leave the game at the title screen to play through the demo +loop, it will eventually exit with the following error message: + + W_GetNumForName: demo4 not found! + +This is the same behavior as the Vanilla executables that were +bundled with Final Doom. When Ultimate Doom was developed, a fourth +demo was added to the demo loop, and this change was retained in the +Final Doom version of the executable. However, the Final Doom IWADs +do not include a fourth demo, so the game crashes. + +One way to work around this problem is to make the game emulate the +original (pre-Ultimate Doom) v1.9 executable. To do this, add the +command line argument "-gameversion 1.9" when running the game. +However, be aware this version does have some subtle differences that +will affect the playback of Final Doom demos (lost soul bouncing, +teleport behavior). + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + == Game exits when accessing the options menu == The game may exit with the message "Bad V_DrawPatch" when accessing diff --git a/src/d_main.c b/src/d_main.c index 397062a9..73978c2f 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -494,7 +494,13 @@ void D_DoAdvanceDemo (void) paused = false; gameaction = ga_nothing; - if (gamemode == retail && gameversion != exe_chex) + // The Ultimate Doom executable changed the demo sequence to add + // a DEMO4 demo. Final Doom was based on Ultimate, so also + // includes this change; however, the Final Doom IWADs do not + // include a DEMO4 lump, so the game bombs out with an error + // when it reaches this point in the demo sequence. + + if (gameversion == exe_ultimate || gameversion == exe_final) demosequence = (demosequence+1)%7; else demosequence = (demosequence+1)%6; -- cgit v1.2.3 From e63839de20c56649ce16adfe7e849735223ad130 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sun, 2 Jan 2011 02:31:20 +0000 Subject: Turn off dynamic window resizing feature on OS X, as it adds an ugly resize handle to the corner of the window that overlaps the view of the game. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2231 --- src/i_video.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/i_video.c b/src/i_video.c index 55fd21e1..cd5d2ace 100644 --- a/src/i_video.c +++ b/src/i_video.c @@ -1676,7 +1676,13 @@ static void SetVideoMode(screen_mode_t *mode, int w, int h) } else { + // In windowed mode, the window can be resized while the game is + // running. This feature is disabled on OS X, as it adds an ugly + // scroll handle to the corner of the screen. + +#ifndef __MACOSX__ flags |= SDL_RESIZABLE; +#endif } screen = SDL_SetVideoMode(w, h, screen_bpp, flags); -- cgit v1.2.3 From 4fc7b22ad09759474706012251161caef3970420 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sun, 2 Jan 2011 02:49:20 +0000 Subject: Restore window title when changing video driver in setup tool (thanks AlexXav). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2233 --- NEWS | 2 ++ setup/display.c | 14 ++------------ setup/mainmenu.c | 25 ++++++++++++++++++++----- 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/NEWS b/NEWS index 0dbdb06f..d8221ead 100644 --- a/NEWS +++ b/NEWS @@ -91,6 +91,8 @@ they are on the in-game "new game" menu (thanks AlexXav). * There is no longer a limit on the lengths of filenames provided to the -record command line parameter (thanks AlexXav). + * Window title is not lost in setup tool when changing video + driver (thanks AlexXav). libtextscreen: * The font used for the textscreen library can be forced by diff --git a/setup/display.c b/setup/display.c index 42a1dced..ca22824c 100644 --- a/setup/display.c +++ b/setup/display.c @@ -29,6 +29,8 @@ #include "display.h" +extern void RestartTextscreen(void); + typedef struct { char *description; @@ -520,18 +522,6 @@ static char *win32_video_drivers[] = "Windows GDI", }; -// Restart the textscreen library. Used when the video_driver variable -// is changed. - -static void RestartTextscreen(void) -{ - TXT_Shutdown(); - - SetDisplayDriver(); - - TXT_Init(); -} - static void SetWin32VideoDriver(void) { if (!strcmp(video_driver, "windib")) diff --git a/setup/mainmenu.c b/setup/mainmenu.c index ae8ab9b0..a3dfafed 100644 --- a/setup/mainmenu.c +++ b/setup/mainmenu.c @@ -256,11 +256,9 @@ static void SetIcon(void) free(mask); } -// -// Initialize and run the textscreen GUI. -// +// Initialize the textscreen library. -static void RunGUI(void) +static void InitTextscreen(void) { SetDisplayDriver(); @@ -272,7 +270,24 @@ static void RunGUI(void) TXT_SetDesktopTitle(PACKAGE_NAME " Setup ver " PACKAGE_VERSION); SetIcon(); - +} + +// Restart the textscreen library. Used when the video_driver variable +// is changed. + +void RestartTextscreen(void) +{ + TXT_Shutdown(); + InitTextscreen(); +} + +// +// Initialize and run the textscreen GUI. +// + +static void RunGUI(void) +{ + InitTextscreen(); MainMenu(); TXT_GUIMainLoop(); -- cgit v1.2.3 From 6d9d1c6051179e1fa482da0d8973681050bb6077 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sun, 2 Jan 2011 17:45:24 +0000 Subject: Remove redundant package version label from top of OS X launcher window. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2234 --- pkg/Makefile.am | 3 +- pkg/osx/LauncherManager.h | 1 - pkg/osx/LauncherManager.m | 1 - pkg/osx/Resources/launcher.nib/classes.nib | 47 - pkg/osx/Resources/launcher.nib/designable.nib | 2679 +++++++++++++++++++++++ pkg/osx/Resources/launcher.nib/info.nib | 23 - pkg/osx/Resources/launcher.nib/keyedobjects.nib | Bin 19616 -> 24936 bytes 7 files changed, 2680 insertions(+), 74 deletions(-) delete mode 100644 pkg/osx/Resources/launcher.nib/classes.nib create mode 100644 pkg/osx/Resources/launcher.nib/designable.nib delete mode 100644 pkg/osx/Resources/launcher.nib/info.nib diff --git a/pkg/Makefile.am b/pkg/Makefile.am index 9775fa77..a22e4018 100644 --- a/pkg/Makefile.am +++ b/pkg/Makefile.am @@ -5,8 +5,7 @@ osx/Resources/app.icns \ osx/Resources/app.png \ osx/Resources/wadfile.icns \ osx/Resources/wadfile.png \ -osx/Resources/launcher.nib/classes.nib \ -osx/Resources/launcher.nib/info.nib \ +osx/Resources/launcher.nib/designable.nib \ osx/Resources/launcher.nib/keyedobjects.nib \ osx/GNUmakefile \ osx/Info.plist.in osx/Info-gnustep.plist.in \ diff --git a/pkg/osx/LauncherManager.h b/pkg/osx/LauncherManager.h index e454ab4f..7e8c35cd 100644 --- a/pkg/osx/LauncherManager.h +++ b/pkg/osx/LauncherManager.h @@ -35,7 +35,6 @@ id launchButton; id commandLineArguments; - id packageLabel; } - (void) launch: (id)sender; diff --git a/pkg/osx/LauncherManager.m b/pkg/osx/LauncherManager.m index ae91ef4d..8c523ab4 100644 --- a/pkg/osx/LauncherManager.m +++ b/pkg/osx/LauncherManager.m @@ -327,7 +327,6 @@ static NSString *AppendQuotedFilename(NSString *str, NSString *fileName) - (void) awakeFromNib { - [self->packageLabel setStringValue: @PACKAGE_STRING]; [self->launcherWindow setTitle: @PACKAGE_NAME " Launcher"]; [self->launcherWindow center]; [self->launcherWindow setDefaultButtonCell: [self->launchButton cell]]; diff --git a/pkg/osx/Resources/launcher.nib/classes.nib b/pkg/osx/Resources/launcher.nib/classes.nib deleted file mode 100644 index 7efc837a..00000000 --- a/pkg/osx/Resources/launcher.nib/classes.nib +++ /dev/null @@ -1,47 +0,0 @@ -{ - IBClasses = ( - { - CLASS = AppController; - LANGUAGE = ObjC; - OUTLETS = {launcherManager = id; }; - SUPERCLASS = NSObject; - }, - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - { - ACTIONS = {closeConfigWindow = id; openConfigWindow = id; }; - CLASS = IWADController; - LANGUAGE = ObjC; - OUTLETS = { - chex = id; - configWindow = id; - doom1 = id; - doom2 = id; - iwadSelector = id; - plutonia = id; - tnt = id; - }; - SUPERCLASS = NSObject; - }, - { - ACTIONS = {setButtonClicked = id; }; - CLASS = IWADLocation; - LANGUAGE = ObjC; - OUTLETS = {locationConfigBox = id; }; - SUPERCLASS = NSObject; - }, - { - ACTIONS = {launch = id; openTerminal = id; runSetup = id; }; - CLASS = LauncherManager; - LANGUAGE = ObjC; - OUTLETS = { - commandLineArguments = id; - iwadController = id; - launchButton = id; - launcherWindow = id; - packageLabel = id; - }; - SUPERCLASS = NSObject; - } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/pkg/osx/Resources/launcher.nib/designable.nib b/pkg/osx/Resources/launcher.nib/designable.nib new file mode 100644 index 00000000..856ea06f --- /dev/null +++ b/pkg/osx/Resources/launcher.nib/designable.nib @@ -0,0 +1,2679 @@ + + + + 1060 + 10F569 + 823 + 1038.29 + 461.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 823 + + + YES + + + + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + YES + + + NSApplication + + + + FirstResponder + + + NSApplication + + + 7 + 2 + {{350, 488}, {530, 190}} + 1886912512 + (Package Name) Launcher + NSWindow + + View + + {1.79769e+308, 1.79769e+308} + {243.529, 107} + + + 256 + + YES + + + 256 + {{17, 159}, {360, 11}} + + YES + + 67239424 + 272629760 + U2VsZWN0IGEgZ2FtZToKA + + LucidaGrande + 9 + 3614 + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + + + 256 + {{17, 127}, {259, 26}} + + YES + + -2076049856 + 2048 + + LucidaGrande + 13 + 1044 + + + 109199615 + 1 + + LucidaGrande + 13 + 16 + + + + + + 400 + 75 + + + Game name + + 1048576 + 2147483647 + 1 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + _popUpItemAction: + + + YES + + + OtherViews + + + YES + + + + 3 + YES + YES + 1 + + + + + 256 + + YES + + YES + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + + {{382, 51}, {128, 128}} + + YES + + 130560 + 33554432 + + NSImage + 128x128 + + 0 + 1 + 0 + YES + + YES + + + + 256 + {{281, 129}, {93, 23}} + + YES + + 67239424 + 134217728 + Configure... + + + -2038021889 + 32 + + + + 400 + 75 + + + + + 256 + {{17, 100}, {360, 11}} + + YES + + 67239424 + 272629760 + Q29tbWFuZCBsaW5lIGFyZ3VtZW50czoKA + + + + + + + + + 256 + {{20, 70}, {354, 22}} + + YES + + -1804468671 + 272630784 + + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + + + + + + 256 + {{387, 12}, {129, 32}} + + YES + + -2080244224 + 134217728 + Launch Game + + + -2038284033 + 1 + + + + + + 200 + 25 + + + + + 256 + {{14, 12}, {149, 32}} + + YES + + 67239424 + 134217728 + Run Setup Tool... + + + -2038284033 + 1 + + + + + + 200 + 25 + + + + {530, 190} + + + {{0, 0}, {1440, 878}} + {243.529, 129} + {1.79769e+308, 1.79769e+308} + + + MainMenu + + YES + + + Launcher + + 1048576 + 2147483647 + + + submenuAction: + + Launcher + + YES + + + About... + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + IWAD configuration... + , + 1048576 + 2147483647 + + + + + + Command Prompt... + t + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + + Services + + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + + Edit + + + YES + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Delete + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + + Window + + + YES + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + _NSMainMenu + + + LauncherManager + + + IWADController + + + 7 + 2 + {{377, 409}, {480, 316}} + 1886912512 + IWAD configuration + + NSWindow + + + View + + {1.79769e+308, 1.79769e+308} + {213, 107} + + + 256 + + YES + + + 256 + {{17, 285}, {446, 11}} + + YES + + 67239424 + 272629760 + Doom IWAD location (doom.wad): + + + + + + + + + 256 + {{20, 255}, {369, 22}} + + YES + + -1804468671 + 272630784 + + + + YES + + + + + + + 256 + {{397, 255}, {63, 23}} + + YES + + 67239424 + 134217728 + Set... + + + -2038021889 + 32 + + + + 400 + 75 + + + + + 256 + {{17, 236}, {446, 11}} + + YES + + 67239424 + 272629760 + Doom II IWAD location (doom2.wad): + + + + + + + + + 256 + {{20, 206}, {369, 22}} + + YES + + -1804468671 + 272630784 + + + + YES + + + + + + + 256 + {{397, 206}, {63, 23}} + + YES + + 67239424 + 134217728 + Set... + + + -2038021889 + 32 + + + + 400 + 75 + + + + + 256 + {{17, 187}, {446, 11}} + + YES + + 67239424 + 272629760 + RmluYWwgRG9vbTogVE5UOiBFdmlsdXRpb24gbG9jYXRpb24gKHRudC53YWQpOgo + + + + + + + + + 256 + {{20, 157}, {369, 22}} + + YES + + -1804468671 + 272630784 + + + + YES + + + + + + + 256 + {{397, 157}, {63, 23}} + + YES + + 67239424 + 134217728 + Set... + + + -2038021889 + 32 + + + + 400 + 75 + + + + + 256 + {{17, 138}, {446, 11}} + + YES + + 67239424 + 272629760 + RmluYWwgRG9vbTogUGx1dG9uaWEgRXhwZXJpbWVudCBsb2NhdGlvbiAocGx1dG9uaWEud2FkKToKA + + + + + + + + + 256 + {{20, 108}, {369, 22}} + + YES + + -1804468671 + 272630784 + + + + YES + + + + + + + 256 + {{397, 108}, {63, 23}} + + YES + + 67239424 + 134217728 + Set... + + + -2038021889 + 32 + + + + 400 + 75 + + + + + 256 + {{17, 89}, {446, 11}} + + YES + + 67239424 + 272629760 + Chex Quest IWAD location (chex.wad): + + + + + + + + + 256 + {{20, 59}, {369, 22}} + + YES + + -1804468671 + 272630784 + + + + YES + + + + + + + 256 + {{397, 59}, {63, 23}} + + YES + + 67239424 + 134217728 + Set... + + + -2038021889 + 32 + + + + 400 + 75 + + + + + 256 + {{384, 12}, {82, 32}} + + YES + + 67239424 + 134217728 + Close + + + -2038284033 + 1 + + + + + + 200 + 25 + + + + {480, 316} + + + {{0, 0}, {1440, 878}} + {213, 129} + {1.79769e+308, 1.79769e+308} + + + IWADLocation + + + IWADLocation + + + IWADLocation + + + IWADLocation + + + IWADLocation + + + AppController + + + LauncherManager + + + LauncherManager + + + LauncherManager + + + + + YES + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + terminate: + + + + 139 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + hideOtherApplications: + + + + 146 + + + + hide: + + + + 152 + + + + unhideAllApplications: + + + + 153 + + + + performZoom: + + + + 198 + + + + launcherWindow + + + + 207 + + + + commandLineArguments + + + + 222 + + + + runSetup: + + + + 223 + + + + launch: + + + + 224 + + + + openConfigWindow: + + + + 226 + + + + locationConfigBox + + + + 251 + + + + locationConfigBox + + + + 252 + + + + locationConfigBox + + + + 253 + + + + locationConfigBox + + + + 254 + + + + setButtonClicked: + + + + 255 + + + + setButtonClicked: + + + + 256 + + + + setButtonClicked: + + + + 257 + + + + setButtonClicked: + + + + 258 + + + + closeConfigWindow: + + + + 259 + + + + doom1 + + + + 260 + + + + doom2 + + + + 261 + + + + tnt + + + + 262 + + + + plutonia + + + + 263 + + + + chex + + + + 264 + + + + configWindow + + + + 265 + + + + iwadSelector + + + + 266 + + + + locationConfigBox + + + + 267 + + + + openConfigWindow: + + + + 268 + + + + iwadController + + + + 269 + + + + delegate + + + + 271 + + + + launcherManager + + + + 272 + + + + setButtonClicked: + + + + 273 + + + + paste: + + + + 306 + + + + delete: + + + + 307 + + + + cut: + + + + 310 + + + + undo: + + + + 313 + + + + copy: + + + + 315 + + + + selectAll: + + + + 317 + + + + redo: + + + + 318 + + + + openTerminal: + + + + 321 + + + + launchButton + + + + 322 + + + + + YES + + 0 + + YES + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + 21 + + + YES + + + + Launcher Window + + + 2 + + + YES + + + + + + + + + + + + + 209 + + + YES + + + + + + 211 + + + YES + + + + + + 216 + + + YES + + + + + + 217 + + + YES + + + + + + 218 + + + YES + + + + + + 219 + + + YES + + + + + + 220 + + + YES + + + + + + 221 + + + YES + + + + + + 29 + + + YES + + + + + + MainMenu + + + 19 + + + YES + + + + + + 24 + + + YES + + + + + + + + + 5 + + + + + 23 + + + + + 92 + + + + + 197 + + + + + 56 + + + YES + + + + + + 57 + + + YES + + + + + + + + + + + + + + + + + 58 + + + + + 129 + + + + + 131 + + + YES + + + + + + 130 + + + + + 134 + + + + + 136 + + + + + 143 + + + + + 144 + + + + + 145 + + + + + 149 + + + + + 150 + + + + + 196 + + + + + 320 + + + + + 274 + + + YES + + + + + + 275 + + + YES + + + + + + + + + + + + + 281 + + + + + 282 + + + + + 287 + + + + + 289 + + + + + 290 + + + + + 291 + + + + + 293 + + + + + 301 + + + + + 206 + + + LauncherManager + + + 225 + + + IWADController + + + 227 + + + YES + + + + Configuration Window + + + 228 + + + YES + + + + + + + + + + + + + + + + + + + + + 234 + + + YES + + + + + + 235 + + + YES + + + + + + 236 + + + YES + + + + + + 238 + + + YES + + + + + + 239 + + + YES + + + + + + 240 + + + YES + + + + + + 241 + + + YES + + + + + + 242 + + + YES + + + + + + 243 + + + YES + + + + + + 244 + + + YES + + + + + + 245 + + + YES + + + + + + 246 + + + YES + + + + + + 247 + + + YES + + + + + + 248 + + + YES + + + + + + 249 + + + YES + + + + + + 250 + + + YES + + + + + + 229 + + + Doom1IWAD + + + 230 + + + Doom2IWAD + + + 231 + + + TNTIWAD + + + 232 + + + PlutoniaIWAD + + + 233 + + + ChexIWAD + + + 270 + + + AppController + + + 325 + + + + + 326 + + + YES + + + + + + 327 + + + + + 328 + + + + + 329 + + + + + 330 + + + + + 331 + + + + + 332 + + + + + 333 + + + + + 334 + + + + + 335 + + + + + 336 + + + + + 337 + + + + + 338 + + + + + 339 + + + + + 340 + + + + + 341 + + + + + 342 + + + + + 343 + + + + + 344 + + + + + 345 + + + + + 346 + + + + + 347 + + + + + 348 + + + + + 212 + + + YES + + + + + + 213 + + + + + -3 + + + Application + + + 349 + + + + + 350 + + + + + 351 + + + + + + + YES + + YES + 129.IBPluginDependency + 129.ImportedFromIB2 + 130.IBPluginDependency + 130.ImportedFromIB2 + 131.IBPluginDependency + 131.ImportedFromIB2 + 134.IBPluginDependency + 134.ImportedFromIB2 + 136.IBPluginDependency + 136.ImportedFromIB2 + 143.IBPluginDependency + 143.ImportedFromIB2 + 144.IBPluginDependency + 144.ImportedFromIB2 + 145.IBPluginDependency + 145.ImportedFromIB2 + 149.IBPluginDependency + 149.ImportedFromIB2 + 150.IBPluginDependency + 150.ImportedFromIB2 + 19.IBPluginDependency + 19.ImportedFromIB2 + 196.IBPluginDependency + 196.ImportedFromIB2 + 197.IBPluginDependency + 197.ImportedFromIB2 + 2.IBPluginDependency + 2.ImportedFromIB2 + 206.ImportedFromIB2 + 209.IBPluginDependency + 209.IBViewBoundsToFrameTransform + 209.ImportedFromIB2 + 21.IBEditorWindowLastContentRect + 21.IBPluginDependency + 21.IBWindowTemplateEditedContentRect + 21.ImportedFromIB2 + 21.NSWindowTemplate.visibleAtLaunch + 21.windowTemplate.hasMinSize + 21.windowTemplate.minSize + 211.IBPluginDependency + 211.IBViewBoundsToFrameTransform + 211.ImportedFromIB2 + 212.IBPluginDependency + 212.ImportedFromIB2 + 213.IBPluginDependency + 213.ImportedFromIB2 + 216.IBPluginDependency + 216.IBViewBoundsToFrameTransform + 216.ImportedFromIB2 + 217.IBPluginDependency + 217.IBViewBoundsToFrameTransform + 217.ImportedFromIB2 + 218.IBPluginDependency + 218.IBViewBoundsToFrameTransform + 218.ImportedFromIB2 + 219.IBPluginDependency + 219.IBViewBoundsToFrameTransform + 219.ImportedFromIB2 + 220.IBPluginDependency + 220.IBViewBoundsToFrameTransform + 220.ImportedFromIB2 + 221.IBPluginDependency + 221.IBViewBoundsToFrameTransform + 221.ImportedFromIB2 + 225.ImportedFromIB2 + 227.IBEditorWindowLastContentRect + 227.IBPluginDependency + 227.IBWindowTemplateEditedContentRect + 227.ImportedFromIB2 + 227.windowTemplate.hasMinSize + 227.windowTemplate.minSize + 228.IBPluginDependency + 228.ImportedFromIB2 + 229.ImportedFromIB2 + 23.IBPluginDependency + 23.ImportedFromIB2 + 230.ImportedFromIB2 + 231.ImportedFromIB2 + 232.ImportedFromIB2 + 233.ImportedFromIB2 + 234.IBPluginDependency + 234.ImportedFromIB2 + 235.IBPluginDependency + 235.ImportedFromIB2 + 236.IBPluginDependency + 236.ImportedFromIB2 + 238.IBPluginDependency + 238.ImportedFromIB2 + 239.IBPluginDependency + 239.ImportedFromIB2 + 24.IBPluginDependency + 24.ImportedFromIB2 + 240.IBPluginDependency + 240.ImportedFromIB2 + 241.IBPluginDependency + 241.ImportedFromIB2 + 242.IBPluginDependency + 242.ImportedFromIB2 + 243.IBPluginDependency + 243.ImportedFromIB2 + 244.IBPluginDependency + 244.ImportedFromIB2 + 245.IBPluginDependency + 245.ImportedFromIB2 + 246.IBPluginDependency + 246.ImportedFromIB2 + 247.IBPluginDependency + 247.ImportedFromIB2 + 248.IBPluginDependency + 248.ImportedFromIB2 + 249.IBPluginDependency + 249.ImportedFromIB2 + 250.IBPluginDependency + 250.ImportedFromIB2 + 270.ImportedFromIB2 + 274.IBPluginDependency + 274.ImportedFromIB2 + 275.IBPluginDependency + 275.ImportedFromIB2 + 281.IBPluginDependency + 281.ImportedFromIB2 + 282.IBPluginDependency + 282.ImportedFromIB2 + 287.IBPluginDependency + 287.ImportedFromIB2 + 289.IBPluginDependency + 289.ImportedFromIB2 + 29.IBEditorWindowLastContentRect + 29.IBPluginDependency + 29.ImportedFromIB2 + 290.IBPluginDependency + 290.ImportedFromIB2 + 291.IBPluginDependency + 291.ImportedFromIB2 + 293.IBPluginDependency + 293.ImportedFromIB2 + 301.IBPluginDependency + 301.ImportedFromIB2 + 320.IBPluginDependency + 320.ImportedFromIB2 + 349.IBPluginDependency + 350.IBPluginDependency + 351.IBPluginDependency + 5.IBPluginDependency + 5.ImportedFromIB2 + 56.IBPluginDependency + 56.ImportedFromIB2 + 57.IBPluginDependency + 57.ImportedFromIB2 + 58.IBPluginDependency + 58.ImportedFromIB2 + 92.IBPluginDependency + 92.ImportedFromIB2 + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBiAAAwyEAAA + + + {{337, 406}, {530, 190}} + com.apple.InterfaceBuilder.CocoaPlugin + {{337, 406}, {530, 190}} + + + + {243.529, 107} + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBiAAAwxAAAA + + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + AUO/AABCTAAAA + + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDjIAAww8AAA + + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBiAAAwwoAAA + + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBoAAAwu4AAA + + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDwYAAwgQAAA + + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBYAAAwgQAAA + + + + {{329, 484}, {480, 316}} + com.apple.InterfaceBuilder.CocoaPlugin + {{329, 484}, {480, 316}} + + + {213, 107} + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{329, 814}, {223, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + YES + + + YES + + + + + YES + + + YES + + + + 351 + + + + YES + + AppController + NSObject + + launcherManager + id + + + launcherManager + + launcherManager + id + + + + IBUserSource + + + + + FirstResponder + + IBUserSource + + + + + IWADController + NSObject + + YES + + YES + closeConfigWindow: + openConfigWindow: + + + YES + id + id + + + + YES + + YES + closeConfigWindow: + openConfigWindow: + + + YES + + closeConfigWindow: + id + + + openConfigWindow: + id + + + + + YES + + YES + chex + configWindow + doom1 + doom2 + iwadSelector + plutonia + tnt + + + YES + id + id + id + id + id + id + id + + + + YES + + YES + chex + configWindow + doom1 + doom2 + iwadSelector + plutonia + tnt + + + YES + + chex + id + + + configWindow + id + + + doom1 + id + + + doom2 + id + + + iwadSelector + id + + + plutonia + id + + + tnt + id + + + + + IBUserSource + + + + + IWADLocation + NSObject + + setButtonClicked: + id + + + setButtonClicked: + + setButtonClicked: + id + + + + locationConfigBox + id + + + locationConfigBox + + locationConfigBox + id + + + + IBUserSource + + + + + LauncherManager + NSObject + + YES + + YES + launch: + openTerminal: + runSetup: + + + YES + id + id + id + + + + YES + + YES + launch: + openTerminal: + runSetup: + + + YES + + launch: + id + + + openTerminal: + id + + + runSetup: + id + + + + + YES + + YES + commandLineArguments + iwadController + launchButton + launcherWindow + + + YES + id + id + id + id + + + + YES + + YES + commandLineArguments + iwadController + launchButton + launcherWindow + + + YES + + commandLineArguments + id + + + iwadController + id + + + launchButton + id + + + launcherWindow + id + + + + + IBUserSource + + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + + 3 + + YES + + YES + 128x128 + NSMenuCheckmark + NSMenuMixedState + + + YES + {128, 128} + {9, 8} + {7, 2} + + + + diff --git a/pkg/osx/Resources/launcher.nib/info.nib b/pkg/osx/Resources/launcher.nib/info.nib deleted file mode 100644 index 512ee6dd..00000000 --- a/pkg/osx/Resources/launcher.nib/info.nib +++ /dev/null @@ -1,23 +0,0 @@ - - - - - IBDocumentLocation - 325 73 612 260 0 0 1440 878 - IBEditorPositions - - 29 - 221 322 205 44 0 0 1440 878 - - IBFramework Version - 446.1 - IBOpenObjects - - 29 - 21 - 227 - - IBSystem Version - 8S2167 - - diff --git a/pkg/osx/Resources/launcher.nib/keyedobjects.nib b/pkg/osx/Resources/launcher.nib/keyedobjects.nib index cc763056..93066265 100644 Binary files a/pkg/osx/Resources/launcher.nib/keyedobjects.nib and b/pkg/osx/Resources/launcher.nib/keyedobjects.nib differ -- cgit v1.2.3 From b18d59086a504e54bba901037bd80908ed9a5acd Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sun, 2 Jan 2011 18:14:59 +0000 Subject: Update NEWS and ChangeLog, bump version number. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2235 --- ChangeLog | 377 ++++++++++++++++++++++++++++++++++++++++++++++++ NEWS | 2 +- codeblocks/config.h | 6 +- codeblocks/game-res.rc | 10 +- codeblocks/setup-res.rc | 8 +- configure.in | 2 +- msvc/config.h | 6 +- msvc/win32.rc | 10 +- 8 files changed, 399 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0120d5db..9721eb2c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,380 @@ +2011-01-02 17:45:24 fraggle + + Remove redundant package version label from top of OS X launcher + window. + +2011-01-02 02:49:20 fraggle + + Restore window title when changing video driver in setup tool (thanks + AlexXav). + +2011-01-02 02:31:20 fraggle + + Turn off dynamic window resizing feature on OS X, as it adds an ugly + resize handle to the corner of the window that overlaps the view of + the game. + +2010-12-28 16:43:41 fraggle + + Make demo loop handling of DEMO4 case depend on the executable version + being emulated: the Vanilla versions did not have any conditional + behavior based on gamemode/gamemission. This has the side effect of + causing the game to exit with an error when playing with Final Doom, + but this is Vanilla behavior. + +2010-12-25 22:42:40 fraggle + + Include NOT-BUGS in rpm packages. + +2010-12-25 21:51:24 fraggle + + Pass through all command line arguments specified to the setup tool to + the game, to match Vanilla behavior (thanks AlexXav). + +2010-12-25 21:04:10 fraggle + + Remove the -wart parameter (thanks Sander van Dijk). + +2010-12-25 20:55:30 fraggle + + Remove the 32 character limit on the lengths of filenames specified to + -record (thanks AlexXav). + +2010-12-19 20:15:09 fraggle + + Change setup tool skill level names to match Doom's "new game" menu + exactly (thanks AlexXav). + +2010-12-18 23:55:07 fraggle + + Add a M_CheckParmWithArgs function, that behaves like M_CheckParm but + also checks that extra options were provided on the command line + (thanks Sander van Dijk). + +2010-12-14 20:55:30 fraggle + + Check that an address is provided to the -query command line option + (thanks Sander van Dijk). + +2010-12-12 13:11:11 fraggle + + Add -privateserver and -servername options to chocolate-server + manpage. Add server registration option to setup tool (thanks + exp(x)). + +2010-12-10 23:56:32 fraggle + + Fix memory leak when dynamically resizing window in true color video + modes. + +2010-12-10 22:37:29 fraggle + + Fix build problem (thanks Proteh). + +2010-12-10 22:21:56 fraggle + + Remove "Error:" from the message displayed by I_Error, to match + Vanilla. + +2010-12-10 20:53:23 fraggle + + Update NEWS. + +2010-12-10 20:43:05 fraggle + + Change alignment of actions in a window's action area so that there is + equal space either side of the center widget. This is more + aesthetically pleasing. + +2010-12-10 20:31:46 fraggle + + Replace txt_widget_t#selectable with a callback function to query + whether the widget is selectable. This stops the table code from + selecting things that aren't really selectable - eg. empty tables, + scrollpanes containing unselectable widgets, etc. Fixes a bug with + the warp menu (thanks Proteh). + +2010-12-10 19:15:37 fraggle + + Add "warp" menu to the main menu of the setup tool, like Vanilla + setup.exe (thanks Proteh). + +2010-12-10 18:15:12 fraggle + + Fix typo (thanks Sander van Dijk). + +2010-12-10 17:53:50 fraggle + + Specify master server port explicitly, so that server registration + works when using -port. + +2010-12-07 23:13:34 rtc_marine + + - Update chocolate-server codeblocks project + +2010-12-07 22:35:17 fraggle + + Assign the oldest client to be the controller, not the first found in + the clients[] array. + +2010-12-06 23:37:27 fraggle + + Fix -solo-net to actually behave the same as other ports. + +2010-12-06 22:38:24 fraggle + + Rename -netdemo command line parameter to -solo-net, for consistency + with other ports (-netdemo is still recognised). + +2010-12-06 00:04:08 fraggle + + Update NEWS. + +2010-12-05 14:42:09 fraggle + + Allow textscreen font to be overridden using the TEXTSCREEN_FONT + command line variable. + +2010-12-04 20:56:04 fraggle + + Rename search command line options: -search to search the Internet, + -localsearch to search local LAN. + +2010-12-04 20:48:07 fraggle + + Add ping time to query output. + +2010-12-04 20:40:10 fraggle + + Fix formatting for -masterquery to match -search. + +2010-12-04 20:34:39 fraggle + + Fix bug when running with -server option. + +2010-12-02 21:34:51 fraggle + + Make multiple query attempts to servers before giving up. Display a + warning if the master server does not respond. + +2010-12-02 20:32:52 fraggle + + Add -servername parameter to allow the owner to change the name + returned in response to queries (thanks AlexMax). + +2010-12-02 20:11:24 fraggle + + More refactoring of querying code, to not be specific to the purpose + of printing out a list. + +2010-12-02 19:26:05 fraggle + + Refactor query code and add a -masterquery command line parameter to + query the master server. + +2010-12-02 18:23:09 fraggle + + Register servers with Internet master server. + +2010-11-30 21:52:38 fraggle + + Oops. + +2010-11-30 20:44:20 fraggle + + Remove "-debugfile" command line option and associated variable. + +2010-11-30 20:26:37 fraggle + + Update NEWS. + +2010-11-30 20:09:22 rtc_marine + + - Update codeblocks project + +2010-11-30 20:00:06 fraggle + + Add support for HACX v1.2 IWAD file. + +2010-11-30 01:08:59 fraggle + + Add NOT-BUGS file with some common Vanilla gotchas. + +2010-11-29 20:18:10 fraggle + + Auto-adjust the screen color depth if the configured color depth is + not supported by the hardware. + +2010-11-27 23:23:12 fraggle + + Add dropdown list to setup tool to select screen BPP. + +2010-11-27 19:39:14 fraggle + + When generating the texture name lookup hash table, add new entries to + the end of chains. This way, entries earlier in the texture list + trump later entries with the same name. This fixes a bug with the + wrong sky being shown in Spooky01.wad (thanks Porsche Monty). + +2010-11-27 15:36:43 fraggle + + Fix -timer / -avg options to work like Vanilla when playing demos. + +2010-11-26 18:56:45 fraggle + + In non-palettized boxed screen modes, don't update the border areas of + the screen. This is more CPU and memory efficient, and also fixes the + "flashing border" bug when palette flashes occur. + +2010-11-26 18:36:48 fraggle + + Turn double buffering on for non-palettized screen modes, as this may + be the cause of screen tearing reports. + +2010-11-24 23:34:18 fraggle + + Detect when running on Windows Vista or later, and switch to 32 bpp + screen mode. + +2010-11-24 22:43:37 fraggle + + Add configuration file parameter and command line option to specify + the screen pixel depth. + +2010-11-24 08:09:48 fraggle + + Add workaround to stop freezeups with old versions of SDL_mixer. + +2010-11-21 15:44:43 fraggle + + Add -8in32 command line parameter to make the game run in 32-bit color + mode, scaling up into an intermediate 8-bit buffer first. This should + help with the palette problems experienced by Windows Vista/7 users. + +2010-11-09 16:10:52 fraggle + + Update Python scripts to work in Python 3. + +2010-09-19 21:09:36 fraggle + + Read response file in binary mode, to fix incomplete response file + bug. + +2010-08-31 21:00:20 fraggle + + Add weapon cycling buttons to joystick button list. + +2010-08-31 20:59:24 fraggle + + Don't double OPL sample values, as it causes horrible things to happen + with the Heretic title screen music. + +2010-08-28 19:35:08 fraggle + + Update NEWS. + +2010-08-28 19:28:05 fraggle + + Include INSTALL file in distribution packages. + +2010-08-22 18:59:12 fraggle + + Shut up compiler warning. + +2010-08-22 02:21:27 fraggle + + Change span drawing functions to work the same as Vanilla, so that in + screenshots, floors and ceilings are pixel-perfect identical to + Vanilla Doom (thanks Porsche Monty). + +2010-08-21 19:49:20 fraggle + + Change default mouse acceleration in setup tool to match the game's + default. + +2010-08-21 18:47:24 fraggle + + "Bug fix". + +2010-08-20 14:01:29 fraggle + + Remove debug printf(). + +2010-08-20 13:20:58 fraggle + + Align memory allocated by zone memory system to 8 byte boundaries on + 64-bit machines. Possibly fixes problems on sparc64? + +2010-08-20 12:30:30 fraggle + + Extend mouse code to support up to 8 buttons (allows mouse wheel to be + used). + +2010-08-15 16:23:28 fraggle + + Fix volume multiply; DBOPL now generating output. + +2010-08-15 15:57:37 fraggle + + Hook DBOPL into OPL library and remove FMOPL. Does not generate any + sound yet. + +2010-08-13 19:42:52 fraggle + + Add C-converted version of DOSbox OPL emulator. + +2010-08-09 18:53:10 fraggle + + Add weapon cycling bindings for mouse and joystick buttons. Add + weapon cycling bindings to configuration file and setup tool. + +2010-08-07 18:23:09 fraggle + + Change back filter frequency. Add debug code to dump resampled sound + effects to WAV files. + +2010-08-07 17:07:00 fraggle + + Fix sound resampling low pass filter. + +2010-08-04 19:25:04 fraggle + + Initial code for previous/next weapon switching keys. + +2010-08-03 21:12:36 fraggle + + When in windowed mode, allow the screen size to be dynamically resized + by dragging the window borders. + +2010-07-31 20:25:17 fraggle + + Add multiplayer spy key binding. + +2010-07-28 21:39:07 fraggle + + Add config file parameter to set OPL I/O port. + +2010-07-17 01:33:57 fraggle + + Check for libm, to fix Fedora compile issues. + +2010-07-14 21:36:53 fraggle + + Set MACOSX_DEPLOYMENT_TARGET to target 10.4, so that the launcher will + work on older versions. + +2010-07-10 17:06:15 fraggle + + Update NEWS and ChangeLog, bump version number. + +2010-07-10 16:56:18 fraggle + + Add key bindings for multiplayer messaging. + +2010-07-10 16:27:52 fraggle + + Add key binding to change demo recording quit key. + 2010-05-30 04:03:44 fraggle Add INSTALL to all distribution packages, add note in README. diff --git a/NEWS b/NEWS index d8221ead..723c68e9 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,4 @@ -1.5.0 (2010-??-??): +1.5.0 (2011-01-02): Big changes in this version: * The DOSbox OPL emulator (DBOPL) has been imported to replace diff --git a/codeblocks/config.h b/codeblocks/config.h index d092bf73..9026d398 100644 --- a/codeblocks/config.h +++ b/codeblocks/config.h @@ -9,19 +9,19 @@ #define PACKAGE_NAME "Chocolate Doom" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "Chocolate Doom 1.4.0" +#define PACKAGE_STRING "Chocolate Doom 1.5.0" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "chocolate-doom" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.4.0" +#define PACKAGE_VERSION "1.5.0" /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "1.4.0" +#define VERSION "1.5.0" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ diff --git a/codeblocks/game-res.rc b/codeblocks/game-res.rc index eef24852..beef1242 100644 --- a/codeblocks/game-res.rc +++ b/codeblocks/game-res.rc @@ -1,21 +1,21 @@ 1 ICON "../data/doom.ico" 1 VERSIONINFO -PRODUCTVERSION 1,4,0,0 -FILEVERSION 1,4,0,0 +PRODUCTVERSION 1,5,0,0 +FILEVERSION 1,5,0,0 FILETYPE 1 { BLOCK "StringFileInfo" { BLOCK "040904E4" { - VALUE "FileVersion", "1.4.0" - VALUE "FileDescription", "1.4.0" + VALUE "FileVersion", "1.5.0" + VALUE "FileDescription", "1.5.0" VALUE "InternalName", "Chocolate-Doom" VALUE "CompanyName", "Chocolate-Doom" VALUE "LegalCopyright", "GNU General Public License" VALUE "ProductName", "Chocolate-Doom" - VALUE "ProductVersion", "1.4.0" + VALUE "ProductVersion", "1.5.0" } } } diff --git a/codeblocks/setup-res.rc b/codeblocks/setup-res.rc index f1602adb..b3812a74 100644 --- a/codeblocks/setup-res.rc +++ b/codeblocks/setup-res.rc @@ -3,21 +3,21 @@ CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "setup-manifest.xml" 1 VERSIONINFO -PRODUCTVERSION 1,4,0,0 -FILEVERSION 1,4,0,0 +PRODUCTVERSION 1,5,0,0 +FILEVERSION 1,5,0,0 FILETYPE 1 { BLOCK "StringFileInfo" { BLOCK "040904E4" { - VALUE "FileVersion", "1.4.0" + VALUE "FileVersion", "1.5.0" VALUE "FileDescription", "Chocolate-Doom Setup" VALUE "InternalName", "chocolate-setup" VALUE "CompanyName", "fraggle@gmail.com" VALUE "LegalCopyright", "GNU General Public License" VALUE "ProductName", "Chocolate-Doom Setup" - VALUE "ProductVersion", "1.4.0" + VALUE "ProductVersion", "1.5.0" } } } diff --git a/configure.in b/configure.in index 4cdba724..c653f4e9 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -AC_INIT(Chocolate Doom, 1.4.0, fraggle@gmail.com, chocolate-doom) +AC_INIT(Chocolate Doom, 1.5.0, fraggle@gmail.com, chocolate-doom) PACKAGE_SHORTDESC="Conservative Doom source port" PACKAGE_COPYRIGHT="Copyright (C) 1993-2010" diff --git a/msvc/config.h b/msvc/config.h index 006d7c74..d91bd23b 100644 --- a/msvc/config.h +++ b/msvc/config.h @@ -11,16 +11,16 @@ #define PACKAGE_NAME "Chocolate Doom" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "Chocolate Doom 1.4.0" +#define PACKAGE_STRING "Chocolate Doom 1.5.0" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "chocolate-doom" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.4.0" +#define PACKAGE_VERSION "1.5.0" /* Version number of package */ -#define VERSION "1.4.0" +#define VERSION "1.5.0" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ diff --git a/msvc/win32.rc b/msvc/win32.rc index 94a35372..3371d993 100644 --- a/msvc/win32.rc +++ b/msvc/win32.rc @@ -32,21 +32,21 @@ #endif 1 VERSIONINFO -PRODUCTVERSION 1,4,0,0 -FILEVERSION 1,4,0,0 +PRODUCTVERSION 1,5,0,0 +FILEVERSION 1,5,0,0 FILETYPE 1 BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904E4" BEGIN - VALUE "FileVersion", "1.4.0" - VALUE "FileDescription", "Chocolate Doom 1.4.0" + VALUE "FileVersion", "1.5.0" + VALUE "FileDescription", "Chocolate Doom 1.5.0" VALUE "InternalName", "chocolate-doom" VALUE "CompanyName", "fraggle@gmail.com" VALUE "LegalCopyright", "GNU General Public License" VALUE "ProductName", "Chocolate Doom" - VALUE "ProductVersion", "1.4.0" + VALUE "ProductVersion", "1.5.0" END END END -- cgit v1.2.3 From 5130b54658ab03f3fc18727615b529d6e241566c Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Wed, 12 Jan 2011 23:22:20 +0000 Subject: Fix menu navigation when using joystick / joypad (thanks AlexXav). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2237 --- NEWS | 5 +++++ src/m_menu.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 723c68e9..c5a4cfaa 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,8 @@ +1.6.0 (2011-??-??): + + Bugs fixed: + * Menu navigation when using joystick/joypad (thanks AlexXav). + 1.5.0 (2011-01-02): Big changes in this version: diff --git a/src/m_menu.c b/src/m_menu.c index 7b1c5a6e..efc4fefe 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -1450,23 +1450,23 @@ boolean M_Responder (event_t* ev) if (ev->type == ev_joystick && joywait < I_GetTime()) { - if (ev->data3 == -1) + if (ev->data3 < 0) { key = key_menu_up; joywait = I_GetTime() + 5; } - else if (ev->data3 == 1) + else if (ev->data3 > 0) { key = key_menu_down; joywait = I_GetTime() + 5; } - if (ev->data2 == -1) + if (ev->data2 < 0) { key = key_menu_left; joywait = I_GetTime() + 2; } - else if (ev->data2 == 1) + else if (ev->data2 > 0) { key = key_menu_right; joywait = I_GetTime() + 2; -- cgit v1.2.3 From ec169fd1c28b2ba3b6b6fc7e7123e9d27516dd5f Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Thu, 13 Jan 2011 20:34:55 +0000 Subject: In configuration files, use the scan code for right shift, not left shift, to match Vanilla (thanks AlexXav). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2238 --- NEWS | 2 ++ setup/configfile.c | 14 ++++++++++++-- src/m_config.c | 14 ++++++++++++-- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index c5a4cfaa..56f71593 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,8 @@ Bugs fixed: * Menu navigation when using joystick/joypad (thanks AlexXav). + * For configuration file value for shift keys, use scan code for + right shift, not left shift (thanks AlexXav). 1.5.0 (2011-01-02): diff --git a/setup/configfile.c b/setup/configfile.c index c4e8a408..c7109739 100644 --- a/setup/configfile.c +++ b/setup/configfile.c @@ -417,8 +417,18 @@ static void SaveDefaultCollection(default_collection_t *collection) v = * (int *) defaults[i].location; - if (defaults[i].untranslated - && v == defaults[i].original_translated) + if (v == KEY_RSHIFT) + { + // Special case: for shift, force scan code for + // right shift, as this is what Vanilla uses. + // This overrides the change check below, to fix + // configuration files made by old versions that + // mistakenly used the scan code for left shift. + + v = 54; + } + else if (defaults[i].untranslated + && v == defaults[i].original_translated) { // Has not been changed since the last time we // read the config file. diff --git a/src/m_config.c b/src/m_config.c index 332b8b95..04d0a963 100644 --- a/src/m_config.c +++ b/src/m_config.c @@ -1217,8 +1217,18 @@ static void SaveDefaultCollection(default_collection_t *collection) v = * (int *) defaults[i].location; - if (defaults[i].untranslated - && v == defaults[i].original_translated) + if (v == KEY_RSHIFT) + { + // Special case: for shift, force scan code for + // right shift, as this is what Vanilla uses. + // This overrides the change check below, to fix + // configuration files made by old versions that + // mistakenly used the scan code for left shift. + + v = 54; + } + else if (defaults[i].untranslated + && v == defaults[i].original_translated) { // Has not been changed since the last time we // read the config file. -- cgit v1.2.3 From afb3bd1405e8c9543be4c1db529c9c8f84c6bd69 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sun, 23 Jan 2011 21:42:09 +0000 Subject: Fix default joystick buttons in setup tool to match Vanilla (thanks twipley). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2239 --- NEWS | 2 ++ setup/joystick.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 56f71593..88ddd060 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,8 @@ * Menu navigation when using joystick/joypad (thanks AlexXav). * For configuration file value for shift keys, use scan code for right shift, not left shift (thanks AlexXav). + * Default joystick buttons for the setup tool now match Vanilla + (thanks twipley). 1.5.0 (2011-01-02): diff --git a/setup/joystick.c b/setup/joystick.c index 1fc9a7a9..fe87439c 100644 --- a/setup/joystick.c +++ b/setup/joystick.c @@ -46,8 +46,8 @@ int usejoystick = 0; int joybfire = 0; int joybstrafe = 1; -int joybuse = 2; -int joybspeed = 3; +int joybuse = 3; +int joybspeed = 2; int joybstrafeleft = -1; int joybstraferight = -1; int joybprevweapon = -1; -- cgit v1.2.3 From 83fb03a0e09920ec324734e9ae3a6cd15fb041e7 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Mon, 31 Jan 2011 01:25:47 +0000 Subject: When large numbers of screen resolutions are detected, increase the number of columns in the mode list to fit them all on-screen. Remove superfluous left-side spacing from the checkbox and radio button widgets so that the modes can be packed closer together. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2242 --- setup/display.c | 42 +++++++++++++++++++++++++++++++++++++----- textscreen/txt_checkbox.c | 8 ++++---- textscreen/txt_radiobutton.c | 8 ++++---- 3 files changed, 45 insertions(+), 13 deletions(-) diff --git a/setup/display.c b/setup/display.c index ca22824c..f4a82520 100644 --- a/setup/display.c +++ b/setup/display.c @@ -89,6 +89,7 @@ static screen_mode_t screen_modes_scaled[] = // List of fullscreen modes generated at runtime static screen_mode_t *screen_modes_fullscreen = NULL; +static int num_screen_modes_fullscreen; static int vidmode = 0; @@ -403,6 +404,8 @@ static void BuildFullscreenModesList(void) memcpy(m1, m2, sizeof(screen_mode_t)); memcpy(m2, &m, sizeof(screen_mode_t)); } + + num_screen_modes_fullscreen = num_modes; } static int FindBestMode(screen_mode_t *modes) @@ -469,7 +472,7 @@ static void GenerateModesTable(TXT_UNCAST_ARG(widget), // Build the table TXT_ClearTable(modes_table); - TXT_SetColumnWidths(modes_table, 15, 15, 15); + TXT_SetColumnWidths(modes_table, 14, 14, 14, 14, 14); for (i=0; modes[i].w != 0; ++i) { @@ -573,6 +576,8 @@ void ConfigDisplay(void) txt_checkbox_t *fs_checkbox; txt_checkbox_t *ar_checkbox; txt_dropdown_list_t *bpp_selector; + int num_columns; + int window_y; // What color depths are supported? Generate supported_bpps array // and set selected_bpp to match the current value of screen_bpp. @@ -592,16 +597,43 @@ void ConfigDisplay(void) window = TXT_NewWindow("Display Configuration"); - TXT_SetWindowPosition(window, TXT_HORIZ_CENTER, TXT_VERT_TOP, - TXT_SCREEN_W / 2, 5); - TXT_AddWidgets(window, fs_checkbox = TXT_NewCheckBox("Fullscreen", &fullscreen), ar_checkbox = TXT_NewCheckBox("Correct aspect ratio", &aspect_ratio_correct), NULL); - modes_table = TXT_NewTable(3); + // Some machines can have lots of video modes. This tries to + // keep a limit of six lines by increasing the number of + // columns. In extreme cases, the window is moved up slightly. + + BuildFullscreenModesList(); + + window_y = 5; + + if (num_screen_modes_fullscreen <= 18) + { + num_columns = 3; + } + else if (num_screen_modes_fullscreen <= 24) + { + num_columns = 4; + } + else + { + num_columns = 5; + window_y -= 3; + } + + modes_table = TXT_NewTable(num_columns); + + // The window is set at a fixed vertical position. This keeps + // the top of the window stationary when switching between + // fullscreen and windowed mode (which causes the window's + // height to change). + + TXT_SetWindowPosition(window, TXT_HORIZ_CENTER, TXT_VERT_TOP, + TXT_SCREEN_W / 2, window_y); // On Windows, there is an extra control to change between // the Windows GDI and DirectX video drivers. diff --git a/textscreen/txt_checkbox.c b/textscreen/txt_checkbox.c index 75afa986..35c5739d 100644 --- a/textscreen/txt_checkbox.c +++ b/textscreen/txt_checkbox.c @@ -34,9 +34,9 @@ static void TXT_CheckBoxSizeCalc(TXT_UNCAST_ARG(checkbox)) { TXT_CAST_ARG(txt_checkbox_t, checkbox); - // Minimum width is the string length + two spaces for padding + // Minimum width is the string length + right-side space for padding - checkbox->widget.w = strlen(checkbox->label) + 6; + checkbox->widget.w = strlen(checkbox->label) + 5; checkbox->widget.h = 1; } @@ -50,7 +50,7 @@ static void TXT_CheckBoxDrawer(TXT_UNCAST_ARG(checkbox), int selected) TXT_BGColor(TXT_COLOR_BLUE, 0); TXT_FGColor(TXT_COLOR_BRIGHT_CYAN); - TXT_DrawString(" ("); + TXT_DrawString("("); TXT_FGColor(TXT_COLOR_BRIGHT_WHITE); @@ -76,7 +76,7 @@ static void TXT_CheckBoxDrawer(TXT_UNCAST_ARG(checkbox), int selected) TXT_DrawString(checkbox->label); - for (i=strlen(checkbox->label); i < w-6; ++i) + for (i=strlen(checkbox->label); i < w-5; ++i) { TXT_DrawString(" "); } diff --git a/textscreen/txt_radiobutton.c b/textscreen/txt_radiobutton.c index efebbf9e..00c2c4fc 100644 --- a/textscreen/txt_radiobutton.c +++ b/textscreen/txt_radiobutton.c @@ -34,9 +34,9 @@ static void TXT_RadioButtonSizeCalc(TXT_UNCAST_ARG(radiobutton)) { TXT_CAST_ARG(txt_radiobutton_t, radiobutton); - // Minimum width is the string length + two spaces for padding + // Minimum width is the string length + right-side spaces for padding - radiobutton->widget.w = strlen(radiobutton->label) + 6; + radiobutton->widget.w = strlen(radiobutton->label) + 5; radiobutton->widget.h = 1; } @@ -50,7 +50,7 @@ static void TXT_RadioButtonDrawer(TXT_UNCAST_ARG(radiobutton), int selected) TXT_BGColor(TXT_COLOR_BLUE, 0); TXT_FGColor(TXT_COLOR_BRIGHT_CYAN); - TXT_DrawString(" ("); + TXT_DrawString("("); TXT_FGColor(TXT_COLOR_BRIGHT_WHITE); @@ -76,7 +76,7 @@ static void TXT_RadioButtonDrawer(TXT_UNCAST_ARG(radiobutton), int selected) TXT_DrawString(radiobutton->label); - for (i=strlen(radiobutton->label); i < w-6; ++i) + for (i=strlen(radiobutton->label); i < w-5; ++i) { TXT_DrawString(" "); } -- cgit v1.2.3 From a366f68b2959282b22ab6f08569a253f0540745c Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sat, 5 Feb 2011 16:50:28 +0000 Subject: Fix bug with libtextscreen where it was not possible to type a '+' (thanks Alexandre Xavier). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2249 --- NEWS | 7 ++++++- textscreen/txt_sdl.c | 4 ---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/NEWS b/NEWS index 88ddd060..7e89584c 100644 --- a/NEWS +++ b/NEWS @@ -1,12 +1,17 @@ 1.6.0 (2011-??-??): Bugs fixed: - * Menu navigation when using joystick/joypad (thanks AlexXav). + * Menu navigation when using joystick/joypad (thanks Alexandre + Xavier). * For configuration file value for shift keys, use scan code for right shift, not left shift (thanks AlexXav). * Default joystick buttons for the setup tool now match Vanilla (thanks twipley). + libtextscreen: + * It is now possible to type a '+' in input boxes (thanks + Alexandre Xavier). + 1.5.0 (2011-01-02): Big changes in this version: diff --git a/textscreen/txt_sdl.c b/textscreen/txt_sdl.c index 315d2762..365e6bf0 100644 --- a/textscreen/txt_sdl.c +++ b/textscreen/txt_sdl.c @@ -384,10 +384,6 @@ static int TranslateKey(SDL_keysym *sym) case SDLK_PAUSE: return KEY_PAUSE; -#if !SDL_VERSION_ATLEAST(1, 3, 0) - case SDLK_EQUALS: return KEY_EQUALS; -#endif - case SDLK_LSHIFT: case SDLK_RSHIFT: return KEY_RSHIFT; -- cgit v1.2.3