Skip to content

Objects

Iuri Severo edited this page Mar 26, 2024 · 34 revisions

Here you can find a list of the objects that exist in game and a brief description of what they do. They are categorized based on what folder they are in.

Cutscenes

Dream

  • obj_player_creator: Responsable for collecting global.playerName and global.pronouns at the start of the game in the first cutscene.

  • obj_dream: Responsable for making the first cutscene actually happen, creates the background and instantiate obj_intro and obj_player_creator.

  • obj_intro: Where the text of the first cutscene actually is.

  • obj_rect: Rectangle used as "button" to the elements in obj_player_creator.

Dialogue System

  • obj_characters: Draw a character on screen based on the variables that choose the sprite (chara) and the expression (characterExpression).

  • obj_node_controller: The brain of the Dialogue System, the place where the magic happens, here the .yarn files are read and the text and/or options are shown to the player.

  • obj_textbox: An object that has the textbox and some logic.

Map

  • obj_map_actions: Shows how many actions the player has. This object is used only on the map.

  • obj_map_controller: Controller of all the things in the map. Instantiates obj_ui_btn_calendar, obj_ui_btn_config and obj_map_actions.

  • obj_place_parent: The parent of all objects in the subfolder "Places". It has some basic things that all of the children have in common.

Places

All objects in this subfolder are children of obj_place_parent. They are all buttons used on the map to help the player navigate the rooms. This is a list of them:

  • obj_place_classroom
  • obj_place_courtyard
  • obj_place_dormitory
  • obj_place_dormroom
  • obj_place_gazebo
  • obj_place_restaurant
  • obj_place_school

Persistent Objects

These are objects that are instantiated only once and stay present even when there is a room change. They carry information and functions that are used in other objects and code.

  • DEBUG_DRAWER: Has all the logic of Debug Mode.

  • obj_game: The main object of the game. It serves as a central hub for managing lots of things. Some features include:

    • Localization: It manages the loading of translated files based on the game language, ensuring that dialogue and text are displayed in the correct language.

    • Room and Navigation: It handles room transitions, sets up camera views for each room, and tracks the current room and location within the game.

    • Chatterbox Dialogue: It loads dialogue files dynamically or manually, initializes custom functions and variables for dialogue interactions, and manages dialogue transitions and interactions.

    • Game Controls: It defines keybindings for different input modes (mouse, keyboard, gamepad) and provides instructions for game controls based on the input mode.

    • Camera: It's responsible for setting up camera, viewports and resolution.

  • obj_jukebox: The object responsable for playing background music. Has functions to play/stop music and changes music depending on the room.

  • obj_transition: Has the logic behind transitions that happen in the game.

Save&Load

  • obj_save_load: This has the logic to create the screen in the rm_file_selection room.

  • obj_save_slot: The save slot that appears in the rm_file_selection room and all its logic.

Sequences

These are animation objects that can be edited and played in the editor. They can also be instantiated by code. This is a list with the subfolders and sequences that are in game.

Simple Transitions

  • sq_trans_bars
  • sq_trans_fade_black
  • sq_trans_fade_white

UI

Config Menu

  • obj_config_menu: Has all the logic that makes the Config Menu work. It was programmed in a way that it`s easy to add new features to the Config Menu. Pretty crazy!

  • obj_rect_config: Rectangle used as "button" to the elements in obj_config_menu.

Game UI

  • obj_ui_btn_actions: Shows how many actions the player has using global variables.

  • obj_ui_btn_calendar: Shows the current day and daytime to the player using global variables.

  • obj_ui_btn_config: Child of obj_ui_btn_parent, opens Config Menu (that is not finished right now).

  • obj_ui_btn_map: Child of obj_ui_btn_parent, opens the map (that doesn`t exist right now).

  • obj_ui_btn_parent: Parent object for UI buttons, has some basic functionalities like hovering.

  • obj_ui_controller: Controls and instantiates all UI objects during the game. It should be present in all room scenes that are a location.

  • obj_ui_plant_stages: A cute flower that changes sprite based on the current daytime!

Lang Menu

  • obj_lang_menu: Has the logic of choosing a language in rm_lang. It instantiates the UI elements that are necessary for this action.

  • obj_lang_menu_btn: Buttons that appear in rm_lang. They can confirm or cancel the language choice.

  • obj_lang_selection: Selects the language from obj_lang_menu visually with a nice tweening effect.

Title Menu

  • obj_title_button: Buttons that appear in rm_title, has some logic like hovering and changing obj_title_menu_controller choice.

  • obj_title_menu_controller: Instantiates and control the Main Menu in rm_title.

Utils Objects

  • obj_announcement: Use this object to make an announcement. It can be instantiated by using the function MakeAnnouncement().

  • obj_timer: A simple timer that can execute a function after it ends. It can be instantiated by using the function ExecuteTimedAction().

  • obj_timer_transition: A child of obj_timer.

Clone this wiki locally