[PSX/PC] Field Editor - Makou Reactor (2.1.0)

  • Thread starter Thread starter myst6re
  • Start date Start date
Status
Not open for further replies.
The world map script decides direction as I thought, and can set any direction and position - same as normal field and fieldgate jumps.

The direction is set from world to field at 63C094.

Each model has 0x88 bytes of information (I already know a lot of this for Ochu - X Y Z T is also set here and other immediate data) starting at CC16A8.  There must be an upper limit to the number of models allowed on screen or it would overrun into other data.  It's likely 16 models maximum (this includes ALL models - such as treasure chests and Save Points and NPC and Characters and so on).

Field to World Map is done with the Field.  You can set that in Makou, either script code or exit gate.  Direction can be set here also.
 
Last edited:
DLPB: Thanks, that clears up a lot!

All: I've added some new features to my worldmap script disassembler:

  • Now shows friendly var names for known model IDs: $Cloud, $Tifa, $Cid, $UltimateWeapon, $Highwind, $Submarine, $Chocobo, etc.
  • Now shows friendly var names for known system functions: $OnWorldMapLoad, $OnFrameTick, $OnEnterHighwind, $OnTouchMidgarZolom
  • Now shows friendly var names for known model functions: $OnModelLoad, etc.
  • Now shows friendly var names for known chocobo types: $YellowChocobo, $GreenChocobo, etc.
  • Now shows friendly var names for known submarine types: $BlueSubmarine, $RedSubmarine
  • Now shows the full "call table" (list of system functions, model functions, and walkmesh functions)
  • Now shows which "call table" entries invoke which sections of code. Sometimes multiple functions point to the same code. For example, System function 25 and Highwind function 25 both point to the same address.

So, the World Map script is becoming much easier to understand now.

I've updated the example I posted earlier:
http://kujatas-picklejar.rhcloud.com/wm0.html
 
You should probably also know that the world map has a maximum of 16 (although it looks like 15... so maybe it is)  IDs for models.  I am not sure what decides the order - in field order is determined by ID number... but with world map, for example, object coords can shift to a different area (one of the 15 areas for coord data in this example).  When new Ochu comes out, you'll be able to see this better. Certain vehicles share the same ID - so you can't have all vehicles on screen at once. The 15 areas I am talking about above are records, 0xC0 long - so they likely contain a lot of other data about the model.

World map jumps to field by placing the location map and X Y T  in the SAME place as the field does (like with field to field, Z is calculated based on this).  It uses a different method of calling the jump. 

You've also got the undersea area and the great glacier - which are part of the world map code.
 
Last edited:
Hello everyone, I released a 1.7.0 beta version on GitHub.
There are lot of internal changes: the source code is reencoded to UTF-8, every strings is now in English in the code (the main language was french). Qt version is updated from 4.8 to 5.5.

Please let me know if you find bugs or crashs.
 
Super! In the coming days I'm going to go through Makou Reactor and document anything I think could help.
 
1. When changing model and animation, the new model does not show up in the preview window.  You have to close and reopen the flevel. This happened to me while removing an item bag and replacing it with a red materia on map anfrst_2 (complete with correct anim).

2. Walkmesh Gateway shows X Y ID for Destination Point.  This would be better as X Y T (for triangle). Less confusion.

3. 'Show 3D models' option in Walkmesh is always ticked when Makou is opened.  Makou doesn't remember user preference.

4. I'd personally remove the Save icon from the tool bar.  It can be clicked by accident very easily.  I've done it :P

5. Akao and Akao2

Argument 7 decides the action.  Argument 7 currently shows numbers rather than their operation.  For example, 192 should be "set music volume" in the drop down menu / argument text.

Parameter 1-5 (argument 8 to 12) also need renaming. For example, Argument 8 /Parameter 1 is Volume.  Its maximum is 127 when setting absolute volume (although, for some reason, 255 is used in some places - perhaps by accident?). 

When playing a sound effect, Argument 8 is the volume and Argument 9 is the ID of the effect.

Argument 7 should be renamed "Operation" or something similar.

Are arguments 1-6 used for setting values based on mem addresses? If not, they can be hidden.  I don't think they're ever used in FF7?

I am not sure how Akao and Akao2 differ?   They look exactly the same in their functionality.


6. Language.

It may be better if I look at the source code and change it myself rather than trying to explain every small English niggle.

7. When selecting "find script > opcode" - makou no longer automatically selects the correct opcode you have highlighted in the script window.

8. Feature request: Archive manager to import more than one file at a time?

9. Feature request: "Recently opened" list on file menu.

