49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
# mkxp extenions for Dancing Dragon Games / Symphony of War
|
|
|
|
## Graphics.resize_window(width, height, recenter)
|
|
width: Integer
|
|
height: Integer
|
|
recenter: Boolean, false by default
|
|
returns: nil
|
|
|
|
Resizes the game window to width x height. If `recenter` is **true**, also center the window on the current screen.
|
|
|
|
## Bitmap.write_to_png(filename)
|
|
filename: String
|
|
returns: self
|
|
|
|
Writes the contents of the bitmap to `filename`, in PNG format.
|
|
|
|
## Bitmap.v_flip() / .h_flip()
|
|
returns: nil
|
|
|
|
Flips the bitmap image vertically / horizontally.
|
|
|
|
## Input.scroll_v()
|
|
returns: Integer
|
|
|
|
Returns the cumulative amount of scroll events (negative if down, positive if up) inbetween the current and last `Input.update` call.
|
|
|
|
## Input::MOUSEX1 / ::MOUSEX2
|
|
|
|
These two constants representing two extra mouse buttons can be passed to the familiar #press?/#trigger?/#repeat? functions.
|
|
|
|
## MKXP.data_directory()
|
|
returns: String
|
|
|
|
Provides a PC-user-dependant, game-specific path to a writable directory, intended for save states, configuration and similar.
|
|
In `mkxp.conf`, both `dataPathOrg` and `dataPathApp` keys need to be set, otherwise it returns a generic directory shared by all mkxp games. It is recommended (though not required) to not put any spaces in the config strings.
|
|
Real life example:
|
|
```
|
|
dataPathOrg=dancingdragon
|
|
dataPathApp=skyborn
|
|
```
|
|
|
|
## MKXP.mouse_in_window()
|
|
returns: Boolean
|
|
|
|
Returns true if the mouse cursor is currently within the game window, false otherwise.
|
|
|
|
## Arbitrary key states
|
|
Use `MKXP.raw_key_states` to get the current byte array of keystates, then call `#getbyte(scancode)` with `scancode` being one of the constants defined in `SDL_scancode_map.rb`. **0** means the key is released, **1** that it is pressed.
|