Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
PCSX2 Debugger breakpoint does not work on reading binary 3D model data in memory.
#1
I'm trying to understand the format of the 3D models binaries of a game.
But when I add a breakpoint to some part of the 3D model's binary in memory, like vertices, x, y, z.
Do not pause.
The Debugger can not identify who is reading the values of the 3D model's binary and does not pause.
Maybe it's not the game code you're reading?
Only the Cheat Engine can pause, but in the Cheat Engine it is bad to understand what is happening.
While in Debugger with the MIPS language I understand what the code is doing.
And so, following in your footsteps to understand the format of the 3D model's binary.
Who is responsible for reading 3D models in PCSX2?
Each game has its 3D model format in binaries.
but when they are loaded into memory go to a standard format?
Reply

Sponsored links

#2
Hey,
please understand that PCSX2 is a low level emulator.
We don't have a concept of game engines or 3D models. To us, it's all just hardware that runs code and sends data around.

The debugger is primarily meant to understand code and debug the emulation.
You will have to extract the information you want from this low level view, but I see how this is nearly impossible.

Maybe try to approach your problem from different angles.
For example, is the game engine of your title known?
If so, maybe you can find the tools that were used to make the game.
Reply
#3
The Game is the Pro Evolution Soccer 2014, SLES_556.76.
The 3D models are in .bin files in 0_TEXT.afs.
The memory address where the binary files of the 3D models are loaded is default, for GK and PL Home and Away, 4 slots.
In some parts of the binaries of 3D models, I add a breakpoint and it works.
But only in parts like the header and indexes.
But when I add a breakpoint to parts like vertices, x, y, z, the breakpoint does not work.
I already know a part of the format.
But I do not know how to convert the x, y, z values of 2 bytes into float.
So I wanted to know how the code uses those values.
And I also want to know the correct order of the 3D model.
As a join of the parts, triangles and etc.
Reply
#4
What Rama is saying is that PCSX2 itself has no bearing on this, nor does it's debugger. Model format and use was completely at the discretion of the game's developers.

If you have the raw model files, you should be looking into what format was used and how you can decode it and encode it as something usable for yourself.

Trying to use the debugger is the most roundabout and painful way to do this, since you are basically just running game code and hoping you stumble upon one assembly operation that looks like it may have a single parameter for a single vertex of a single model, after it has been modified to work with the current scene, probably followed by more arbitrary garbage. Nevermind the fact that model geometry was more often than not handled on the VUs, which are particularly nasty and didn't use a standard assembly language like the EE did.
Problems? Check out the development builds for the latest updates.

Mobo: ASUS Prime Z370-A
CPU: Intel i7-8700K (3.7 GHz)
RAM: G.Skill TridentZ, 2x8 GB DDR4 (3000 MHz)
GPU: EVGA GeForce GTX 1070 Ti FTW2 (8 GB)
OS: Windows 10 Pro (64 bit)

Oh yeah Red Pandas are cool too.


Reply




Users browsing this thread: 1 Guest(s)