Possible PSX 3D Engine

General Programming help in C, C++ or ASM, Compiling / Debugging, and R3000A Central Processing Unit (CPU) information
Post Reply
jman
Rookie Programmer
Rookie Programmer
Posts: 110
Joined: Aug 13, 2013

Possible PSX 3D Engine

Post by jman » January 22nd, 2014, 9:03 am

Hi,

I've discovered (?) this:
http://www.worldfoundry.org

This guy was a console (Genesis, SNES, PS, ...) developer back in the day.
The C++ 3D engine he open-sourced is for Linux/WIndows but it was born on PlayStation.

Looking at the code, I wonder how the heck he ported all these native functions calls to another architecture:
http://worldfoundry.org/doxygen/html/ps ... ource.html

I would be curious to know if he would give it to the community.

I'll investigate a bit more and maybe I can ask him. Don't want to look like the usual "code beggar" :-)
Last edited by jman on January 23rd, 2014, 9:11 am, edited 2 times in total.

User avatar
t0rxe
C Programming Expert
C Programming Expert
Posts: 139
Joined: Dec 19, 2012
Motto: /\OX[]
PlayStation Model: SCPH-5502
Location: Australia

Post by t0rxe » January 22nd, 2014, 7:39 pm

Interesting. See what you can do :)

The headers:
00029 #include <libgte.h>
00030 #include <libgpu.h>
00031 #include <libetc.h>
00037 #include <kernel.h>
are part of the Psy-Q library.
"Nostalgia isn't a big enough word to describe the PlayStation from my eyes"

SmashFan127
Interested PSXDEV User
Interested PSXDEV User
Posts: 6
Joined: Oct 05, 2012

Post by SmashFan127 » January 23rd, 2014, 7:53 am

Interesting. Most interesting indeed....

cobracon2
What is PSXDEV?
What is PSXDEV?
Posts: 3
Joined: Nov 19, 2013

Post by cobracon2 » January 25th, 2014, 4:35 am

Have you guys got the engine running on the pc yet. I'm running windows 7 and have not gotten it to run yet. Any ideas?

coldev
What is PSXDEV?
What is PSXDEV?
Posts: 2
Joined: Apr 12, 2012

Post by coldev » February 4th, 2014, 11:47 am

cobracon2 wrote:Have you guys got the engine running on the pc yet. I'm running windows 7 and have not gotten it to run yet. Any ideas?

yeti3d is a fast and low mem 3D engine available 4 free to any platforms

search yeti3d in google


is the best 3d option for PSONE

jman
Rookie Programmer
Rookie Programmer
Posts: 110
Joined: Aug 13, 2013

Post by jman » February 13th, 2014, 9:51 am

I've got a reply from the developer of the World Foundry engine.
He' s a great guy and gave me a lot of details.

Basically he says everything is already online, but building the engine and assets for it it's something not for the fainthearted because unmaintained/untested since years.

As soon as I can I'll post a follow-up here for anyone to see.

jman
Rookie Programmer
Rookie Programmer
Posts: 110
Joined: Aug 13, 2013

Post by jman » February 28th, 2014, 8:57 pm

Ok, finally I could get his email back and check the sources.

I'll copy and paste the parts of his reply useful for recovering the 3D engine, tools and levels.

Executive summary: PlayStation code of World Foundry had been checked into CVS 14 years ago but was abandoned since then because a port to Linux/WIndows was started.
The Windows version should be able to build, the Linux version supposedly lacks the Makefile porting.

The other issue here is the level creation: he cannot share the source and likely the binary levels available do not run today; the entire level pipeline creation shall be rebuilt, likely using the tools used at the time (3DS, DOS version and 3DSMax 1997, Windows).
All of the psx code is still in the code base. However, I didn't make sure it still worked when doing some of the linux port, and I think I did some work after than assuming Z buffering, trying to update the engine to be more modern.

So probably the quickest way to get it running on the psx again would be to fetch the oldest revision from cvs on source forge.

The latest code has been moved to git, and can be found at
https://github.com/WorldFoundry/WorldFo ... rce/source

actually, the very latest is a branch I made last year to port to OpenGLES2, that can be found at
https://github.com/KevinSeghetti/WorldF ... LES2Phase2

But the older code was under cvs, that can be found at
http://sourceforge.net/p/wf-gdk/code/?source=navbar

When we moved to git we deleted most of the files in cvs so that no one accidentally kept developing on cvs.

So to get the first version we put on source forge from cvs, do the following:
cvs -d:pserver:[email protected]:/cvsroot/wf-gdk login

cvs -z3 -d:pserver:[email protected]:/cvsroot/wf-gdk co -D "02/15/2000" -P wfsource
cvs -z3 -d:pserver:[email protected]:/cvsroot/wf-gdk co -D "02/15/2000" -P wftools

Looks like I added the levels about a year later (was originally planning to port them to a different level editor that 3DStudioMax, but never finished that (did write a stand alone version of the attribute editor for Linux using libgtkmm)
cd wfsource
cvs -z3 -d:pserver:[email protected]:/cvsroot/wf-gdk co -D "08/15/2001" -P wflevels

Take a look at
http://www.worldfoundry.org/wiki/bin/vi ... stallation
for some brief instructions on how to build. Also look at README.linux and README.windows in the wfsource directory.

We only ever built the PSX version on windows/dos, so I don't think I ported the gnu makefiles for the PSX build to linux.

The level files are binary and tied to the data structure layout of the engine. So they have to be compiled with the same headers the engine is. Therefore it is unlikely any level binary you find will work without recompiling, and we weren't allowed to release the source to most of them. So I would suggest first getting the engine running without a level, by running the graphics test program ('make test' in the gfx directory). If you get that running on the PSX you will be most of the way there.

If you are a linux user, you should probably also build and run the latest linux version to become familiar with the build process, and so you can see the engine run an actual level.

I will look around and see if I have any PSX specific build instructions.

The biggest challenge to actually using this engine would be creating levels for it. The toolset used to create most of the levels in the videos was 3D studio R4 (a DOS program). Then we switched to using 3D studio Max for the more recent stuff.
I suspect it is going to take some work to get WF running on the PSX. Once it is, the bigger challenge is to get an asset creation pipeline going for creating levels (probably the path of least resistance is to use 3DStudio Max circa 1997, since the tools for that are already created).

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests