Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - halkun

Pages: 1 2 3 [4] 5 6 7
76
Q-Gears / Temp Owverworld Module?
« on: 2006-06-27 01:06:02 »
As the system is modular, I was thinking of  a "placeholder" for the worldmap. This when when opcodes start getting filled out, we have some basic jumps to other modules.

Here's the kicker.

For ease of coding/placeholding.... Put it in 2D?

The real overworld map is made up of  a 256x256 grid of 3d tiles. As we don't really have a lot of information on the FF7 map format, other than it's "some kind of Biniary Search Tree" <--- (My quote) It might be helpful to make a placeholder map that's 2d for now.

However, I need a good square picture of the world map so we can see of the tiles align correctly.

Good idea? Bad

Should I just go back to messing with the fieldscript? ^_^


77
Hi, I was able grab this from the PC version of FF7, it's the jumpmap table. I didn't number all the entries as it's a royal pain, (NobodyImprotant renumbered them... Thanks!)  but if you count upwards by hex you get the proper field argument. Remeber that JUMPMAP takes two bytes with LSB first.

Quote

Jumpmap.....ummm...map

0x0000 - dummy - Dummy
0x0001 - wm0 - World Map - Outside Midgar
0x0002 - wm1 - World Map - Outside Kalm
0x0003 - wm2 - World Map - Outside Chocobo Farm
0x0004 - wm3 - World Map - Outside Mithryl Mine (Midgar side)
0x0005 - wm4 - World Map - Outside Mithryl Mine (Junon side)
0x0006 - wm5 - World Map - Outside Condor
0x0007 - wm6 - World Map - Outside Junon
0x0008 - wm7 - World Map - Outside Temple of the Ancients
0x0009 - wm8 - World Map - Outside Old Man's house (recieve Mithryl)
0x000A - wm9 - World Map - Outside Gongaga blaksmith (?)
0x000B - wm10 - World Map - Outside Mideel
0x000C - wm11 - World Map - Outside Materia Cave (Quadra Magic)
0x000D - wm12 - World Map - Outside Costa Del Sol
0x000E - wm13 - World Map - Outside Mt. Coral
0x000F - wm14 - World Map - Outside North Coral
0x0010 - wm15 - World Map - Outside Gold Saucer (In desert, Can't move)
0x0011 - wm16 - World Map - Jungle, Outside blown reactor (Turks be here)
0x0012 - wm17 - World Map - Outside Cosmo Canyon
0x0013 - wm18 - World Map - Outside Nibelheim (Town Side)
0x0014 - wm19 - World Map - Outside Rocket Town (South Side)
0x0015 - wm20 - World Map - Outside Rocket Town (South Side)
0x0016 - wm21 - World Map - Outside Materia Cave (HP<->MP)
0x0017 - wm22 - World Map - Outside Wutai
0x0018 - wm23 - World Map - Outside Materia Cave (Mime)
0x0019 - wm24 - World Map - Outside Bone Village
0x001A - wm25 - World Map - Outside Corel Valley Cave (Icicle Area)
0x001B - wm26 - World Map - Outside Icicle Inn (South Side)
0x001C - wm27 - World Map - Outside Mystery House
0x001D - wm28 - World Map - Outside Materia Cave (Knights of Round)
0x001E - wm29 - World Map - Underwater - Costa
0x001F - wm30 - World Map - Underwater - North Area
0x0020 - wm31 - World Map - 0,0,0 (Northwest corner)
0x0021 - wm32 - World Map - 0,0,0 (Northwest corner)
0x0022 - wm33 - World Map - 0,0,0 (Northwest corner)
0x0023 - wm34 - World Map - 0,0,0 (Northwest corner)
0x0024 - wm35 - World Map Event - Ship pulls out of Junon
0x0025 - wm36 - World Map Event - Ship pulls into Costa Del Sol
0x0026 - wm37 - World Map Event - Ship goes from Junon to Costa Del Sol
0x0027 - wm38 - World Map Event - Ship goes from Costa Del Sol to Junon
0x0028 - wm39 - World Map - Little Bronco Crash start
0x0029 - wm40 - World Map - Junon, On the water
0x002A - wm41 - World Map - Underwater - North Area
0x002B - wm42 - World Map - Outside Nibelheim (Mt. Nibel Side)
0x002C - wm43 - World Map - Outside Mt. Nibel (Nibelheim Side)
0x002D - wm44 - World Map - 0,0,0 (Northwest corner)
0x002E - wm45 - World Map - Outside Mt. Nibel (West Side)
0x002F - wm46 - World Map - Outside Icicle Inn (North Side)
0x0030 - wm47 - World Map - Great Glacier
0x0031 - wm48 - World Map - Outside Rocket Town (North Side)
0x0032 - wm49 - World Map - 0,0,0 (Northwest corner)
0x0033 - wm50 - World Map - 0,0,0 (Northwest corner)
0x0034 - wm51 - World Map - 0,0,0 (Northwest corner)
0x0035 - wm52 - World Map - 0,0,0 (Northwest corner)
0x0036 - wm53 - World Map - Junon, On the water
0x0037 - wm54 - World Map - Outside Ancient Forset
0x0038 - wm55 - World Map - Underwater - North Area
0x0039 - wm56 - World Map - Valley south of City of Ancients
0x003A - wm57 - World Map - Valley, City of Ancients enterance
0x003B - wm58 - World Map - 0,0,0 (Northwest corner)
0x003C - wm59 - World Map - Snow Maze
0x003D - wm60 - World Map - Snow Maze
0x003E - wm61 - World Map - Snow Maze
0x003F - wm62 - World Map - Snow Maze
0x0040 - wm63 - World Map - Snow Maze - Outside Matera Cave (All)
0x0041 - startmap
0x0042 - fship_1
0x0043 - fship_12
0x0044 - fship_2
0x0045 - fship_22
0x0046 - fship_23
0x0047 - fship_24
0x0048 - fship_25
0x0049 - fship_3
0x004A - fship_4
0x004B - fship_42
0x004C - fship_5
0x004D - hill
0x004E - zz1
0x004F - zz2
0x0050 - zz3
0x0051 - zz4
0x0052 - zz5
0x0053 - zz6
0x0054 - zz7
0x0055 - zz8
0x0056 - sea
0x0057 - sky
0x0058 - qa
0x0059 - qb
0x005A - qc
0x005B - qd
0x005C - qe
0x005D - blackbg1
0x005E - blackbg2
0x005F - blackbg3
0x0060 - blackbg4
0x0061 - blackbg5
0x0062 - blackbg6
0x0063 - blackbg7
0x0064 - blackbg8
0x0065 - blackbg9
0x0066 - blackbga
0x0067 - blackbgb
0x0068 - blackbgc
0x0069 - blackbgd
0x006A - blackbge
0x006B - blackbgf
0x006C - blackbgg
0x006D - blackbgh
0x006E - blackbgi
0x006F - blackbgj
0x0070 - blackbgk
0x0071 - whitebg1
0x0072 - whitebg2
0x0073 - whitebg3
0x0074 - md1stin
0x0075 - md1_1
0x0076 - md1_2
0x0077 - nrthmk
0x0078 - nmkin_1
0x0079 - elevtr1
0x007A - nmkin_2
0x007B - nmkin_3
0x007C - nmkin_4
0x007D - nmkin_5
0x007E - southmk1
0x007F - southmk2
0x0080 - smkin_1
0x0081 - smkin_2
0x0082 - smkin_3
0x0083 - smkin_4
0x0084 - smkin_5
0x0085 - md8_1
0x0086 - md8_2
0x0087 - md8_3
0x0088 - md8_4
0x0089 - md8brdg
0x008A - cargoin
0x008B - tin_1
0x008C - tin_2
0x008D - tin_3
0x008E - tin_4
0x008F - rootmap
0x0090 - mds7st1
0x0091 - mds7st2
0x0092 - mds7st3
0x0093 - mds7st32
0x0094 - mds7_w1
0x0095 - mds7_w2
0x0096 - mds7_w3
0x0097 - mds7
0x0098 - mds7_im
0x0099 - min71
0x009A - mds7pb_1
0x009B - mds7pb_2
0x009C - mds7plr1
0x009D - mds7plr2
0x009E - pillar_1
0x009F - pillar_2
0x00A0 - pillar_3
0x00A1 - tunnel_1
0x00A2 - tunnel_2
0x00A3 - tunnel_3
0x00A4 - sbwy4_1
0x00A5 - sbwy4_2
0x00A6 - sbwy4_3
0x00A7 - sbwy4_4
0x00A8 - sbwy4_5
0x00A9 - sbwy4_6
0x00AA - mds5_5
0x00AB - mds5_4
0x00AC - mds5_3
0x00AD - mds5_2
0x00AE - min51_1
0x00AF - min51_2
0x00B0 - mds5_dk
0x00B1 - mds5_1
0x00B2 - mds5_w
0x00B3 - mds5_i
0x00B4 - mds5_m
0x00B5 - church
0x00B6 - chrin_1a
0x00B7 - chrin_1b
0x00B8 - chrin_2
0x00B9 - chrin_3a
0x00BA - chrin_3b
0x00BB - eals_1
0x00BC - ealin_1
0x00BD - ealin_12
0x00BE - ealin_2
0x00BF - mds6_1
0x00C0 - mds6_2
0x00C1 - mds6_22
0x00C2 - mds6_3
0x00C3 - mrkt2
0x00C4 - mkt_w
0x00C5 - mkt_mens
0x00C6 - mkt_ia
0x00C7 - mktinn
0x00C8 - mkt_m
0x00C9 - mkt_s1
0x00CA - mkt_s2
0x00CB - mkt_s3
0x00CC - mktpb
0x00CD - mrkt1
0x00CE - colne_1
0x00CF - colne_2
0x00D0 - colne_3
0x00D1 - colne_4
0x00D2 - colne_5
0x00D3 - colne_6
0x00D4 - colne_b1
0x00D5 - colne_b3
0x00D6 - mrkt3
0x00D7 - onna_1
0x00D8 - onna_2
0x00D9 - onna_3
0x00DA - onna_4
0x00DB - onna_5
0x00DC - onna_52
0x00DD - onna_6
0x00DE - mrkt4
0x00DF - wcrimb_1
0x00E0 - wcrimb_2
0x00E1 - md0
0x00E2 - roadend
0x00E3 - sinbil_1
0x00E4 - sinbil_2
0x00E5 - blinst_1
0x00E6 - blinst_2
0x00E7 - blinst_3
0x00E8 - blinele
0x00E9 - eleout
0x00EA - blin1
0x00EB - blin2
0x00EC - blin2_i
0x00ED - blin3_1
0x00EE - blin59
0x00EF - blin60_1
0x00F0 - blin60_2
0x00F1 - blin61
0x00F2 - blin62_1
0x00F3 - blin62_2
0x00F4 - blin62_3
0x00F5 - blin63_1
0x00F6 - blin63_t
0x00F7 - blin64
0x00F8 - blin65_1
0x00F9 - blin65_2
0x00FA - blin66_1
0x00FB - blin66_2
0x00FC - blin66_3
0x00FD - blin66_4
0x00FE - blin66_5
0x00FF - blin66_6
0x0100 - blin67_1
0x0101 - blin671b
0x0102 - blin67_2
0x0103 - blin67_3
0x0104 - blin673b
0x0105 - blin67_4
0x0106 - blin68_1
0x0107 - blin68_2
0x0108 - blin69_1
0x0109 - blin69_2
0x010A - blin70_1
0x010B - blin70_2
0x010C - blin70_3
0x010D - blin70_4
0x010E - niv_w
0x010F - nvmin1_1
0x0110 - nvmin1_2
0x0111 - nivinn_1
0x0112 - nivinn_2
0x0113 - nivinn_3
0x0114 - niv_cl
0x0115 - trackin
0x0116 - trackin2
0x0117 - nivgate
0x0118 - nivgate2
0x0119 - nivgate3
0x011A - nivl
0x011B - nivl_2
0x011C - nivl_3
0x011D - nivl_4
0x011E - niv_ti1
0x011F - niv_ti2
0x0120 - niv_ti3
0x0121 - niv_ti4
0x0122 - nivl_b1
0x0123 - nivl_b12
0x0124 - nivl_b2
0x0125 - nivl_b22
0x0126 - nivl_e1
0x0127 - nivl_e2
0x0128 - nivl_e3
0x0129 - sinin1_1
0x012A - sinin1_2
0x012B - sinin2_1
0x012C - sinin2_2
0x012D - sinin3
0x012E - sininb1
0x012F - sininb2
0x0130 - sininb31
0x0131 - sininb32
0x0132 - sininb33
0x0133 - sininb41
0x0134 - sininb42
0x0135 - sininb51
0x0136 - sininb52
0x0137 - mtnvl2
0x0138 - mtnvl3
0x0139 - mtnvl4
0x013A - mtnvl5
0x013B - mtnvl6
0x013C - mtnvl6b
0x013D - nvdun1
0x013E - nvdun2
0x013F - nvdun3
0x0140 - nvdun31
0x0141 - nvdun4
0x0142 - nvmkin1
0x0143 - nvmkin21
0x0144 - nvmkin22
0x0145 - nvmkin23
0x0146 - nvmkin31
0x0147 - nvmkin32
0x0148 - elm_wa
0x0149 - elm_i
0x014A - elmpb
0x014B - elminn_1
0x014C - elminn_2
0x014D - elmin1_1
0x014E - elmin1_2
0x014F - elm
0x0150 - elmin2_1
0x0151 - elmin2_2
0x0152 - elmin3_1
0x0153 - elmin3_2
0x0154 - elmtow
0x0155 - elmin4_1
0x0156 - elmin4_2
0x0157 - farm
0x0158 - frmin
0x0159 - frcyo
0x015A - trap
0x015B - fr_e
0x015C - sichi
0x015D - psdun_1
0x015E - psdun_2
0x015F - psdun_3
0x0160 - psdun_4
0x0161 - condor1
0x0162 - condor2
0x0163 - convil_1
0x0164 - convil_2
0x0165 - convil_3
0x0166 - convil_4
0x0167 - junon
0x0168 - junonr1
0x0169 - junonr2
0x016A - junonr3
0x016B - junonr4
0x016C - jun_wa
0x016D - jun_i1
0x016E - jun_m
0x016F - junmin1
0x0170 - junmin2
0x0171 - junmin3
0x0172 - junonl1
0x0173 - junonl2
0x0174 - junonl3
0x0175 - jun_w
0x0176 - jun_a
0x0177 - jun_i2
0x0178 - juninn
0x0179 - junpb_1
0x017A - junpb_2
0x017B - junpb_3
0x017C - junmin4
0x017D - junmin5
0x017E - jundoc1a
0x017F - jundoc1b
0x0180 - junair
0x0181 - junair2
0x0182 - junin1
0x0183 - junin1a
0x0184 - junele1
0x0185 - junin2
0x0186 - junin3
0x0187 - junele2
0x0188 - junin4
0x0189 - junin5
0x018A - junin6
0x018B - junin7
0x018C - junbin1
0x018D - junbin12
0x018E - junbin21
0x018F - junbin22
0x0190 - junbin3
0x0191 - junbin4
0x0192 - junbin5
0x0193 - junmon
0x0194 - junsbd1
0x0195 - subin_1a
0x0196 - subin_1b
0x0197 - subin_2a
0x0198 - subin_2b
0x0199 - subin_3
0x019A - subin_4
0x019B - junone2
0x019C - junone3
0x019D - junone4
0x019E - junone5
0x019F - junone6
0x01A0 - junone7
0x01A1 - spgate
0x01A2 - spipe_1
0x01A3 - spipe_2
0x01A4 - semkin_1
0x01A5 - semkin_2
0x01A6 - semkin_8
0x01A7 - semkin_3
0x01A8 - semkin_4
0x01A9 - semkin_5
0x01AA - semkin_6
0x01AB - semkin_7
0x01AC - ujunon1
0x01AD - ujunon2
0x01AE - ujunon3
0x01AF - prisila
0x01B0 - ujun_w
0x01B1 - jumin
0x01B2 - ujunon4
0x01B3 - ujunon5
0x01B4 - ship_1
0x01B5 - ship_2
0x01B6 - shpin_22
0x01B7 - shpin_2
0x01B8 - shpin_3
0x01B9 - del1
0x01BA - del12
0x01BB - del2
0x01BC - delinn
0x01BD - delpb
0x01BE - delmin1
0x01BF - delmin12
0x01C0 - delmin2
0x01C1 - del3
0x01C2 - ncorel
0x01C3 - ncorel2
0x01C4 - ncorel3
0x01C5 - ncoin1
0x01C6 - ncoin2
0x01C7 - ncoin3
0x01C8 - ncoinn
0x01C9 - ropest
0x01CA - mtcrl_0
0x01CB - mtcrl_1
0x01CC - mtcrl_2
0x01CD - mtcrl_3
0x01CE - mtcrl_4
0x01CF - mtcrl_5
0x01D0 - mtcrl_6
0x01D1 - mtcrl_7
0x01D2 - mtcrl_8
0x01D3 - mtcrl_9
0x01D4 - corel1
0x01D5 - corel2
0x01D6 - corel3
0x01D7 - jail1
0x01D8 - jailin1
0x01D9 - jail2
0x01DA - jailpb
0x01DB - jailin2
0x01DC - jailin3
0x01DD - jailin4
0x01DE - jail3
0x01DF - jail4
0x01E0 - dyne
0x01E1 - desert1
0x01E2 - desert2
0x01E3 - corelin
0x01E4 - astage_a
0x01E5 - astage_b
0x01E6 - jet
0x01E7 - jetin1
0x01E8 - bigwheel
0x01E9 - bwhlin
0x01EA - bwhlin2
0x01EB - ghotel
0x01EC - ghotin_1
0x01ED - ghotin_4
0x01EE - ghotin_2
0x01EF - ghotin_3
0x01F0 - gldst
0x01F1 - gldgate
0x01F2 - gldinfo
0x01F3 - coloss
0x01F4 - coloin1
0x01F5 - coloin2
0x01F6 - clsin2_1
0x01F7 - clsin2_2
0x01F8 - clsin2_3
0x01F9 - games
0x01FA - games_1
0x01FB - games_2
0x01FC - mogu_1
0x01FD - chorace
0x01FE - chorace2
0x01FF - crcin_1
0x0200 - crcin_2
0x0201 - gldelev
0x0202 - gonjun1
0x0203 - gonjun2
0x0204 - gnmkf
0x0205 - gnmk
0x0206 - gongaga
0x0207 - gon_wa1
0x0208 - gon_wa2
0x0209 - gon_i
0x020A - gninn
0x020B - gomin
0x020C - goson
0x020D - cos_btm
0x020E - cos_btm2
0x020F - cosmo
0x0210 - cosmo2
0x0211 - cosin1
0x0212 - cosin1_1
0x0213 - cosin2
0x0214 - cosin3
0x0215 - cosin4
0x0216 - cosin5
0x0217 - cosmin2
0x0218 - cosmin3
0x0219 - cosmin4
0x021A - cosmin6
0x021B - cosmin7
0x021C - cos_top
0x021D - bugin1a
0x021E - bugin1b
0x021F - bugin1c
0x0220 - bugin2
0x0221 - bugin3
0x0222 - gidun_1
0x0223 - gidun_2
0x0224 - gidun_4
0x0225 - gidun_3
0x0226 - seto1
0x0227 - rckt2
0x0228 - rckt3
0x0229 - rkt_w
0x022A - rkt_i
0x022B - rktinn1
0x022C - rktinn2
0x022D - rckt
0x022E - rktsid
0x022F - rktmin1
0x0230 - rktmin2
0x0231 - rcktbas1
0x0232 - rcktbas2
0x0233 - rcktin1
0x0234 - rcktin2
0x0235 - rcktin3
0x0236 - rcktin4
0x0237 - rcktin5
0x0238 - rcktin6
0x0239 - rcktin7
0x023A - rcktin8
0x023B - pass
0x023C - yougan
0x023D - yougan2
0x023E - yougan3
0x023F - uta_wa
0x0240 - uta_im
0x0241 - utmin1
0x0242 - utmin2
0x0243 - uutai1
0x0244 - utapb
0x0245 - yufy1
0x0246 - yufy2
0x0247 - hideway1
0x0248 - hideway2
0x0249 - hideway3
0x024A - tower5
0x024B - uutai2
0x024C - uttmpin1
0x024D - uttmpin2
0x024E - uttmpin3
0x024F - uttmpin4
0x0250 - datiao_1
0x0251 - datiao_2
0x0252 - datiao_3
0x0253 - datiao_4
0x0254 - datiao_5
0x0255 - datiao_6
0x0256 - datiao_7
0x0257 - datiao_8
0x0258 - jtempl
0x0259 - jtemplb
0x025A - jtmpin1
0x025B - jtmpin2
0x025C - kuro_1
0x025D - kuro_2
0x025E - kuro_3
0x025F - kuro_4
0x0260 - kuro_5
0x0261 - kuro_6
0x0262 - kuro_7
0x0263 - kuro_8
0x0264 - kuro_82
0x0265 - kuro_9
0x0266 - kuro_10
0x0267 - kuro_11
0x0268 - kuro_12
0x0269 - bonevil
0x026A - slfrst_1
0x026B - slfrst_2
0x026C - anfrst_1
0x026D - anfrst_2
0x026E - anfrst_3
0x026F - anfrst_4
0x0270 - anfrst_5
0x0271 - sango1
0x0272 - sango2
0x0273 - sango3
0x0274 - sandun_1
0x0275 - sandun_2
0x0276 - lost1
0x0277 - losin1
0x0278 - losin2
0x0279 - losin3
0x027A - lost2
0x027B - lost3
0x027C - losinn
0x027D - loslake1
0x027E - loslake2
0x027F - loslake3
0x0280 - blue_1
0x0281 - blue_2
0x0282 - white1
0x0283 - white2
0x0284 - hekiga
0x0285 - whitein
0x0286 - ancnt1
0x0287 - ancnt2
0x0288 - ancnt3
0x0289 - ancnt4
0x028A - snw_w
0x028B - sninn_1
0x028C - sninn_2
0x028D - sninn_b1
0x028E - snow
0x028F - snmin1
0x0290 - snmin2
0x0291 - snmayor
0x0292 - hyou1
0x0293 - hyou2
0x0294 - hyou3
0x0295 - icedun_1
0x0296 - icedun_2
0x0297 - hyou4
0x0298 - hyou5_1
0x0299 - hyou5_2
0x029A - hyou5_3
0x029B - hyou5_4
0x029C - hyou6
0x029D - hyoumap
0x029E - move_s
0x029F - move_i
0x02A0 - move_f
0x02A1 - move_r
0x02A2 - move_u
0x02A3 - move_d
0x02A4 - hyou7
0x02A5 - hyou8_1
0x02A6 - hyou8_2
0x02A7 - hyou9
0x02A8 - hyou10
0x02A9 - hyou11
0x02AA - hyou12
0x02AB - hyou13_1
0x02AC - hyou13_2
0x02AD - hyou14
0x02AE - gaiafoot
0x02AF - holu_1
0x02B0 - holu_2
0x02B1 - gaia_1
0x02B2 - gaiin_1
0x02B3 - gaiin_2
0x02B4 - gaia_2
0x02B5 - gaiin_3
0x02B6 - gaia_31
0x02B7 - gaia_32
0x02B8 - gaiin_4
0x02B9 - gaiin_5
0x02BA - gaiin_6
0x02BB - gaiin_7
0x02BC - crater_1
0x02BD - crater_2
0x02BE - trnad_1
0x02BF - trnad_2
0x02C0 - trnad_3
0x02C1 - trnad_4
0x02C2 - trnad_51
0x02C3 - trnad_52
0x02C4 - trnad_53
0x02C5 - woa_1
0x02C6 - woa_2
0x02C7 - woa_3
0x02C8 - itown1a
0x02C9 - itown12
0x02CA - itown1b
0x02CB - itown2
0x02CC - ithill
0x02CD - itown_w
0x02CE - itown_i
0x02CF - itown_m
0x02D0 - ithos
0x02D1 - itmin1
0x02D2 - itmin2
0x02D3 - life
0x02D4 - life2
0x02D5 - zmind1
0x02D6 - zmind2
0x02D7 - zmind3
0x02D8 - zcoal_1
0x02D9 - zcoal_2
0x02DA - zcoal_3
0x02DB - md8_5
0x02DC - md8_6
0x02DD - md8_b1
0x02DE - md8_b2
0x02DF - sbwy4_22
0x02E0 - tunnel_4
0x02E1 - tunnel_5
0x02E2 - md8brdg2
0x02E3 - md8_32
0x02E4 - canon_1
0x02E5 - canon_2
0x02E6 - md_e1
0x02E7 - xmvtes
0x02E8 - las0_1
0x02E9 - las0_2
0x02EA - las0_3
0x02EB - las0_4
0x02EC - las0_5
0x02ED - las0_6
0x02EE - las0_7
0x02EF - las0_8
0x02F0 - las1_1
0x02F1 - las1_2
0x02F2 - las1_3
0x02F3 - las1_4
0x02F4 - las2_1
0x02F5 - las2_2
0x02F6 - las2_3
0x02F7 - las2_4
0x02F8 - las3_1
0x02F9 - las3_2
0x02FA - las3_3
0x02FB - las4_0
0x02FC - las4_1
0x02FD - las4_2
0x02FE - las4_3
0x02FF - las4_4
0x0300 - lastmap
0x0301 - fallp
0x0302 - m_endo
0x0303 - hill2
0x0304 - bonevil2
0x0305 - junone22
0x0306 - rckt32
0x0307 - jtemplc
0x0308 - fship_26
0x0309 - las4_42
0x030A - tunnel_6
0x030B - md8_52
0x030C - sininb34
0x030D - mds7st33
0x030E - midgal
0x030F - sininb35
0x0310 - nivgate4
0x0311 - sininb36
0x0312 - ztruck

78
For those who are intrested...

In FF7, when you want to load and execute a new field file, you execute a JUMPMAP. The first two bytes are the field file you want and the other arguments look like an inital X,Y, and Z location of the PC.

There are about 750(ish) field files that JUMPMAP can call, but are refrenced by a number, not a filename. My theory is that somewhere in that big ball of bits is a  sector look up to equate the jumpmap number with the top of the field file.

However, as PCs require a filename, as they can be placed anywhere on the disk. I found the lookup table in flevel.lpg The file is called "maplist" and has a sequenal list of the field files in order of the JUMPMAP argument.

I tweaked the maplist and will be posting it in the Q-gears froum, (where it was requested).

If you can find the JUMPMAP sector map for the PSX version, that would be great. I'm kind of broken in that respect as my CD-R can't mount a PSX disk properly.


79
Scripting and Reverse Engineering / KAWAI Opcode
« on: 2006-06-24 19:19:11 »
It has come to my attention that the KAWAI fieldscript opcode is most likely transcoded wrong. (The fieldscript dumper seems to have it set at 255 bytes)

Can someone root through the FF7 binairy and figure out what the correct egument length is? I would do it, but I'm noodleing with the PSX version and have no R3000 debugger. As far as my PC version goes, I run linux and sorely lack debuging tools on my windows PC.

Also, as a side mention.

I can't seem to "unlzs" the SCEAP.LZS without it bombing. Am I using an old version of lzs? Anyone heard of this bug? I'm cerious to see what's in that.

80
Scripting and Reverse Engineering / File 3 in Kernel.bin
« on: 2006-06-17 18:43:25 »
Well working on q-gears it seems that file 3 in Kernel.bin is *NOT* the inital savemap. (oops! my bad!)

However I can't figure out what it is.

Acoording to my memory dump, file 3 is copied into memory location 0x00082422 on the PSX. (Plus or minus, I don't know if my memdump has a header or not)

Like I said, there isn't really much around it in memory and appears to be a lookup table

Guessing wildy, it's for battle, but I might be on a controlled substanse too.

Is this copied into memory on the PC version? That would mean it's device-indenpendant data.

What can you guys come up with....

81
Q-Gears / So you want to run Q-Gears. *READ THIS SECOND*
« on: 2006-06-17 18:20:29 »
So Cyberman, who is a "lieutenant" of mine (For lack of a better word), brought this to my attention. It's good enough to warrent a sticky. I give the floor to him...

"So you want to run Q-Gears"

Please read the following before asking ANY questions about running Q-Gears

1) Run at your own risk
We are not responsible in any way shape or form  for the suitability or functionality of this software.  We have no responsiblity for any it may do to your system, break, cause malfunctions or weather it will work or not. Run this at your own risk, we have nothing to do with it not working. Period.

2) The engine is pre alpha
Do not pester the developers with questions about the engine unless you have officially joined the project, then be sure you know what you are doing.  Follow this mantra measure twice cut once, that is check things out at least 2 times before you start doing something like asking a question.

