You are not logged in.
Lost Password?

All Posts (SpectreVR)




#1
Re: Mario
Posted on: 6/3 2:34
VB Gamer
Joined 2/16
35 Posts
Why does the ball keep disappearing?
Top

Topic | Forum


#2
Padder for mellot programmer
Posted on: 6/2 19:35
VB Gamer
Joined 2/16
35 Posts
I have a classic mac pro running osx version 10.12.2 sierra. I cant figure out how to get the padder application running. I downloaded and installed visual studio, I dont know what else to do. When I click on the "Padder" executable in the "Padder.osx-x64" directory I get

"Last login: Sun Jun 2 12:26:43 on console
AmishIndys-MacBook-Pro:~ sethjones$ /Applications/Padder.osx-x64/Padder ; exit;
Error:
An assembly specified in the application dependencies manifest (Padder.deps.json) was not found:
package: 'runtime.osx-x64.Microsoft.NETCore.App', version: '2.1.5'
path: 'runtimes/osx-x64/lib/netcoreapp2.1/Microsoft.CSharp.dll'
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
Deleting expired sessions...none found.

[Process completed]


"

There is no readme or instructions with this program. I downloaded it from planet VB
Top

Topic | Forum


#3
Re: Spectre VR Dev Thread
Posted on: 5/15 4:52
VB Gamer
Joined 2/16
35 Posts
Ok, so here's some detail on the shap resource found in Spectre VR

First of all there is a res edit template (TMPL resource) called shap which defines the structure of every shap resource used by spectre VR. The data is organized in words (2 bytes). The structure is as follows according to the template.

Number of verticies: ZCNT
**V**: LSTC
X (left & right) whole: DWRD
X (left & right) fraction: HWRD
Y (altitude) whole: DWRD
Y (altitude) fraction: HWRD
Z (distance from camera) whole: DWRD
Z (distance from camera) fraction: HWRD
**V**LSTE

Number of planes: ZCNT
**P**LSTC

Verticies in this plane: ZCNT
*V*P*: LSTC
Vertex number:DWRD
*V*P*:LSTE

Plane ColorDWRD
**P**:LSTE

Number of points (Top View): ZCNT
*P*T*:LSTC
X (left & right) whole: DWRD
X (left & right) fraction: HWRD
Y (altitude) whole: DWRD
Y (altitude) fraction: HWRD
Z (distance from camera) whole: DWRD
Z (distance from camera) fraction: HWRD
*P*T*:LSTE

Number of lines (Top View):ZCNT
*L*T*:LSTC
starting point:DWRD
ending point:DWRD
*L*T*LSTE:

Plane SidesDWRD

Thats really all you need to parse the shap resource. DWRD means "Decimal Word" HWRD means "Hexadecimal word" ZCNT, LSTC, and LSTE are used to loop a list of feilds, with ZCNT indicating the number of times the list is looped. In other words, if ZCNT had a value of 2 in the number of verticies secion at the top, it would look for LSTC in the template, then repeat though everything between LSTC and LSTE 3 times.

Here's an actual example. This is the "acid" shap. In the game its just a triangle on the gound that damages your tank when you run over it.

0002FFEE 00000000 0000FFEE 0000FFEE
00000000 00000012 00000012 00000000
0000FFF7 00000000 00020001 00020003
17750002 FFEE0000 00000000 FFEE0000
FFEE0000 00000000 00120000 00120000
00000000 FFF70000 00020001 00020002
00030003 00010000

Now lets chop it up into words

0002 FFEE 0000 0000 0000 FFEE 0000 FFEE
0000 0000 0000 0012 0000 0012 0000 0000
0000 FFF7 0000 0000 0002 0001 0002 0003
1775 0002 FFEE 0000 0000 0000 FFEE 0000
FFEE 0000 0000 0000 0012 0000 0012 0000
0000 0000 FFF7 0000 0002 0001 0002 0002
0003 0003 0001 0000

Next lets change the formatting a bit to divide up the relevent data. LSTC and LSTE data types don't actually contain any data, so if you're following along in the template, just use those as a reminder to go back through the template list.

0002

FFEE 0000 0000 0000 FFEE 0000
FFEE 0000 0000 0000 0012 0000
0012 0000 0000 0000 FFF7 0000

0000

0002

0001 0002 0003

1775

0002

FFEE 0000 0000 0000 FFEE 0000
FFEE 0000 0000 0000 0012 0000
0012 0000 0000 0000 FFF7 0000

0002

0001 0002
0002 0003
0003 0001

0000

That should be perfectly clear, but if it isn't lets add some labels

Number of Verticies: 0002

