Skip to content

Commit 984fad1

Browse files
authored
Update README.md
1 parent a899c25 commit 984fad1

File tree

1 file changed

+71
-96
lines changed

1 file changed

+71
-96
lines changed

README.md

+71-96
Original file line numberDiff line numberDiff line change
@@ -18,26 +18,22 @@ https://github.com/fastrgv/RufasCube/releases/download/v4.3.1/kc01mar21.7z
1818

1919

2020

21-
# RufasCube -- using OpenAL Sound, OpenGLAda, FreeType Fonts (TTF).
2221

22+
# RufasCube using OpenAL audio, GLFW, FreeType Fonts (TTF)
2323

24-
## What's new (newest at top of this list):
24+
## Latest Revision:
2525

26-
27-
**ver 4.3.1 -- 02mar21**
28-
29-
* Created "live" autosolver for "cube" initiated at any time by the s-key.
30-
31-
* Added important guard statements to sound code.
32-
33-
34-
**ver 4.3.0 -- 9nov20**
26+
**ver 4.4.0 -- 03mar21**
27+
* Switch back to GLFW thin binding.
28+
* Created "live" autosolver initiated at any time by the (s)-key.
29+
* Undo shuffle is still available by the (=)-key.
3530
* Completely new sound system using OpenAL binding;
36-
* Simpler, identical code for 3 platforms; simpler build process.
37-
38-
39-
## See more revision history at end of file
31+
* Updated all glfw libs to v3.3.3.
32+
* Assured that OpenGL v3.3 is sufficient to run this app.
33+
* Improved font anti-aliasing thru corrected OpenGL code parameters.
34+
* Added restart=unscramble option.
4035

36+
### See complete revision history at end of file.
4137

4238

4339

@@ -59,46 +55,49 @@ Works on Macs running OS-X and PCs running Windows or GNU/Linux.
5955

6056

6157

62-
## required for running:
58+
6359
-------------------------------------------
60+
## required for running:
6461
* graphics card & driver that supports OpenGL version 3.3 or later;
65-
* Windows, GNU/Linux or a Mac running OS-X >= 10.13(sep2017);
66-
* cube_gnu,seven_gnu are the executable names on GNU/Linux.
67-
* cube_osx,seven_osx are the executables for Mac OS-X.
68-
* binw32\cube32.exe,binw32\seven32.exe are the executables for Windows.
62+
* Windows, GNU/Linux or a Mac running OSX >= 10.13 (sep2017);
63+
* cube_gnu, seven_gnu are the executable names on GNU/Linux.
64+
* cube_osx, seven_osx are the executables for Mac OSX.
65+
* cube.bat, seven.bat are for Windows.
6966

7067

71-
## Setup of cube, seven:
68+
## Setup of Rufascube:
7269
-------------------------------------------
7370

7471
Mac users see "osx-setup.txt".
7572
Windows users see "windows-setup.txt".
7673

7774
Unzip the archive. On Windows, 7z [www.7-zip.org] works well for this.
7875

76+
7977
Open a commandline terminal, and cd to the install directory.
80-
------------------------------------------------------------------
81-
Windows users can type "seven.bat" or "cube.bat".
8278

83-
------------------------------------------------------------------
84-
Linux users type "seven_gnu" or "cube_gnu" to start the game.
85-
You may also double click the icon for cube_gnu in file manager.
79+
--------------------------------------------------------------
80+
Windows users may type:
8681

87-
The distributed linux executables require glibc v2.14 or newer. That means if your distribution is older, it might not run, and you will need to recompile.
82+
* cube.bat
83+
or
84+
* seven.bat
8885

89-
------------------------------------------------------------------
86+
--------------------------------------------------------------
9087
Mac users note that this game may be initiated in two ways also. First, by opening a terminal, navigating to the install-directory, and typing "seven_osx" or "cube_osx" on the command line. Second by navigating to the installation directory in Finder and clicking the "seven.app" or "cube.app" icons named "RufasSeven" or "RufasCube".
9188
Note also that a 2-finger-swipe simulates the mouse wheel on a MacBook.
9289