3) Again the engine is pre alpha
Do not complain about something not working unless you have joined the group of developers.  This means you have decided to invest time and effort into the project, not just whine about how bad it is or isn't working.

4) This is a multi year project
Don't ask when the first release will be. There is the possibility it may never come.

5) Suggestions are welcome
However try to think before you do so, take the time to study what's being done and the current stage of the project. Do not just spew out your fantasies.  Doing the later is a good way to irritate people who may be already irritated.

6) This is a public forum, be civil and considerate.
Jumping into an existing thread may seem perfectly innocent to you but, it may be something developers are hashing through.  Think before posting something to a thread.  Developers have to do this, so you should be considerate and be quiet if you are asking about something unrelated, or off base. 
Again think carefully before posting something to an existing thread.  It's the mature thing to do.  Be thankful you have the oportunity to read what is on the developers mind, because you may not have that oportunity if you post things that are disruptive and irrelevant without regard to what is being discused.

7) People are pretty open minded, however don't be rude don't be demanding.
This is not a simple easy project that involves pencils erases and drawing paper. It's a very difficult and intensive project.  People working in it have years of experience, and some are pretty touchy about subjects such as modifying the existing data etc.  Think before you ask what may be an obvious question but is answered else where. This is ONLY for Q-gears developement, and it's for your engrandisement not for you too ask for the moon when the rocket isn't even beyond the planning stage.

Ahh well I think you get the idea.  Too many questions and too many suggestions it's kind of becoming chaotic because it disaudes the focus of the group which is to work on various aspects of the core engine.  Sure adding stuff is great, I want to myself, but until it works, it's just noise.  One has to focus to get the first thing done. :D

To obtain a nightly build look here:

http://qgears.itscovarr.com/

82
Ok, here's a quick lesson for hackers..

The PSX has a native Adaptive Differential Pulse Code Modulation (ADPCM) decoder. This is "kinda" like a PCM (WAV) sound but as opposed to storing the exact waveform, it looks at where the waveform is "going" and renders based on the most likely outcome.

Looking at the files in the /SOUND directory I have found that in INSTR.ALL and INSTR2.ALL contains raw ADPCM samples for the the midi intruments.

Actually I found this out by doing a "cat INSTR.ALL > /dev/desp" in linux and hearing various tones (through the adaptive static, my dsp device is PCM only) It was when I heard the "WA-HOO" from the chocobo race did I know I was onto something.

Anyways It seems that .DAT files are the indexes. Square opted not to use the VAB/VAG format in order to speed up access. (VAB files are a compressed ADPCM sample, VAG files are a bunch of VABs togeather)

The EFFECTS.ALL was more static than any real sound, but alot of the sounds effects are static-ish anyway.

