Difference between revisions of "BC Racers/Hidden content"

From Sega Retro

(Created page with "{{back}} ==32X version== ===Sega logo ™ symbol=== {{HiddenContent | image1=Notavailable.svg | desc=While not released in Japan, code exists to remove the ™ symbol from th...")
 
m
 
(3 intermediate revisions by 3 users not shown)
Line 4: Line 4:
 
===Sega logo ™ symbol===
 
===Sega logo ™ symbol===
 
{{HiddenContent
 
{{HiddenContent
| image1=Notavailable.svg
+
| image1=BCRacers 32X JP Sega.png
 
| desc=While not released in Japan, code exists to remove the ™ symbol from the introductory [[Sega]] logo if the game detects it is being played on a Japanese system.
 
| desc=While not released in Japan, code exists to remove the ™ symbol from the introductory [[Sega]] logo if the game detects it is being played on a Japanese system.
 +
}}
 +
 +
===Unused content===
 +
====Hidden text====
 +
{{HiddenContent
 +
| noimage=yes
 +
| desc=Present at {{hex|0x2F63A4}} in the ROM is a chunk of macro code from an old version of [[wikipedia:Multi-Edit|Multi-Edit]].{{ref|https://web.archive.org/save/https://tcrf.net/BC_Racers_(32X)}}
 +
 +
<pre style='white-space: pre-wrap; width:640px'>turn_int = DlgExecute( dlg, 100, "Warning!", FILELOCK_HELPLINK, "", DLG_ScreenCenter );
 +
DlgKill( dlg );
 +
#ELSE
 +
RM('MEERROR^MessageBox /NW=1/T=Warning/M=Your configuration files are locked.  Before unlocking them, insure that there are NOT multiple copies of Multi-Edit running with your user id.');
 +
RM('USERIN^XMENU /B=1/X=25/Y=8/T=1/L=Action:/M=Unlock configuration files()Ignore and leave files locked()');
 +
kill_box;
 +
#ENDIF
 +
if(  return_int == 1  ) {
 +
int tr = refresh;
 +
str tstr;
 +
refresh = false;
 +
make_message('Unlocking configuration files ');
 +
working;
 +
delete_window;
 +
if(  user_id == ''  ) {
 +
if(  (Global_Str('@DB_EXTENSION') == '')  ) {
 +
tstr = me_path + '*.DB';
 +
call unlock_files; } else { tstr = me_path + '*.' + Global_Str('@DB_EXTENSION');
 +
call unlock_files; } tstr = me_path + '*.ME';
 +
call unlock_files;
 +
} else {
 +
//          tstr = me_path + user_id + '.USR\*.*';
 +
return_str = '<USER_PATH>*.*';
 +
rm('XlateCmdLine');
 +
tstr = return_str;
 +
call unlock_files;
 +
} tstr = user_id + 'MEERR.TMP';
 +
call unlock_files;
 +
//        tstr = me_path + user_id + '*.TMP';
 +
return_str = '<USER_PATH>*.TMP';
 +
rm('XlateCmdLine');
 +
tstr = return_str;
 +
call unlock_files;
 +
goto config_unlocked;
 +
unlock_files: int jx = FIRST_FILE(TSTR);
 +
while(  jx == 0  ) { if(last_file_attr & 1) { if( switch_file( caps(fexpand( get_path( tstr ) + last_file_name )))) { if(file_changed) save_file;
 +
delete_window;
 +
} Set_File_Attr( get_path( tstr ) + last_file_name, last_file_attr & $FE );
 +
} jx = next_file;
 +
} ret;
 +
config_unlocked: make_message('Configuration files unlocked.');
 +
refresh = tr;
 +
} return();
 +
} void ProcessCmdLine( int m = parse_int("/M=", mparm_str) ) { } macro PARMLOAD  {
 +
/*******************************************************************************
 +
MULTI_EDIT MACRO
 +
Name: PARMLOAD
 +
Description:  This macro is called by Multi-Edit directly after STARTUP.  It
 +
takes care of loading in files and executing macros from the
 +
command line
 +
(C) Copyright 1991 by American Cybernetics, Inc.
 +
*******************************************************************************/
 +
int parmload_mode = parse_int("/M=", mparm_str);
 +
#ifdef DEMO if( !parmload_mode) {
 +
// special stuff for the demo to support Evolve
 +
if (global_int('!EVgDialectId')) {
 +
/* make_message("!EVgDialectId=" + str(global_int('!EVgDialectId')));
 +
read_key;
 +
*/ RM("EVINIT");
 +
} } #endif // DEMO
 +
int Load_Count,Parm_Number;
 +
int cur_id = window_id;
 +
int jx, tw, tr, mouse_initialized = FALSE ;
 +
int restore_enable = 1, no_restore = 0, Goto_L_Num = 0;
 +
str TStr, TStr2, Goto_F_Name[80], session_name[128] = "";
 +
str wdir[512] = ""; set_global_int('MENU_LEVEL', global_int('MENU_LEVEL') + 1 ); if( !parmload_mode ) { #IFNDEF Windows
 +
make_message('Welcome to Multi-Edit V' + Version + '.  Press ' + global_str('!HM_KEY1') + ' for help.');
 +
#ELSE make_message('Welcome to Multi-Edit V' + Version + '.  Press <F1> for help.'); #ENDIF refresh = false; working; RM('.STARTUP^STARTUP'); } refresh = false; working; if( !parmload_mode ) {
 +
/* Check and see if MECONFIG is read_only.  If so then prompt the
 +
user, to see if he/she wants them unlocked */
 +
tw = window_id;
 +
if(  user_id == ''  ) { tstr = me_path + 'MECONFIG'; } else {
 +
// 7.00.0: tstr = me_path + user_id + '.USR\MECONFIG';
 +
// 7.00.a: consult the USER_PATH for user directory
 +
return_str = '<USER_PATH>MECONFIG';
 +
rm('XlateCmdLine'); tstr = return_str; }
 +
/* This provides support for a default DB file extension to be configured.  It
 +
is overridden if the calling macro specifies an extension */
 +
if(  (Global_Str('@DB_EXTENSION') == '')  ) { Tstr = Tstr + '.DB'; } else { Tstr = Tstr + '.' + Global_Str('@DB_EXTENSION'); }
 +
if(  switch_file( tstr )  ) {
 +
if(  read_only  ) {
 +
call init_mouse;
 +
ConfigLocked(); } } }
 +
switch_win_id( tw );
 +
error_level = 0;
 +
Error_Level = 0;
 +
load_count = parmload_mode;
 +
Parm_Number = 1;
 +
refresh = false;
 +
while(  Parm_Number <= PARAM_COUNT  ) { TStr = PARAM_STR(Parm_Number);
 +
TStr = Caps(Remove_Space(TStr));
 +
if(  Xpos(Copy(Tstr,1,1),'/-',1)  ) { Tstr = Copy(Tstr,2,80);
 +
if ( TStr == "CD" ) {                                          // ldh
 +
++Parm_Number;                                                // ldh
 +
if ( Param_Str( Parm_Number ) != ""  ) {                      // ldh
 +
TStr = Caps( Remove_Space( Param_Str( Parm_Number ) ) );    // ldh
 +
if ( Svl( TStr ) > 3 ) {                                    // ldh
 +
if ( Copy( TStr, Svl( TStr ), 1 ) == "\\" ) {            // ldh
 +
TStr = Copy( TStr, 1, Svl( TStr ) - 1 );                // ldh }                                                        // ldh.......}                                                          // ldh.......Change_Dir( TStr );                                        // ldh......}                                                            // ldh.....}                                                              // ldh.....else if ( Copy (TStr, 1, 3) == "WK=" ).....{......wdir = Copy (TStr, 4, 128);.....}.....else if ( TStr == "SM" ).....{......restore_enable = False;......no_restore = True;......RM("SESSMGR /NOSWITCH=1");.....}.....else if ( copy(tstr,1,2) == "SR" ).....{......int tid = window_id;......int tr = refresh;......refresh = false;......if(LocateDbPage("MECONFIG", "SESSMGR.CFG", false))......{.......down;.......session_name = get_line;.......restore_enable = TRUE;......}......switch_win_id(tid);......refresh = tr;.....}.....else if ((Copy( TStr, 1, 2) == "SN" ) &&.......(Global_Int('@RESTORE') == 3)) // only if encoded status files are active
 +
{
 +
// switch to named session
 +
restore_enable = True;
 +
session_name = copy(tstr,3,128);
 +
} else if ( Copy( TStr, 1, 1) == "@" )                            // ldh
 +
// Load files from a file list
 +
refresh = false;
 +
restore_enable = False;
 +
Set_Global_Int('LOAD_COUNT',Load_Count);
 +
int tid = window_id;
 +
create_window;
 +
window_attr = 0x81;
 +
tstr = copy(tstr,2,128);
 +
load_file( tstr );
 +
int tag_win = window_id;
 +
make_message("");
 +
if(error_level) { call init_mouse;
 +
rm("messagebox /B=2/T=Error/M=List file " + tstr + " not found.");
 +
} else { switch_win_id( tid );
 +
RM('LDFILES /NRL=1/TAG=' + str(tag_win) + '/DE=1/CW=2/LC=' + str(load_count));
 +
Load_Count = return_int;
 +
if(  (Load_Count == 1)  ) {
 +
/* Save the first file loaded so that if the user specifies a line number to
 +
go to, we can do it. */
 +
Goto_F_Name = File_Name;
 +
} tid = window_id;
 +
} refresh = false;
 +
if( switch_win_id( tag_win )) delete_window;
 +
switch_win_id(tid);
 +
} else if(  TStr == 'NR'  ) { if( !parmload_mode ) { restore_enable = False;
 +
no_restore = TRUE;
 +
} } e</pre>
 +
 +
 +
Present at {{hex|0x2FF4F2}} is another chunk of this macro code.
 +
<pre>/L=6/C=4/ATTR=
 +
D[=.=.=
 +
Version 5
 +
/L=7/C=20=.=.=
 +
Copyright(c) 1988, 1993 by American Cybernetics, Inc.
 +
/L=9/C=2=.=.=
 +
Multi-Edit is protected under United States copyright law.  Copies may be  made for  the puro NOT locate source
 +
*              /TF=filename  The tag filename to use
 +
*                        (do not auto determine)
 +
-------------------------------------------------- */
 +
{  str      tag_id = parse_str("/TAGID=",mparm_str),
 +
            tag_language = tag_get_language(get_extension(file_name)),
 +
            backtrack_data;
 +
int
 +
src_win = window_id,
 +
tag_win,
 +
            force_tag_id = (tag_id != ""),
 +
next_tag = parse_int("/NEXT=", mparm_str);
 +
  g_was_maximized = IsZoomed(window_Handle);
 +
  backtrack_data = tag_init_backtrk();
 +
again:
 +
refresh = false;
 +
// If we are doing a NEXT tag then do not start from the top,
 +
// and use the last tag instead of the current word
 +
  if ((!next_tag) && (!force_tag_id)) { if( parse_int("/MAN=",mparm_str))
 +
{ return_str = "";
 +
rm("USERIN^QUERYBOX /P=Enter Tag:/W=32/ML=80/T=Multi-Tags/H="+TAGPROMPT_HELPLINK);
 +
if( return_int <= 0 ) goto exit } else { rm("tag_parse_text");
 +
tag_id = return_str;
 +
if( tag_id == "" ) {
 +
make_message( "No valid tag." );
 +
switch_win_id( src_win );
 +
goto exit;
 +
}
 +
}
 +
rm( 'tag_find_file /TF=' + parse_str("/TF=", mparm_str) );
 +
if( !return_int ) {
 +
make_message( 'No tag file found.' );
 +
switch_win_id( src_win );
 +
goto exit;
 +
}
 +
  if (!next_tag) { tof; } else { tag_id = global_str( 'LAST_TAG_FIND' );
 +
eol;
 +
}
 +
ignore_case = TRUE;
 +
reg_exp_stat = TRUE;
 +
if( search_fwd( '%' + tag_id + '[ |9]', 0 ) ) {
 +
    tag_store_find(tag_language, tag_id, backtrack_data);
 +
//    set_global_str('LAST_TAG_FIND', tag_id );
 +
return_int = 1;
 +
if( !parse_int("/FO=", mparm_str )) { /* make_message("tag_locate " + str(g_was_maximized) + " " + file_name);
 +
read_key;
 +
*/      RM('tag_goto /SAVEZOOM=1/OW=' + str( src_win ));
 +
if( return_int == 2  ) { next_tag = TRUE;
 +
goto again;
 +
} } } else { make_message( 'No tag found.' );
 +
switch_win_id( src_win );
 +
return_int = 0;
 +
} exit: } macro tag_parse_text { str ls[40] = tag_get_language(get_extension(file_name));
 +
mark_pos;
 +
again: return_str = "";
 +
right;
 +
while( (c_col > 1) && xpos(cur_char, tag_delimits, 1) ) left;
 +
while( (c_col > 1) && !xpos(cur_char, tag_delimits,1) ) left;
 +
/* if(( ls == "C") || (ls == "C++") ) { if( cur_char == "." ) { left;
 +
while( (c_col > 1) && !xpos(cur_char, tag_delimits,1) ) left;
 +
if( xpos(cur_char, tag_delimits,1 )) right;
 +
return_str = shorten_str(get_word( tag_delimits )) + "</pre>
 
}}
 
}}
  

Latest revision as of 03:33, 8 September 2023

Back to: BC Racers.

32X version

Sega logo ™ symbol

BCRacers 32X JP Sega.png

While not released in Japan, code exists to remove the ™ symbol from the introductory Sega logo if the game detects it is being played on a Japanese system.

Unused content

Hidden text

Present at 002F63A4 in the ROM is a chunk of macro code from an old version of Multi-Edit.[1]

turn_int = DlgExecute( dlg, 100, "Warning!", FILELOCK_HELPLINK, "", DLG_ScreenCenter );
DlgKill( dlg );
#ELSE
RM('MEERROR^MessageBox /NW=1/T=Warning/M=Your configuration files are locked.  Before unlocking them, insure that there are NOT multiple copies of Multi-Edit running with your user id.');
RM('USERIN^XMENU /B=1/X=25/Y=8/T=1/L=Action:/M=Unlock configuration files()Ignore and leave files locked()');
kill_box;
#ENDIF
if(  return_int == 1  ) {
int tr = refresh;
str tstr;
refresh = false;
make_message('Unlocking configuration files ');
working;
delete_window;
if(  user_id == ''  ) {
if(  (Global_Str('@DB_EXTENSION') == '')  ) {
tstr = me_path + '*.DB';
call unlock_files; } else { tstr = me_path + '*.' + Global_Str('@DB_EXTENSION');
call unlock_files; } tstr = me_path + '*.ME';
call unlock_files;
} else {
//          tstr = me_path + user_id + '.USR\*.*';
return_str = '<USER_PATH>*.*';
rm('XlateCmdLine');
tstr = return_str;
call unlock_files;
} tstr = user_id + 'MEERR.TMP';
call unlock_files;
//        tstr = me_path + user_id + '*.TMP';
return_str = '<USER_PATH>*.TMP';
rm('XlateCmdLine');
tstr = return_str;
call unlock_files;
goto config_unlocked;
unlock_files: int jx = FIRST_FILE(TSTR);
while(  jx == 0  ) { if(last_file_attr & 1) { if( switch_file( caps(fexpand( get_path( tstr ) + last_file_name )))) { if(file_changed) save_file;
delete_window;
} Set_File_Attr( get_path( tstr ) + last_file_name, last_file_attr & $FE );
} jx = next_file;
} ret;
config_unlocked: make_message('Configuration files unlocked.');
refresh = tr;
} return();
} void ProcessCmdLine( int m = parse_int("/M=", mparm_str) ) { } macro PARMLOAD  {
/*******************************************************************************
MULTI_EDIT MACRO
Name: PARMLOAD
Description:  This macro is called by Multi-Edit directly after STARTUP.  It
takes care of loading in files and executing macros from the
command line
 (C) Copyright 1991 by American Cybernetics, Inc.
*******************************************************************************/
int parmload_mode = parse_int("/M=", mparm_str);
#ifdef DEMO if( !parmload_mode) {
// special stuff for the demo to support Evolve
if (global_int('!EVgDialectId')) { 
/* make_message("!EVgDialectId=" + str(global_int('!EVgDialectId')));
read_key;
*/ RM("EVINIT");
} } #endif // DEMO
int Load_Count,Parm_Number;
int cur_id = window_id;
int jx, tw, tr, mouse_initialized = FALSE ;
int restore_enable = 1, no_restore = 0, Goto_L_Num = 0;
str TStr, TStr2, Goto_F_Name[80], session_name[128] = "";
str wdir[512] = ""; set_global_int('MENU_LEVEL', global_int('MENU_LEVEL') + 1 ); if( !parmload_mode ) { #IFNDEF Windows
make_message('Welcome to Multi-Edit V' + Version + '.  Press ' + global_str('!HM_KEY1') + ' for help.');
#ELSE make_message('Welcome to Multi-Edit V' + Version + '.  Press <F1> for help.'); #ENDIF refresh = false; working; RM('.STARTUP^STARTUP'); } refresh = false; working; if( !parmload_mode ) {
/* Check and see if MECONFIG is read_only.  If so then prompt the
user, to see if he/she wants them unlocked */
tw = window_id;
if(  user_id == ''  ) { tstr = me_path + 'MECONFIG'; } else {
// 7.00.0: tstr = me_path + user_id + '.USR\MECONFIG';
// 7.00.a: consult the USER_PATH for user directory
return_str = '<USER_PATH>MECONFIG';
rm('XlateCmdLine'); tstr = return_str; }
/* This provides support for a default DB file extension to be configured.  It
is overridden if the calling macro specifies an extension */
if(  (Global_Str('@DB_EXTENSION') == '')  ) { Tstr = Tstr + '.DB'; } else { Tstr = Tstr + '.' + Global_Str('@DB_EXTENSION'); }
if(  switch_file( tstr )  ) {
if(  read_only  ) {
call init_mouse;
ConfigLocked(); } } }
switch_win_id( tw );
error_level = 0;
Error_Level = 0;
load_count = parmload_mode;
Parm_Number = 1;
refresh = false;
while(  Parm_Number <= PARAM_COUNT  ) { TStr = PARAM_STR(Parm_Number);
TStr = Caps(Remove_Space(TStr));
if(  Xpos(Copy(Tstr,1,1),'/-',1)  ) { Tstr = Copy(Tstr,2,80);
if ( TStr == "CD" ) {                                           // ldh
++Parm_Number;                                                // ldh
if ( Param_Str( Parm_Number ) != ""  ) {                      // ldh
TStr = Caps( Remove_Space( Param_Str( Parm_Number ) ) );    // ldh
if ( Svl( TStr ) > 3 ) {                                    // ldh
if ( Copy( TStr, Svl( TStr ), 1 ) == "\\" ) {             // ldh
TStr = Copy( TStr, 1, Svl( TStr ) - 1 );                // ldh }                                                         // ldh.......}                                                           // ldh.......Change_Dir( TStr );                                         // ldh......}                                                             // ldh.....}                                                               // ldh.....else if ( Copy (TStr, 1, 3) == "WK=" ).....{......wdir = Copy (TStr, 4, 128);.....}.....else if ( TStr == "SM" ).....{......restore_enable = False;......no_restore = True;......RM("SESSMGR /NOSWITCH=1");.....}.....else if ( copy(tstr,1,2) == "SR" ).....{......int tid = window_id;......int tr = refresh;......refresh = false;......if(LocateDbPage("MECONFIG", "SESSMGR.CFG", false))......{.......down;.......session_name = get_line;.......restore_enable = TRUE;......}......switch_win_id(tid);......refresh = tr;.....}.....else if ((Copy( TStr, 1, 2) == "SN" ) &&.......(Global_Int('@RESTORE') == 3)) // only if encoded status files are active
{
// switch to named session
restore_enable = True;
session_name = copy(tstr,3,128); 
} else if ( Copy( TStr, 1, 1) == "@" )                            // ldh
// Load files from a file list
refresh = false;
restore_enable = False;
Set_Global_Int('LOAD_COUNT',Load_Count);
int tid = window_id;
create_window;
window_attr = 0x81;
tstr = copy(tstr,2,128);
load_file( tstr );
int tag_win = window_id;
make_message("");
if(error_level) { call init_mouse;
rm("messagebox /B=2/T=Error/M=List file " + tstr + " not found.");
 } else { switch_win_id( tid );
RM('LDFILES /NRL=1/TAG=' + str(tag_win) + '/DE=1/CW=2/LC=' + str(load_count));
Load_Count = return_int;
if(  (Load_Count == 1)  ) {
/* Save the first file loaded so that if the user specifies a line number to
go to, we can do it. */
Goto_F_Name = File_Name;
 } tid = window_id;
} refresh = false;
if( switch_win_id( tag_win )) delete_window;
switch_win_id(tid);
} else if(  TStr == 'NR'  ) { if( !parmload_mode ) { restore_enable = False;
no_restore = TRUE;
} } e


Present at 002FF4F2 is another chunk of this macro code.

/L=6/C=4/ATTR=
D[=.=.=
Version 5
/L=7/C=20=.=.=
Copyright(c) 1988, 1993 by American Cybernetics, Inc.
/L=9/C=2=.=.=
Multi-Edit is protected under United States copyright law.  Copies may be  made for  the puro NOT locate source
*              /TF=filename  The tag filename to use
*                        (do not auto determine)
 -------------------------------------------------- */
{   str       tag_id = parse_str("/TAGID=",mparm_str),
            tag_language = tag_get_language(get_extension(file_name)),
            backtrack_data;
int
src_win = window_id,
tag_win,
            force_tag_id = (tag_id != ""),
next_tag = parse_int("/NEXT=", mparm_str);
  g_was_maximized = IsZoomed(window_Handle);
  backtrack_data = tag_init_backtrk();
again:
refresh = false;
// If we are doing a NEXT tag then do not start from the top,
// and use the last tag instead of the current word
  if ((!next_tag) && (!force_tag_id)) { if( parse_int("/MAN=",mparm_str))
{ return_str = "";
rm("USERIN^QUERYBOX /P=Enter Tag:/W=32/ML=80/T=Multi-Tags/H="+TAGPROMPT_HELPLINK);
if( return_int <= 0 ) goto exit } else { rm("tag_parse_text");
tag_id = return_str;
if( tag_id == "" ) {
make_message( "No valid tag." );
switch_win_id( src_win );
goto exit;
}
}
rm( 'tag_find_file /TF=' + parse_str("/TF=", mparm_str) );
if( !return_int ) {
make_message( 'No tag file found.' );
switch_win_id( src_win );
goto exit;
}
  if (!next_tag) { tof; } else { tag_id = global_str( 'LAST_TAG_FIND' );
eol;
}
ignore_case = TRUE;
reg_exp_stat = TRUE;
if( search_fwd( '%' + tag_id + '[ |9]', 0 ) ) {
    tag_store_find(tag_language, tag_id, backtrack_data);
//    set_global_str('LAST_TAG_FIND', tag_id );
return_int = 1;
if( !parse_int("/FO=", mparm_str )) { /* make_message("tag_locate " + str(g_was_maximized) + " " + file_name);
read_key;
*/       RM('tag_goto /SAVEZOOM=1/OW=' + str( src_win ));
if( return_int == 2  ) { next_tag = TRUE;
goto again;
} } } else { make_message( 'No tag found.' );
switch_win_id( src_win );
return_int = 0;
 } exit: } macro tag_parse_text { str ls[40] = tag_get_language(get_extension(file_name));
mark_pos;
again: return_str = "";
right;
while( (c_col > 1) && xpos(cur_char, tag_delimits, 1) ) left;
while( (c_col > 1) && !xpos(cur_char, tag_delimits,1) ) left;
/* if(( ls == "C") || (ls == "C++") ) { if( cur_char == "." ) { left;
while( (c_col > 1) && !xpos(cur_char, tag_delimits,1) ) left;
if( xpos(cur_char, tag_delimits,1 )) right;
return_str = shorten_str(get_word( tag_delimits )) + "

References

  1. https://tcrf.net/BC_Racers_(32X) (Wayback Machine: http-s:- :)


BC Racers

BCRacers MCD US Title.png

Main page | Comparisons | Maps | Hidden content | Magazine articles | Reception | Region coding | Technical information


Sega Mega-CD
Demos: BC Racers (1994) | BC Racers (1994)

No results