FF8/BattleStage/Pointers

From Final Fantasy Inside
< FF8
Revision as of 20:54, 9 October 2015 by my_wiki>MaKiPL (Created page with "FF8 engine reads Battle Stage files by positions coded in executable (.text section of .EXE) Engine loads whole file, but starts working with it from spec...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

FF8 engine reads Battle Stage files by positions coded in executable (.text section of .EXE) Engine loads whole file, but starts working with it from specified position. You CANNOT replace stages, even with originals with the stages, that camera section starts at different position.

How to change levels that use different camera positions:

  • Check camera position in the stage that'd be replaced
  • Add, delete, manipulate bytes before camera data to be EQUAL to amount of replaced stage
  • Voila!

Example: You want to change a0stg004.x to a0stg000.x

1. Check where camera starts in a0stg004.x (this file will be replaced) 2. Copy and rename a0stg000.x to a0stg004.x 3. Open HEX editor and add FOUR additional bytes at beginning of file (because a0stg000.x cam_position is 0x5D8) 4. Done

Here's the list:

5D4 5D8 OUT* 4 0 8 5 1 16 9 2 19 12 3 20 13 6 30 14 7 31 15 10 37 21 11 44 22 17 45 23 18 46 24 25 48 26 27 51 29 28 52 32 38 54 33 41 56 34 42 79 35 43 92 36 47 107 39 49 108 40 57 136 50 58 137 53 59 142 55 60 147 61 74 157 62 76 63 77 64 80 65 81 66 84 67 93 68 95 69 101 70 102 71 103 72 104 73 109 75 110 78 111 82 112 83 113 85 114 86 115 87 116 88 117 89 118 90 119 91 120 94 128 96 129 97 130 98 131 99 132 100 133 105 134 106 139 121 140 122 143 123 146 124 152 125 153 126 154 127 155 135 156 138 159 141 161 144 162 145 148 149 150 151 158 160

  • OUT are other locations I didn't investigate yet [TODO].