PSO Project

What language should I use?

  • Kanji

    Votes: 0 0.0%
  • Katakana

    Votes: 0 0.0%
  • Korean

    Votes: 1 20.0%
  • Vietnamese

    Votes: 0 0.0%
  • Thai

    Votes: 1 20.0%
  • Tekker

    Votes: 3 60.0%
  • Spanish

    Votes: 0 0.0%
  • Portuguese

    Votes: 0 0.0%

  • Total voters
    5
  • Poll closed .
Wha... why is my SodaBoy video so popular? Lol. It accounts for a large chunk of my views. It's literally just a picture of a FOnewm drinking soda to music. No animation, editing, nothing. Lolololol. Yet it racked in close to 400 views in such a short time and was the highest rated piece on all the PSO forums.

Thanks SodaBoy!

SODABOY (0;00;00;00).jpg
 
I haven't really looked into it but I'm not able to use PSOBB models. Which is strange because I'm not sure what the difference is really. Noesis isn't able to read the files. Coded differently? Not sure. I don't think I need anything from BB since my V2 folder contains just about the same stuff as BB but I figure I'd try anyways just in case something was different about them.

I found the gun_bullet but it's in .xj format so I can't use it :(
I could've sworn there was a .nj somewhere though. I know I loaded a bullet up when I first received my tools from Kion. The search continues....
gun.png
 
PSOBB (XJ) Models are different... I am still stuck in exporting them correctly, and due to things I haven't been able to work on it as much as when I started.
 
PSOBB (XJ) Models are different... I am still stuck in exporting them correctly, and due to things I haven't been able to work on it as much as when I started.
No problem yo. I've been pretty busy myself. Take your time.
 
Note: Alpha

Alpha to be unchecked for [soft]
Delta: Black
Color: White

Apply texture to surface, remove double texture


Note: Location

Lobby Animations in .xj?

Scratch that. Lobby player animations not known.
Dark Falz MIA
Photon Chair MIA - .xj??
Del Saber MIA
Pan Arms MIA
Hiddom MIA
Migium MIA
Monest MIA

Belra MIA
Dark Gunner MIA
Death Gunner MIA
Chaos Sorcerer MIA

Tyrell MIA
bm_ene_lil_1.njm MIA

Environment animations: .rel
Doodads: .xj


Note: File

Schthack Tools view .xj?
Can view .rel


Note: Frame

Frames model, IFF frames apply to model
Hence if true, model will animate
Else, model will break
If model breaks: no redo, must delete and reapply correct frames
Extreme care when framing: ALWAYS HAVE BACKUP FILE

Note: Texture

PSOBB textures: BROKEN
Wolf_a: BROKEN
De_Rol_Le_a: BROKEN
Booma: FIXED
Wolf: FIXED
Rappy: FIXED
Bartle: ???

Textures fixed by own accord

Note: Tools

1st Attempt: ???
2nd Attempt: ???
3rd Attempt: ???
 
Last edited:
SCRIPT: Keep in mind. Not pretty. No format.

FUNCTIONS:
def GetNextObject(op):
if op==None:
return None

if op.GetDown():
return op.GetDown()

while not op.GetNext() and op.GetUp():
op = op.GetUp()

return op.GetNext()

def IterateHierarchy(op):
if op is None:
return

count = 0

while op:
count += 1
print op.GetName()
op = GetNextObject(op)

return count

USAGE:
def main():
start_object = doc.GetFirstObject()
count = IterateHierarchy(start_object)
print "Iterated " + str(count) + " objects."
 
So I've been rattling this idea in my head for the past week now. Most of my animations have been random ideas I came up with. (Don't try to find a deeper meaning to them like PSO-World and PSO reddit do) But I've been meaning to make some stuff that could be derivatives of PSO canon. What I mean by this is I vaguely remember a quest where you have to kill Kireek. I don't remember much of the PSO quest line; I have to get around to playing them when school is over. Kireek goes bonkers and calls you "tasty" I believe. Yet this quest(Kireek's death by you) is not actual canon as you meet Kireek later on(Episode 2?). I can't remember exactly when.

I'm absolutely enamored by the fact that SEGA had even bothered to go off on a tangent to kill a main character. It reminds me so very much of Dark Souls 1. The game allows you to complete a playthrough without discovering all the areas, uncovering all the side characters (even main characters) backstories. When I had found out about this I was enthralled! It allows for multiple re-runs! As you dig deeper into the story line the more vague it becomes. In fact, the story was purposely left open ended so that fans can come up with their own theories thus leading to great channels such as VaatiVidya, Silvermont and DaveControl. Brilliant, fucking brilliant design by the developers. Sadly, I feel like this kind of story telling was lost in Dark Souls 2 & 3.

While I may not be like most of you PSO players and enjoy hunting items(Keep doing what you guys do pls! I think it's great. It keeps the game alive) I thoroughly enjoy the lore. Honestly, I live for a games lore. World of Warcraft has the best lore of all time. Runner up is Dark Souls 1. PSO would be third. I'm saddened that SEGA didn't expand more on the games lore. I think it had tons of potential. SEGA had to go and make PSO2: Waifus R Us. But hey, it brought in the cash so can you blame them?

Anyways. My next project is going to be highly ambitious. I will have to hold off working on it until late December or it will suck up all my time. I'll work on that PSO Project for my new years resolution.
 

Keep it up buddy.

Wha... why is my SodaBoy video so popular? Lol. It accounts for a large chunk of my views. It's literally just a picture of a FOnewm drinking soda to music. No animation, editing, nothing. Lolololol. Yet it racked in close to 400 views in such a short time and was the highest rated piece on all the PSO forums.

Thanks SodaBoy!

View attachment 2321
Because it's Sodaboy
 
Thanks to @xSHIVAx for giving me the map textures. I never bothered looking for the textures for some reason. I guess I was waiting for all the maps to be exportable before I went searching for their textures. Turns out they were in the scene folder all along. Silly me.

Only problem now is dealing with all 99 dds files it comes along with. I compressed them all to BMP. Now I have to manually place the textures on each polygon object. Strange thing is... not all the polygon objects accept textures... So I applied random textures to random polygons to see what works and what doesn't. Here's the result for Forest 2.

Texture problems.png
 
Last edited:
Note: Location

Lobby Animations in .xj?
Unlikely. Animations are .njm

Scratch that. Lobby player animations not known.
I believe I know where find the lobby player animations
Found endgame player animations; located in onlineending_dat.bml

Dark Falz MIA
Photon Chair MIA - .xj??
Del Saber MIA
Pan Arms MIA
Hidoom MIA
Migium MIA
Monest MIA
Belra MIA
Dark Gunner MIA
Gilchic MIA -----------------------------I can't find this model but his textures are sprawled about data.gsl
Death Gunner MIA
Chaos Sorcerer MIA
Tyrell MIA
Lily Suicide Animation MIA

Environment animations: .rel
Doodads: .xj

Note: File

Schthack Tools view .xj?
Can view .rel: LIMITED, can only open PSOBB n.rel files as far as I can tell

Schthack left an explanation of how PSO map files work, minus animations.
I don't know how much help this will be but I'll leave it here

PSO map file format explained by Schthack

ok this file explain quickly how pso map file work. This is only for most of the map vertex
and ared. it doesnt include animation and other information that could make the map look
better.

Note texture convertion and loading isnt explained look at the source code for a quick way
but it doesnt work for all texture. best proof P2 map doesnt show any transparency

note 2 for the source you need to have Delphi 6 and install the DelphiX component i included
i use it for the direct input


ok so this is it, the file we are interested in is the *n.rel one

first seek at EoF-16 read the pointer there to get the offset of the main index.
-----------------------
Main index format:
----------------------
unknow : 8 byte;
number of area : dword;
unknow : dword;
pointer to area list : dword;
Pointer to texturename: dword;

-----------------------
area list format per entry
-----------------------
ID:dword; this is for pso reference, monster spam and item are linked to it
dx,dy,dz:single; the reference x,y,z for the vertex, to render proprely add it to the vertex x,y,z
unknow1:dword;
Rotation:dword; the rotation value based on 65536, rotate the vertex using it
unknow3:dword;
unknow4:single;
VertexA_Off:dword; pointer to the list of vertex groupe A
VertexB_Off:dword; pointer to the list of vertex groupe b //this one is the animated one
VertexA_Count:dword; number of entry in eatch groupe
VertexB_Count:dword;
unknow8:dword;


--------------------------
vertex list format per entry
--------------------------
Format A

Offset:dword; pointer to the index and vertex
unknow1:dword;
unknow2:dword;
Flag:dword; some flag see the source code

Format B

Offset:dword; pointer to the index and vertex
unknow1:dword; //probly pointer to the movement data
unknow2:dword;
unknow3:dword;
unknow4:dword;
unknow5:dword;
unknow6:dword;
Flag:dword; some flag see the source code

------------------------
to read a Groupe
------------------------

seek to his offset+4 and you get

offset to a pointer pointer: dword ..... will seek to it later
REFXYZ: 3 Single float to add to the vertex XYZ
fallow this probly a rotation and a Color value but i dont use it in the source

ok now seek to the pointer+4 we got 4 line ago
there you get:
pointer to vertice list : dword
number of vertice list: dword - this one is always 1 in the map i tested might be more sometime
pointer to Index listA: dword - this is the non transparent surface
indexA count: dword
pointer to Index listB: dword - this is the transparent surface
indexB count: dword

now read the index lists
and then seek to the vertice pointer to get the last data you need

type of vertex: dword <--- see the section above for the list of vertex type
offset to the list dword
size of 1 entry dword
vertex count: dword;

no seek to list and read it

--------------------
index list format per entry
--------------------
Pointer to flag and texture id : dword
type of data : dword
Pointer to index: dword - eatch index is a Word
index count : dword;
empty: dword;


------------------------
vertex type
------------------------

ok in my code i used the size to select teh type but using the typ would be better since
2 format can have the same size

pso use those format and mabe more

XYZ + Difuse format: X,Y,Z as single + color as dword; (16 bytes total)
XYZ + Difuse + TEX1: X,Y,Z as single + color as dword + tu,ty as single (24 bytes)
XYZ + XYZ_NORMAL + Diffuse : X,Y,Z,nX,nY,nZ as single + color as dword; (28 bytes total)
XYZ + XYZ_NORMAL + Diffuse + TEX1: X,Y,Z,nX,nY,nZ as single + color as dword + tu,ty as single (36 bytes total)

Note: Tools

1st Attempt: No dice
2nd Attempt: ???
3rd Attempt: ???

------------------------------------------------------------------------------------------------------

I'll update this post later.

I just wanted to look over some things quick. I've been looking for tech animations. I found the textures but I'm not sure how the game renders them in. I'm not even sure I can load them into a 3D enviroment.

They're sprites from what I can tell(Always facing your camera). Well... maybe not as Gifoie and the other spells are actual 3D animations...There are several images of a Zonde strike, the Zonde image is tiny. Could the game place one image on top of the other to simulate a full strike? The only 3 dimensional object I can see is the gun_bullet.xj

Also. Within the V2 files are files from PSOBB such as Ancient and Space. As well as Gee and Gibbles. Strange as I'm only given some files from each version, PSOV2 & PSOBB. I'm not able to locate all of the models, textures, files. Some are named odd things such as Moja for Hildebear or Saver for Delsaber. Some models are named after their Ultimate mode upgrade such as Belra is label Berura. So perhaps they exist but I have to dig into every file to find them.

------------------------------------------------------------------------------------------------------

I recreated a PSO lightning strike as best as I could. Obviously there would be less frames involved but I wanted to show that this was a collection of several images, kind of like a stop motion animation, rather than an actual particle effect animation.

 
Last edited:
XvKooIu.gif
 
wao
hucaseal is basically widowmaker when she has more than 10 triangles.
 
I've seen this specific animation before. Not the HUcaseal model but the dance itself. I'm not too familiar with Unreal Engine but I assume you can throw animations on skeletons if you want or hand animate them yourself. I could be wrong though.

I was never a huge fan of Unreal though. The engine is beautifully realistic without a doubt. However, the model skin becomes too fleshy looking for me. Like a woman in an oiled up skin tight body suit rather than a robot. Maybe you planned to do that though haha, just for that booty wiggle gif.

Good stuff. I should look into new engine modeling.
 
Back
Top