Hacking [RELEASE] Rocks'n'Diamonds Vita

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,619
Country
United States
Download:
https://www.github.com/rsn8887/rocksndiamonds/releases/latest

Note: On Switch, the "Game Speed: 60 fps" currently requires a save and restart for perfectly smooth scrolling, because VSync is only enabled/disabled on startup.

Recent Changes
======
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

Description
======
These are my Vita ports of Rocks'n'Diamonds and Mirrormagic.

**Rocks'n'Diamonds** is a Boulderdash type game by Holger Schemel with many unique features, such as the ability to play remade levels from Boulderdash, Emerald Mine and Supaplex and many more levels.

rnd_new_a.jpg


**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


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

http://www.artsoft.org/2018/04/10/1-rocksndiamonds-4-1-0-0-released/
http://www.artsoft.org/mirrormagic

And the official manual for Rocks'n'Diamonds is here:

https://www.artsoft.org/rocksndiamonds/manual/index.html

Thanks
======
Thanks to my awesome supporters on Patreon, especially Andyways, CountDuckula, and Sean Ritzo.

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.

Installation
=====

- install the vpks

- extract contents of rocksndiamonds_data.zip and mirrormagic_data.zip and copy them to your Vita's ux0:/data folder. You should have folders ux0:/data/rocksndiamonds and ux0:/data/mirrormagic on your Vita with the files in them.

Features
=======
- game controller mapping including analog joystick mouse controls
- front touch controls with left/right mouse click gestures
- text entry with Vita touch keyboard, no physical keyboard or mouse required
- 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

Gamepad Controls
======
Dpad or left stick = move player and navigate menus
right stick = move mouse pointer
Cross = primary button (+ direction for snap action or turning mirrors, also 'ok' in menu)
Circle = secondary button (drop dynamite)
Square / L = left mouse button
Triangle / R = right mouse button
Select = quit (escape key, also cancels requesters)
Start = pause (space key)
R+Triangle = set focus to next player (ALL->1->2->3->4)
R+Square = 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)

More Levels for Rocks'n'Diamonds
=========

- More than 50,000 additional Rocks'n'Diamonds levels can be downloaded here: http://www.artsoft.org/rocksndiamonds/levels/

- I made a single easy-to-install zip [More_Levels_v2.zip](https://mega.nz/#!tdBhDRrZ!t4XrrCyXzCSGjcgFjvh-Sm1MhGErcsWg3UOjUZCKvZ4) (~80 MB). It contains selected additional levels from the above site and is available here:
https://mega.nz/#!tdBhDRrZ!t4XrrCyXzCSGjcgFjvh-Sm1MhGErcsWg3UOjUZCKvZ4

- Just download, unzip, and transfer to your Vita, so that you have a subfolder ux0:/data/rocksndiamonds/levels/More_Levels.

- FTP transfer of levelsets has to be done using binary transfer mode, not Auto or ASCII . Otherwise some levels will be treated as ASCII with mangled line endings and won't work. This was verified with the Emerald_Mine_Club_original_1 levels and FileZilla FTP.

Notes
=====
- To load new level sets, go to the level number select in the menu, and press x. 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 to cancel (select is escape), or x for OK.

- You can install new level sets for Rocks'n'Diamonds by copying them into ux0:/data/rocksndiamonds/levels. See the official manual: https://www.artsoft.org/rocksndiamonds/manual/manual.html#

- You can install new level sets for Mirrormagic by copying them into ux0:/data/mirrormagic/levels.

- 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'

- For multiplayer team mode in Rocks'n'Diamonds to work on VitaTV, enable it via Setup->Game & Menu->Team-Mode (Multiplayer)->on. You also have to find make a level that has multiple players. r+square and r+triangle can be used in-game to change focus between players, see Game Controls. All controllers have to be paired before launching the app, otherwise they will not be recognized by the game.

Build Instructions
=====
- clone the repository, then
````
cd rocksndiamonds
make vitarocks
````
for Rocks'n'Diamonds, or
````
cd rocksndiamonds
make vitamirror
````
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

CHANGELOG
=====
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.9

- added '60 fps' game speed setting for perfectly smooth motion in some levels. 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
 
Last edited by rsn8887,

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,619
Country
United States
New version,
https://www.github.com/rsn8887/rocksndiamonds/releases/latest

Changes:

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

Level editor works now, with right analog and touch controls, and square/triangle or l/r-triggers for mouse buttons.

rocksimage_c.jpg
 
Last edited by rsn8887,
  • Like
Reactions: Count Duckula

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,619
Country
United States
new version, original post updated.
Changes:
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.
 

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,619
Country
United States
new version, op updated:
1.5

- optimized rendering for large speed improvement by a factor of 1.5, noticable mostly on the very fast game speed setting (thanks @frangarcj for the help).
- fixed sticky touch inputs and other issues with touch controls
 
  • Like
Reactions: Count Duckula

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,619
Country
United States
New version

1.8

- Easily switch focus from all players to any player who wants to wonder off, and back. Switch with R+Triangle (next) and R+Square (previous). Useful for multiplayer on VitaTV.

Multiplayer.png
 

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,619
Country
United States
New version with 60 fps mode:
1.9

- added '60 fps' game speed setting for perfectly smooth motion in some levels. 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.

60fps.jpg
 

swit

Member
Newcomer
Joined
Jan 21, 2019
Messages
17
Trophies
0
Age
34
XP
93
Country
Poland
I can't get Supaplex original level set from your More_Levels_v2.zip package to work. The app crashes after choosing:
More Levels -> Supaplex -> Supaplex (Original)
Starting the app again (with now changed default levelset) it now crashes every time during resource loading. Here is stderr.txt content:
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'RocksScreen.png'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'RocksDoor.png'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'RocksDoor.png'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'RocksDoor.png'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'RocksDoor.png'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'RocksDoor.png'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'RocksDoor.png'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'RocksDoor.png'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'RocksDoor.png'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'RocksDoor.png'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'RocksDoor.png'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'RocksDoor.png'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'RocksDoor.png'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'RocksDoor.png'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'door.wav'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'door.wav'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: trying default artwork file 'halloffame.wav'
rocksndiamonds: warning: cannot find artwork file '[NONE]'
rocksndiamonds: warning: SDL_CreateWindow() failed: Out of memory
removing userdata dir fixes it but the problem comes back each time I try to load Supaplex (Original) levelset from More_Levels. The resource package is fine considering that I can't reproduce this on PC.

edit: the same problem occurs after removing userdata, starting the app and selecting:
Setup -> Custom Artwork -> Supaplex (Original) / Supaplex (Other sets)
 
Last edited by swit,

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,619
Country
United States
This levelset is doing something strange compared to the almost identical one in "Classic Original Games/Supaplex": It reverts the whole GUI and window size to some other layout. It looks like the layout of Mirrormagic, with buttons on the bottom and no menu on the right hand side of the screen.
 

swit

Member
Newcomer
Joined
Jan 21, 2019
Messages
17
Trophies
0
Age
34
XP
93
Country
Poland
tested, same crash (C2-12828-1).
I tested some Supaplex levels, but it might have been only the ones that came with Rocks'n'Diamonds.
no problem with levels included with Rocks'n'Diamonds. The reason why I use vanilla Supaplex levelpack but from "More Levels" package is the different looking UI. Notice that the sp_panel_playing and sp_panel_tape art is at the bottom instead of right side when you use either "gfx_supaplex_original" or "gfx_supaplex_other" directories.

edit: ninjad :) As a veteran Supaplex player I can't stand those panels on the right side :P
 
