Author Topic: Mini-game Fixes  (Read 43518 times)

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #50 on: 2012-07-25 00:12:08 »
yup!  I am experimenting now with the colours.   The PSX uses a much darker green to me but my green looks better :)  I will give a few options with this mod probably when done.

I do believe I now have the holy grail for editing this game.  The international PSX version does have 1 or 2 other minor differences, like better missile colour... I can look into that if I get bored.

obesebear

  • *
  • Posts: 1389
    • View Profile
Re: Mini-game Fixes
« Reply #51 on: 2012-07-25 01:50:14 »
That's awesome.  And now that this is done, why not tackle increasing draw distance in all areas...;)

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #52 on: 2012-07-25 01:55:47 »
I could probably do that, however, that's a game breaker because the limited draw distance for uncovering things is what gives an element of surprise.  Of course, wireframe view gives a full look at the map.

This is how the wireframe is looking (I have allowed option for the dark green look)

http://dl.dropbox.com/u/36889302/FF7/wire.PNG

I may edit the blue colour slightly too.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #53 on: 2012-07-25 03:20:14 »
http://www.youtube.com/watch?v=XTjkArPXiDg

mainconcept encoder and vegas seems to make this darker than it is.  Nvm.  (if anyone knows why, let me know).

Next time you hear from me will be a main release.  8)

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #54 on: 2012-07-26 04:53:08 »
I lied again.  I would have been making good progress with the minigame but Luksy reminded me how crap the original mine graphic colour is... so I hunted about like an idiot until I finally closed in on it... and with the help of adobe to pin point exact colours I managed to locate the colours for the column and mine.

The mine was a nightmare, but after ages searching I located a table.  The table starting 00987458 sets the colour for each of the diamonds 8 sides.  Now I can finally get to work finalising all this.

http://dl.dropbox.com/u/36889302/FF7/Minecolour.PNG

Must admit, when I gave up on this minigame before I never thought I'd manage all this. 
« Last Edit: 2012-07-26 05:16:24 by DLPB »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #55 on: 2012-07-28 05:53:00 »
Quick update about the Submarine text.  It took me a while to suss what was going on here, I always thought the sub game used textures for the words, but it has its own font.

For anyone who wants to translate the text it may prove hard... each letter is hardcoded.  As long as you don't need to add letters it should be possible with trial and error changing the values for the font offset. 

See this:

http://dl.dropbox.com/u/36889302/FF7/Subtext.PNG

As you can see I have altered 2 letters of the word TARGET by changing the X offset value for letters T and A.  Trial and error is the only way you can make it look nice.  It takes experiment.  The programmer who made the game obviously had to create his own programming for text and thus we get this.  The TARGET word starts at memory 007976DE.  This sets the words at game start for each letter.

Above and below this are the rest of the words TIMELIMIT, SCORE etc.  Changing TIMELIMIT to GAME OVER would be no problem because they are the same number of characters... but making more letters would require considerable work.  For this reason, anyone who wants to mess about with this for foreign translations will need to work within the current framework (Assuming foreign games haven't already corrected this minigame).


_Ombra_

  • *
  • Posts: 110
    • View Profile
    • http://www.sadnescity.it
Re: Mini-game Fixes
« Reply #56 on: 2012-08-28 14:42:25 »
DLPB, we had the text locations figured out a long ago. It was freaking hard to find how it worked but we never got around to translate it in our work. What we did tough is use the spanish version of the exe for the italian translation which had longer text. You might want to poke around that to see how they implemented it. Just my 2 cents :P

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #57 on: 2012-08-28 15:31:45 »
I don't need the text :P  It didn't take me that long to find it either luckily  8)

_Ombra_

  • *
  • Posts: 110
    • View Profile
    • http://www.sadnescity.it
Re: Mini-game Fixes
« Reply #58 on: 2012-08-28 17:49:03 »
DLPB, i meant compare it to the english one to understand how to expand it... if there is an easy way...

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #59 on: 2012-08-28 17:51:00 »
There isn't...  If you want to expand it you have to add in programming and that takes a lot of messing.  But the English game is fine and doesn't need any text changes.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #60 on: 2013-02-18 01:40:17 »
http://www.youtube.com/watch?v=JEV1rise1V8

