Update: Riven X 0.5 is now available.
There it is at last, a new binary release of Riven X. This new version is of course far beyond the previous release. Some highlights:
- Basic hotspots are working (mouse up and mouse down), which means you can walk around the islands, flip switches, push buttons, and so on.
- Major improvements in movie and audio rendering. Ambient sounds now fade in and fade out correctly.
- Game variables are implemented and have sane default values, which means simple puzzles should be working correctly.
Of course, there’s still a lot of work left to be done. CD media is still not supported, transitions are not rendered, there are a lot of stability and performance issues left to address, many opcodes and all external functions are missing, water animation is not implemented, saving and loading games are not implemented and full-screen is not available yet.
In addition, this new release comes with Sparkle, the popular technology for self-updating applications. All development builds are set to check a development appcast which gets automatically updated daily with a fresh build from Subversion. In short, Riven X will update itself to the latest revision automatically every day. I hope this will help get new versions into the hands of testers more rapidly.
I’ll be preparing a short series of posts about useful tricks for finding problems and using the debug console in the coming days. In the meantime, enjoy this new release.
Download Riven X 0.4 (4.60 MB). A permanent link is available in the blog’s sidebar.
-
First: many thanks for your efforts bringing this back!

I dl:ed version 0.4 and copied the Data folder and the other needed .MHK-files from the CD version of Riven to the proper place relative Riven X app.
However when started I can´t get any visual result; no pics, no movies etc. I do get the ambient sound from some cards. When I start Riven X from inside the wrapper/application folder I get response from the terminal window it can´t find the 3ivx library. I tried briefly to find such files via Fink but nothing found.
My settings is OS 10.4.11 with Xcode installed on a G4 with an ATI Radeon 9000Pro.
Sorry if this is the wrong place for this but I get kind of startled with this progress.
-
Thanks for the correction, but the message server marks my information as spam:
‘Submission rejected as potential spam (Akismet says content is spam)’ Doesn´t matter if included in message or attached… -
I´m sorry but Akismet doesn´t like my text at all. Also having big trouble finding where to sign up in order to make these tickets on Trac. Alas there´s some result/tickets of my tryings but none of my text from the Terminal, I´m sorry.
-
Hi Thanks for updating this
I have been wanting to play Riven again and cant, however I dont seem to be able to get as far running this on my G5 as others have on their machines, when i run it I get a pop up window saying cant find t_data1.MHK humm there is no such file and if I rename the t_Data file it just asks for another file it cant find… here is the terminal report
[cpc3-grim1-0-0-cust631:~] jamesjac% /Riven\ Folder/Riven\ X.app/Contents/MacOS/Riven\ X
[Main] : I am the first and the last, the alpha and the omega, the beginning and the end.
[Main] : Riven X version 0.4 (252M)
[Main] : setting variable adomecombo to -2
[Main] : setting variable pcorrectorder to -2
[Main] : setting variable tcorrectorder to -2
[Main] : setting variable jiconcorrectorder to -2
[Main] : setting variable pcorrectorder to -2
[Main] : no removable data store could be found
2008-01-26 15:59:38.960 Riven X[7582] CFLog (21): Error loading /Library/QuickTime/LiveType.component/Contents/MacOS/LiveType: error code 4, error number 0 (Library not loaded: /System/Library/PrivateFrameworks/LiveType.framework/Versions/A/LiveType
Referenced from: /Library/QuickTime/LiveType.component/Contents/MacOS/LiveType
Reason: image not found)
{sourceLimit = 64 }
[Main] : load context: 0×1856000
[Main] : render context: 0×1884800
[Main] : updating display colorspace
[Main] : preparing OpenGL
[Main] : sending RXOpenGLDidReshape notification
[Main] : reshaping OpenGL
[Main] : arming
[Main] : allocated texture: 1 (1024×1024)
[Stack] {aspit}: stack entry card is 1
[Stack] : new stack initialized: {aspit}
[Main] : responding to a RXStackDidLoadNotification notification by loading the entry card of stack aspit[Stack] {aspit 1}: initializing card
[Stack] {aspit 1}: hotspot record 0: index=1, blst_id=16, zip=0
[Stack] {aspit 1}: hotspot record 1: index=2, blst_id=22, zip=0
[Stack] : allocated texture: 33 (608×392)
[Stack] {aspit 1}: initialized card[Stack] : beginning card transition: {from: (null), to: {aspit 1}}
[Script] {aspit 1}: preparing for rendering
[Script] {aspit 1}: activating plst record at index 1
[Script] {aspit 1}: swap render state request ignored because automatic swapping is disabled
[Script] {aspit 1}: enabling automatic render list swaps
[Script] {aspit 1}: WARNING: calling external 0 (xastartupbtnhide) not implemented. arguments: {}
[Script] {aspit 1}: swapping render states
[Script] {aspit 1}: starting rendering
[Main] : mouseEntered in {ID=16, frame={{547, 187}, {71, 15}}}
[Main] : mouseExited from {ID=16, frame={{547, 187}, {71, 15}}}
[Main] : mouseEntered in {ID=16, frame={{547, 187}, {71, 15}}}
[Main] : mouseExited from {ID=16, frame={{547, 187}, {71, 15}}}
[Main] : mouseEntered in {ID=16, frame={{547, 187}, {71, 15}}}
[Main] : mouseExited from {ID=16, frame={{547, 187}, {71, 15}}}
[Main] : mouseEntered in {ID=16, frame={{547, 187}, {71, 15}}}
[Main] : mouseExited from {ID=16, frame={{547, 187}, {71, 15}}}
[Main] : mouseEntered in {ID=16, frame={{547, 187}, {71, 15}}}
[Main] : mouseExited from {ID=16, frame={{547, 187}, {71, 15}}}
[Main] : mouseEntered in {ID=22, frame={{548, 216}, {40, 15}}}
[Main] : mouseExited from {ID=22, frame={{548, 216}, {40, 15}}}
[Main] : mouseEntered in {ID=22, frame={{548, 216}, {40, 15}}}
[Main] : mouseExited from {ID=22, frame={{548, 216}, {40, 15}}}
[Main] : mouseEntered in {ID=16, frame={{547, 187}, {71, 15}}}
[Main] : mouseExited from {ID=16, frame={{547, 187}, {71, 15}}}
[Main] : mouseEntered in {ID=16, frame={{547, 187}, {71, 15}}}
[Script] {aspit 1}: mouseDown in {ID=16, frame={{547, 187}, {71, 15}}}
[Script] {aspit 1}: WARNING: scheduling transition {type = RXTransitionDissolve} not implemented
[Script] {aspit 1}: going to card ID 2[Stack] {aspit 2}: initializing card
[Stack] : allocated texture: 34 (608×392)
[Stack] {aspit 2}: initialized card[Stack] : beginning card transition: {from: {aspit 1}, to: {aspit 2}}
[Stack] {tspit}: exception thrown during initialization: RXArchiveManager could not find “t_Data1.MHK”.
[Stack] {tspit}: deallocating
[Stack] {tspit}: tearing down
[Stack] : stack creation failed: RXArchiveManager could not find “t_Data1.MHK”.
[Script] {aspit 1}: going to stack tspit on card ID 0
[Stack] {tspit}: exception thrown during initialization: RXArchiveManager could not find “t_Data1.MHK”.
[Stack] {tspit}: deallocating
[Stack] {tspit}: tearing down
[Stack] : stack creation failed: RXArchiveManager could not find “t_Data1.MHK”.
[Script] {aspit 1}: WARNING: opcode 12 not implemented. arguments: {2}
[Script] {aspit 1}: stopping rendering
[Script] {aspit 2}: preparing for rendering
[Script] {aspit 2}: activating plst record at index 1
[Script] {aspit 2}: swap render state request ignored because automatic swapping is disabled
[Script] {aspit 2}: enabling automatic render list swaps
[Stack] : aborting _switchCardWithSimpleDescriptor because stack tspit could not be loaded
[Script] {aspit 2}: swapping render states
[Script] {aspit 2}: starting rendering
[Main] : tearing down
[Main] {aspit 2}: deallocating
[Main] {aspit 1}: deallocating
[Main] : activateSoundGroup: not called on the stack thread, bouncing…
[Main] : did diffuse
[Stack] : activating sound group {fadeOutActiveGroupBeforeActivating=0, fadeInOnActivation=0, loop=0, gain=0.000000, 0 sounds}
[Stack] : activateSoundGroup: _activeSounds = ()
[Main] : did diffuse
[Main] : tearing down
[Main] : deallocating
[Main] : deallocating
[Main] : tearing down
[Main] : tearing down
texture bucket statistics
1024×1024: 1
608×392: 2
[Main] {aspit}: deallocating
[Main] {aspit}: tearing down[Script] thread is terminating
[Main] : dumping
{
aatrusbook = 1;
acathbook = 1;
acathstate = 0;
adoit = 0;
adomecombo = -2;
agehn = 0;
ainventory = 1;
“all_book” = 0;
aova = 0;
apower = 0;
araw = 0;
atemp = 0;
atrap = 0;
atrapbook = 0;
auservolume = 0;
bbacklock = 0;
bbait = 0;
bbigbridge = 0;
bbirds = 0;
bblrarm = 0;
bblrdoor = 0;
bblrgrt = 0;
bblrsw = 1;
bblrvalve = 1;
bblrwtr = 1;
bbook = 0;
bbrlever = 0;
bcavedoor = 0;
bcombo = 0;
bcpipegr = 0;
bcratergg = 0;
bdome = 0;
bdrwr = 0;
bfans = 1;
bfmdoor = 0;
bfrontlock = 0;
bheat = 1;
bidvlv = 1;
blab = 0;
blabbackdr = 0;
blabbook = 0;
blabeye = 0;
blabfrontdr = 0;
blabpage = 1;
blever = 0;
bmagcar = 1;
bpipdr = 0;
bprs = 0;
bstove = 0;
btrap = 0;
bvalve = 0;
bvise = 1;
bytram = 0;
bytramtime = 0;
bytrap = 2;
bytrapped = 0;
domecheck = 0;
elevbtn1 = 0;
elevbtn2 = 0;
elevbtn3 = 0;
gbook = 0;
gcathstate = 0;
gcathtime = 0;
gdome = 0;
gemagcar = 1;
gimagecurr = 1;
gimagemax = 1;
gimagerot = 1;
glkbridge = 1;
glkbtns = 0;
glkelev = 0;
glview = 0;
glviewmpos = 0;
glviewpos = 0;
gnmagcar = 1;
gnmagrot = 0;
gpinpos = 1;
gpinsmpos = 0;
gpinup = 0;
grview = 0;
grviewmpos = 1617;
grviewpos = 2;
gscribe = 0;
gsubdr = 0;
gsubelev = 0;
gupmoov = 0;
gwhark = 0;
gwharktime = 0;
jbeetle = 1;
jbeetlepool = 0;
jbook = 0;
jbridge1 = 1;
jbridge2 = 0;
jbridge3 = 0;
jbridge4 = 1;
jbridge5 = 0;
jccb = 0;
jcrg = 1;
jdome = 0;
jdrain = 0;
jgallows = 1;
jgate = 0;
jgirl = 0;
jiconcorrectorder = -2;
jiconorder = 0;
jicons = 0;
jladder = 0;
jleftpos = 0;
jpeek = 0;
jplaybeetle = 0;
jprebel = 0;
jprisondr = 0;
jprisonsecdr = 0;
jrbook = 0;
jrightpos = 0;
jschooldr = 0;
jsouthpathdr = 0;
jsub = 0;
jsubdir = 0;
jsubhatch = 0;
jsubsw = 0;
jsunners = 0;
jsunnertime = 0;
jthronedr = 0;
jtunneldr = 0;
jtunnellamps = 0;
jvillagepeople = 0;
jwarning = 0;
jwharkpos = 1;
jwharkram = 0;
jwmagcar = 0;
jwmouth = 0;
jymagcar = 0;
newpos = 0;
oambient = 0;
obutton = 0;
ocage = 1;
odeskbook = 0;
ogehnpage = 1;
omusicplayer = 1;
ostanddrawer = 0;
ostove = 0;
pbook = 0;
pcage = 0;
pcathcheck = 0;
pcathstate = 0;
pcathtime = 0;
pcorrectorder = -2;
pdome = 0;
pelevcombo = 0;
playerhasbook = 0;
pleftpos = 0;
prightpos = 0;
ptemp = 0;
pwharkpos = 0;
rrebel = 0;
rrebelview = 0;
rrichard = 0;
rvillagetime = 0;
tbars = 0;
tbeetle = 0;
tblue = 0;
tbook = 0;
tbookvalve = 0;
tcage = 0;
tcorrectorder = -2;
tcovercombo = 0;
tdl = 1;
tdome = 0;
tdomeelev = 1;
tdomeelevbtn = 0;
tgatebrhandle = 0;
tgatebridge = 0;
tgatestate = 1;
tgreen = 0;
tgridoor = 0;
tgrmdoor = 0;
tgrodoor = 0;
tguard = 0;
themarble = 0;
timagedoor = 0;
tmagcar = 0;
torange = 0;
tred = 0;
tsecdoor = 0;
tsubbridge = 0;
ttelecover = 0;
ttelehandle = 0;
ttelepin = 0;
ttelescope = 5;
ttelevalve = 0;
ttemple = 0;
ttempledoor = 0;
ttunneldoor = 0;
tviewer = 0;
tviolet = 0;
twabrvalve = 0;
twaffle = 0;
tyellow = 0;
}[cpc3-grim1-0-0-cust631:~] jamesjac%
hope this helps, I will keep checking the updates and keep up the good work
all the best
James -
I happened upon this site and am a bit excited as I still have the DVD of Riven hanging around. I am a bit puzzle as to how to install and run this. Any help would be appreciated. Thanks. Jenise
-
I’m a bit new at stuff like this — I’m getting an error message when I’m double-clicking the RivenX 0.4 d-loaded file, with the original install disc in the drive. Can you please tell me what files I need to put where to make it work?
-
“RXArchiveManager could not find “1_Data.MHK”"
-
Sorry… I meant “a”, not “1″
-
Got it, thanks — please do let me know when it’s done!
-
Hello,
I just updated to version 278, but the buttons in “Riven Editions” window are inoperant. Nothing happen when I click them.
So, I cannnot play Riven anymore…I tried on a PowerMac G5 bipro 2*2GHz.
Rgds,
Guillaume -
No problem, Jean-François.
I only tried to help you by reporting a bug.I found the earlier version in the trash, so I can still play with my favorite post-card simulator
Rgds,
Guillaume -
Tested it, though I did only walk up to the temple at the beginning, but to that point it worked flawlessly.
I assume you are aware that the gray areas (clickareas) are viseble not only when you are exploring but also during sequenses and during the intro.
Feels like it is not too far to a stable working v1.0 soon =)
I´d love to help out but I have my 5 year computer engineer-science education ahead of me rather then behind me -
Thanks a lot, Jean! =)
-
Hi again, I´m still following your work here though I´m suffering from nothing to look at.
But, using the System Messages I can see that hotspots are active and that the cards are swapped, as I understand the messages. The main thing to my installement seems to be lack of 3ivx library. I´ve installed in usual ways those libraries associated with Quicktime for my system. The question is: is there anything else which should be installed to meet the needs of Riven X? Or is it possible for me to use another library for the rendering?
BTW; is there a way to ‘unticket’ a ticket when a problem is solved? Or to confirm functionality? In my case the recognition of a CD installation now is fully functional.
Many thanks for the efforts you and your fellow developer is putting into this!
-
Have tested the new 0.5-version and it seems really good in the terms of functionallity, however, I can´t get past the “start-menu”, the one with Setup, Start new game and Start saved game. Nothing happens when I click start new
-
Also it crashes when I quit (with cmd-q)
-
Confirmed that text messages about missing 3ivx library missing stopped after moving all 3ivx components out of Quicktimes folder. However there´s still no rendering of images or movies, but I managed to find some hotspots and judging by the textual response the cards changes and in some cases I get sounds.
It has been too long since I played Riven so I have no idea where or what I´ve trigged but it seems that the ‘only’ problem on my end is the rendering. I get the same result from Riven X in a clean Leopard installation I keep on a separate partitition on the same machine.
-
Like Stephen, I am having the same problem with “a_data.MHK” not being found, but I have the DVD version in my drive, on 10.5.2 PPC.
-
Ah. I also tried the current Subversion version. It seems that Riven X looks for a DVD named “Riven”, however, mine mounts as “RIVEN.” It is the “enhanced” DVD version with both the PC and Mac version, as well as a “Making of Riven” movie. Changing the string in the DVD.plist file and recompiling allowed it to find some files, but attempting to run from the DVD results in an failed to open a_sounds.MHK and attempting to install silently fails after/while copying t_Data2.MHK.
-
hi jean francois,
I have the same DVD as sean and it’s not working because it search a_sounds.MHK. At first it search a file name a_data.mhk but then i installed the data and sound folder in the riven x application directory and that’s when it search for the sound file. Anyway i kinda hoped it would be working but i kinda know it wouldn’t. MERCI D’AVOIR ESSAYER !!! Je continurai a regarder les update et peut – etre ke un jour ca marcherat merci -
Hello!!
I had my Myst 10th anniversary edition way back when I was a PC user, and tried to play Riven on my new IntelMB… not working :s… I desperately started looking around for some help on that issue and found this!! I thank you a lot for this project, though I have no idea how to use it I just downloaded it and I’ll try to make it work and update you in any bug I find. THANKS for this!
-
“[T]he CD edition and DVD edition do not have the same filenames…. There is a fix, but it requires changing a file inside the Riven X bundle. If you feel up to it, you can open the Stacks.plist file inside the Resources directory of the Riven X bundle, and change the data archives list for the tspit stack to only have one entry, ‘t_Data.MHK’.”
For the non-developer, there is a great freeware app for editing .plist files. Go to macupdate.com and look for “Pref Setter”. Much easier than doing it in a text editor.
Also — it’s ambiguous in the comments above: I believe this change is necessary for the CD version only. For DVD it should work as is.
Note to J-F — you might also consider setting this so that we can copy the data files from the CDs to the hard drive. When I was running Riven in Classic on my G4 there was a way to do this. I don’t remember exactly how to do the setup, but I found it on the Internet!
Saves us CD users a good bit of disc swapping that way. (Alternate — support burning all the CD data files to a single DVD-R???)Either way — Thanks for this. It would be cool if more game developers were like Bungee (who still update Starcraft on OS X!!!), but until then, we have folks such as you porting these great old games.
Now if only someone would port my old Atari 2600 “Combat” cartridge….
Stephen
P.S. — Psst… WordPress “Subscribe to Comments” plugin
-
Salut J-F, et bien le cd sapelle RIVEN. Ils contient les dossiers ( All, Autorun, Data, ASSETS1, setup, QTWSetup, DxSetup, J3DATA, J3SETUP, Legacy, program, EReg, VIDEO_TS) Les majuscule sont a la bonne place.
- Contenu du Dossier (Data) a_Data.MHK b2_data.MHK b_Data.MHK Extras.MHK g_Data.MHK j_Data1.MHK j_Data2.MHK o_Data.MHK p_Data.MHK r_Data.MHK t_Data1.MHK t_Data2.MHK
- Contenu du Dossier (ASSETS1) a_Sounds.MHK b_Sounds.MHK g_Sounds.MHK j_Sounds.MHK o_Sounds.MHK p_Sounds.MHK r_Sounds.MHK t_Sounds.MHK
Encore une fois Les majuscule sont a considerer. Si t’as besoin de dautre chose nhesite pas je vient regarder le blog assez souvent. Merci mille fois encore detre sur ce projet !! Jai acheter Myst 5 et il ne fonctionne pas et ensuite Riven, Faut dire ke je ne suis pas chanceux:( hehe
Marc-André Morais
-
Excuse moi ce nest pas un cd mais bien un DVD
-
Pas de problème,
Le contenu de All va comme suit : a_Data.MHK. Il ne contient que ce fichier de 9.8 Mo. Ce fichier est dans le répertoire Data aussi. Je ne comprend pas vraiment mais en tk c’est toi le pro. Si t’as besoin dautre chose nhesite pasMarc-André Morais
-
Sorry J-F, don’T want to bother u but r333 and sparkle ?? what is that, could u just explain a bit please thank you
Marc-André Morais
I’ve done some google search about that but didn’t found much
-
Jean-François Roy,
two days ago, you replied to Stephen R:
“Riven X 0.5 (current version on Subversion and available using Sparkle) supports the original CD edition and the DVD edition through a new editions system. That edition system also offers to copy all the files on your hard drive, for any edition, and will install required files for multi-disc editions (e.g. the original CD edition).”I’m looking at the contents of Revision 334. How do I download version 0.5 of Riven X?
-
Jean-François Roy,
I cannot successfully launch “Riven X.app” when extracted from the archive. I have the same issue as Stephen, who previously mentioned the following:
“RXArchiveManager could not find “1_Data.MHK”, i.e. “a_Data.MHK”, and you replied:
“Stephen: ah, ok then you probably have a CD edition, which is not yet supported by Riven X. I’m working on supporting that edition right now.”
All I can do is press the “Quit” button in the corresponding dialog box.
I hope you’ll soon make this work right, so we who have Riven game on 5 CDs can play it.
Greetings from Croatia,
Sanjin
-
Just like to say, you´re doing a huge favor to the myst community, J-F Roy =)
Have a question of intrest: do/did you have to rewrite the connection between the different frames from scratch or was it possible to copy them from the original classic/win-app?
Also: When Riven X finally hits a stable release, will you look over the possibilites of doing a os x port of Myst as well?
Logically it feels it should be easier and faster once you ported a vast game like Riven, but I might be terribly wrong, what is your view on the subject?//Carl
Comments are now closed.

77 comments