Resource icon

Mirrormagic 1.14

Discussion thread: https://gbatemp.net/threads/release-rocksndiamonds-and-mirrormagic-games-for-switch.521671/

Description
======
This my Switch port of Mirrormagic.

**Mirrormagic** is a game by Holger Schemel in the tradition of Deflektor and Mindbender. You guide a laser beam by adjusting mirrors before the time limit runs out.

mm_new_a.jpg


2018-05-20-215021.jpg


More Screenshots:
mm_new_c.jpg mm_new_d.jpg 2018-05-20-215046.jpg

More information about the game can be found at the homepages for the Windows versions:

http://www.artsoft.org/mirrormagic

Thanks
======
Thanks to my supporters on Patreon: Andyways, CountDuckula, Greg Gibson, Jesse Harlin, Özgür Karter, Matthew Machnee, and RadicalR.

Thanks @frangarcj for help with optimizing the rendering.

Thanks to Holger Schemel for making a great and portable game.

Thanks to the many devs of VitaSDK for a great development environment.

Thanks to all the devs of DevKitPro for Switch for a great development suite.

Installation (Switch)
=====

- extract `mirrormagic_data.zip` to the folder `switch/` in the root of your sd card. You should have folders such as `switch/mirrormagic/levels` and more. Make sure none of the folders or files has the "archive" flag set after copying.

- use nsp injection to start the game, otherwise the on-screen keyboard will not work. On SX OS, you can do this by holding down R while launching any installed game to make hbmenu appear.

Vita/Switch-Exclusive Features
=======
- game controller mapping including analog joystick mouse controls
- front touch controls with left/right mouse click and drag and drop gestures
- the game runs smooth at the same speed as the desktop versions
- additional level package with thousands of levels as separate download (see 'More Levels')
- auto-hide mouse cursor when using the dpad
- easily switch player focus in multiplayer games using r+triangle and r+square
- 60 fps mode for smooth scrolling and motion in levels where the system can achieve stable 60 frames per second.
- text entry with Vita/Switch touch keyboard, no physical keyboard or mouse required

Gamepad Controls (Switch)
======
Dpad or left stick = move player and navigate menus
right stick = move mouse pointer
B = primary button (+ direction for snap action or turning mirrors, also 'ok' in menu)
A = secondary button (drop dynamite)
Y or L = left mouse button
X or R = right mouse button
Minus = quit (escape key, also cancels requesters)
Plus = pause (space key)
R+X = set focus to next player (ALL->1->2->3->4)
R+Y = set player focus to previous player (ALL<-1<-2<-3<-4)

Touch Controls
=======
Note: for multi-touch gestures, the fingers have to be far enough apart from each other, so that the Vita will not erroneously recognize them as a single finger. Otherwise the pointer will jump around.

Single short tap = left mouse click
Single short tap while holding a second finger down = right mouse click
Single finger drag = move the mouse pointer
Dual finger drag = drag'n'drop (left mouse button is held down)
Three finger drag = drag'n'drop (right mouse button is held down)

Notes
=====
- It is possible to get a wrong screen size on Switch by messing with the options. The solution is to navigate to setup->graphics and enable Fullscreen mode and set Window size to 100%, then select "save & exit"

- To load new level sets, go to the level number selection in the menu, and press X (B on Switch). A new screen should open that shows a few levels. Go to the parent dir and into the folder Classic Games. There are many more levels already included in that folder.

- Sometimes when loading a levelset after loading other level sets one after the other, the game runs out of memory and quits. This is fixed by simply restarting the game and loading the levelset again.

- To answer the OK/Cancel dialogs in the game, press select (minus on Switch) to cancel (this is escape), or X (B on Switch) for OK.

- Similarly, you can install new level sets for Mirrormagic by copying them into ux0:/data/mirrormagic/levels on Vita, and /switch/mirrormagic/levels on Switch.

- If you mess up some options and want to reset to default, you can delete the folder 'ux0:/data/rocksndiamonds/userdata' and/or 'ux0:/data/mirrormagic/userdata'. On Switch, the folders are '/switch/rocksndiamonds/userdata' and '/switch/mirrormagic/userdata'.

Build Instructions
=====
- clone the repository, then
````
cd rocksndiamonds
````
Then use
````
make vitarocks
````
or
````
make switchrocks
````
for Rocks'n'Diamonds, and
````
make vitamirror
````
or
````
make switchmirror
````
for Mirrormagic.

You need the latest SDL2 Vita library from 05-23-2018 or later for this to work. The latest SDL2 library can be downloaded by updating your vitasdk, or here: https://dl.vitasdk.org
Change log
CHANGELOG
=====
1.14 (Switch only)

- on Switch, add 9.0.0 support
- on Switch, fix .ogg audio playback
- on Switch, fix pointer getting stuck when controlled with physical USB mouse

1.13 (Switch only)

- on Switch, fix automatically turning on/off VSync on selecting/deselecting Game Speed: 60 fps mode

1.12

- fix crash when loading levelsets that change screenmode, such as Supaplex (Original)
- on Switch, fix slow-down when pressing home button
- on Switch, use 1080p resolution when docked


1.11 (Switch only)

- On Switch, implement on-screen keyboard (only works when launching with nsp injection)

1.10 (Switch only)

- fixed problem on Switch with too-large screen in docked mode when loading saved config. The workaround was to change window size to 100% and save again. Now Fullscreen mode should be set to "On" and then this problem does not appear anymore.

1.9switch

- added Switch port

1.9

- add '60 fps' game speed setting for perfectly smooth motion in some levels on the Vita. It works well with the bundled Emerald Mine levelsets. This mode is 20% faster than the default setting 'normal.'

- removed slow-down when playing levelsets that use the Emerald Mine engine with default graphics.