While I was looking into the Coaster game, ready for my own difficulty mod, I saw that every main 3d item is actually allowable as a collectable, including the Welcome message at the start of the game.  Each model that is a collectable but you don't collect in the normal game has points of 0 (so obviously you'd have to set that too).

I just went through a game and collected things like lava flows haha.

The main function for scoring points (and deciding what type of points system to use) starts 0x5ED5AC.  For example the boat propeller thing uses ID 3, so it jumps to 5ED765 and performs the action.   All you need to do is give your collectables an ID, an energy level and points.  The function is called every time a collectables energy has run out..

If you search for
Code: [Select]
E8 03 00 00 01 00 00 00 52 07 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 0A 00 00 00
00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00

when playing coaster you will find the data for the main spaceship (and the table is identical in xbin.bin).  E803 is it's points (1000) and 8601 is its energy (390) [not seen above] and 05 is the points ID.  If you set this to 03 then the points will be calculated based on increasing points like the boat.  The boat is set to 1 point because it increases rapidly.  Originally the zeppelin propeller was set way too high and hence the "bug" where it gave you a lot of points.  I corrected this by setting its points to 0.

Remember that different ID's have different ways of calculating points.  ID3 does it by the duration of your beam on the object as said.  There are a LOT of items in the coaster game in total, so finding the item you want to include as a collectable is a tedious task of using a debugger on the code and locating each table, then  editing xbin.bin.

welcome sign:


00 00 00 00 01 00 00 00 4B 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00



Red is points allocated
Blue is ID,  I used 02. I do not know what the other 4 ID's are. I only know what 03 is at the moment.  (and 05 seems to be specific to the spaceship)

By simple edits to the main tables, you can control all aspects of the collectables including their positions.  I don't intend to document all that because all I want to do is a few minor tweaks.

Below the welcome sign is an identical section to above, this is the sides of the welcome message.
« Last Edit: 2013-02-18 05:03:01 by DLPB »

JBedford128

  • *
  • Posts: 113
    • View Profile
Re: Mini-game Fixes
« Reply #61 on: 2013-02-18 16:41:17 »
I just decided to investigate. Forgive me if I'm saying something we already know.

Code: [Select]
            5b 00 00 00 C7 00 00 00 30 75 00 00
E8 03 00 00 01 00 00 00 52 07 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 0A 00 00 00
00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00

I don't know how big each object block in the Coaster minigame is or where they start, but the "5b" in the example above changes what the object looks like-- the model it uses. So above is the block for the big UFO.

I edited the "Welcome" sign's model from its original "60" to "5b". And this changed the Welcome sign to the big UFO model.
« Last Edit: 2013-02-18 16:42:57 by JBedford128 »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #62 on: 2013-02-18 16:47:17 »
It's quite possible :)  There is X Y and Z information in there some place too, to move the objects about. I am guessing there is also "frame" information, telling it what frame to appear on.

The total data for each object is 96 bytes.

The UFO full is this:

05 00 00 00 5B 00 00 00 C7 00 00 00 30 75 00 00
E8 03 00 00 01 00 00 00 52 07 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 0A 00 00 00
00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00
00 00 00 00 86 01 00 00 00 00 00 00 00 00 00 00
00 00 00 00 2D 02 00 00 DB 01 00 00 00 00 00 00

Welcome sign is:

05 00 00 00 60 00 00 00 CC 00 00 00 00 00 00 00
00 00 00 00 01 00 00 00 4B 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Boat is:

05 00 00 00 2C 00 00 00 0C 00 00 00 00 00 00 00
01 00 00 00 01 00 00 00 20 03 00 00 00 00 00 00
39 03 00 00 00 00 00 00 1E 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 03 00 00 00 64 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 EA 01 00 00 00 00 00 00

Try documenting some of the stuff for me.

What we know is:

Byte 5-6: image/model visual?
Byte 13-14: Related to movement speed
Byte 17-18: Points allocated
Byte 45: When set to 0A, model rotates. May be rotation speed.