Anyway, just to give you guys a lead.....


83
Sorry, I had too. I never accomplished anything like this... I feel so honored!!!

And alone...

so very alone.........

84
Q-Gears / Plotting menu windows
« on: 2006-06-13 13:02:11 »
Hi there,
Just letting you guys know. I worked on plotting where the menu windows go. Here is a grid to help render the main character status menu. You can download the files here.

Read the readme.

-halkun


85
I updated the sticky for new jobs for anyone...

Quote

I can't program, can I help any other way?
Why yes, you can. As it stands right now, I could use a homepage for Q-gears. Something that links to the project page and gives an overview of the program. The only thing there now is the Gears document and a blank page. PM me if you want to be a webmister The webmaster job's been filled for now.
http://q-gears.sourceforge.net/   <---- That's the currently blank page.

I can also use someone to help fill out the technical spec for FF7 in the wiki. That will require you know scour both here and the Tech-related forum for intresting gems of data, then get those into the wiki to fix it's broken-ness. See Part, the second, for that.

Lastly a news person would be helpful. This person can write the news of the state of the code for semi-regular posts to sourceforge news (which will be repeated on the web page). In a perfect world, something like a bi-weekly newsletter would be nice, that's if we produce enough code to warrent a newsletter. Something like the Wine Weekly Newsletter. (Wine is a portable win32 interface to allow windows programs to run on other computers).

86
Hi there,

I'm welcoming the new members to the actual Q-Gears project.

Webmisters!
NobodyImportant.
Covarr

News And Screenshots
Akari (promotion)

Congrats!


87
Q-Gears / Resolution in Q-gears
« on: 2006-06-08 17:53:15 »
Well, now that we have textures loading, we have an issue.

FF7 was designed for very dynamic resolution around 400x300 (plus or minus, it's a little goofy)

We should start looking into scalers to make the textures look decent in....say 1280x1024.

something like 2xSaI, but I've seen something better than that (posted on this board too)

Not biliniar filtering. That looks like blurry garbage when it's used.

Comments?

88
Scripting and Reverse Engineering / Fieldscript... Again.
« on: 2006-06-05 22:55:02 »
Ok, I'm decrypting the fieldscript, and I'm havving issues with the memory access system

Ok, after an opcode, the first byte is the source/destination bank. If source is 0 then the data is taken as an argument. (often it replaces the offset in the bank)

But what if the argument is a word in "bank 0" mode, but a normal 8-bit byte when in "offset" mode. What do you do with the extra byte, Ignore it?

Show an example with Plus2, if you could...

Also how does the conditionals work? The script dump doen't make any sense as there is an extra variable that doesn't seem to belong)

if UbyleL (05)[0] != 0 then (00) gotonext c1

I know this is probably being parsed wring the the scriptdumper, but what does "then (00)"  mean...

I know this is vauge. Help will be helpful.


89
Q-Gears / My position in the project....
« on: 2006-06-02 22:11:08 »
Wow, so much and yet not enough.

As you guys know, I seem to be the Feerless Leader(TM) in this catastrophe called "Q-Gears". However, one of my lingering issues that I have is that I'm simply do not know code-fu enough to be of any support to the coding side of the project.

If any coders out there notice that my SVN updates seem to be cosmetic, well, for the most part they are. I kind of lightly shove things in a right direction (or in a direction I *THINK* is correct) and somehow people under me do all the heavy lifting.

I feel like I'm not really doing my part. (Funny that, me being the leader and all)

So I'm going to be going back to what I do best. Keep in mind. I'm still Fearless Leader(TM) but I can't move the code forward the way I like to.

I'm going back to picking apart FF7 and spilling it's guts.

This weekend, I'm gonig to crack the fieldscript system wide open. My theory is that the Heavy Lifters(TM) will go *something* with this.

I hope anyway.

Can anyone give me pointers on how else I can lead.

(Sorry this is a little terse. I have to leave work now.... more later)