1.8

- map set player focus to r+triangle and r+square for multiplayer games on VitaTV (up to 4 players)

1.7

- enabled mp3 music support, used by some custom levelsets

1.6

- support editing multiline textfields in level editor

1.5

- optimized rendering for large speed improvement (1.5x), noticable mostly on the very fast game speed setting (thanks @FrangarCJ for the help).
- fixed sticky touch inputs and other issues with touch controls

1.4

- fixed screen centering
- fixed screen scaling so it works for all sizes

1.3

- Mirrormagic as separate app. It uses the same codebase as Rocks'n'Diamonds.
- Smoother mouse pointer motion.

1.2

- Significant speedup by drawing directly to texture pixels. Setting game speed to 'very fast' actually makes it faster now.

1.1

- implemented mouse pointer controls via right analog stick and front touch. The level editor is fully usable now.
- improved picture quality for sharper graphics

1.0

- fixed name entry using touch keyboard. It works without any return or backspace keypresses now.
- fixed graphics corruption of some cartoons on menu screen (updated data.zip)

0.9

- initial Vita release
  • mm_new_a.jpg
    mm_new_a.jpg
    127.8 KB · Views: 437
  • 2018-05-20-215021.jpg
    2018-05-20-215021.jpg
    154.1 KB · Views: 446
  • mm_new_c.jpg
    mm_new_c.jpg
    107.4 KB · Views: 334
  • mm_new_d.jpg
    mm_new_d.jpg
    170.4 KB · Views: 293
  • 2018-05-20-215046.jpg
    2018-05-20-215046.jpg
    87.1 KB · Views: 288
  • Like
Reactions: lordelan
Author
rsn8887
Downloads
436
Views
825
First release
Last update
Rating
5.00 star(s) 1 ratings

More resources from rsn8887

Latest updates

  1. Update to v1.14

    1.14 on Switch, add 9.0.0 support on Switch, fix .ogg audio playback on Switch, fix pointer...
General chit-chat
Help Users
  • No one is chatting at the moment.
  • TwoSpikedHands @ TwoSpikedHands:
    I just found out that the EU version is better in literally every way, better sound quality, better lighting, and there's even a patch someone made to make the text look nicer
  • TwoSpikedHands @ TwoSpikedHands:
    Do I restart now using what i've learned on the EU version since it's a better overall experience? or do I continue with the US version since that is what ive been using, and if someone decides to play my hack, it would most likely be that version?
  • Sicklyboy @ Sicklyboy:
    @TwoSpikedHands, I'll preface this with the fact that I know nothing about the game, but, I think it depends on what your goals are. Are you trying to make a definitive version of the game? You may want to refocus your efforts on the EU version then. Or, are you trying to make a better US version? In which case, the only way to make a better US version is to keep on plugging away at that one ;)
  • Sicklyboy @ Sicklyboy:
    I'm not familiar with the technicalities of the differences between the two versions, but I'm wondering if at least some of those differences are things that you could port over to the US version in your patch without having to include copyrighted assets from the EU version
  • TwoSpikedHands @ TwoSpikedHands:
    @Sicklyboy I am wanting to fully change the game and bend it to my will lol. I would like to eventually have the ability to add more characters, enemies, even have a completely different story if i wanted. I already have the ability to change the tilemaps in the US version, so I can basically make my own map and warp to it in game - so I'm pretty far into it!
  • TwoSpikedHands @ TwoSpikedHands:
    I really would like to make a hack that I would enjoy playing, and maybe other people would too. swapping to the EU version would also mean my US friends could not legally play it
  • TwoSpikedHands @ TwoSpikedHands:
    I am definitely considering porting over some of the EU features without using the actual ROM itself, tbh that would probably be the best way to go about it... but i'm sad that the voice acting is so.... not good on the US version. May not be a way around that though
  • TwoSpikedHands @ TwoSpikedHands:
    I appreciate the insight!
  • The Real Jdbye @ The Real Jdbye:
    @TwoSpikedHands just switch, all the knowledge you learned still applies and most of the code and assets should be the same anyway
  • The Real Jdbye @ The Real Jdbye:
    and realistically they wouldn't

    be able to play it legally anyway since they need a ROM and they probably don't have the means to dump it themselves
  • The Real Jdbye @ The Real Jdbye:
    why the shit does the shitbox randomly insert newlines in my messages
  • Veho @ Veho:
    It does that when I edit a post.
  • Veho @ Veho:
    It inserts a newline in a random spot.
  • The Real Jdbye @ The Real Jdbye:
    never had that i don't think
  • Karma177 @ Karma177:
    do y'all think having an sd card that has a write speed of 700kb/s is a bad idea?
    trying to restore emunand rn but it's taking ages... (also when I finished the first time hekate decided to delete all my fucking files :wacko:)
  • The Real Jdbye @ The Real Jdbye:
    @Karma177 that sd card is 100% faulty so yes, its a bad idea
  • The Real Jdbye @ The Real Jdbye:
    even the slowest non-sdhc sd cards are a few MB/s
  • Karma177 @ Karma177:
    @The Real Jdbye it hasn't given me any error trying to write things on it so I don't really think it's faulty (pasted 40/50gb+ folders and no write errors)
  • DinohScene @ DinohScene:
    run h2testw on it
    +1
  • DinohScene @ DinohScene:
    when SD cards/microSD write speeds drop below a meg a sec, they're usually on the verge of dying
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Samsung SD format can sometimes fix them too
  • Purple_Heart @ Purple_Heart:
    yes looks like an faulty sd
  • Purple_Heart @ Purple_Heart:
    @Psionic Roshambo i may try that with my dead sd cards
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    It's always worth a shot
    Psionic Roshambo @ Psionic Roshambo: It's always worth a shot