93-
**Likewise for "seven"**
94-
EG: seven.bat or seven_osx or seven_gnu.
95-
96-
The install-directory should contain a subdirectory named "data". It contains shaders and sound data.
90+
--------------------------------------------------------------
91+
Linux users type:
9792

93+
* cube_gnu
94+
or
95+
* seven_gnu
9896

97+
The distributed linux executables require glibc v2.14 or newer. That means if your distribution is older, it might not run, and you will need to recompile.
9998

10099

101-
## Running rufascube(3x3x3):
100+
## Running Rufascube (3x3x3):
102101
-------------------------------------------
103102

104103
The primary RGB "skin" is based on an RGB color scheme whereby position along X,Y,Z axis determines RGB-color content.
@@ -133,19 +132,24 @@ More options (as indicated by the help screen):
133132
* (t)-key Toggles between the primary RGB colors and the currently selected alternate skin, without resetting puzzle;
134133
* (c)-key Cycles thru 4 alternate skins, but this resets puzzle;
135134
* 1-key, ... 5-key shuffles the cubelets...1:small-shuffle, 5:maximum-shuffle
136-
* (s)-key or (=)-key single-steps toward a solution at any time;
135+
* (s)-key single-steps toward a solution at any time;
136+
* (=)-key single-steps toward a solution by undoing the shuffle;
137137
* (i)-key or mousewheel zooms-In;
138138
* (o)-key or mousewheel zooms-Out;
139139
* (r)-key => reset to goal configuration (unscramble);
140140
* (m)-key => mute-toggle of sliding sounds;
141141

142142
The keys (up),(dn),(lf),(rt),(f),(b) are functional but they are only helpful/meaningful when the Coordinate Axes are in "standard" orientation, i.e. x is rightward, y is upward, and z is outward.
143143

144+
### hint #1
144145
Linux users note: the Windows executable files will likely run under WINE on linux.
145146

146-
### hint
147+
### hint #2
147148
You may find it easier to focus your attention on the 2D representation at the side of the screen.
148149

150+
### hint #3
151+
After a shuffle, the #steps to unshuffle shows at bottom of screen. At this point you can press the (s)-key to see the #steps to the live solver solution. If unshuffling is quicker, then continue pressing the (=)-key to unshuffle; otherwise continue pressing the (s)-key to solve.
152+
149153

150154

151155
## Running seven(2x2x2), differences:
@@ -157,8 +161,10 @@ As indicated on screen, (h) will show a help screen. The (c) key will toggle be
157161

158162
More options (as indicated by the help screen):
159163

160-
* 1-key, ... 5-key shuffles the cubelets
161-
* (s)-key or (=)-key solves the seven-cube ONLY if done immediately after a shuffle;
164+
* 1-key, ... 5-key shuffles the cubelets;
165+
* (c)-key Cycles thru 2 alternate skins;
166+
* (s)-key single-steps toward a solution at any time;
167+
* (=)-key single-steps toward a solution by undoing the shuffle;
162168
* (i)-key or mousewheel zooms-In;
163169
* (o)-key or mousewheel zooms-Out;
164170
* (m)-key => mute-toggle of sliding sounds;
@@ -167,6 +173,7 @@ More options (as indicated by the help screen):
167173

168174

169175

176+
170177
---------------------------------------------------------------------------
171178
Open source Ada developers are welcome to help improve or extend this game.
172179

@@ -176,27 +183,30 @@ Developer or not, send comments, suggestions or questions to:
176183

177184

178185

186+
187+
179188
## what is special about this project?
180189