90
Q-Gears / I'm getting tierd of makefile maintainance
« on: 2006-05-18 03:51:27 »
In the book, "The pragmatic Programmer", there are several tips on how to manage code. One of the tips are "DRY"

It means "Don't Repeat Yourself"

Every time that the windows make sequence is altered, it breaks all the other makefiles. I find myself updating the linux mkefile every time. To this end. I'm going to research into autoconf. This shoud clear alot of the headaches.

However.

DevC++ is an issue. It's a Windows IDE. I'm probably going to create some scripts to parse the DevC++ files and auto-generate the m4 scripts for autoconf. This will add some dependencies to the application.

This incudes a need for autoconf and it's required subprograms (m4, imake, etc). Also support scripting will be done with ruby. (Many of you know ruby by it's popular web mod, "rails") <---- Ruby on Rails.

Just warning you, the make system is going to get "wierd" while I figure this thing out, at least on the non DevC++ side of things.
 

91
Q-Gears / Q-gears logo/Splash Screen contest.
« on: 2006-05-17 05:48:23 »
Want to help with Q-gears, but can't code or make a webpage?

How about helping with a logo?

As it stands right now, the splash screen for Q-gears leaves much to be desired. It's amusing, but it's not really ours and is kind of a place holder. If you guys want, how about deveoping a noew logo and/or spash screen for Q-gears.

Here is the current spash screen.



Like I said, cute, but not ours.

Rule of thumb is you should bake the logo original. Don't use artwork from Square. It, however, can contain some artistic elements of FF7, as long as you drew it. Alos keep in mind that Q-gears, in the end, will most likely have support for FF8, 9 and the PE series too. Keep in open ended.

The Winner, decided by me, or by argument, will be incuded in Q-gears, and project page....

Have fun

92
Q-Gears / Help with the Q-gears website.
« on: 2006-05-17 05:42:10 »
Ok, for those not in the know the offical Q-gears website is currently blank. I put out a blanket offer to a webmaster to help create/maintain a Q-gears website.

As of right now, it's blank.
http://q-gears.sourceforge.net/  <---- blank homepage.

I've gotten some intrest, so here's how I'm gong to work this.

If you want to create/maintain a website for q-gears, I would like to so a "hiring" process. This is what you should do.

1) Go ahead a create one.
2) Upload somewhere.
3) Post a location so I can take a look at it.

I'll be looking at the html source and check for maintainability, compatiblity, and readability. If it was a generated page using a script, link the scripts code too at the bottom of the page.

Sourceforge allows for php scripting and a light MySQL database. These technologies are not required.

Also, please make sure that any logos and pictures used are not copyrighted by square or are within the grounds of fair use. I'm already leary of the opening "spash screen" used for Q-gears, as it was not drawn by any one on the project .

The winner, or winners will be determined by me and will have access to the Q-gears command shell for the webserver to work on the page.  This can be revocable at any time for any reason, includeing none at all. In the spirit of open source. The page will be owned by the Q-gears project you and are donating your code and time to the project.

Just though I'd get that into the open.

Anyway, good luck and thanks.

93
Q-Gears / The Q-gears project *READ THIS FIRST*
« on: 2006-05-12 03:38:42 »
As I have a Financial Management midterm to study for, I found it now to be the best time to completely ignore that and get the Q-gears forum up and running with a new sticky readme and FAQ.

So with much fanfare, I announce the Q-gears forum.

Please take the time to read the following if you are new here, it answers a lot of questions on what the project is about.

Part, the first.
Q-gears.


What is Q-gears?
Q-gears is an attempt to make a clone of Squaresoft's Final Fantasy 7 game engine. It is designed to be cross-platform and run on modern operating systems such as Win32 and Linux. In the future this is to serve as a framework for compatibility with other Square games. Many games after this were created with the same same code base and design philosophy. Written in C++ and character scripting in LUA, it uses cross-platform graphics libraries (SDL and OpenGL) along with cross platform C/C++ compilers. It is named after "Gears" which is a wholly inaccurate and incredibly incomplete reference for the original FF7 engine. The "Q" means nothing, other than it's a cool letter to differentiate between the document and the program.

Why C++?
I was coerced. (^_^)

So I can download q-gears and play Final Fantasy 7 without buying the game?
No. The goal of Q-gears is to make a drop-in replacement for the Final Fantasy 7 executable. The main idea is to use data supplied by Square to play Final Fantasy 7. (This means you *MUST* have the original media to play Final Fantasy 7). You can however use our custom data or create your own data and levels! In a perfect world, this would be a pretty cool engine to use so you could make your own FF7-style engine by way of a Total Conversion. This is something waaay in the future though.

That sounds cool, how can I help?
Well, there are lots of things to do. First you should probably learn how the original Final Fantasy 7 works. You do this by grab a copy of the reference document, "Gears" from here.
http://q-gears.sourceforge.net/gears.pdf
You could also check out the Qhimm.com wiki which is a much more organized and complete form of the Gears document minus the images.
http://wiki.qhimm.com
This gives you an overview of the system, but it is woefully incomplete. It's enough to get you started on the system and is a cool read if you just want to know how the program ticks. For more information on Gears (the document), read Part, the second, later on.

After getting Q-Gears, and have an itch to code, you will want to download the latest Q-Gears source code form Github. Keep in mind that in this stage of the project, the code really doesn't do much but compile. However, you can see how we are laying everything out.

The GitHub page is here: https://github.com/q-gears/q-gears
To get the code, you must follow the instructions at https://github.com/q-gears/q-gears .  We recommend you fork the project if you want to make any changes since directly modifying the base is not allowed.  If you want your changes to be added to the base you should submit a pull request.

To download the source, dependencies and everything you need to compile you must follow the compilation instructions at:
https://github.com/q-gears/q-gears

