Please login or register.

Login with username, password and session length
Advanced search  

News:

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

LuCT Hacking (PSX)  (Read 5475 times)
Pages: [1]
Bad code, beware! The NOPs are coming to eat you!
formerdeathcorps [Posts: 1322]
  • View Profile
  • share
  • [December 29, 2011, 04:48:32 AM]
LuCT Hacking (PSX)
« on: December 29, 2011, 04:48:32 AM »
I am simply starting this, but I'm going to post my work.


So far:

PRG.EXE is the ASM file that contains the battle and world routines.
PRG RAM = PRG ROM + 0xF900

SLUS_005.60 is the ASM file that contains the routines only loaded when the game is turned on (up until the New GAme/Continue/Tutorial menu).  As far as I can tell, it is not loaded during the actual game.
SLUS RAM = SLUS ROM + 0x157000

UBF.BIN is the file that contains almost no ASM (I haven't looked too carefully, the LEDecoder decompiled file is 125 MB and takes minutes to open).  I suspect it contains all the storyline events, names, sprites, maps, and possibly sounds as well.  This file is 16 MB, so I doubt all of it is loaded into the RAM; instead probably only the relevant sections are loaded.

UBF2.BIN is the file that contains ASM with variable RAM to ROM translation.  I suspect it contains all the event triggers that tells the game to load only a subset of the events for the different story routes.  The file is 1.4 MB, but I suspect only parts of it are loaded into RAM.

From what I've seen so far of the RAM, it seems like nothing changes much, and most of the RAM consists of tables.  The same RAM data exists between across between the World Map, Formation Screen, and Battle.  I suspect this is to track everything that happened in the storyline (which is more complicated than FFT).  By comparison, in FFT, almost all of the RAM is reloaded between the World Map and Battle Screens (meaning FFT has more data to load when it comes to battle mechanics).


What I Need:

Gameshark Codes (This should help me figure out RAM addresses to track)
Debuggers (You must be proficient in using a PSX debugger.  Hopefully, you have played LuCT before as well.
Hexers (You must be patient.  Scan the UBF.BIN file for patterns and correspondences to game data.  Let's make an event editor by the time we're done.)


Attached Files:
Decompiled by LEDecoder (Thanks, Glain!)

Key.txt (This Post)
UBF2.txt (Decompiled version of UBF2.BIN)
SLUS.txt (Decompiled version of SLUS_005.60)
PRG.txt (Decompiled version of PRG.EXE)
UBF.BIN (Too large to decompile, most of the contents are gibberish, but I suspect TO's meat lie in here; hence why I need hexers and time to unravel this)

The destruction of the will is the rape of the mind.
The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.
SaGa Frontier Hacker
Pickle Girl Fanboy [Posts: 1482]
  • View Profile
  • Bio Research Lab
  • share
  • [December 30, 2011, 05:23:26 PM]
Re: LuCT Hacking (PSX)
« Reply #1 on: December 30, 2011, 05:23:26 PM »
Here's some ideas gleaned from data diving in Ogre Battle - The March Of The Black Queen and Tactics Ogre - The Knight Of Lodis.

SaGa Frontier Hacker
Pickle Girl Fanboy [Posts: 1482]
  • View Profile
  • Bio Research Lab
  • share
  • [December 31, 2011, 06:07:55 PM]
Re: LuCT Hacking (PSX)
« Reply #2 on: December 31, 2011, 06:07:55 PM »
Bump for news:
Quote
http://www.gamefaqs.com/boards/198881-tactics-ogre/60552288
^A "trainer".  No idea what it is, but it looks useful.

http://db.gamefaqs.com/console/psx/file/tactics_ogre_mech.txt
^LUCT BMG

http://db.gamefaqs.com/console/psx/file/tactics_ogre_character.txt
^Class FAQ

http://db.gamefaqs.com/console/psx/file/tactics_ogre_battle.txt
^Battle Guide.

http://db.gamefaqs.com/console/psx/file/tactics_ogre_stats.txt
^Stat growth guide.

http://db.gamefaqs.com/console/snes/file/tactics_ogre_hacking.txt
^Save state hacking guide for SNES version.  Finding many of these things in a pSX save state should take maybe 20 minutes work with a hex editor.  Plus, we got digits.
One last thing: There's a lot of LUCT fans at RHDN, and, though I didn't find any documents over there, you should make a topic about this project over there, as well as here.  They will want what you find, and they might just help.  And I think I remember a LUCT hacking community somewhere.
SaGa Frontier Hacker
Pickle Girl Fanboy [Posts: 1482]
  • View Profile
  • Bio Research Lab
  • share
  • [February 21, 2012, 11:25:44 PM]
Mediator
Eternal [Posts: 3077]
  • View Profile
  • https://steamcommunity.com/id/eternal248/
  • share
  • [February 21, 2012, 11:27:08 PM]
Re: LuCT Hacking (PSX)
« Reply #4 on: February 21, 2012, 11:27:08 PM »
Edea's already a member of FFH, as a FFTA modder. I'll point her to this topic.

    • Modding version: PSX & WotL
    • Discord username: eternal248#1817
  • "You, no less human than we? Ha! Now there's a beastly thought. You've been less than we from the moment your baseborn father fell upon your mother in whatever gutter saw you sired! You've been chattel since you came into the world drenched in common blood!"
    Bad code, beware! The NOPs are coming to eat you!
    formerdeathcorps [Posts: 1322]
    • View Profile
    • share
    • [June 15, 2012, 10:55:00 AM]
    Re: LuCT Hacking (PSX)
    « Reply #5 on: June 15, 2012, 10:55:00 AM »
    More information:

    http://luct.tacticsogre.com/ogreshark.html
    In particular, the job list is
    01 = Soldier
    02 = Knight
    03 = Berserker
    04 = Terror Knight
    05 = Swordmaster
    06 = Dragoon
    07 = Ninja
    08 = Beast Tamer
    09 = Wizard
    0A = Warlock
    0B = Exorcist
    0C = Lich
    0D = Gunner
    0E = Amazon
    0F = Valkyrie
    10 = Archer
    11 = Dragon Tamer
    12 = Siren
    13 = Witch
    14 = Cleric
    15 = Priest
    16 = Angel Knight
    17 = Fairy
    ...

    Routine for changing jobs in the formation menu is 0x10A744 in file UBF2.BIN or 0x1AA744 in RAM during the formation screen only.
    « Last Edit: June 15, 2012, 11:34:25 AM by formerdeathcorps »
    The destruction of the will is the rape of the mind.
    The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.
    Bad code, beware! The NOPs are coming to eat you!
    formerdeathcorps [Posts: 1322]
    • View Profile
    • share
    • [June 23, 2012, 03:15:52 AM]
    Re: LuCT Hacking (PSX)
    « Reply #6 on: June 23, 2012, 03:15:52 AM »
    The specific location of the selected unit's stats is 0x1239A0 RAM in the pre-battle and formation menus.

    00 = Job
    01 = ???
    02 = Unit LVL
    03 = Unit EXP
    04/05 = Unit curHP
    06/07 = Unit maxHP
    08/09 = Unit curMP
    0A/0B = Unit maxMP
    0C/0D = Unit STR
    0E/0F = Unit INT
    10/11 = Unit AGI
    12/13 = Unit DEX
    14/15 = Unit VIT
    16/17 = Unit MEN
    18 = Unit Luck
    19 = Alignment (00 = Neutral, 01 = Law, 02 = Chaos)
    1A = ???
    1B = ???
    1C = Unit ID - 1
    1D-20 = Unit Equips
    21-23 = Spells

    The destruction of the will is the rape of the mind.
    The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.
    $800,000,000.00 USD!
    itoikenza [Posts: 36]
    • View Profile
    • http://youtube.com/itoikenza
    • share
    • [June 29, 2012, 02:32:14 AM]
    Re: LuCT Hacking (PSX)
    « Reply #7 on: June 29, 2012, 02:32:14 AM »
    Address   "Length (dec)"   "Length (hex)"   Description   Value
    000EBE36   1   01   "spell slot number"   00
    000EBE66   1   01   "denim soldier"   03
    000EC414   1   01   "mp growth"   03
    000EC445   1   01   "denim soldier"   0A
    000EC44E   2   02   "white knights"   0A0A
    000ED6D5   1   01   "magic spell slot equipability"   FF
    000ED706   1   01   "denim soldier"   09
    000ED7C5   1   01   "spell 1 slot"   00
    000ED7F6   1   01   "denim soldier"   28
    000ED7FF   2   02   "white knights"   0000
    000ED82E   2   02   "lich nybbas + warrior vice"   0000
    000ED8B9   1   01   "spell slot 2"   00
    000ED8EA   1   01   "denim soldier"   67
    000ED8F3   2   02   "white knights"   0000
    000ED9A5   1   01   "spell slot 3"   00
    000ED9D6   1   01   "denim soldier"   63
    000ED9DF   2   02   "white knights"   0000
    000EDBC5   1   01   "slot 4 spell"   00
    000EDBF6   1   01   "denim soldier"   4B
    000EDBFF   2   02   "white knights"   0000
    000EDC1E   1   01   "warlock  radlum"   FF
    000EDDA5   1   01   "move rate!!!!!!!!!!!!!!!!!!!!!!!Crashes the game but works in menu!"   05
    000EDDDE   2   02   "white knights"   0505
    000EFE4D   1   01   "weapon handedness."   02
    000EFEA1   1   01   "light bow"   02
    000EFEAD   1   01   shotgun   02
    000F021D   1   01   "item weights"   03
    000F022B   3   03   "white knights"   808080
    000F1925   1   01   "luck raise at level up"   00
    000F1933   3   03   "white knights"   0A0A0A
    000F19F5   1   01   "Item Special Effects (Stuns on hit, Anti-Dragon, etc.)"   00
    000F1A03   1   01   zenobia   13
    000F1A54   3   03   guns   131313
    000F1C15   1   01   "Item Special Skills (used in the Item menu)"   00
    000F1C23   3   03   "white knights"   717171
    000F1C69   1   01   "light bow"   8B
    000F1C75   2   02   guns   8282
    000F1CBC   2   02   "neckleces hero's"   4450
    000F1CE5   1   01   "Item Status Guards (immunity to petrification, etc.)"   00
    000F1CF3   3   03   "white knights"   111111
    000F1D44   3   03   guns   111111
    000F1FA6   1   01   "mp cost/targeting"   01
    000F1FB9   2   02   "magma god"   0101
    000F1FE9   1   01   "exorcism 23"   01
    000F1FF5   2   02   revivify?   0101
    000F1FFB   1   01   "dark law 28"   28
    000F20A8   2   02   "deep kiss"   0896
    000F2169   1   01   "spell ranges"   07
    000F21D9   1   01   "100% 01"   00
    000F21EA   1   01   "82 deep kiss"   00     
    « Last Edit: June 30, 2012, 03:26:00 AM by itoikenza »

    http://www.clip-studio.com/quma/en/
    Some hits you, So miss you, the center too, enter you, hits undone, have some fun, I know! misses come, render none, enter some... Always won!!... incomplete I know...
    Pages: [1]