Last edited by swit,

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,619
Country
United States
Since this layout works in Mirrormagic there's definitely an easy fix for the bug you found. I just don't have my Vita atm to test.

I made another test version, if you want to give it a shot:
https://mega.nz/#!JNxAHKIY!hgdZToDEYM-Yvi5QVOS1Mv0g9WS3PczTVedtYJNsl4U

If you find your conf/setup.conf textfile or however it is called, you might try editing the entries to say:
default_window_width: 640
default_window_height: 440
window_scaling_percent: 120

However, then it will probably ONLY work if Supaplex (Original) is the default levelset, e.g. the opposite of what you are experiencing now.
 

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,619
Country
United States
Ok I think I fixed the bug, here is a fixed version to test:
https://mega.nz/#!lApAkIYD!tvCnmHnXnmn3gXr-q5RdpVsm7SEaTR-bGkjO9S_at8I

Note, there is some gfx garbage on the bottom left screen when playing Supaplex (Original). It doesn't affect gameplay. I am not sure why it is there. I might ask Holger Schemel if he has an idea about it. It could be an SDL issue, too.
 

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,619
Country
United States
New release 1.12:
https://github.com/rsn8887/rocksndiamonds/releases/latest


Note: On Switch, the "Game Speed: 60 fps" currently requires a save and restart for perfectly smooth scrolling, because VSync is only enabled/disabled on startup.

Recent Changes
======
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
 

swit

Member
Newcomer
Joined
Jan 21, 2019
Messages
17
Trophies
0
Age
34
XP
93
Country
Poland
nice, works without crashes! Lovin this homebrew. The only problems I've found after playing few Supaplex (original) levels are:
- the mp3 music doesn't loop, so after 5 minutes "More_Levels/Supaplex/mus_supaplex_original/music/supaplex.mp3" can no longer be heard - no problems in PC version
- more details about the stuff you've mentioned: at the start of the game and when you finish the level there is original "graphics/gfx_classic/RocksDoor.png" animation being played (those gates opening and closing up) which should not be the case in horizontal setup.

edit: I've changed the mp3 file into this one and after doing so I can no longer reproduce the above mentioned music looping issue. https://www.dropbox.com/s/qhvqtipnfhgedhs/supaplex.mp3?dl=1
 
Last edited by swit,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: @CameronCataclysm...