Free Hero Mesh

Check-in [831a8baa13]
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.
Overview
Comment:Implement CONFIG_EXTRA_SCREEN_INIT
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 831a8baa13eea96bec3b015d84ebad48b365bf54
User & Date: user on 2022-08-11 04:25:00
Other Links: manifest | tags
Context
2022-08-11
04:38
Ensure that class/message names made by {make} do not contain invalid characters. check-in: eaea2c00a7 user: user tags: trunk
04:25
Implement CONFIG_EXTRA_SCREEN_INIT check-in: 831a8baa13 user: user tags: trunk
2022-08-10
05:45
Implement CONFIG_NO_STATUS check-in: 89cc6486f6 user: user tags: trunk
Changes

Modified comconfig.doc from [06f1d3453e] to [30bb8b0e6b].

11
12
13
14
15
16
17




18
19
20
21
22
23
24
  default value will be used). Should be a 32-bit integer represented in
  decimal notation, as a string token (not as a numeric token).

CONFIG_DEFAULT_RESOURCES
  If defined, read resource configuration from the specified file if
  it cannot find the configuration file in the home directory.





CONFIG_GLOBAL_HASH_SIZE
  Size of global hash table when reading class definition file. This must
  be less than 65535.

CONFIG_LOCAL_HASH_SIZE
  Size of local hash table when reading class definition file. This must
  be less than 65535.







>
>
>
>







11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
  default value will be used). Should be a 32-bit integer represented in
  decimal notation, as a string token (not as a numeric token).

CONFIG_DEFAULT_RESOURCES
  If defined, read resource configuration from the specified file if
  it cannot find the configuration file in the home directory.

CONFIG_EXTRA_SCREEN_INIT
  Can be a C code to be executed after the video mode is set, but before
  any other screen initialization is done.

CONFIG_GLOBAL_HASH_SIZE
  Size of global hash table when reading class definition file. This must
  be less than 65535.

CONFIG_LOCAL_HASH_SIZE
  Size of local hash table when reading class definition file. This must
  be less than 65535.
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74


75
76
77
78
79
80
81
  processing. Some calculations are not affected by this option.

CONFIG_ERROR_CHECKING
  Define error checking level, where 9 is maximum. Lower numbers might
  improve speed but may make the program crash in some cases and may also
  cause security vulnerabilities.

CONFIG_EXTRA_SCREEN_INIT
  Can be a C code to be executed after the video mode is set, but before
  any other screen initialization is done.

CONFIG_LAUNCHER_PATH
  If defined, then it is the full path to a file to execute if Free Hero
  Mesh has been invoked with no command-line arguments, or if it is given
  the flag to run the launcher program instead.



CONFIG_MULTIUSER_SCORES
  (Meant for storing scores on a multiuser system, somehow)

CONFIG_OMIT_EDITOR
  If defined, omit the level editor and picture editor, as well as the
  ability to import and export levels and pictures.







<
<
<
<



|
>
>







64
65
66
67
68
69
70




71
72
73
74
75
76
77
78
79
80
81
82
83
  processing. Some calculations are not affected by this option.

CONFIG_ERROR_CHECKING
  Define error checking level, where 9 is maximum. Lower numbers might
  improve speed but may make the program crash in some cases and may also
  cause security vulnerabilities.





CONFIG_LAUNCHER_PATH
  If defined, then it is the full path to a file to execute if Free Hero
  Mesh has been invoked with no command-line arguments, or if it is given
  the flag to run the launcher program instead. (Maybe this should not be
  implemented; you can run the separate launcher program directly instead.
  Maybe it will be the other way around, if compiled to use AppImage.)

CONFIG_MULTIUSER_SCORES
  (Meant for storing scores on a multiuser system, somehow)

CONFIG_OMIT_EDITOR
  If defined, omit the level editor and picture editor, as well as the
  ability to import and export levels and pictures.

Modified picture.c from [e253fa7409] to [d56be134d2].

909
910
911
912
913
914
915



916
917
918
919
920
921
922
  optionquery[1]=Q_screenWidth;
  w=strtol(xrm_get_resource(resourcedb,optionquery,optionquery,2)?:"800",0,10);
  optionquery[1]=Q_screenHeight;
  h=strtol(xrm_get_resource(resourcedb,optionquery,optionquery,2)?:"600",0,10);
  optionquery[1]=Q_screenFlags;
  v=xrm_get_resource(resourcedb,optionquery,optionquery,2)?:"";
  if(SDL_Init(SDL_INIT_VIDEO|(strchr(v,'z')?SDL_INIT_NOPARACHUTE:0)|SDL_INIT_TIMER)) fatal("Error initializing SDL: %s\n",SDL_GetError());



  atexit(SDL_Quit);
  i=0;
  while(*v) switch(*v++) {
    case 'd': i|=SDL_DOUBLEBUF; break;
    case 'f': i|=SDL_FULLSCREEN; break;
    case 'h': i|=SDL_HWSURFACE; break;
    case 'n': i|=SDL_NOFRAME; break;







>
>
>







909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
  optionquery[1]=Q_screenWidth;
  w=strtol(xrm_get_resource(resourcedb,optionquery,optionquery,2)?:"800",0,10);
  optionquery[1]=Q_screenHeight;
  h=strtol(xrm_get_resource(resourcedb,optionquery,optionquery,2)?:"600",0,10);
  optionquery[1]=Q_screenFlags;
  v=xrm_get_resource(resourcedb,optionquery,optionquery,2)?:"";
  if(SDL_Init(SDL_INIT_VIDEO|(strchr(v,'z')?SDL_INIT_NOPARACHUTE:0)|SDL_INIT_TIMER)) fatal("Error initializing SDL: %s\n",SDL_GetError());
#ifdef CONFIG_EXTRA_SCREEN_INIT
  do{ CONFIG_EXTRA_SCREEN_INIT }while(0);
#endif
  atexit(SDL_Quit);
  i=0;
  while(*v) switch(*v++) {
    case 'd': i|=SDL_DOUBLEBUF; break;
    case 'f': i|=SDL_FULLSCREEN; break;
    case 'h': i|=SDL_HWSURFACE; break;
    case 'n': i|=SDL_NOFRAME; break;