How do I upload my changes?
Fork the project and make your changes, then submit a pull request and we will most likely add your changes.
(If you don't know what a pull request is, you should read this https://help.github.com/articles/using-pull-requests/ )

I can't program, can I help any other way?
Why yes, you can. As it stands right now, we are looking to help with Q-Gears!
What would be useful skill knowledge wise:
- Art/Modeling: Gimp/Photoshop/Blender/3d modeling/animation
- LUA/C++/XML scripting and programming languages (LUA is simple while C++ is harder, but most of the code will end up being in LUA. XML is used for formatting or defining data)
- Git/github
- Someone with a mac to test mac builds/help get the build working
- Being able to reverse stuff or just general FF7/8/9 knowledge

I can also use someone to help fill out the technical spec for FF7 in the wiki. That will require you know scour both here and the Tech-related forum for intresting gems of data, and then get that into the wiki to fix it's broken-ness. See Part, the second, for that.

Internet Relay Chat (IRC)
You can find the developers of Q-Gears on IRC most of the time if you want to help with the project:

Server:  irc.esper.net
Network:  EsperNet
Port:  6667
Channel: #qhimm.com

If you don't have an IRC client (I recommend you get one) you can use this alternative link: http://webchat.esper.net/?channels=qhimm.com&nick=

How about Enhancements? I would like Bump mapping/MP3 Muisc/Per-pixel lighting/Particle effects....
No, as it stands right now, the clear goal is to get an engine up and running. Things like enhanced backgrounds, battle effects, and music are only considered if it's critical to the program. (For example, an increase in resolution to support newer systems.) We need it running as close to the original executables as possible. If you want to add your own effects or functions go ahead and fork the code and go wild. If it's orthogonal enough, we could add it back to the main trunk.  To merge your changes submit a pull request on GitHub

Can you make it mod friendly? How about some mod tools?
Q-Gears is planned to be very mod friendly (and it already is!), we use LUA wherever possible, an easy to learn scripting language for Field Script. The Wiki on the GitHub explains what the Field Commands are and what their parameters are (https://github.com/q-gears/q-gears/wiki/Field-Script-Command-Reference).  The 3D-Models are in the OGRE format (there are plenty of tools to export/import to this) and the Menu module uses a combination of XML (like HTML) for formatting the menus and LUA to drive the options/selections.


Which port of FF7 are you supporting? The PC version? The PSX version?
Both would be nice, however, as for right now, the PSX dataset is the one activly being worked on. This is for serveral reasons.
First, it is by far the most common. The PC version is getting harder and harder to come by.
Second, as for me, I can work with the PSX data while it's running in a sandboxed environment. I can watch data get accessed in-situ and change it without the system knowing I've got my fingers in it.

Part, the second.
Gears


Holy mother of all that's good! Your Gears document is wholly inaccurate and incredibly incomplete!
Yea, I know. I haven't updated after I almost lost it in a very bad hard drive crash. But fear not. It is now in process of being converted to a wiki. Here you can update the information contained in Gears and add your own. Keep in mind, the wiki is even more incomplete and inaccurate than the Gears PDF file. One day, it will be the central repository for engine documentation.

The original Gears document can be found here:
http://q-gears.sourceforge.net/gears.pdf

The wiki can be found here:
http://wiki.qhimm.com/Main_Page

Hey! I can't edit anything. Can I have write access?
If you have any good gems to add to the wiki, PM me with a username, a password, and an email address. I'll most likely add you.

Part, the third.
Taking it apart.


If you are more apt at taking things apart than putting things together, you can go to the tech-related topic on this very forum. Here we talk about disconstucting FF7 and understanding it's technology so we can put it back together again. I'm a mod there too.

Part, the fourth.
Legal.


Hey, isn't this illegal? I mean, this sounds kind of like Chrono Trigger Resurrection, and that was shut down by Square.

No, because at the core of it all, Q-gears is just a virtual machine that does nothing without external game data, which is not included. The creation of virtual machines to play games is nothing new. Others exist, such as ScummVM, FreeSCI, Sarien, and Fortz. Making an implementation isn't illegal or else Linux wouldn't be around right now.

(Note: The IBM v. SCO lawsuit not withstanding. That lawsuit is a scam. The upshot is that SCO says that they own UNIX and Linux is an illegal derivative. However, it has been three years and SCO hasn't even told IBM *what* they have done that's illegal. It's just wasting time and hasn't even gone to trial. It's still in discovery. Sub-Note: Discovery takes about two months, not three years. Sub-sub-Note: The president of SCO hired his brother to represent the company during the lawsuit. The millions of dollars in lawyer fees goes from SCO to the brother. See? It's a scam.)

In the end, if a C&D letter comes down. It was a fun ride.

Part, the fifth.
Miscellaneous.

(Things go here as I think of them)

Orthogonal: You keep using that word, but I don't think you know that it means

Orthogonal programming is a design philosophy that I adore. I picked up the idea from reading The Pragmatic Programmer: From Journeyman to Master. The book is available from Amazon.com. I highly recommend this book for any programmer of any level. (As you can tell)

Orthogonal programming is best discribed by a quote in the book.

Quote
"Orthogonality is a critical concept if you want to produce systems that are easy to design, build, test, and extend. However, the concept of orthogonality is rarely taught directly. Often it is an implicit feature of various other methods and techniques you learn. This is a mistake. Once you learn to apply the principle of orthogonality directly, you'll notice an immediate improvement in the quality of systems you produce.

What Is Orthogonality?

"Orthogonality" is a term borrowed from geometry. Two lines are orthogonal if they meet at right angles, such as the axes on a graph. In vector terms, the two lines are independent. Move along one of the lines, and your position projected onto the other doesn't change. In computing, the term has come to signify a kind of independence or decoupling. Two or more things are orthogonal if changes in one do not affect any of the others. In a well-designed system, the database code will be orthogonal to the user interface: you can change the interface without affecting the database, and swap databases without changing the interface. Before we look at the benefits of orthogonal systems, let's first look at a system that isn't orthogonal.

A helicopter has four main controls: foot pedals, collective pitch lever, cyclic, and throttle. The foot pedals control the tail rotor. With the foot pedals you can counteract the torque of the main blade and, basically, point the nose where you want the helicopter to go. The collective pitch lever, which you hold in your left hand, controls the pitch on the rotor blades. This lets you control the amount of lift the blades generate. The cyclic, which you hold in your right hand, can tip one section of the blade. Move the cyclic, and the helicopter moves in the corresponding direction. The throttle sits at the end of the pitch lever.

It sounds fairly simple. You can use the pedals to point the helicopter where you want it to go. You can use the collective to move up and down. Unfortunately, though, because of the aerodynamics and gyroscopic effects of the blades, all these controls are related. So one small change, such as lowering the collective, causes the helicopter to dip and turn to one side. You have to counteract every change you make with corresponding opposing forces on the other controls. However, by doing that, you introduce more changes to the original control. So you're constantly dancing on all the controls to keep the helicopter stable.

That's kind of similar to code. We've all worked on systems where you make one small change over here, and another problem pops out over there. So you go over there and fix it, but two more problems pop out somewhere else. You constantly push them back—like that Whack-a-Mole game—and you just never finish. If the system is not orthogonal, if the pieces interact with each other more than necessary, then you'll always get that kind of distributed bug fixing.

In computing, the term has come to signify a kind of independence or decoupling. Two or more things are orthogonal if changes in one do not affect any of the others. In a well-designed system, the database code will be orthogonal to the user interface: you can change the interface without affecting the database, and swap databases without changing the interface."

FF7 is very modular. It's the philosophy that should be embraced. Keep everyone seperate and on modular paths with a common core. It will make things so much more helpful.

*bump*

94
Q-Gears / That #@&!! linux segfault is still there ;_;
« on: 2006-05-10 02:48:17 »
Updated code and still no joy with linux. It still segfaults on the draw command.

Here's my log info on my version of OpenGL

[03:00:37] SDL init begin
[03:00:37] SDL_INIT_VIDEO initialized
[03:00:37] SDL video mode set 640x480, 16 bit SDL_OPENGLBLIT | SDL_HWSURFACE
[03:00:37] Got 32 bpp (8888), 24 depth, 8 stencil
[03:00:37] SDL init complete
[03:00:37] OGL Vendor: Tungsten Graphics, Inc
[03:00:37] OGL Renderer: Mesa DRI Intel(R) 852GM/855GM 20021115 x86/MMX+/SSE2
[03:00:37] OGL Version: 1.2 Mesa 5.0.2

Mind you I'm using the default DRI mesa, which is not thread safe. Is this an issue? What pointers can you give me to track down why (*i) is going into la-la-land after the splash screen is cleared?

Code: [Select]
void ScreenManager::Draw()
{
    DISPLAY->BeginFrame();
/*
    for (int i = 0; i < mScreens.size(); ++i)
    {
        mScreens[i]->Draw();
    }
*/
    for (std::vector<Screen*>::iterator i = mScreens.begin(); i != mScreens.end(); ++i)
    {
        (*i)->Draw();    //Segfaults here!
    }

    DISPLAY->EndFrame();
}

What is *i pointing to? Where did it get it from? I can't trace back becuase I don't know where in the code *i was created and manipulated. Maybe some comments will help. is *I supposed to be the SDL surface? if you ++i, isn't that just moving up one memory address and not a whole structure, (object).. I don't get this.

Also, could you put the increment operater after the variable if it's not critical to have? That just looks wierd.


+++++++++++++
EDIT
+++++++++++++
On closer look it would seem that std::vector<Screen*> is going to lunch. Is there a way to test to see if this is holding a rational value (or *i for that matter) eariler on in the code?

95
Completely Unrelated / How, umm, l33t am I.
« on: 2006-05-09 04:07:22 »
I'm actully testing the posting here. Nice to see the forums back.

I was wondering, If you were going to rank the hierarchy of the Qhimm.com staff, where would I exactly be?

Not that I'm stroking my own ego or anything. ^_^

For example, am I l33t enough to have my absolutly incredulous spelling accepted, even when it's in complete opposition to well known forum doctrine. Is this true? or are you guys just too leary to bring it to my attention. (Or is it because I've done it for soooo long, no one even notices any more ;_;)

Anyways. I'm just chatting.

96
Scripting and Reverse Engineering / Introducing Q-Gears
« on: 2006-04-12 03:40:35 »
Hi all.

Well, I went a did it. I have a SourceForge account for a GPL Final Fantasy 7 Engine. The account is currently pending.

It's called Q-Gears. The "Q" means nothing. (Sorry Qhimm, I just think it's a cool letter. You can *say* it was named after you if you want  ^_^)

