GM Studio soeben erschienen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • GM Studio soeben erschienen

      Hallo zusammen,


      soeben die Mail von YOYO erhalten und gleich das Update von HTML5 auf GM:Studio geladen.
      Vielleicht hole ich mir heute auch noch die Android Erweiterung.


      Allerdings ist mir gleich zu Beginn aufgefallen, dass einige Funktionen weg sind, obwohl unter GM:HTML5 noch vorhanden.
      Z.B. "message_background" und die Registry Funktionen.
      Klar Registry geht nicht unter HTML5, aber auch beim Kompilieren für Windows meckert Studio das an.
      Die Hilfe sagt auch ganz klar aus, dass diese Funktionen nicht mehr vorhanden sind.
      Dachte eigentlich, die handhaben das so wie bei HTML5.

      Gibt es eine Liste von Funktionen, welche nun nicht mehr vorhanden sind?
      Gruß
      Sky
      ---------------------------
      http://games.pixas.de
      ---------------------------
    • In meiner letzten Beta gabs in der Hilfe unter Reference eine Liste mit Obsolete Functions. Auch wenn das nicht mehr ganz aktuell sein mag, paste ich das mal hier rein:

      [hide='Obsolete Functions']

      Obsolete CD Functions schrieb:

      cd_init - Must be called before using the other functions. Should also be called when a CD is changed (or simply from time to time).
      cd_present - Returns whether a CD is present in the default CD drive.
      cd_number - Returns the number of tracks on the CD.
      cd_playing - Returns whether the CD is playing.
      cd_paused - Returns whether the CD is paused or stopped.
      cd_track - Returns the number of the current track (1=the first).
      cd_length - Returns the length of the total CD in milliseconds.
      cd_track_length - Returns the length of track n of the CD in milliseconds.
      cd_position - Returns the current position on the CD in milliseconds.
      cd_track_position - Returns the current position in the track being played in milliseconds.
      cd_play - Tells the CD to play tracks first until last. If you want to play the full CD give 1 and 1000 as arguments.
      cd_stop - Stops playing
      cd_pause - Pauses the playing.
      cd_resume - Resumes the playing.
      cd_set_position - Sets the position on the CD in milliseconds.
      cd_set_track_position - Sets the position in the current track in milliseconds.
      cd_open_door - Opens the door of the CD player
      cd_close_door - Closes the door of the CD player

      The following function has also been removed :
      MCI_command - This functions sends the command string to the Windows multimedia system using the Media Control Interface (MCI). It returns the return string. You can use this to control all sorts of multimedia devices. See the Windows documentation for information in how to use this command. For example MCI_command('play cdaudio from 1') plays a CD (after you have correctly initialized it using other commands). This function is only for advanced use!

      Why These Are Obsolete
      These are windows only functions and no longer applicable to any other device.


      Obsolete Display Functions schrieb:

      screen_refresh Refreshes the screen using the current room image (not performing drawing events).
      screen_wait_vsync Waits for the next vertical synchronization of the monitor.
      set_automatic_draw Indicates whether to automatically redraw the room (true, default) or not (false).
      set_synchronization Indicates whether to synchronize the drawing with the refresh frequency of the monitor.
      display_set_size Sets the width and height of the display in pixels. Returns whether this was successful. (Realize that only certain combinations are allowed.)
      display_set_colordepth Sets the color depth. In general only 16 and 32 are allowed values. Returns whether successful.
      display_set_frequency Sets the refresh frequency for the display. Only few frequencies are allowed. Typically you could set this to 60 with a same room speed to get smooth 60 frames per second motion. Returns whether successful.
      display_set_all Sets all at once. Use -1 for values you do not want to change. Returns whether successful.
      display_test_all Tests whether the indicated settings are allowed. It does not change the settings. Use -1 for values you do not want to change. Returns whether the settings are allowed.
      window_set_region_size Set the width and height of the drawing region in the window. adaptwindow indicates whether the window size must be adapted if the region does not fit in. The window size will always be adapted if you use fixed scaling.
      window_set_region_scale If the window is larger than the actual room normally the room is displayed in a region centered in the window. It is though possible to indicate that it must be scaled to fill the whole or part of the window. A value of 1 is no scaling. If you use a value of 0 the region will be scaled to fill the whole window. If you set it to a negative value it will be scaled to the maximal size inside the window while maintaining the aspect ratio (this is often what you want). adaptwindow indicates whether the window size must be adapted if the scaled room does not fit in. Adapting the window is only effective when the scale factor is positive.
      window_get_region_width Returns the current width of the drawing region.
      window_get_region_height Returns the current height of the drawing region.
      window_set_visible Sets whether the game window is visible. Clearly you normally want the window to remain visible during the whole game. The program will not receive keyboard events when the window is invisible.
      window_get_visible Returns whether the game window is visible.
      window_set_showborder Sets whether the border around the window is shown. (In full screen mode it is never shown.)
      window_get_showborder Returns whether the border around the window is shown in windowed mode.
      window_set_showicons Sets whether the border icons (iconize, maximize, close) are shown. (In full screen mode these are never shown.)
      window_get_showicons Returns whether the border icons are shown in windowed mode.
      window_set_stayontop Sets whether the window must always stay on top of other windows.
      window_get_stayontop Returns whether the window always stays on top of other windows.
      window_set_sizeable Sets whether the window is sizeable by the player. (The player can only size it when the border is shown and the window is not in full screen mode.)
      window_get_sizeable Returns whether the window is sizeable by the player.
      window_default Gives the window the default size and position (centered) on the screen.

      Why These Are Obsolete
      These functions are now considered obsolete due to the changes in the way that GameMaker:Studio draws things to the screen, as well as the fact that some of them are legacy functions from quite a while back which are no longer valid for modern computers and devices, or that they don't work on any device except a windows machine, and even then they are usually not necessary.


      Obsolete Dynamic Functions schrieb:

      Object Function List :

      object_add Adds a new object. It returns the index of the object. You can now use this index in the routines above to set certain properties of the object and then you can use the index to create instances of the object.
      object_delete Deletes the object with the given index. Make sure no instances of the object exist in any of the rooms.
      object_event_add To give the object a behavior we must define events for the object. You can only add code actions to events. You need to specify the object, the event type, the event number (use the constants that have been specified before for the event_perform() function). Finally you provide the code string that must be executed. You can add multiple code actions to each event.
      object_event_clear You can use this function to clear all the actions for a particular event.

      Variable Function List :

      variable_global_exists Returns whether a global variable with the given name (a string) exists.
      variable_local_exists Returns whether a local variable with the given name (a string) exists for the current instance.
      variable_global_get Returns the value of the global variable with the given name (a string).
      variable_global_array_get Returns the value of index ind of the global array variable with the given name (a string).
      variable_global_array2_get Returns the value of index ind1,ind2 of the global 2-dimensional array variable with the given name (a string).
      variable_local_get Returns the value of the local variable with the given name (a string).
      variable_local_array_get Returns the value of index ind of the local array variable with the given name (a string).
      variable_local_array2_get Returns the value of index ind1,ind2 of the local 2-dimensional array variable with the given name (a string).
      variable_global_set Sets the global variable with the given name (a string) to the given value
      variable_global_array_set Sets the index ind in the global array variable with the given name (a string) to the given value.
      variable_global_array2_set Sets the index ind1,ind2 in the global 2-dimensional array variable with the given name (a string) to the given value.
      variable_local_set Sets the local variable with the given name (a string) to the given value.
      variable_local_array_set Sets the index ind in the local array variable with the given name (a string) to the given value.
      variable_local_array2_set Sets the index ind1,ind2 in the local 2-dimensional array variable with the given name (a string) to the given value.

      Resource Function List :

      sprite_add_sprite Adds the sprite stored the file fname to the set of sprite resources. The file must be a .gmspr file that is saved in the sprite property form in GameMaker.
      background_add_background Adds the background stored the file fname to the set of background resources. The file must be a .gmbck file that is saved in the background property form in GameMaker.

      Miscellaneous Function List :

      room_set_code Sets the initialization code string for the room with the indicated index.
      script_get_text Returns the text string of the script with the given index.
      execute_string Execute the piece of code in the string str with the indicated arguments.
      execute_file Execute the piece of code in the file with the indicated arguments.

      Why These Are Obsolete
      These functions cannot be used any more due to changes in the underlying runner that GameMaker:Studio uses to generate the device specific pacakges making it impossible to generate objects and code "on the fly".


      Obsolete File Functions schrieb:

      file_open_write Opens a file for writing.
      file_open_read Opens a file for reading.
      file_open_append Opens a file ready to append information to.
      file_write_string Writes a string to a previously opened file.
      file_write_real Writes a real value to a previously opened file.
      file_writeln Writes a new line to an already opened file.
      file_read_string Reads a string from a previously opened file.
      file_read_real Reads a real value from a previously opened file.
      file_readln Skips to the next line of a previously opened file for reading.
      file_eof Checks to see if the end of the opened file has been reached.
      file_eoln Checks to see if the end of the current line in the opened file has been reached.
      file_close Closes the currently open file.
      export_include_file Exports the included file with the name fname. This must be a string variable.
      export_include_file_location Exports the included file with the name fname to the given location. Location must contain the path and the filename.
      discard_include_file Discard the included file with the name fname, freeing the memory used. This must be a string variable.
      parameter_count Returns the number of command-line parameters.
      parameter_string Returns command-line parameters n. The first parameter has index 1. The last one has index parameter_count(). Index 0 is a special one. It is the filename of the game executable (including the path).

      Why These Are Obsolete
      These have been replaced by the file_text_* and the file_bin_* functions.


      Obsolete Message Functions schrieb:

      show_message_ext Displays a dialog box with the string as a message and up to three buttons. But1, but2 and but3 contain the button text. An empty string means that the button is not shown. In the texts you can use the & symbol to indicate that the next character should be used as the keyboard shortcut for this button. The function returns the number of the button pressed (0 if the user presses the Esc key).
      message_background Sets the background image for the pop-up box for any of the functions above. back must be one of the backgrounds defined in the game. Unfortunately, alpha values are not taken into account. However, if the left-bottom pixel has an alpha value of 0, all pixels with that color will be considered transparent.
      message_alpha Sets the alpha translucence for the pop-up box for any of the functions above. alpha must lie between 0 (completely translucent) and 1 (not translucent) (only for Windows 2000 or later).
      message_button Sets the sprite used for the buttons in the pop-up box. spr must be a sprite consisting of three images, the first indicates the button when it is not pressed and the mouse is far away, the second indicates the button when the mouse is above it but not pressed and the third is the button when it is pressed. Unfortunately, alpha values are not taken into account. However, if the left-bottom pixel has an alpha value of 0, all pixels with that color will be considered transparent.
      message_text_font Sets the font for the text in the pop-up box.
      message_button_font Sets the font for the buttons in the pop-up box.
      message_input_font Sets the font for the input field in the pop-up box.
      message_text_charset This function allows you to specify which character set the dialogs will use.
      message_mouse_color Sets the color of the font for the buttons in the pop-up box when the mouse is above it.
      message_input_color Sets the color for the background of the input filed in the pop-up box.
      message_caption Sets the caption for the pop-up box. show indicates whether a border must b e shown (1) or not (0) and str indicates the caption when the border is shown.
      message_position Sets the position of the pop-up box on the screen. Use -1, -1 to center the box.
      message_size Fixes the size of the pop-up box on the screen. If you choose -1 for the width the width of the image is used. If you choose -1 for the height the height is calculated based on the number of lines in the message.
      show_menu Shows a popup menu. str indicates the menu text. This consists of the different menu items with a vertical bar between them. For example, str = 'menu0|menu1|menu2'. When the first item is selected a 0 is returned, etc. When the player selects no item, the default value def is returned.
      show_menu_pos Shows a popup menu as in the previous function but at position x,y on the screen.
      get_color Asks the player for a color. defcol is the default color. If the user presses Cancel the value -1 is returned.
      get_directory Asks for a directory. dname is the default name. If the user presses Cancel an empy string is returned.
      get_directory_alt An alternative way to ask for a directory. capt is the caption to be show. root is the root of the directory tree to be shown. Use the empty string to show the whole tree. If the user presses Cancel an empy string is returned.
      show_score Whether to show the score in the window caption.
      show_lives Whether to show the number of lives in the window caption.
      show_health Whether to show the health in the window caption.
      caption_score The caption used for the score.
      caption_lives The caption used for the lives.
      caption_health The caption used for the health.
      highscore_show Shows the highscore table. numb is the new score. If this score is good enough to be added to the list, the player can input a name.
      highscore_set_background Sets the background image to use. back must be the index of one of the background resources.
      highscore_set_border Sets whether the highscore form must have a border or not.
      highscore_set_font Sets the font used for the text in the table.
      highscore_set_colors Sets the colors used for the background, the new entry in the table, and the other entries.
      highscore_set_strings Changes the different default strings used when showing the highscore table.
      highscore_show_ext Shows the highscore table with a number of options (can also be achieved by using a number of the previous functions).
      highscore_add_current Adds the current score to the highscore list. The player is asked to provide a name.

      The following constants have also been removed :
      text_type
      button_type
      input_type

      Why These Are Obsolete
      These are windows only functions and no longer applicable to any other device, especially since most of them block the runner to show the message boxes.

      Note : While the highscore display functions are now obsolete, the internal highscores do still exists and can be used... You will just have to display them yourself through your own code.


      Obsolete Miscellaneous Functions schrieb:


      secure_mode Returns whether the game is running in secure mode or not.
      set_program_priority Sets the priority for the program. You can indicate a value between -3 and +3. A value of -3 means that the program will only run if no other process on the computer requires processing time, or stated differently, when all other processes are idle. Values of -2 and -1 are below normal, so other processes will get priority. 0 is the normal value. +1 and +2 give a higher priority, resulting possibly in higher speed and smoother game flow. But other processes will get much less processing time. +3 indicates real-time mode. In real-time mode basically all time is allotted to the game. This can lead to serious problems with any other applications running on the computer. Also keyboard events and e.g. the pressing of the close box might no longer be recorded by Windows. So only use this if you want all the processor time. Also better check carefully before using it and save the game before running.
      set_application_title Sets the title of the application to the given string. The title is for example shown in the task bar.
      export_include_file Exports the included file with the name fname. This must be a string variable, so don't forget the quotes.
      export_include_file_location Exports the included file with the name fname to the given location. Location must contain the path and the filename.
      discard_include_file Discard the included file with the name fname, freeing the memory used. This must be a string variable, so don't forget the quotes.
      gamemaker_pro Indicates whether the game is created with the Standard Edition.
      gamemaker_registered Same as gamemaker_pro.
      gamemaker_version The version of GameMaker. This is an integer. For version 8.0 this can be anything between 800 and 809. For version 8.1 this will be something between 810 and 819, etc. so never check a particular version but better check for a range. This variable is not available in version before 800.
      error_last String indicating the last error message.
      error_occurred Indicates whether an error has occurred.
      sleep Sleeps numb milliseconds.
      keyboard_wait Waits till the user presses a key on the keyboard.
      external_call0...8 Calls the external function with the given id, and the given arguments.
      external_define0...8 Defines an external function.
      disk_size Returns the size of the indicated drive in bytes.
      disk_free Returns the amount of free space on the indicated drive in bytes.

      Why These Are Obsolete
      These functions cannot be used any more due to changes in the underlying runner that GameMaker:Studio uses and the fact that most of them are no longer relevant to any other device except windows.
      [/hide]
      Einige meiner Spiele:
    • [hide='Fortsetzung']

      Obsolete mPlay Functions schrieb:

      secure_mode Returns whether the game is running in secure mode or not.
      set_program_priority Sets the priority for the program. You can indicate a value between -3 and +3. A value of -3 means that the program will only run if no other process on the computer requires processing time, or stated differently, when all other processes are idle. Values of -2 and -1 are below normal, so other processes will get priority. 0 is the normal value. +1 and +2 give a higher priority, resulting possibly in higher speed and smoother game flow. But other processes will get much less processing time. +3 indicates real-time mode. In real-time mode basically all time is allotted to the game. This can lead to serious problems with any other applications running on the computer. Also keyboard events and e.g. the pressing of the close box might no longer be recorded by Windows. So only use this if you want all the processor time. Also better check carefully before using it and save the game before running.
      set_application_title Sets the title of the application to the given string. The title is for example shown in the task bar.
      export_include_file Exports the included file with the name fname. This must be a string variable, so don't forget the quotes.
      export_include_file_location Exports the included file with the name fname to the given location. Location must contain the path and the filename.
      discard_include_file Discard the included file with the name fname, freeing the memory used. This must be a string variable, so don't forget the quotes.
      mplay_data_write Write value val (string or real) into location ind (ind between 0 and 1000000).
      mplay_data_read Returns the value in location ind (ind between 0 and 1000000). Initially all values are 0.
      mplay_data_mode Sets whether or not to use guaranteed transmission for shared data. guar should either be true (the default) or false.
      mplay_init_ipx Initializes an IPX connection.
      mplay_init_tcpip Initializes a TCP/IP connection. addr is a string containing the web address or IP address, e.g. 'www.gameplay.com' or '123.123.123.12', possibly followed by a port number (e.g. ':12'). Only when joining a session (see below) do you need to provide an address. On a local area network no addresses are necessary.
      mplay_init_modem Initializes a modem connection. initstr is the initialization string for the modem (can be empty). phonenr is a string that contains the phone number to ring (e.g. '0201234567'). Only when joining a session (see below) do you need to provide a phone number.
      mplay_init_serial Initializes a serial connection. portno is the port number (1-4). baudrate is the baudrate to be used (100-256K). stopbits indicates the number of stopbits (0 = 1 bit, 1 = 1.5 bit, 2 = 2 bits). parity indicates the parity (0=none, 1=odd, 2=even, 3=mark). And flow indicates the type of flow control (0=none, 1=xon/xoff, 2=rts, 3=dtr, 4=rts and dtr). Returns whether successful. A typical call is mplay_init_serial(1,57600,0,0,4). Give 0 as a first argument to open a dialog for the user to change the settings.
      mplay_connect_status Returns the status of the current connection.
      mplay_end Ends the current connection.
      mplay_ipaddress Returns the IP address of your machine (e.g. '123.123.123.12') as a string.
      mplay_message_send Sends a message to the indicated player (either an identifier or a name; use 0 to send the message to all players). id is an integer message identifier and val is the value (either a real or a string). The message is sent in non-guaranteed mode. If val contains a string the maximal string length allowed is 30000 characters.
      mplay_message_send_guaranteed Sends a message to the indicated player (either an identifier or a name; use 0 to send the message to all players). id is an integer message identifier and val is the value (either a real or a string). This is a guaranteed send. If val contains a string the maximal string length allowed is 30000 characters.
      mplay_message_receive Receives the next message from the message queue that came from the indicated player (either an identifier or a name). Use 0 for messages from any player. The routine returns whether there was indeed a new message.
      mplay_message_id Returns the identifier of the last received message.
      mplay_message_value Returns the value of the last received message.
      mplay_message_player Returns the player who sent the last received message.
      mplay_message_name Returns the name of the player who sent the last received message.
      mplay_message_count Returns the number of messages left in the queue from the player (use 0 to count all message).
      mplay_message_clear Removes all messages left in the queue from the player (use 0 to remove all message).
      mplay_player_find Searches for all players in the current session and returns the number of players found.
      mplay_player_name Returns the name of player number numb (0 is the first player, which is always yourself). This routine can only be called after calling the previous routine.
      mplay_player_id Returns the unique id of player number numb (0 is the first player, which is always yourself). This routine can only be called after calling the first routine. This id is used in sending and receiving messages to and from individual players.
      mplay_session_create Creates a new session on the current connection.
      mplay_session_find Searches for all sessions that still accept players and returns the number of sessions found.
      mplay_session_name Returns the name of session number numb (0 is the first session). This routine can only be called after calling the previous routine.
      mplay_session_join Makes you join session number numb (0 is the first session). playername is your name as a player. Returns whether successful.
      mplay_session_mode Sets whether or not to move the session host to another computer when the host ends. move should either be true or false (the default).
      mplay_session_status Returns the status of the current session.
      mplay_session_end Ends the session for this player.

      Why These Are Obsolete
      These were windows only functions and are no longer applicable to any other device, and even for windows they have been superceded by much better methods of doing the same thing.


      Obsolete Particle Functions schrieb:

      The following functions for particle attractors have been removed :

      part_attractor_create Creates a new attractor in the given particle system. It returns the index of the attractor. This index must be used in all calls below to set the properties of the attractor.
      part_attractor_destroy Destroys attractor ind in the particle system. Call this if you don't need it anymore to save space.
      part_attractor_destroy_all Destroys all attractors in the particle system that have been created.
      part_attractor_exists Returns whether the indicated attractor exists in the particle system.
      part_attractor_clear Clears the attractor ind to its default settings.
      part_attractor_position Sets the position of attractor ind to (x,y).
      part_attractor_force Sets the force parameters of attractor ind.

      The following functions for particle changers have been removed :

      part_changer_create Creates a new changer in the given particle system. It returns the index of the changer. This index must be used in all calls below to set the properties of the changer.
      part_changer_destroy Destroys changer ind in the particle system. Call this if you don't need it anymore to save space.
      part_changer_destroy_all Destroys all changers in the particle system that have been created.
      part_changer_exists Returns whether the indicated changer exists in the particle system.
      part_changer_clear Clears the changer ind to its default settings.
      part_changer_region Sets the region for the changer.
      part_changer_types Sets which particle type the changer must change into what other type.
      part_changer_kind Sets the kind for the changer.

      The following functions for particle deflectors have been removed :

      part_deflector_create Creates a new deflector in the given particle system. It returns the index of the deflector. This index must be used in all calls below to set the properties of the deflector.
      part_deflector_destroy Destroys deflector ind in the particle system. Call this if you don't need it anymore to save space.
      part_deflector_destroy_all Destroys all deflectors in the particle system that have been created.
      part_deflector_exists Returns whether the indicated deflector exists in the particle system.
      part_deflector_clear Clears the deflector ind to its default settings.
      part_deflector_region Sets the region for the deflector.
      part_deflector_kind Sets the kind for the deflector.
      part_deflector_friction Sets the friction for the deflector.

      The following functions for particle destroyers have been removed :

      part_destroyer_create Creates a new destroyer in the given particle system. It returns the index of the destroyer. This index must be used in all calls below to set the properties of the destroyer.
      part_destroyer_destroy Destroys destroyer ind in the particle system. Call this if you don't need it anymore to save space.
      part_destroyer_destroy_all Destroys all destroyers in the particle system that have been created.
      part_destroyer_exists Returns whether the indicated destroyer exists in the particle system.
      part_destroyer_clear Clears the destroyer ind to its default settings.
      part_destroyer_region Sets the region for the destroyer.

      Why These Are Obsolete
      Particles are normally very fast to process due to the fact that they are normally just graphical effects which, once fired off, are left to do their own thing based on the parameters set for them when you created the system. These routines, however, could be used to change particle properties after they have been created in a game, which means that each particle has to be tracked and dealt with in an individual manner. As this is horribly slow and defeats the purpose of particles (as they are meant to be used for fast graphical effects)


      Obsolete Registry Functions schrieb:

      registry_write_string Creates an entry in the registry with the given name and string value.
      registry_write_real Creates an entry in the registry with the given name and real value.
      registry_write_string_ext Creates an entry in the key in the registry with the given name and string value.
      registry_write_real_ext Creates an entry in the key in the registry with the given name and real value.
      registry_read_string Returns the string that the given name holds. The name must exist, otherwise an empty string is returned.
      registry_read_real Returns the real value that the given name holds. The name must exist, otherwise the number 0 is returned.
      registry_read_string_ext Returns the string that the given name in the indicated key holds. The name must exist, therwise an empty string is returned.
      registry_read_real_ext Returns the real value that the given name in the indicated key holds. The name must exist, otherwise the number 0 is returned.
      registry_exists Returns whether the given name exists.
      registry_exists_ext Returns whether the given name exists in the given key.
      registry_set_root Sets the root for the other routines, where : 0 = HKEY_CURRENT_USER, 1 = HKEY_LOCAL_MACHINE, 2 = HKEY_CLASSES_ROOT and 3 = HKEY_USERS.

      Why These Are Obsolete
      Apart from these being windows only functions and so incompatable with all other devices, these functions can also be considered a security problem as their misuse can cause serious issues with windows based computers.


      Obsolete Sound Functions schrieb:

      sound_effect_set Sets a (combination of) sound effect(s) for the indicated sound. effect can be any of the constanrs listed below.
      sound_effect_chorus Sets the parameters for the chorus effect for the indicated sound.
      sound_effect_echo Sets the parameters for the echo effect for the indicated sound.
      sound_effect_flanger Sets the parameters for the flanger effect for the indicated sound.
      sound_effect_gargle Sets the parameters for the gargle effect for the indicated sound.
      sound_effect_reverb Sets the parameters for the reverb effect for the indicated sound.
      sound_effect_compressor Sets the parameters for the compressor effect for the indicated sound.
      sound_effect_equalizer Sets the parameters for the equalizer effect for the indicated sound.
      sound_3d_set_sound_position Sets the position of the indicated sound with respect to the listener to the indicated position in space.
      sound_3d_set_sound_velocity Sets the velocity of the indicated sound to the indicated vector in space.
      sound_3d_set_sound_distance Sets the minimum distance at which the sound does no longer increase in loudness and the maximum distance at which the sound can no longer be heard.
      sound_3d_set_sound_cone Normally sound has the same amplitude at a given distance in all directions. You can set the sound cone to change this and make sound directional.
      sound_get_preload Returns whether the sound with the given index has preload set.
      sound_restore Restores the indicated sound in audio memory for immediate playing.
      sound_discard Frees the audio memory used for the indicated sound.
      sound_background_tempo Changes the tempo of the background music (if it is a midi file).
      sound_set_search_directory Sets the directory in which direct music files are to be found. The dir string should not incluce the final backslash.

      The following constants have also been removed :
      se_none
      se_chorus
      se_echo
      se_flanger
      se_gargle
      se_reverb
      se_compressor
      se_equalizer

      Why These Are Obsolete
      These were windows only functions and are no longer applicable to any other device.


      Obsolete Splash Functions schrieb:

      splash_show_video Shows a video splash screen. fname is the name of the video file. Whether a particular movie file is supported depends on the drivers on the machine. Typically you can use .avi, .mpg, and .wmv files but avoid special codecs. You best put this file in the folder of the game yourself or in a subfolder. loop indicates whether to loop the video.
      splash_show_text Shows a text splash screen. fname is the name of the text file. You can either display standard text files (.txt) or rich text files (.rtf). Only part of the rich text features are taken into account. E.g. images and other embedded objects are not shown. delay indicates the delay in milliseconds before returning to the game. use 0 or a negative value to wait until the player presses the escape key or clicks with the mouse in the window. (Note that no scrollbar will be shown nor is there another way to scroll the text. So the text must fit the window.)
      splash_show_image Shows an image splash screen. fname is the name of the image file. Many image types are supported (for example .bmp, .jpg, .tif, and .wmf) but no animated images. delay is the delay in milli seconds before returning to the game.
      splash_show_web Shows a web page splash screen. url is the url of the webpage (starting with http://) or it is the file name for a local html file. Note however that you must provide the full path for this to work. So you best e.g. use as url something like working_directory + "\index.html". delay is the delay in milli seconds before returning to the game
      splash_set_main Indicated whether the splash screen must be shown in the main game window (true, default) or in a separate window (false).
      splash_set_scale Sets the scale factor to be used when displaying a splash video or image. When using a value of 0 the scale factor is chosen such that the window is filled (default).
      splash_set_cursor Sets whether the cursor should be visible in the splash screen. Default it is visible. For movies the cursor cannot be switched off.
      splash_set_color Sets the color of the area surrounding the image or video.
      splash_set_caption Sets the caption for the splash window. This only has effect when is a separate splash window is used. Default the empty string is used.
      splash_set_fullscreen Indicates whether to use a full screen window or not. This only has effect when is a separate splash window is used. Default a normal window is used.
      splash_set_border Indicates whether the window should have a border. This only has effect when is a separate normal splash window is used. Default a border is used.
      splash_set_size Sets the size of the splash window. This only has effect when is a separate normal splash window is used. Default size is 640x480.
      splash_set_position Sets the position of the splash window. This only has effect when is a separate normal splash window is used. Default Windows determines the position.
      splash_set_adapt Indicated whether the size of the window must be adapted to the scaled size of the video or image. This only has effect when is a separate splash window is used. Default adapt is true.
      splash_set_top Indicates whether the window should stay on top of other windows. This only has effect when is a separate splash window is used. Default the value is true.
      splash_set_interrupt Indicates whether the game play should be interrupted while showing the splash window. This only has effect when is a separate splash window is used. Default the value is true.
      splash_set_stop_key Indicates whether to stop the display of the splash screen when the player pressed the Escape key. Default the value is true.
      splash_set_stop_mouse Indicates whether to stop the display of the splash screen when the player pressed the mouse inside the splash screen. Default the value is true.
      splash_set_close_button Indicates whether to show a close button in the top right corner of the splash screen. This is useful when running games in full screen mode or without a border. Default the value is true.

      The following functions have also been removed :

      show_info Displays the game information window.
      load_info Loads the game information from the file named fname. This should be a rich text file (.rtf). This makes it possible to show different help files at different moments. Note that contrary to the spash screens, this rtf file cannot contain images.

      Why These Are Obsolete
      These are windows only functions and no longer applicable to any other device, especially since they block the runner to show the splash screens.


      Obsolete Transition Functions schrieb:

      transition_kind Indicates the next room transition. You can use the following builtin values
      transition_steps Indicates the number of steps in the transition. The more steps, the longer the transition takes. Default is 80.
      transition_define You can actually create your own transitions. To this end you must define a script (possibly in an extension package) to do the transition. With this function you can then add the transition to the system. kind is the index of the transition (either a new one or an existing transitions). name is the name of the script. Note that the name of the script is a string! So there must be quotes around it. Note that this is really advanced stuff. The script must take five arguments: a surface with the image of the previous room, a surface with the image of the next room, the width of the surfaces, the height of the surfaces, and the fraction of the transition (between 0 and 1). It must then draw the image using the two surfaces.
      transition_exists This function returns whether a transition of the indicated kind exists.
      Why These Are Obsolete
      These functions have been removed due to the fact that they more or less "take over" control of the device to work. They are also incompatible with the way GameMaker:Studio now handles graphics.


      Trigger Events schrieb:

      Trigger events are special events that will only "trigger" when the requirements that you specify in code have been met.

      Why This Is Obsolete

      Triggers, as implemented by previous versions of GameMaker, were in-efficient, very little used by the majority of people, and only seemed to break up the game-logic and make tracking complex games far more difficult than necessary. For those that used them, the same functionality can easily be achieved by creating a script and calling it in either the begin step event, the step event or the end step event of an object.
      [/hide]
      Einige meiner Spiele:
    • Ich glaub nicht das die Funktionen weg sind es könnte auch sein das sie anders heißen oder die noch nicht freigeschaltet sind, die hauen für Studio hier Update für Update raus.
    • MewX schrieb:

      Eigentlich muss man diesen Funktionen nicht nachweinen. Oder wer benutzt eine von denen noch wirklich aktiv?

      Hmm.. die event/object_add Funktion ist z.B. das Rückgrat von meinem mod-editor für mein RTS...

      Naja. Du hast wohl recht; auf das Meiste kann man sehr gut verzichten - zumindest ein fortgeschrittener (für den das Studio ja gedacht ist) sollte das können...

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • Der Game Maker ist ja nicht dazu gedacht in traditionelles OOP stil zu coden (falls du das meinst).
      Durch object_add hinzugefügte Objekte (und deren) events sind aber keineswegs langsamer oder anderes als im Editor erstellte, nehme ich an. Nur das aufrufen der event_add Funktionen benötigt wohl etwas Rechenzeit.

      Naja. hoffentlich belibt YoYo mit dem (hoffentlich geplanten) Game Maker 9 der Linie mit Zur-Laufzeit-cmpilierbaren Code treu. Dies war ja praktisch wirklich das was den Game Maker programmiertechnsich von allem anderen abhob.

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • DragonGamer schrieb:


      Naja. hoffentlich belibt YoYo mit dem (hoffentlich geplanten) Game Maker 9 der Linie mit Zur-Laufzeit-cmpilierbaren Code treu. Dies war ja praktisch wirklich das was den Game Maker programmiertechnsich von allem anderen abhob.

      Nicht wirklich.
      Du kannst in eigentlich jeder Sprache eine Skriptsprache implementieren, mit der du dann Codes schreiben kannst, die zur Laufzeit interpretiert werden. Das ist jetzt nicht wirklich etwas besonderes.

      © 2008 by Teamgrill Productions
    • Soul Reaver schrieb:

      DragonGamer schrieb:


      Naja. hoffentlich belibt YoYo mit dem (hoffentlich geplanten) Game Maker 9 der Linie mit Zur-Laufzeit-cmpilierbaren Code treu. Dies war ja praktisch wirklich das was den Game Maker programmiertechnsich von allem anderen abhob.

      Nicht wirklich.
      Du kannst in eigentlich jeder Sprache eine Skriptsprache implementieren, mit der du dann Codes schreiben kannst, die zur Laufzeit interpretiert werden. Das ist jetzt nicht wirklich etwas besonderes.

      Naja.. theoretisch schon... aber ich kenne nichts wo die "inetrpreter-sprache" die selbe ist wie die die interprettiert wird... oder kennst du etwa einen C++ Interpreter in C++?
      Abgesehen davon dass die Implementation eines Interpreters ein sehr großer Aufwand wäre.

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • DragonGamer schrieb:

      Soul Reaver schrieb:

      DragonGamer schrieb:


      Naja. hoffentlich belibt YoYo mit dem (hoffentlich geplanten) Game Maker 9 der Linie mit Zur-Laufzeit-cmpilierbaren Code treu. Dies war ja praktisch wirklich das was den Game Maker programmiertechnsich von allem anderen abhob.

      Nicht wirklich.
      Du kannst in eigentlich jeder Sprache eine Skriptsprache implementieren, mit der du dann Codes schreiben kannst, die zur Laufzeit interpretiert werden. Das ist jetzt nicht wirklich etwas besonderes.

      Naja.. theoretisch schon... aber ich kenne nichts wo die "inetrpreter-sprache" die selbe ist wie die die interprettiert wird... oder kennst du etwa einen C++ Interpreter in C++?
      Abgesehen davon dass die Implementation eines Interpreters ein sehr großer Aufwand wäre.

      Nein, aber es würde ja auch keinen Sinn machen eine Skriptsprache so komplex zu machen wie eine höhere Sprache wie C++ oder Java.
      Außerdem ist beim GM nicht die Interpretersprache (Delphi / C++) dieselbe wie die Skriptsprache (GML). Alles was du im GM schreibst skriptest du eigentlich nur, was dann vom Runner des GMs ausgeführt wird. Deswegen sehe ich auch nicht, warum es plötzlich nicht mehr möglich sein sollte GML-Code zur Laufzeit zu übergeben und interpretieren.

      © 2008 by Teamgrill Productions
    • *gähn* ich sollte wirklich schlafen ><'

      Soul Reaver schrieb:


      Nein, aber es würde ja auch keinen Sinn machen eine Skriptsprache so komplex zu machen wie eine höhere Sprache wie C++ oder Java.
      Außerdem ist beim GM nicht die Interpretersprache (Delphi / C++) dieselbe wie die Skriptsprache (GML). Alles was du im GM schreibst skriptest du eigentlich nur, was dann vom Runner des GMs ausgeführt wird. Deswegen sehe ich auch nicht, warum es plötzlich nicht mehr möglich sein sollte GML-Code zur Laufzeit zu übergeben und interpretieren.

      YoYo hat dies auf jeden Fall im Studio entfernt. Ganz genau wieso, wissen wir nicht wirklich.
      Glaube du hast mich aber falsch verstanden. Im Game Maker 8.1 ist ja die Sprache die man z.B. mit execute_string ausführen kann die selbe in der man die Funktion execute_string ausführt!
      Du hast geschrieben
      Du kannst in eigentlich jeder Sprache eine Skriptsprache implementieren, mit der du dann Codes schreiben kannst, die zur Laufzeit interpretiert werden.
      Dieser Code den man interpretieren lassen könnte (wenn man eine Skriptsprache implementiert hat) ist aber selten die selbe Sprache wie die in der die Skriptsprache implementiert wurde... xD

      Meh.. Grad sieht hier alles wie ein Buchstaben-Salat aus...
      Gute Nacht an Alle!

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DragonGamer ()

    • Jedes von GM:Studio erstellte Spiel wird nach wie vor interpretiert.
      Da jedoch Android und iOS nicht viel mit auf einem Delphi basierendem Interpreter anfangen konnten, wurde jener vollständig in C++ reimplementiert. Dies stellte sich auch als Verursacher der bereits verzeichneten Performancesteigerungen heraus.

      Lediglich das HTML5 Exportmodul transcompiliert den GML Code, inklusive aller von YoYoGames bereitgestellten Funktionen nach JavaScript, was aber bei den aktuellen JS-Interpretern der Browser keine kritischen Geschwindigkeitsdefizite (gegenüber zum C++ Interpreter) mit sich nachziehen sollte.

      Die Performance von reinen Draw-Calls auf die GPU (welche jetzt übrigens mit der API von OpenGL erfolgen) können durch einen schnelleren Interpreter nicht gesteigert werden. Nur sehr anspruchsvolle, arithmetische Aufgaben werden nun schneller abgearbeitet, was beispielsweise für die direkt integrierte Physics Engine box2d notwendig war.

      @DragonGamer:
      Die execute_string Funktion wird beim GameMaker 8.1 (genauso wie alles andere) vom (Delphi-)Interpreter verarbeitet, auch der übergebene String (in welchem der zu dynamisch auszuführende GML Code enthalten ist) wird von jenem Interpreter ausgeführt und nicht mit GML interpretiert.

      Dieser Beitrag wurde bereits 9 mal editiert, zuletzt von cafaxo ()

    • @DragonGamer:
      Die execute_string Funktion wird beim GameMaker 8.1 (genauso wie alles andere) vom (Delphi-)Interpreter verarbeitet, auch der übergebene String (in welchem der zu dynamisch auszuführende GML Code enthalten ist) wird von jenem Interpreter ausgeführt und nicht mit GML interpretiert.


      Ja, aber wir programmieren in GML und können strings die aus GML bestehen ausführen und müssen nicht eine separate Skriptsprache für letzteres verwenden! Im Gegensatz dazu würde man in C++ logischer Weise in C++ programmieren aber dann wenn man irgendwo Code zur Laufzeit bräuchte, eine komplett andere Sprache verwenden, nämlich eine Skriptsprache.
      Das ist alles was ich sagen wollte.

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • Entweder du bist noch ein wenig verwirrt DragonGamer oder ich deute deine Ausführungen falsch.
      execute_string wurde aus zwei Gründen entfernt: Der Hauptgrund war, dass die Funktion extrem gefährlich ist.
      Der andere Grund, der dann den Stein ins Rollen gebracht hat, war der HTML5-Port.

      Früher wurde zur Laufzeit einfach GML gelesen und ausgeführt. Ob dieses Ausführen von einem Delphi- oder einem C++-Runner übernommen wurde, spielte dabei keine Rolle.
      Da beide direkt mit GML arbeiteten, war execute-String kein Problem.
      Seit HTML5 (und für die anderen Plattformen wird das wohl auch gelten) gibt es zwischen Editor und Runner noch einen Übersetzungsschritt.
      Bei HTML5 z.B. konvertiert dieser Schritt GML in Javascript. Die Javascript-Engine selbst versteht kein GML mehr und deshalb ist execute_string nicht mehr möglich.

      Der große Wunsch ist (und der besteht seit Jahren), GML direkt in Maschinensprache umzusetzen - z.B. indem GML in C++-Code übersetzt wird.
      Das ist aber noch eine ganze Ecke aufwendiger als die bisherigen Übersetzungsvorgänge. Ob der Geschwindigkeitsgewinn das wert wäre, ist eine andere Geschichte. Der echte Gewinn kommt nämlich nicht dadurch, dass man es in C++ schreibt sondern wie.
    • Sorry, ich wollte nicht bewerten ob es sinnvoll ist oder nicht, sondern hatte nur feststellen wollen dass dies etwas ist/war was den GameMaker relativ einzigartig macht(e). Nichts weiteres.
      Spielt jetzt aber keine Rolle. Vergessen wirs...

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • @DragonGamer:
      Ich denke du hast diese Funktion noch immer nicht verstanden, denn execute_string ist im Grunde nichts anderes als das Äquivalent zu JavaScripts oder PHPs eval Funktion. Sie dient ausschließlich zur Ausführung von Code, welcher zur Laufzeit generiert wurde und keinesfalls selbst von der eval Funktion interpretiert wird.

      (Sorry, ich konnte es einfach nicht so stehen lassen, bitte nimm es mir nicht übel...)
    • cafaxo schrieb:

      keinesfalls selbst von der eval Funktion interpretiert wird.

      Das hab ich auch nicht behaupten wollen >< Ich weiss dass es nicht so ist.
      Was ich aber auch nicht wusste war das PHP oder JS solch eine Funktion besitzt... damit ist meine Argumentation wohl ziemlich sinnlos gewesen.

      Oookey.. genug von dem Thema. Halte mich in Zukunft raus xD

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)