Byte 57: ID  (00 enemy/model cannot be collected
                    01 normal
                    02 unknown
                    03 points continuously added on when energy is less than 0
                    04 unknown
                    05 Spaceship only, probably tells it to explode).

Byte 85-86: Energy


The data is there for its X Y Z, frame position, because if you copy the ship data to the welcome sign, you get no sign, but you do get 2 ships instead of 1 at the same time.
« Last Edit: 2013-02-18 19:52:21 by DLPB »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #63 on: 2013-02-18 20:54:36 »
Other note

At 005F0CB5 change to sar ecx,02  this will get the beam graphic thick again like it was in the playstation version.

(005F0CB7= 02 )

JBedford128

  • *
  • Posts: 113
    • View Profile
Re: Mini-game Fixes
« Reply #64 on: 2013-02-18 23:42:12 »
Compiling a list of models. I'll add some images another time. Also many of them don't seem to appear/can't be seen when changing the Welcome scene so a lot state "Nothing".

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #65 on: 2013-02-18 23:47:59 »
Cool so you are updating these based on the ID?

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #66 on: 2013-02-19 00:04:13 »
Also that boat thing in the bottom left that sometimes gives out 200+ points and sometimes does not.. I think it's a bug.  There's something wrong with something in the code that makes that behaviour happen.  If you aim your cursor in bottom left for duration of minigame you will see it adds 6 or it adds 223.  Seems completely random.

It seems to pick and choose when to call 005ED528 (at 005EC22F) repeatedly (and it shouldnt do that if you are not firing at it). You can see that its energy value continues to decrease even when you are not aimed at it (assuming you are still firing).

Something happens there where the function which is called when you are firing at something, accidentally keeps being called.  If I or anyone else cannot do anything about that, I will just set that thing to 0 points so that it is effectively disabled( the same way I did for the Zeppelin propeller which has this exact same issue).


Things I am changing for Weapon (my difficulty mod)

Aimer speed will be fixed
Aimer graphic will be fatter like it was originally  (these are hopefully being added to aalis next driver by default)

Aimer power will be 4x greater, this is to balance out what i see as this game being too difficult on NTSC.  The chance of anyone getting a perfect score without cheating is very remote indeed at the moment.  PAL can be done...  NTSC, no chance.

Big UFO will be much harder to destroy (it's worth 1000 still so that's necessary)

Certain new objects have been added, and one or two removed.

object points have been amended

The boat rotor no longer gives points out due to internal bug that also exists in all Playstation versions.  I can make this model collectable in its own right, but because of the bug it can be collected even when you are not aiming at it.  So I have disabled it. The Zeppelin rotor is disabled for the same reason. It may be possible to change the tables of these 2 so that the bug does not manifest itself.  I will check.



« Last Edit: 2013-02-19 06:11:08 by DLPB »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #67 on: 2013-02-19 07:16:13 »
I've now finished the edit to coaster minigame.  I will go back to sorting submarine game now :)  May prove a harder task thanks to the way the tables are in that game.

I am also going to remake the script for the prizes for the minigames.  The coaster prizes are a complete joke.  Whoever's job it was was bone idle.
« Last Edit: 2013-02-19 09:03:17 by DLPB »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #68 on: 2013-02-19 23:26:01 »
http://finalfantasy.wikia.com/wiki/User:JBed/FFVII/Coaster

Quote
The offsets are from the entirety of coaster.lgp, not from just the individual .bin file

The main 96 byte data is 1:1 in xbin.bin.   There is only one other file in coaster.lgp and that is xbinadr.bin and that has nowhere near the data needed (although it could be setting addresses).

All main data comes from 1 file.   The big UFO is at 10C6DC (in xbin.bin) .

I have modified every single enemy in the game from this file, added some models and removed others and changed all points.  Everything needed to edit the game is in that file :)

Is that what you are referring to?
« Last Edit: 2013-02-20 00:36:44 by DLPB »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #69 on: 2013-02-20 07:28:19 »
I attempted to do this when I was around 18 and I didn't get far...  but now, armed with virtualdub and a hex editor, I can finally shed some light on the scoring of this minigame.

http://www.youtube.com/watch?v=FIGKdGtpcJk

