Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - halkun

Pages: 1 2 3 [4] 5 6 7 8 9 ... 73
76
The system uses what's called "overlays" which are precursors to dynamic libraries.

A Static Library is compiled into the executable and becomes part of the code.

A Dynamic Library can be loaded anywhere in memory and has a vector table of functions within it. The program loads the library during run-time, looks up the function in the header it needs to run and then jumps to it and runs it.

An Overlay is a pre-compiled chunk of code that MUST be loaded in a particular memory location by some kind of memory manager, there is no lookup table and the calling function assumes that the overly will be there. This is the same idea as "bank switching" that was done in the old rom days. When another overlay is needed, the old overlay is overwritten. I can assume that all the MNU files are loaded into the exact location over each other and executed with a single function call. You can even probably find that call by reversing the MENU command in the field script.

77
the MNU files are actually pre-compiled banks of PSX code, (Which is why they are missing/rolled into the executable of the PC version of FF7).
The upsiade to this is if you know the entry vector, you can code your own MNU file I guess, but you would need to know the kernel callbacks yada/yada/yada

78
yea, looks like one programmer decided to grab some textures based on grabbing a percentage of the edge, while the other hard-coded the physical location of the mapping.

You don't expect a programmer to be consistent with code, do you :)

79
FF7 Tools / Re: FF7 File Reconstruction Project!!
« on: 2013-03-28 23:34:27 »
done

80
FF7 Tools / Re: FF7 File Reconstruction Project!!
« on: 2013-03-28 11:47:01 »
no, this topic is fine. I won't lock it

81
FF7 Tools / Re: FF7 File Reconstruction Project!!
« on: 2013-03-24 22:29:08 »
I didn't see the message - sorry

You can carry on the mantle if you want. I darn-near forgot about this.

82
Completely Unrelated / Re: EA CEO Resigns
« on: 2013-03-24 05:08:23 »
That is a hell of a rage-quit :)

83
Completely Unrelated / Re: So I made a blog...
« on: 2013-03-23 05:32:36 »
I'm thinking I've been here long enough to bend some rules... :P

Of course, we have a rule that you really should check you posts before you submit them for simple grammar, readability, and composition.

I've been breaking that one for, like, 11 years now.

84
Completely Unrelated / So I made a blog...
« on: 2013-03-23 02:19:05 »
I know I don't post much, and I don't even think I've ever posted in here for the last decade or so I've been on the site. If you guys want to know what I've been doing lately, I made a blog. It's not FF7 related, but it's about making video games.

I could really use the readership.

I post everyday and I try and not make the content boring. I invite you guys to read. You can click below.



I'm not trying to sound like spam, but guys, read my stuff! :)

85
There is a menu for each MNU bank swapped into the PSX. (Some MNU files have more than one)

It should be in the menu section on the wiki, but I think the graphics were all eaten.

86
I was under the impression it was already in English...

lemme check....

Yup, still in English.

Is there something wrong with the current translation?

87
Wait, what?

I know, right? I mean, I really quiet and lurky but I'm still around...

88
I'm just trying this as an experiment to see how this looks. This is one of the coolest things you can dig out of the debug info in the FF7 PC executable.

Look... Look with your "Special eyes!"

Code: [Select]
C:.
├───ff7
│   ├───chocobo
│   │       ch_app.cpp
│   │       ch_chr.cpp
│   │       ch_ddraw.cpp
│   │       ch_init.cpp
│   │
│   ├───coaster
│   │       psxdata_c.cpp
│   │
│   ├───condor
│   │       cd_app.cpp
│   │       cd_ddraw.cpp
│   │       cd_init.cpp
│   │       cd_tim.cpp
│   │
│   ├───field
│   │   └───src
│   │           ad_app.cpp
│   │           ad_bk.cpp
│   │           ad_cdr.cpp
│   │           ad_data.cpp
│   │           ad_ddraw.cpp
│   │           ad_human.cpp
│   │           ad_image.cpp
│   │           ad_list.cpp
│   │           ad_obj.cpp
│   │           ad_pal.cpp
│   │           ad_tile.cpp
│   │           tutaddr.cpp
│   │
│   ├───highway
│   │       psxdata.cpp
│   │
│   ├───snobo
│   │       memory.cpp
│   │       tmd.cpp
│   │
│   └───src
│       ├───battle
│       │   │   b3ddata.cpp
│       │   │   battle.cpp
│       │   │
│       │   ├───battle3d
│       │   │       amptoanm.cpp
│       │   │       bdata.cpp
│       │   │       char.cpp
│       │   │       enemy.cpp
│       │   │       limitbrk.cpp
│       │   │       lmd.cpp
│       │   │       mdl.cpp
│       │   │       stage.cpp
│       │   │
│       │   ├───myoshiok
│       │   │       lasboss3.cpp
│       │   │
│       │   ├───yama
│       │   │       coloss.cpp
│       │   │       init.cpp
│       │   │       inits.cpp
│       │   │
│       │   └───yasui
│       │           deadsef.cpp
│       │           sting.cpp
│       │           vahamut0.cpp
│       │
│       ├───credits
│       │       credfile.cpp
│       │
│       ├───main
│       │       initpath.cpp
│       │       main.cpp
│       │
│       ├───menu
│       │   ├───btlmenu
│       │   │   └───english
│       │   │           callback.cpp
│       │   │
│       │   └───english
│       │           loadmenu.cpp
│       │
│       ├───movie
│       │       sm_movie.cpp
│       │
│       └───wm
│               wmdefine.cpp
│               wmfile.cpp