//Verticies
1) Xint:FFEE Xfrac:0000 Yint:0000 Yfrac:0000 Zint:FFEE Zfrac:0000
2) Xint:FFEE Xfrac:0000 Yint:0000 Yfrac:0000 Zint:0012 Zfrac:0000
3) Xint:0012 Xfrac:0000 Yint:0000 Yfrac:0000 Zint:FFF7 Zfrac:0000

Number of Planes: 0000

Verticies in this plane: 0002

Vertex Numbers in this plane: 0001 0002 0003

Plane Color:1775

Number of points (Top View) 0002

1) Xint:FFEE Xfrac:0000 Yint:0000 Yfrac:0000 Zint:FFEE Zfrac:0000
2) Xint:FFEE Xfrac:0000 Yint:0000 Yfrac:0000 Zint:0012 Zfrac:0000
3) Xint:0012 Xfrac:0000 Yint:0000 Yfrac:0000 Zint:FFF7 Zfrac:0000

Number of Lines: 0002
1) starting point: 0001 ending point: 0002
1) starting point: 0002 ending point: 0003
1) starting point: 0003 ending point: 0001

Plane Sides: 0000

Of course all of these figures are in hexidecimal. This is what res edit shows for the same data

Number of Verticies: 0002

//Verticies
1) Xint:-18 Xfrac:$0000 Yint:0 Yfrac:$0000 Zint:-18 Zfrac:$0000
2) Xint:-18 Xfrac:$0000 Yint:0 Yfrac:$0000 Zint:18 Zfrac:$0000
3) Xint: 18 Xfrac:$0000 Yint:0 Yfrac:$0000 Zint:-9 Zfrac:$0000

Number of Planes: 0

Verticies in this plane: 2

Vertex Numbers in this plane: 1, 2, 3

Plane Color: 6005

Number of points (Top View) 2

1) Xint:-18 Xfrac:$0000 Yint:0 Yfrac:$0000 Zint:-18 Zfrac:$0000
2) Xint:-18 Xfrac:$0000 Yint:0 Yfrac:$0000 Zint:18 Zfrac:$0000
3) Xint: 18 Xfrac:$0000 Yint:0 Yfrac:$0000 Zint:-9 Zfrac:$0000

Number of Lines: 0002
1) starting point: 1 ending point: 2
1) starting point: 2 ending point: 3
1) starting point: 3 ending point: 1

Plane Sides: 0
Top

Topic | Forum


#4
Re: Spectre VR Dev Thread
Posted on: 5/14 4:58
VB Gamer
Joined 2/16
35 Posts
Java tool to parse the data is finished. Attached is all the resource fork data separated out into individual binary files. Resedit uses templates to be able to edit and interpret the data within a resource. The TMPL resource contains templates. OS7 doubtless has several built in. Anyway, the TMPL structure is not documented but is easy enough to understand. Just by playing around in resedit I was able to confirm that a TMPL resource consists of a byte tat defines the length of the feild name, a feild name, then 4 bytes for a data type, then the next feild name size byte follows etc. It should be very simple to exploit this to dump the shap resource in the later releases to get to the original 3d models and even reformat them into a .obj file or whatever we want.

Attach file:


zip Archive 2.zip Size: 3,362.20 KB; Hits: 29
Top

Topic | Forum


#5
Re: Spectre VR Dev Thread
Posted on: 5/2 17:48
VB Gamer
Joined 2/16
35 Posts
Work continues on the Java tool, but in the meantime I managed to copy all the PICT resources out of the first game. There is no easy way I know of to just copy and paste the resources into new PICT files that are readable by OSX, but I can copy the file from within baselisk, and go to photoshop CS5 and create a new document which at least gets the new image to be sized correctly. Then I take a screenshot of the resource in ResEdit in baselisk, open the screenshot, then copy and past THAT into the photoshop document I just created. Alignment is of course critical. I'm confident I'm absolutely spot on with most files, but large screen filling images may be off by a pixel. The prites can be done as a series of small screen shots and then resized with an automated batch process in photoshop, so that made it all go quicker.

Attach file:


zip PICT.zip Size: 1,504.34 KB; Hits: 38
Top

Topic | Forum


#6
Re: Non VB VB-related games
Posted on: 4/29 4:08
VB Gamer
Joined 2/16
35 Posts
3-d tetris is also an awful lot like welltris
Top

Topic | Forum


#7
Re: Spectre VR Dev Thread
Posted on: 4/29 2:53
VB Gamer
Joined 2/16
35 Posts
Ok, so I'm at the momment working on a java program that will parse throughthe MacBinaryII executable and let me copy thiungs out of it or run it through a disassembler. I've already used ResEdit for some of this, but unfortunately ResEdit wont let me copy some things very easily. I also need a betterway of dumping the shap resource than copying the data from resedit by hand.