Here is the approval form I submitted.

Quote

 Project submission
Created: 2006-04-11 20:41
Last modified: 2006-04-11 22:16
Submitter: Halkun (halkun) [True Identity: (Secret-For-Now)]
Project type: An Open Source Software Project
UNIX name: q-gears

Descriptive name: Q-Gears : A free Final Fantasy 7 engine.

Public description:
Q-Gears is a clone of Squaresoft's Final Fantasy 7 game engine. It is designed to be cross-platfrom and run on modern operating systems such as Win32 and Linux.

Trove categorization:
License :: OSI-Approved Open Source :: GNU General Public License (GPL)
Intended Audience :: by End-User Class :: End Users/Desktop
Development Status :: 2 - Pre-Alpha
Topic :: Games/Entertainment :: Role-Playing
Programming Language :: C++
Operating System :: Grouping and Descriptive Categories :: All 32-bit MS Windows (95/98/NT/2000/XP)
Operating System :: Grouping and Descriptive Categories :: All POSIX (Linux/BSD/UNIX-like OSes)
User Interface :: Graphical :: OpenGL
User Interface :: Grouping and Descriptive Categories (UI) :: Project is a 3D engine
User Interface :: Toolkits/Libraries :: SDL

Registration description:
Q-Gears is an implementation of Squaresoft's Final Fantasy 7 engine. The end goal is to create a game interpreter that will accept data from either an original Playstation Final Fantasy 7 disk, or from the PC port of the game. This is much the same concept as other SourceForge hosted interpreters as ScummVM and FreeSCI. A design spec exists, and is located in PDF form at http://www.qhimm.com/gears.pdf It is also available in wiki form at http://wiki.qhimm.com/FF7 The project is ran by a small set of international fans who have reversed engineered the original Final Fantasy 7 engine, taken steps to document much of it's functionality, and wish to write an implementation. The goal is to allow owners of the original game to enjoy Final Fantasy 7 on newer architectures. It also allows them the ability to take advantage of newer video/audio hardware. Lastly, it will also give the end user a choice of platforms to play their game on.

Current status: Pending Review


I'll let you know when we have access to CVS. Any questions?
-Halkun

97
Hi all.
     Ok, after asking Qhimm if I could gain admin access to the wiki to add users, he gave me a slightly confused look.

Quote

"Halkun... You...uhh... *are* an adminstartor....remember?"


Oh yea, forgot. Lookee there, it even says "Sysop" there in my little name thingy... (>_<)

Ok PM me of you want write access to the Wiki. You need to send me a username, password and an email address.

Have fun...

+++++++

For those who don't know what I'm talking about.

Gears is availible online in Wiki form. It's located at http://wiki.qhimm.com
Some of the data is missing and some is messed up. (The save map's addresses are off as some people were using file offsets while others were using memory offsets) I would like to see a lot of this fleshed out.

98
Scripting and Reverse Engineering / Engine fantasy.
« on: 2006-03-31 05:29:59 »
I've been contemplating writing the framework for an engine this coming summer. Here's the rub. I suck at coding. But I don't think that's a huge problem ^_^

Here's some bare bones...

1)Platfrom: Cross platfrom

2) Language - C - (GCC)
Rational: It's mature, portable, cross-platfrom and the language I know. It will lend itself to more help if I need help as C++ people can do C, but not the other way around.

3) 3D Graphics - OpenGL
Rational: It's mature, portable, cross platfrom, and the only 3D API I know. It's pretty simple to pick up and whole books to learn it are downlaodable for free.

4) Display Management - SDL/Allegro
Rational: Both of these are a much better manager than GLUT. Allegro is a really pretty API, but I don't know how AllegroGL can co-operate with OpenGL. SDL has lots of pretty add-ons including MIDI and stuff. Both are also cross platform. I don't know which one to use. I've done SDL, but it's a little too "low level" for me. I'm used to the Allegro API

5) Repository: CVS
For a project like this a code repository would be cool. Sourceforge gives them away.

6) Licence: GPL
I'll need the help ^_^

----------------

My first task will be to load kernel.bin and initalize the savemap. After that, a framwork menu system for starting the system and then seeing if we can get a field file to "boot"

small steps

Then again, I might just be playing pretend again.

99
Ok, I know I do, but I was also selected when the project went live in secret. Now the word's out and I would like to have people add thier own information on the system, for exampl I'd like to have the savemap fixed, (Or at least broken where all the parts agree with all the other parts), things like the .seq format discribed, and other odds and ends. Sadly I have no access to promote anyone to view.

Qhimm, is there a political reason why we can't open write access up? Do you need a mod? I think I can keep an eye on it.

I've been wandering about and have taken an intrest in documentaion again. I need to know what the status is.

100
Yea, I know This is an odd question coming from me.... It's only the only way to ask what I need, but what I'm looking for isn't exactly what you think it is.

About 3 years ago I was reversing FF1 for the NES for fun. My output was in a fake asm that did not compile on any known assembler. (I did that on purpose) but was enough to read and understand how things functioned.

I posted a zip of the work once upon a time. Does anyone have it? It would be intresting to continue where I left off...

Pages: 1 2 3 [4] 5 6 7