• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 07:09:11 am

News:

Use of ePSXe before 2.0 is highly discouraged. Mednafen, RetroArch, and Duckstation are recommended for playing/testing, pSX is recommended for debugging.


Deep dungeon

Started by Emmy, May 20, 2016, 01:38:54 am

Emmy

May 20, 2016, 01:38:54 am Last Edit: May 24, 2016, 05:53:35 pm by Emmy
1.  Is anything known about the Worldmap commands for Deep Dungeon yet?  Particularly the "1E" in the lines that all look similar to this: 01005C0000001E0000005B000500

As far as I can tell the rest of the line has to do with the selection of the DD entry.

2.  Do you happen to have the vanilla events that correspond to the DD battle start on the new config?  I have the old config versions. This for example Terminate:


Offset(x000C0000)
//Remove the previous line if you wish not to override the offset in CONFIG.INI.
Text(x000000CF)
//Remove the previous line if you wish text to compile directly after instructions.

Camera(+00616,-00412,+00616,+00430,+00512,+00000,+04096,+00001)
WaitForInstruction(x04,x00)
{73}(r102700FC102710271027102700FC)
Camera(+10000,-01024,+10000,+10000,+10000,+10000,-01024,+00001)
WaitForInstruction(x04,x00)
{63}(rE9)
Camera(+00616,-00412,+00616,+00302,+02560,+00000,+04096,+00320)
{4D}(r1E)
WaitForInstruction(x04,x00)
Wait(00060)
{1C}(r02)
{1D}()
{73}(r1027102710278000000210271027)
Camera(+10000,+10000,+10000,+00128,+00512,+10000,+10000,+00048)
{73}(r1027102710277FFF060210271027)
Camera(+10000,+10000,+10000,-00129,+00518,+10000,+10000,+00096)
{1E}()
DarkScreen(x00,x01,012,064,x00,004)
WaitForInstruction(x36,x00)
DisplayConditions(x08,060)
WaitForInstruction(x38,x00)
WaitForInstruction(x04,x00)
{63}(rCA)
Camera(+00616,-00412,+00616,+00302,+03584,+00000,+04096,+00008)
DisplayConditions(x00,060)
WaitForInstruction(x38,x00)
RemoveDarkScreen()
WaitForInstruction(x36,x00)
{1C}(r01)
{63}(r18)
EventEnd()

//INSTRUCTION SECTION END -  TEXT START
//Message x01


3.  Are the variables between 0x00AD and 0x01A3 used in any way? How about any of the ones marked "???"?

4.  Has anything been figured out about what triggers the Deep Dungeon battles to be random?
  • Modding version: PSX

Xifanie

Quote from: Emmy on May 20, 2016, 01:38:54 am
1.  Is anything known about the Worldmap commands for Deep Dungeon yet?  Particularly the "1E" in the lines that all look similar to this: 01005C0000001E0000005B000500


Here are the DD instructions (using my event reorganizer [in the works]):


Var=(x005C,x0000)
DDEntry(x00,x005B,x0005)


Var=(x005C,x0001)
DDEntry(x01,x005F,x0005)


Var=(x005C,x0002)
DDEntry(x02,x0061,x0005)


Var=(x005C,x0003)
DDEntry(x03,x0063,x0005)


Var=(x005C,x0004)
DDEntry(x04,x0065,x0005)


Var=(x005C,x0005)
DDEntry(x05,x0067,x0005)


Var=(x005C,x0006)
DDEntry(x06,x0069,x0005)


Var=(x005C,x0007)
DDEntry(x07,x006B,x0005)


Var=(x005C,x0008)
DDEntry(x08,x006D,x0005)


Var=(x005C,x0009)
Var=(x0095,x0000)
DDEntry(x09,x006F,x0000)


Var=(x005C,x0009)
Var=(x0095,x0001)
DDEntry(x09,x0072,x0000)


SetVar2(x005C,x0000)



DDEntry(xAA,xBBBB,xCCCC)
[indent=2]Load Random Battle ID xAA
Load Event/Scenario/ATTACK.OUT ID xBBBB
Set Variable 0x0068 from 0 to xCCCC - 1 (i.e. 0 to 4 by default; this is the variable that is used in events to tell which is the "right" panel to find the next floor)

I'm guessing the Load Random Battle ID portion only works if the Event's ENTD is set to 000. Because the Elidibs battle uses Random Battle ID x0009, but has its own ENTD set instead of 000.[/indent]

Random Battles (from my event reorganizer again)


Quote from: Emmy on May 20, 2016, 01:38:54 am
2.  Do you happen to have the vanilla events that correspond to the DD battle start on the new config?  I have the old config versions. This for example Terminate:

As you can see in the instructions above, 5B, 5F, 61, 63, 65, 67, 69, 6B, 6D, 72... but no, I don't have it with the new config. If I finish the event reorganizer's event decompiler/compiler, that won't really be an issue though. If you're capable enough with a hex editor, I can teach you how to force the decompiler to not ignore those events. (I know it shouldn't in the first place... it's a bug and I lost the source code)

Quote from: Emmy on May 20, 2016, 01:38:54 am
3.  Are the variables between 0x00AD and 0x01A3 used in any way? How about any of the ones marked "???"?

No idea, but I guess the chances are pretty low. I updated the variables page with all the new info I found using my event reorganizer...
The only thing I can think of off-hand that my event reorganizer doesn't read is the variables being edited by text (like reading a rumor at the bar can activate a variable).
As for "???", I was just guessing they might be used for something.

Quote from: Emmy on May 20, 2016, 01:38:54 am
4.  Has anything been figured out about what triggers the Deep Dungeon battles to be random?

If you look at the screenshot above, it's the DDEntry instruction that forces this (which I'm guessing is 1E00 in the old crappy format).
It will randomly select from the 8 ENTDs listed per row. Obviously, my event reorganizer assumes that you are using DDEntry with the appropriate Random Battle slot ID, but I think that's fine? :p

If you want to actually edit those, the Random Battles spreadsheet in the tools section should do the trick; just compare the values in the screenshot and you'll quickly find what to edit.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Emmy

Thank you for your help. :)  The random battle spreadsheet works nicely. :)
  • Modding version: PSX