Anyway, Ithought I'd share some developments. First of all the header of a macbinary is well known and is documented here

https://files.stairways.com/other/macbinaryii-standard-info.txt

It is also known that all macintosh applications have both a data fork and a resource fork. It was important to know which comes first in the binary. This sint something that is easy to find in documentation. So, time for some exparimentation. I found I can use BinHex 5.0 in baselisk to export binaries out of baselisk. Next I created a copy of Spectre 1.0 and exported it as a binary. Then I took the same copy and opened teh readme file for Spectre Supreme. Text files are purely data and show up in resedit as having a data fork. Its impoirtant to note that you cannot add data to the fork in an ID other than 128. Believe me, I tried. Anyway, open up the data resource in the readme with resEdit's hex editor and copy the whole thing. Now back to the Spectre 1.0 copy. Open the data fork, then open data resource 128 in the hex editor, and past it in, then save. Run BinHex 5.0 on it and save this as Spectre 1.0 copy2

Now we have two binaries that we can compare in a hex editor. I used Hex Fiend. Anyway, The data stream size is listed as being located at offset 83 and its a long word, which means it will be offset 83, 84, 85, 86 and further down it says it must be in the range of 0000 0000-$007F FFFF. As we would expect, this value changes from 0000 0000 to 0000 0463 which in decimal is 1123 and corresponds exactly to the length of the data I copied into the data fork. The data I copied begins at offset 128

This same test method can be applied to locate any resource in the binary to confirm the documentation. I also tried deleting the ALRT resource and compared the one without an ALRT to the one that had it.

So in short, there is a header which is described in the link I include here, then comes a data fork, then a resource fork. The data fork may have a map, but I cant say for sure yet. What I do know is that the resource fork does have a map. Presumably this is at the start of the resource fork.

Attach file:



png  Screen Shot 2019-04-28 at 7.48.23 PM.png (153.95 KB)
14957_5cc64a729781d.png 554X879 px

png  Screen Shot 2019-04-28 at 7.50.12 PM.png (177.29 KB)
14957_5cc64a8209e01.png 816X856 px
Top

Topic | Forum


#8
Virtual Boy Generic cartridge label
Posted on: 4/25 4:06
VB Gamer
Joined 2/16
35 Posts
made this in photoshop.

Attach file:



jpg  GenericCartLabel.jpg (1,378.71 KB)
14957_5cc116248e7ab.jpg 1229X1005 px
Top

Topic | Forum


#9
Re: Spectre VR Dev Thread
Posted on: 4/22 3:58
VB Gamer
Joined 2/16
35 Posts
This is a screenshot of the mac version of the game set to black and white then tinted red with the filled polygons turned off

The second is what it might looklike with filled polys turned on.

I have then reduced the resolution to 324x224

I am no where near getting this working on a real VB. I have no idea if it can handle rendering filled polygons in 3d at 50 fps.

Attach file:



jpg  gameplayConcept.jpg (54.27 KB)
14957_5cbd30396e5ed.jpg 324X224 px

jpg  GameplayConcept2.jpg (53.09 KB)
14957_5cbd3043c40ab.jpg 324X224 px
Edited by SpectreVR on 2019/4/22 5:07
Edited by SpectreVR on 2019/4/22 5:08
Edited by SpectreVR on 2019/4/22 5:09
Top

Topic | Forum


#10
Spectre VR Dev Thread
Posted on: 4/22 3:24
VB Gamer
Joined 2/16
35 Posts
This is a crazy dream of mine. At least one other member of Planet VB is helping me make this dream a reality. I will ned to learn to code, obviously, but I have some experience with BASIC and html. I really need some skill with JAVA and C. Anyway, I figure it might be useful to share what I have on a thread.

Step 1 will be to disassemble the code for the MAC release of Spectre VR, Spectre Supreme and Spectre 1.0

Step 2 will be to reverse engineer source code for these games

Step 3 will be to create a port that offers multiplayer capibility on the VB. At this point I'm hoping to base it mostly on Spectre VR. If it becomes somehow possble to do multiplayer with more than two players, then that would be awesome.

Attached are the dumped resource forks

Attach file:



png  Screen Shot 2019-04-21 at 7.38.20 PM.png (1,246.92 KB)
14957_5cbd14cb3196b.png 928X681 px
zip Spectre VR.zip Size: 2,998.12 KB; Hits: 41
zip Spectre 1.0 dumps.zip Size: 1,124.60 KB; Hits: 29
zip Spectre Supreme Dumps.zip Size: 2,619.37 KB; Hits: 34
zip Spectre VR dumps.zip Size: 5,101.42 KB; Hits: 32
Edited by SpectreVR on 2019/4/22 3:39
Edited by SpectreVR on 2019/5/16 19:30
Top

Topic | Forum