181-
Uses the Ada programming language and fully modern OpenGL methods with textures, shaders, uniforms, sound and actual TTF-lettering. Achieving version 3.3 core profile contexts, it compiles and runs on Windows, GNU/Linux and Mac OS-X systems. This project serves as a testbed for learning the complexities of modern OpenGL, GLSL, FreeType fonts and the OpenGLAda binding.
190+
Uses the Ada programming language and fully modern OpenGL methods with textures, shaders, uniforms, sound and actual TTF-lettering. Achieving version 3.3 core profile contexts, it compiles and runs on Windows, GNU/Linux and Mac OS-X systems. This project serves as a testbed for learning the complexities of modern OpenGL, GLSL, FreeType fonts.
182191

183-
Focusing on portability, transparency, and open source freedom, this project relies exclusively on F.O.S.S. tools: the OpenGLAda binding from Felix Krause, a FreeTypeAda binding by Felix Krause, a PNG reader by Stephen Sanguine, OpenAL-Audio with a custom binding, and a GNAT compiler.
192+
Focusing on portability, transparency, and open source freedom, this project relies exclusively on F.O.S.S. tools: the GLFW binding is custom, a FreeTypeAda binding by Felix Krause, a PNG reader by Stephen Sanguine, OpenAL-Audio with a custom binding, and a GNAT compiler.
184193

185194
The linux-build is among very few modern OpenGL games where a single pre-built executable can run on multiple Linux distros without 3rd party add-ons!
186195

187-
Finally, the new live autosolver for "cube" is quite sophisticated. It allows invocation at any time and can be used to get a few steps closer, or all the way to a solution, no matter the current state. It shuts down whenever you feel more confident and begin making moves on your own. Solutions are quickly found but may not be minimal in highly shuffled puzzles.
196+
Finally, the new "live" autosolver is quite sophisticated. It allows invocation at any time and can be used to get a few steps closer, or all the way to a solution, no matter the current state. It shuts down whenever you feel more confident and begin making moves on your own. Solutions are quickly found but may not always be minimal.
197+
188198

189199

190-
## Open Source libraries required for building:
191200
-------------------------------------------
192-
* systems: Windows, OS-X or GNU/Linux
193-
* a recent gnat compiler for Windows or Linux; gnu-ada for OS-X;
194-
* the included directories contain required Ada interfaces;
195-
* see example scripts;
201+
## Using the build scripts
202+
* systems: Windows, OSX or GNU/Linux
203+
* Xcode g++ compiler, if using OSX;
204+
* a recent gnat compiler;
196205

197206

198207
## Build instructions for RufasCube or Seven:
199208

209+
200210
In the following, the "appName" can be either "cube" or "seven".
201211

202212
Three [pre-compiled] binary executables are provided, one for gnu/linux, one for OS-X, and one for Windows. The linux binary, cube_gnu, is intended to run in the presence of the directory "libs", which contains some dynamically loaded libraries that can be, but need not be present on a target system:
@@ -228,8 +238,6 @@ sudo ln -s libGL.so.1 libGL.so (and enter the admin password)
228238

229239
whence the linker should now be able to find what it wants. But if there is more than one file libGL.so present on your system, make sure you use the best one; i.e. the one that uses your accelerated-graphic-driver.
230240

231-
232-
233241
------------------------
234242
## License:
235243

@@ -252,7 +260,9 @@ RufasCube is covered by the GNU GPL v3 as indicated in the sources:
252260
You may read the full text of the GNU General Public License
253261
at <http://www.gnu.org/licenses/>.
254262

255-
## Media Files for RufasCube,Seven:
263+
264+
265+
## Media Files for RufasCube:
256266

257267

258268
### General Note
@@ -261,73 +271,38 @@ The particular choice of sound files delivered are not essential to the function
261271
### SoundFiles
262272
Sounds are from freesound.org and is covered by the Creative Commons Attribution noncommercial license documented in the accompanying file creativeCommons.txt.
263273