10. Should not be able to add more than 0-15 Field models to one map.  Anything over this will likely cause a crash or just be ignored.  Maximum model ID is 15 (this is seen very rarely; for example, in cos_btm). There will be limits to location lines and so on, as well, but I don't know what they are.
 
Last edited:
11. Lastmap still does not work correctly.  It does look ok now compared to the mess it used to when importing, but Holy is still not being shown on its own (showing background param 3 and 4 should do that - and do on PSX).  It's being shown always with the red background.  So Z value calculation still off?
 
The Z issue when converting PS background to PC is still there.
You can repair the background directly on the flevel.lgp, did you use the repair button on the background viewer dialog? If yes, I'm afraid that the best I can do for now.
 
Mine doesn't have the repair button and I'm using 1.7.0b

The red rocks are hidden when importing the psx version (the code is there in PC probably too).  But something isn't working right,
 
If you use option "Repair", dissapear "red rocks" and it's like psx version and you won't have the Z's issue.
But to hide... red blocks... I don't get... it's like if aren't compatible in pc version the options of background,
or that field is special.
 
Sometimes opcodes are not fully implemented on the PC version, for example you can't remove materia and a special fade in a cut scene at nibelheim is different on the PC version.
 
Mine doesn't have the repair button and I'm using 1.7.0b

The red rocks are hidden when importing the psx version (the code is there in PC probably too).  But something isn't working right,
Does it also display wrong in software mode?
 
Sometimes opcodes are not fully implemented on the PC version, for example you can't remove materia and a special fade in a cut scene at nibelheim is different on the PC version.
The hide and show background states are compatible, but they are not working for that map properly.  The preview window looks fine, but in game it simply isn't doing what it should on that map.
 
1. When changing model and animation, the new model does not show up in the preview window.  You have to close and reopen the flevel. This happened to me while removing an item bag and replacing it with a red materia on map anfrst_2 (complete with correct anim).

2. Walkmesh Gateway shows X Y ID for Destination Point.  This would be better as X Y T (for triangle). Less confusion.

3. 'Show 3D models' option in Walkmesh is always ticked when Makou is opened.  Makou doesn't remember user preference.

4. I'd personally remove the Save icon from the tool bar.  It can be clicked by accident very easily.  I've done it :P

5. Akao and Akao2

Argument 7 decides the action.  Argument 7 currently shows numbers rather than their operation.  For example, 192 should be "set music volume" in the drop down menu / argument text.

Parameter 1-5 (argument 8 to 12) also need renaming. For example, Argument 8 /Parameter 1 is Volume.  Its maximum is 127 when setting absolute volume (although, for some reason, 255 is used in some places - perhaps by accident?). 

When playing a sound effect, Argument 8 is the volume and Argument 9 is the ID of the effect.

Argument 7 should be renamed "Operation" or something similar.

Are arguments 1-6 used for setting values based on mem addresses? If not, they can be hidden.  I don't think they're ever used in FF7?

I am not sure how Akao and Akao2 differ?   They look exactly the same in their functionality.

6. Language.

It may be better if I look at the source code and change it myself rather than trying to explain every small English niggle.

7. When selecting "find script > opcode" - makou no longer automatically selects the correct opcode you have highlighted in the script window.

8. Feature request: Archive manager to import more than one file at a time?

9. Feature request: "Recently opened" list on file menu.

10. Should not be able to add more than 0-15 Field models to one map.  Anything over this will likely cause a crash or just be ignored.  Maximum model ID is 15 (this is seen very rarely; for example, in cos_btm). There will be limits to location lines and so on, as well, but I don't know what they are.
I started to fix/implement your requests, I think it can be done for the 1.7.0 release. Except for "6. Language", this is on your side :)
 
Explain to me how the background Z values / data is different in PSX and PC.  And where are the Z values in PC?  Is it possible to add option to change manually?  Perhaps then I can test better.

Also on akao.... leave argument 8 etc with maximum 255.  I am going to do some serious testing with it soon and find out exactly what's going on.  Parts of the game do use 255... so I guess it has to be left as that.
 
Z values are in each tile. It is hard to test, but you can see standard Z values (used in PS version) on the new "Sections" tab in the background viewer (select a section to see the Z-value in the field below). And for the strange PC Z value, I cannot show it easily... almost each tile in layer 1 have a different value.

I modified the editor for AKAO to display the list of "operations". AKAO is different to AKAO2, because the first param is 8-bit, instead of 16-bit. It is possible that affect vars too, but like you said AKAO is never used with variables.
 
Status
Not open for further replies.
Back
Top