└───lib
    └───src
        ├───graphics
        │   │   psx.cpp
        │   │   psxgraph.cpp
        │   │   render.cpp
        │   │   shp.cpp
        │   │
        │   └───sw
        │           sw.cpp
        │           sw_vert.cpp
        │           z.cpp
        │
        ├───input
        │       input.cpp
        │
        ├───list
        │       list.cpp
        │
        ├───mem
        │       heap.cpp
        │       mem.cpp
        │
        ├───movie
        │       movie.cpp
        │
        ├───polygon
        │       anm.cpp
        │       plytopd.cpp
        │       polygon.cpp
        │       rsd.cpp
        │       tim.cpp
        │
        ├───sort
        │       sort.cpp
        │
        ├───sound
        │   │   acm.cpp
        │   │   dx_snd.cpp
        │   │   midi1.cpp
        │   │   sound.cpp
        │   │
        │   └───creative
        │           sfutils.cpp
        │
        ├───stack
        │       stack.cpp
        │
        ├───thread
        │       thread.cpp
        │
        ├───token
        │       token.cpp
        │
        └───trans
                trans.cpp

MY BRAND!

89
Graphical / Re: Extracting summon monster models
« on: 2012-10-29 23:43:57 »
I hope I don't either, but I got the model extracted, but the textures show up like s**t in 3DS Max (a gradient mess of weird colors, no matter what options I chose for the BMP), so I have someone redoing them so they look normal.

The models do not use textures at all, they use flat gouraud shading with colors interpolated based on the color of each vertex point.

You know how you can shade the FF7 text window by changing the colors of the corners? That how they shade whole models in FF7.

90
actually.. wouldn't it be kind of trivial to "grab" the savemap from a savestate? I mean a savestate is just a ram dump with the current machine state I'm not sure if the savemap is contiguous in memory, but knowing what we know, we can probably slap on a header and checksum and call it a file.

It's an amusing thought.

91
I find the fact interesting that the PC version has a malloc() macro that is given the filename and line.

Used that little fact to dump some of the source tree.

http://wiki.qhimm.com/FF7/Technical/Source

Could use some cleanup though

92
I'm going to guess that WM1 was probably a copy of the post comet overworld map before they realized they could just swap out cells at particular plot points.

93
you can always go the "50 Shades of Grey" route. Make it, and then at the last minute change all the names.

(50 Shades was a Twilight fanfic that got really popular and the author chanaged all the names to get the book published)

94
A lawyer friend said this once to me...

"Fair Use isn't a right, it's a defense"

This it true, Fair use doesn't kick in until *after* you are sued and you can raise it as a defense. If you want to take that chance, more power to you. It will be up to you and your atterny to make that fair use claim in a court of law.

Let me put it like this. The old producer of Final Fantasy, Hironobu Sakaguchi, quit Square and made his own Final Fantasy clone called "Last Story". That was about as fas as he could go to get away with it. Too see what can be legally clear, check out how different that game is from than the actual Final Fantasy.

Ask yourself this, why doen't Capcom or Microsoft make an RPG based in the Final Fantasy universe... What's preventing them from doing it?

95
Nope Nope  Nope Nope

What you are tying to do is make a Derivative work. That will get you in lot of trouble if you want to publish it. Besides the fact the title "Final Fantasy" is trademarked, (along with the names of the Characters, cities, places, monsters, and such - therefore you can't use those), you don't seem to be changing enough to make it a "Transformative Work"

Here's is an example of a Transformative Work.

The movie "Tommy Boy" is actually a retelling of "Hamlet"
The TV show "House" is actually a retelling of "Sherlock Homes"

If you are not transforming it like the examples above, you are going to run afowl of copyright issues.

96
did they recompile the executable, or is it just a new new fixed graphics driver

97
I was one of the first ones to find the bone animation frames in the FF7 field models and theorized that the battle skeletons were based off of a static pose and then deltas, but I didn't have the binary chops to decipher the floating points.

Like Cyb said, a lot of these formats are binary versions of PsyQ's text-based file formats.  (And the PC version of FF7 uses some of them).  Also the PSX was really goofy about byte alignment when it came to DMA, so you will find padding bytes all the time between data sections. It makes finding the data borders easier.

Sometimes an FF is just an FF.

==== EDIT ====

Oh and by the way,  The FFs that are used as padding are often that the *end* of a section, not used as a header for the next.

98
What do you mean by same position? If they are the same size as they originally were, if they have the original name, and if they are in the original directory?

No "same position" means where the bytes of data are located on the psychical disk. This is not always guaranteed when you go through a filesystem. When you delete a file and make a new one, most filesystems will mark the old file as "deleted", but not remove the data. Then, if you make a new file it will create the data somewhere else and "link" the directory entry to the new location...

FF7 does not use the directories,  folders, or filenames to access data. That's why they got rid of them in later games. What happens is the FF7 kernel tells PSX where to put the laser head and reads the ones and zeros directly from the media.

I'm simplifying a little, but that's what's happening in a nutshell.

99
Graphical / Re: WIP Tifa
« on: 2012-07-09 07:02:24 »
good enough for me...

100
Graphical / Re: WIP Tifa
« on: 2012-07-08 23:33:17 »
Recko, I'm almost 98% sure that this a Dissidia model and you are doing some vertex fiddleing...

You have a week to post the UV map, wireframe screenshot, and vertex count or I'm editing your posts. Stealing models from other games is a real pet-peve of mine...

Pages: 1 2 3 [4] 5 6 7 8 9 ... 73