Changes

Jump to navigation Jump to search

FF8/BattleStage/Pointers

1,224 bytes added, 12:55, 4 January 2019
no edit summary
By MaKiPL.
 
''UPDATE'' The full list is now known. I'll do new list soon.
FF8 engine reads [[FF8/FileFormat_X|Battle Stage files]] by positions coded in executable (.text section of .EXE)
'''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]. Easy parse list:private static uint GetCameraPointer() {
int[] _x5D4 = {4,5,9,12,13,14,15,21,22,23,24,26,
29,32,33,34,35,36,39,40,50,53,55,61,62,63,64,65,66,67,68,69,70,
106,121,122,123,124,125,126,127,135,138,141,144,145,148,149,150,
151,158,160};
int[] _x5D8 = {
0,1,2,3,6,7,10,11,17,18,25,27,28,38,41,42,43,47,49,57,58,59,60,74,
76,77,80,81,84,93,95,101,102,103,104,109,110,111,112,113,114,115,116,
117,118,119,120,128,129,130,131,132,133,134,139,140,143,146,152,153,154,
155,156,159,161,162};
int _5d4 = _x5D4.Count(x => x== Memory.encounters[Memory.battle_encounter].bScenario);
int _5d8 = _x5D8.Count(x => x == Memory.encounters[Memory.battle_encounter].bScenario);
if (_5d4 > 0) return 0x5D4;
if (_5d8 > 0) return 0x5D8;
switch (Memory.encounters[Memory.battle_encounter].bScenario)
{
case 8:
case 48:
case 79:
return 0x618;
case 16:
return 0x628;
case 19:
return 0x644;
case 20:
return 0x61c;
case 30:
case 31:
return 0x934;
case 37:
return 0xcc0;
case 44:
case 45:
case 46:
return 0x9A4;
case 51:
case 52:
case 107:
case 108:
return 0x600;
case 54:
case 56:
return 0x620;
case 92:
return 0x83c;
case 136:
return 0x5fc;
case 137:
return 0xFDC; //That one is really giant, what is it? //It's a witch stage, worth to see at MIPS
case 142:
return 0x183C; //That one won! xD //It's a final battle
case 147:
return 0xa0c;
case 157:
return 0x638;
}
throw new Exception("0xFFF, unknown pointer!");
}
Anonymous user

Navigation menu