Shademp is the best I have seen at the coaster game in PAL version (NTSC is nigh on impossible compared and you'd be there all year trying to get 8100+ at it).  My highest score at coaster pal is in the 8000 region (I'd have to check my PSX save for exact figure but it definitely isn't as good as Shademp's attempt above because I know what I missed.).  Even Shademp missed something in the ice cavern (as I am sure 99.9% of people will). The ice cavern has 31 collectable objects originally totalling 1590 points.  The chance of clearing it even in PAL is remote (it can be done in NTSC too, because I just did it after 20 odd tries).  I will be amending this area now as well, in light of the crazy placements this area has.

Because of the boat rotor bug it is difficult to get an exact figure on the maximum original total (not including the zeppelin propeller), although I believe the bug gives out 222 plus what you got beforehand) I may look into that tomorrow. My total stands at exactly 4310 (pending the ice cavern remake).

In my game the total number of collectables is currently 138 (I've removed 7 and added  5 so far)

Not including the rotor (which isnt collected), the total for the original game is 140 collectable objects

10 Ghosts
6 Plants
10 Blue planes (1 is at the end)
11 Gray planes (1 is at the end)
1 Rock
3 Fish
10 Stars
31 Ice cavern objects that are fucking ridiculous to distinguish (7 of them are ice spikes, 24 are icicles)
19 Small balloons
1 Large balloon
9 UFO
8 Pink Ship
7 Lava rocks
9 Helicopters
3 Fast UFO's with light beam
1 Mother Ship UFO
1 Light (you can receive the same light on either side at the end.  It shares code).


Shademp's extensive testing with the rotor appears to indicate that the maximum points it will give out is 285.  If this is so, the total score for the original game is  8184 + 1 + 70 = 8255.  I am 99% confident of that figure.

The total score for the original game without the rotor is definitely 7970

Yes, it's quite obvious I need mental evaluation.

Pal runs at 50 fps, NTSC/PC (correct speed) runs at 60fps
Quote from: dlpb
it's surprising how much that extra 10fps affects games... the coaster game is much harder in NTSC.  I can get 7900+ on PAL version once every 10 or so games... max 20.  But with NTSC that would likely be 50 tries.  It is little wonder people online generally talk like getting 7000 is so hard, and then people in PAL area are arguing it isn't too bad


« Last Edit: 2013-02-20 20:54:55 by DLPB »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #70 on: 2013-02-20 09:29:02 »
Comparison between International PSX and PC (PC is 1:1 of old Japanese) for main table xbin.bin (in playstation version this is xbin2.bin)

Code: [Select]
    RAW Offset   | Old Byte | New Byte
-----------------+----------+----------
     0010B84C         28         00
     0010B874         03         00
     0010B880         00         02
     0010B8AC         28         00
     0010B8D4         03         00
     0010B8E0         00         02

6 changes. 

0010B84C: Zeppelin Propeller1 points set to 0
0010B874 : Zeppelin Propeller1 ID set to 0 (effectively disabling it completely)
0010B8AC: Zeppelin Propeller2 points set to 0
0010B8D4 : Zeppelin Propeller2 ID set to 0 (effectively disabling it completely)

I expected those 4.  They are after all the reason the Zeppelin is not used in later revisions after original Japanese.

The next 2 I did not expect (they are still for each of the 2 propellers on the Zeppelin):

Code: [Select]
0010B880          00         02
0010B8E0         00         02

For some reason...  the energy for the propellers is 2 and not 0.  I can't see any reason for this other than the fixer might have thought this was needed.

Basically, the ONLY change from original Japanese to later revisions is the disabling of both zeppelin propellers... this was done because ALL objects that use ID 3 (like the boat rotor) have an internal bug.  The Rotor adds 1 point for the duration you are aimed at it AND keeps adding it when the bug occurs...  but the zeppelin had 2 propellers each worth 40 points... and when the bug happens... that's an ENORMOUS amount of points that get added (80x the boat rotor, and probably in the vicinity of 17000 points, I calculated it as 17760 maximum possible).

rather than fix the bug itself, they have done what I have .... disabled the object.  I went one further and disabled the rotor as well. The rotor is every bit as buggy as the zeppelin... the difference is the small amount of points it adds (well... 222 is still too many) was something they could ignore.



« Last Edit: 2013-02-20 10:37:59 by DLPB »

Cyberman

  • *
  • Posts: 1572
    • View Profile
Re: Mini-game Fixes
« Reply #71 on: 2013-02-20 21:53:09 »
For some reason...  the energy for the propellers is 2 and not 0.  I can't see any reason for this other than the fixer might have thought this was needed.
Or it could be an artifact sometimes when "fixing" something you do changes empirically instead of using a 'reasoned method' ahem (LOL).


Basically, the ONLY change from original Japanese to later revisions is the disabling of both zeppelin propellers... this was done because ALL objects that use ID 3 (like the boat rotor) have an internal bug.  The Rotor adds 1 point for the duration you are aimed at it AND keeps adding it when the bug occurs...  but the zeppelin had 2 propellers each worth 40 points... and when the bug happens... that's an ENORMOUS amount of points that get added (80x the boat rotor, and probably in the vicinity of 17000 points, I calculated it as 17760 maximum possible).
Interesting sounds like their are 2 potential sources for it. If it occurs in 2 seperate objects then it becomes suspicious. Are these objects in seperate games or seperate parts of the game ... (if you follow my reasoning).

rather than fix the bug itself, they have done what I have .... disabled the object.  I went one further and disabled the rotor as well. The rotor is every bit as buggy as the zeppelin... the difference is the small amount of points it adds (well... 222 is still too many) was something they could ignore.

Depends the bug may be in the actual script engine or in the script code. The person was likely told "do it now". Also their are other problems that aren't "apparent". If the person was the script writter and the script engine was now "done" (no bug fixes in the engine are now allowed) then the only way to fix it may have been to disable the offending objects.

Cyb

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #72 on: 2013-02-20 21:58:22 »
The propeller is 2 specific objects, i..e there are literally 2 propellers :)  each worth 40 points originally. The above addresses disable both (although just changing the points they are worth to 0 would have sufficed). 