264-
265-
### Bindings & Utilities
266-
267-
Thanks to Dmitry Kazakov, Felix Krause, and Stephen Sanguine.
274+
### ImageFiles (*.png)
275+
For text-textures were created using gimp and are also covered by the GNU GPL v3 license.
268276

269277

270278

271279
## Acknowledgement:
272280
In february of 2015 I discovered that RufasCube could be considered a software implementation of a Hungarian "Vadasz" 3x3x3 cube, or another similar puzzle called an iQube, whose goals are an all green or all red outer color. Peter's Black Hole and Magic Jack are still other incarnations.
273281

274-
I discovered on 10feb2015 that Seven seems to be a software implementation of a Hungarian "Vadasz" 2x2x2 cube.
275-
276-
277282
For further iqube analysis see:
278283
http://www.jaapsch.net/puzzles/blackhole.htm
279284

285+
I also discovered that the 2x2x2 cube seems to be a software implementation of a Hungarian "Vadasz" cube.
286+
280287
----------------------------------------------
281288
## Best Download Site for all my games:
282289
https://github.com/fastrgv?tab=repositories
283290

284291

285292
## Revision History:
286293

287-
**ver 4.2.4 -- 26oct20**
288-
* Completely removed sfml-audio sound;
289-
* Far simpler sound system is now being used.
290294

291-
**ver 4.2.3 -- 18sep20**
292-
* Updated all glfw libs to v3.3.2.
293-
* Restored 8th [unseen] cubelet when seven is solved in RGB mode.
294-
* Added Windows launchers "cube.bat"/"seven.bat".
295+
**ver 4.x.x -- 2020**
296+
* Improved help screen.
297+
* Added m-key-toggle to mute move-sounds.
298+
* Simpler, identical code for 3 platforms; simpler build process.
299+
* Added 2x2x2 cube called "Seven", to delivery.
300+
* Elliminated command line parameters. Allows in-game-switching between alternate skins and the primary RGB coloring. Thusly, all variants may be played as a Mac-Bundle on OSX.
295301

296-
**ver 4.2.2 -- 06jun20**
297-
* Fixed sound errors during shuffle.
298-
* Added "seven", a similar but smaller, easier cubic puzzle.
299302

300-
**ver 4.2.1 -- 18apr20**
301-
* Assured that OpenGL v3.3 is sufficient to run this app.
302-
* Added m-key-toggle to mute move-sounds.
303+
**ver 2.5 -- 1dec15**
303304

304-
**ver 4.2.0 -- 17jan20**
305-
* Improved font anti-aliasing thru corrected OpenGL code parameters.
306-
* Added restart=unscramble option.
307-
* Improved help screen.
308-
* Elliminated command line parameters.
309-
* Now allow in-game-switching between 4 alternate skins and the primary RGB coloring. Thusly, all variants may be played as a Mac-Bundle on OSX.
310-
311-
**ver 4.1.9 -- 14jan20**
312-
* Added Restart option;
313-
* Corrected logic error during solve.
314-
* Enhanced portability of linux version game.
315-
* Updated to GLFW v3.3.1 (released 1jan2020).
316-
317-
**ver 4.1.8 -- 04jan20**
318-
* Improved coding in textman.adb to reduce loop contents, remove duplicates.
319-
* Improved help screen, key assignments.
320-
* Improved build scripts for MsWin.
321-
* Moved code into ./src/, along with ./adabindings/.
322-
323-
**ver 4.1.7 -- 26nov19**
324-
* Repaired a library problem with GNU/Linux build that limited portability.
325-
* No problems with Mac/OSX or M.S. Windows builds.
326-
327-
**ver 4.1.6 -- 11mar19**
328-
* Added closeWindow handler;
329-
* Upgraded to OpenGLAda-0.7.0;
330-
* Font now resized per zoom level;
331-
* High contrast 3D fonts used now;
305+
* First Ada version.
332306

307+
------------------------------------------------
333308

0 commit comments

Comments
 (0)