originally, if you hit both propellers perfectly you got 2*40 points for the duration your aimer was on it (though not every frame), but once the bug kicks in you then get 2*40*60 (a second) for the duration the bug happens.  I think what stops the counter continuing is the next enemy loading into memory, effectively terminating the propellers. Same with the rotor... by that time tho... the damage has been done.
« Last Edit: 2013-02-20 22:02:07 by DLPB »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Mini-game Fixes
« Reply #73 on: 2013-02-21 02:04:52 »
Ok so final word on the new coaster game before release.  These are the changes:

  • Shooting power 4x greater
  • Shooting graphic thicker like Playstation
  • Aimer will now work at correct speed.
  • Mother Ship much stronger
  • Big balloon slightly stronger
  • 1st fish slightly stronger
  • All enemy points changed
  • Boat Rotor disabled due to bug
  • Zeppelin Propellers disabled due to bug
  • 14 objects removed from icicle area.  There are now 17 objects left in this area with total of 360 points, down from 1590
  • 7 objects removed elsewhere (1 blue plane, 1 star, 3 lava rocks, 2 fast UFO)
  • 1 object changed and made stronger
  • 5 objects added (I will keep these a secret.).  These total 210 Points.
  • Prizes altered. Script altered.


The number of collectables is now 124, down from 140.

The total points available is 4050, down from 8255.


It is possible to get a maximum score when you are excellent at the game... as opposed to before where you'd need to lose your life and also have monumental luck.  If you do get full points you will receive a Master Summon.   It is not going to be that easy to do though, so don't think you will be able to doddle your way to it.  I may have to amend this prize to occur only when you are later in the game, although there's something fun about giving people the chance that early on, especially given how difficult it still is to finish this with max points.  All other prizes will also be amended.  There will be NO 1:35 soldiers haha.

« Last Edit: 2013-02-21 02:09:27 by DLPB »

Mako

  • *
  • Posts: 669
    • View Profile
Re: Mini-game Fixes
« Reply #74 on: 2013-02-23 16:20:10 »
I think a Master Summon is a bit game breaking. You could offer a Mystle, or a triple slot weapon... Or if possible a newly created weapon/armor/accessory.