/r/ffxioffline
/r/ffxioffline
If so, can someone link me the discord?
Hey guys, I just stumbled across this sub, this seems like a really massive undertaking, but very cool. Is the project still alive? Is there a lot left to do for it? Just curious about it all. Keep up the cool work!
Hi,
About a year and half ago I got a bit into this project when this was being done in Unity and even made a couple maps, then real life hit like a truck (more like... got a full time job) and lost track of this.
Last thing I remember was that this was going to migrate to Unreal, which I like; so as one year and half ago, I'm wondering if this is still going and where it's at... now that I have more time I want to pick up and continue this, so getting on my WHM mood and tossing a "Raise" here, hopefully it works xDDDDD
If you happen upon this sub or post and have a vested interest in ANY aspect of this FFXI conversion project (even to observe)... reply here and we'll get you oriented through discord!
Hey guys, I've decided to switch this project to the Unreal Engine instead of Unity. I know that means re-doing a fair amount of work, but I think it will be worth it in the end.
GitHub project is here:
So i already got to work, did Crawler's Nest to learn the workflow (took me very long time), then Rolanberry Fields where i learned some tricks to make life easier while doing this project.
Uploaded to a git repo copy i made and made a pull request. my git: https://github.com/AudCavalier the branch copy i made: https://github.com/AudCavalier/FFXI_Unity3D
Well, i've already downloaded FFXI japanese client, Noesis and AreaDemo, also since i sometimes use Unity i already have it installed (version 2017.3). So i downloaded the files from git to see what's progress so far, tried to open any scene (for example, East Sarutabaruta) and found that no mesh is displayed, messed a little bit around, downloaded Unity 5, even got rid of all the VR stuff (as it was causing me a lot of errors on the editor) and still the same, so i was wondering if something is wrong or if there is something i'm not doing right.
Screenshot: https://imgur.com/a/fvPOJ
Hey, well i'm always remembering the good ol' FFXI days with my brother and yesterday i thought (seeing a lot of Legend of Zelda remakes in Unreal) maybe someone has done some remakes of FFXI in Unreal, googled that and got to this subreddit, when i read this i got extremely hyped, i actually have thought of this idea a couple times before but never thought it that serious until now.
So right now i'm sutdying Computer Science, also i want to become a game dev (or at least do that on my free time), so i have experience using Unity (gone through many tutorials, in which i made a lot of 2D prototypes, then started with a couple 3D tutorials, they were a bit boring, but got the basics, so i'm no absolute beginner), also i've seen there has been little ativity here (latest posts are from about 2 months ago), so i still hope community is still working on this, desipte the low activity on the subreddit.
Well just wanted to do a small introduction, gonna read the tutorials and install the needed software to start getting to work.
Hey guys! I've become really intrigued with this project after seeing some of the VR experiences that some of you built in previous years. I'm fairly familiar with both Maya and Unity, so I've been messing around with exporting areas using AreaDemo and Noesis. I'm having a lot of fun with it, and I think I may have solved an issue we were having when it comes to AreaDemo and expansion zones. (It's also totally possible that I don't understand the problem completely, so I apologize in advance if this isn't the issue at hand!)
I was able to get areas like Bibiki Bay, Western Adoulin, Kazham, and a Promyvion into AreaDemo. I was also successfully able to export all of the zones that I tested in AreaDemo with appropriate texture names.
Here’s how I did it! (Crappy Imgur Visual Guide)
Known Bugs:
This shouldn’t prevent it from exporting appropriately!
Again, if this wasn’t the issue at hand, just let me know, and I will delete this post! I just find all of this to be really fun, and I’d love to help this project out! (I'm all about creating our own custom stories in the world of Vana'diel, so I'm hoping this opens up the world a bit for us!)
this looks like an epic undertaking and a very cool project. i was messing around today, i exported a couple of maps via Noesis and attempted to learn unity, only spent a few hours and there is a LOT to learn but i can defiantly see this as being doable. does anyone have any tutorials? i would love to watch them!
215 supported formats. (62 archive types)
NOTE: Some of these may be broken or nonfunctional.
Most have not been tested in years.
Use at your own risk.
— Rich Whitehouse (creator of Noesis)
Command | Purpose |
---|---|
-quadtree # | quadtree encapsulation, with # recursion levels. |
-nochop | do not chop meshes up into more meshes for quadtrees. |
-smoothnorm # | smooth vertex normals with # unit tolerance. |
-stexc | force half-shell spherical texture coordinates. |
-forceskin n | force skin name for all objects to 'n'. |
-posoffset # # # | translate all vertices by given offset. |
-rotate # # # | transform all vertices by the given angles. |
-scale # | scale all vertices on the model, where # is the scale factor. |
-recenter | re-centers entire model. |
-noanims | skip all animation writes/exports. |
-nogeo | skip all geometry writes/exports. |
-notex | skip all image/texture writes/exports. |
-renamebone <from> <to> | renames a bone. |
-brot <name> # # # | rotate bone <name> by # # # (xyz euler angles). |
-bmoda | enables brot and other bone transforms on anim data. |
-bakeanimscale | bakes skeletal anim scale (frame 0) into vertex data. |
-matlerp # | # specifies matlerp type, 0=matlerp 1=quatslerp. |
-forcetc | force texture coordinate data chunk to be written. |
-ignoreroot | ignore root movement. (animations only) |
-vertclr | forces vertex color chunks into all meshes. |
-vertalpha | fade alpha colors on verts based on z coordinate. |
-vertcull # # # | vert cull with pos, uv, and color thresholds. |
-flipuv | flips uv y coordinate. |
-flipax # | flip pos/nrm on axis # where # is 1-3 (x-z). |
-combinemeshes | combines meshes when possible. |
-decim # | new decimation, # should be 0-1. (0=no detail, 1=full) |
-nopause | no pause when done. (for batch processing) |
-noskel | does not export vertex weight or bone information. |
-animcomp # | anim pos/quat compression. 1=shorts, 2=bytes, 3=dynamic. |
-skinar | outputs precomputed vertex skin arrays for each mesh. |
-killdupfaces | removes duplicate faces. |
-idxopt | index order optimization. |
-idxopt2 | alternate index order optimization. |
-idxsort | sort interleaved index arrays based on texture/lm index. |
-stripper | strip order index sorting. |
-stripper2 | alternate strip order index sorting. |
-stripper3 | write actual strips instead of lists. |
-vorder | re-sort vertices in order of index references. |
-edgewelder # | welds triangle edges, where # is a unit tolerance. |
-hiefrombones | attempt to establish mesh hierarchy from skel + weights. |
-maxbones # | a single mesh cannot reference more than this many bones. |
-maxvertweights # | a single vert cannot have more than # weights. |
-maxverts # | split meshes with more than # verts. |
-maxtris # | split meshes with more than # tris. |
-decalmesh | generates rendermodel collision/decal meshes. |
-bonerize <file.rda> | engages the bonerizer with specified anim set. |
-bonepatch <file.rbp> | applies a bonerizer-generated bone patch. |
-loadanim <file> | loads animation from a file, to export with main data. |
-loadanimsingle <file> | loadanim, but keep metadata/sequences. (no concat) |
-loadanimscale <file> | Same as -loadanim but re-applies scales. |
-texpre <string> | prepends to used texture names when exporting lzs/ghoul2. |
-bonecull | cull unreferenced bones. |
-bonemap | specifies a .bma file to lay out a complete skeleton. |
-modelindex # | extracts sub-model #, if more than one model in file. |
-toonshell # | creates toon shell meshes extruded to # units. |
-showstats | prints detailed final chunk memory info. |
-listen # | server processing mode, listen on port #. |
-align # | ensure #-byte alignment for each chunk. |
-vertbones | generates per-vertex bones, derives anims from vert anims. |
-imgresz # # | resizes all images to #x#. |
-imgcrop # # | crops all images to #x#. |
-imgbicubic | forces bicubic resampling instead of bilinear. |
-imgmcut # | applies median cut to # colors to all images. |
-texnorepfn | does not replace first tex filename with output. |
-nofmtexopt | disables format-specific export options. handle with care. |
-arcnooverwrite | enables overwrite checking for archive extraction. |
-rpgforcesort | force RPG bucket sort. |
Various BSP
Command | Purpose |
---|---|
-bspclip | optimizes bsp input models for clipping. |
-bspleafmerge | uses reference leafs to merge leaf surfaces. |
-bsprebsp # | re-bsp q1/hl bsp's in rcube format with # spatial divisions. |
-bsplvec <filename> | pulls lightmaps from another bsp for light normals. |
-bspdeluxe | specifies input bsp has light vectors in top half of lightmaps. |
-bspdelswap | swaps top and bottom lightmap sets for deluxels. |
-bsplmsize # | force expected bsp import lightmap size to #x#. |
-bsplmresize # | combined lightmap pages to #x#. |
-bspwad <filename> | specifies wad2/wad3 file for q1/hl bsp textures. |
-bsptexout | outputs png files for q1/hl bsp textures. |
-bsplg # # # | override procedural lightgrid dimensions for q1/hl bsp. |
-bsplmul # | lightmap multiply by #. |
-bspgengrid | generate lightgrid from lightmap for q1/hl bsp. |
-bspnotree | ignore tree in q3bsp. |
-lgfix | re-samples out-of-leaf lightgrid samples on q3bsp import. |
-extlm | if lightmap is presented, make it external. |
Command | Purpose |
---|---|
-mapquake | parse map in quake instead of half-life format. |
-mapbnames | name brushes to avoid geometry merging. |
Command | Purpose |
---|---|
-mdlskinscl | auto-resizes mdl skins with more than 200 vertical pixels. |
-mdlskinsize # # | auto-resizes mdl/md2 skins to #(width) * #(height). |
-mdlavoidfb | avoid fullbright pixels in mdl skins. |
-mdlnobase | don't include base pose in mdl frames. |
-mdlflags # | sets mdl header flags to #. |
-md2strips | invoke the stripper for md2 glcmd output. |
-md2painskin | add an additional pain skin for md2 output. |
-md3tag <string> | sets default md3 tag name. |
-md3tbone <string1> <string2> | md3 tag string2 from bone string1. |
Command | Purpose |
---|---|
-ff7weapon # | only export this weapon model (0-15) and not all. |
-ff7weaponbone # | attach the weapon model(s) to this bone number. |
-ff7weaponrot # # # | transform weapon(s) by given angles. |
-ff7weapontrans # # # | transform weapon(s) by given offset. |
-ff7batch | batches vertex color surfaces into one, using bone weights. |
-ff7pot | resizes output tim->png textures to power of two. |
-ff7notrim | do not eliminate overlapping triangles. |
-ff7texnudge # | nudges textured surfaces by # units along normal. |
-ff7boneremap # # | remaps bone index # to second #. |
Command | Purpose |
---|---|
-ff8animscale | use scales in animation data. |
Command | Purpose |
---|---|
-mpo3ds | use 3ds-specific header for mpo export. |
Command | Purpose |
---|---|
-gmononorm | ignores gmo normals. |
-gmogroup | groups gmo surfaces by material. |
-gmobasepose | gmo base pose export. |
-gmokeeptexnames | keep original texture names. |
Command | Purpose |
---|---|
-smdomittexpath | omit assets/textures/ path for smd materials. |
-smdoldtexexportnaming | include path/etc. in smd material name. |
-smdoldparsing | old-style parsing. |
-smduseactualmatname | use real mtl name on export, not diffuse. |
-smdnonorm | ignore smd normals. |
Command | Purpose |
---|---|
-disposable | sets disposable instance flag for output rdm. |
-vertilv | output special interleaved vertex format. |
-vertilvlm | no color/normal for interleaved lightmapped surfs. |
Command | Purpose |
---|---|
-objmtl | enables export of mtl file with the obj. |
Command | Purpose |
---|---|
-ddsati2nonorm | don't derive+renormalize when decoding DXT ATI2/BC5. |
Command | Purpose |
---|---|
-ff13cclamp # | hdr color scale clamp. default 1.5. |
-ff13cscale # | hdr color scale. default 1.0. |
-ff13ascale | if invoked, enables ff13 anim scale. |
-ff13mgamma | enables gamma correct lighting on ff13 materials. |
Command | Purpose |
---|---|
-fbxnewexport | exports current fbx format instead of legacy. |
-fbxzup | sets the scene axis to z up on export. |
-fbxsmoothgroups | generate smoothgroups from vertex normals on export. |
-fbxtexrelonly | only set relative paths for texture filenames. |
-fbxmultitake | export a take for each anim sequence. |
-fbxbonestomeshtf | derive mesh transforms from bones, and don't write bones. |
-fbxpreservecp | does not allow welding between controlpoints. |
-fbxnooptimize | disables fbx geometry optimization pass. |
-fbxnoesidecar | enables .noefbx sidecar files to preserve extra data. |
-fbxcanimtime | use curve key times instead of clamped evaluator time. |
-fbxsortnodes | sort nodes alphabetically on import. |
-fbxmtlfrommeshname | create materials from mesh names. |
-fbxunifybi <arg> | unifies binormals on import. (0=no, 1=yes, 2=flipped) |
-fbxrottan | rotates tangent/binormals on import. |
-fbxnotan | disables reading/writing tangents for fbx. |
-fbxnoextraframe | avoids adding an extra frame for timing. |
-fbxframecount <arg> | overrides the fbx anim frame count. |
-fbxframerate <arg> | specifies the fbx framerate. (frames per second) |
-fbxtexext <arg> | appends given value to texture names on export. |
-fbxscalehack | transform override for scale correction. |
-fbxtritopoly <arg> | tris to polys, <arg> is max degrees for combine. |
-fbxtritopolyconctol <arg> | <arg> is concavity tolerance. |
-fbxcollapsecp | collapse controlpoints. |
-fbxreducekeys | reduce animation keys. |
-fbxnonlinrot | specifies nearest snap for rotations. |
-fbxnomeshhierarchy | no separate udcommon mesh hierarchy. |
-fbxnomeshbones | no bones generated from mesh nodes. |
-fbxascii | exports fbx as ascii instead of binary. |
-fbxpasswd <arg> | specifies the password for an encrypted fbx. |
Command | Purpose |
---|---|
-wadnogl | disables parsing glbsp lumps and looking for gwa file. |
-wadmincut <arg> | minimum dist to chop convex subsect poly. |
-wadweldverts <arg> | welds map verts with # threshold. |
-wadcollapseedges <arg> | collapses map edges with # threshold. |
Command | Purpose |
---|---|
-gifnoalpha | disables alpha masking on gif import. |
-gifdelay <arg> | specifies interval between frames in exported file. |
-gifhold | prevents gif animation from looping in exported file. |
Command | Purpose |
---|---|
-nifnoversionhacks | don't use version hacks |
-nifusevcolors | uses vertex colors |
-nifnotransform | doesn't perform geometry transform into skeleton space. |
-nifforcenodenames | forces node/bone names to node#. |
-nifnostaticweights | if invoked, static geometry will not be weighted to mesh nodes. |
-nifpbrtest | test pbr materials, when applicable. |
-nifforceenv <arg> | force env texture on all materials to <arg>. |
-nifloadskel <arg> | map skeleton from another nif, loaded from path <arg>. |
Command | Purpose |
---|---|
-walname <arg> | <arg> is internal name for wal |
-walanim <arg> | <arg> is next anim frame name for wal |
Command | Purpose |
---|---|
-m32name <arg> | <arg> is internal name for m32 |
-m32detail <arg> | <arg> is internal detail tex for m32 |
Command | Purpose |
---|---|
-hlmdluseseqgroups | tries to use sequence group offsets. |
-hlmdlnonrm | discards normals for hl models. |
Command | Purpose |
---|---|
-ff11blendhack <arg> | sw render to determine alpha coverage, <arg>=min frac. |
-ff11optimizegeo | remove degenerates and redundant verts. |
-ff11keepnames | keep map object names intact. |
-ff11renderunref | render unreferenced map geo at identity. |
-ff11forcelighting | force lighting. |
-ff11forcecull | force culling. |
-ff11novertcolor | no vertex colors. |
-ff11noshiny | no special assignment for shiny materials. |
-ff11shiftvertalpha <arg> | explicitly shift vert alpha <arg> bits. |
-ff11shiftvertcolor <arg> | explicitly shift vert color <arg> bits. |
-ff11shiftcolor <arg> | explicitly shift tex color <arg> bits. |
-ff11shiftalpha <arg> | explicitly shift tex alpha <arg> bits. |
Command | Purpose |
---|---|
-ff11sqleanim <arg> | load sqle animation <arg> as relative path. |
Command | Purpose |
---|---|
-ff12ascale | apply ff12 anim scales. |
-ff12animadd | applies base pose with additive animations. |
-ff12nodraw | ignores draw lists for ff12 models. |
Command | Purpose |
---|---|
-qsattexdeq <arg> | specify texture color dequantization mode. (0-2) |
-qsatnosky | don't create visible poly planes for sky. |
-qsatsubcolor | use subtractive vertex colors. |
-qsatenabletexfilter | enable texture filtering. |
-qsatwelddist <arg> | specify edge/point weld for re-projected tiles. |
-qsatcoplofs <arg> | specify offset distance for intersecting coplanar surfaces. |
Command | Purpose |
---|---|
-bzoneoverparse | over-parse geo chunks for additional geo. |
-bzoneskipclass <arg> | skip objects of <arg> type. |
-bzonepaltindex <arg> | specifies the palette index for transparency. |
-bzonepal <arg> | specifies the palette for .map exports. |
-bzonedeftexex <arg> | specifies default target texture extension. |
-bzonekeepclr | keep color/transparency in vertex color channel. |
Command | Purpose |
---|---|
-crnquality <arg> | quality level, default 128. |
-crnnosrgb | don't use srgb colorspace. |
-crnnoadaptiveblocks | don't use adaptive block sizes. |
-crnoutputdds | outputs DDS instead of CRN. |
Command | Purpose |
---|---|
-hdrnorle | no RLE encoding. |
-hdrnogamma | no conversion between gamma/linear on import/export. |
Command | Purpose |
---|---|
-sotnnodeftile | don't draw default tiles. |
-sotnseplayers | each layer as a separate texture. |
Command | Purpose |
---|---|
-j2krate <arg> | specifies encoding rate. |
Command | Purpose |
---|---|
-g2exalwaystform <arg> | sets always-transform flag on bone <arg>. |
-g2exanimconfig | write animconfig for gla if sequence data present. |
-g2extagtrivertshift <arg> | shifts tag triangle vertex indices by <arg>. |
-g2extrivertshift <arg> | shifts non-tag triangle vertex indices by <arg>. |
-g2exforceskeleton <arg> | forces <arg> bone count for glm export. |
-g2exbasematrixscale <arg> | scale for base gla matrices. |
-g2exbasetranslationscale <arg> | scale for base gla translations. |
-g2exmatrixscale <arg> | specifies scale applied to gla matrices. |
-g2extranslationscale <arg> | specifies scale applied to gla translation. |
-g2exreportscale <arg> | specifies scale written to gla header. |
-g2exorderbonesfromgla <arg> | filename of gla to use for bone order. |
-g2exanimname <arg> | specifies exported anim name. |
-g2exmodelname <arg> | specifies exported model name. |
-g2exmultiroots | allow multiple unparented surfs. |
-g2exfakehierarchy | fake hierarchy on glm export. |
-g2exforceshader <arg> | force shader name, <arg> 1=from material, 2=none. |
-g2skinname <arg> | specifies a non-default .skin file. |
-g2noskinfiles | disable use of .skin files. |
-g2skipsurf <arg> | does not export surface <arg>. |
-g2normalizemats | normalize bone mats. |
-g2skiptag | skips tag surfaces. |
-g2skipoff | skips off surfaces. |
Command | Purpose |
---|---|
-kvxmarchfile <arg> | <arg> specifies a .noevmarch config file for marching. |
-kvxpadunits <arg> | pad grid units by <arg>. |
-kvxoptimize | perform post-submit mesh optimization. |
-kvxnoflood | avoids floodfill to cull backfaces. |
Command | Purpose |
---|---|
-analyzeflat | generate 2d image slices instead of volume mesh |
This topic is for listing all the zones, tracking which ones have been converted so far, and giving credit to person who converted the zone. File locations are based on this PasteBin ROM List and this forum topic, but formatted to make them easier to read.
FFXI complete zone list (Mobs & NPC data, not the zones themselves!)
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
Bastok Mines | ROM/1/34.DAT | Release | YES (in progress) | /u/Rhianu |
Bastok Markets | ROM/1/35.DAT | Release | YES | /u/Rhianu |
Port Bastok | ROM/1/36.DAT | Release | NO | N/A |
Metalworks | ROM/1/37.DAT | Release | NO | N/A |
Moghouse Bastok | ROM/1/22.DAT | Release | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
North Gustaberg | ROM/0/123.DAT | Release | NO | N/A |
South Gustaberg | ROM/0/124.DAT | Release | NO | N/A |
Dangruf Wadi | ROM/27/0.DAT | Release | NO | N/A |
Zeruhn Mines | ROM/1/11.DAT | Release | NO | N/A |
Palborough_Mines | ROM/0/88.DAT | Release | NO | N/A |
Waughroon Shrine | ROM/0/89.DAT | Release | NO | N/A |
Korroloka Tunnel | ROM2/13/113.DAT | RotZ | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
Windurst Waters | ROM/0/78.DAT | Release | NO | N/A |
Windurst Walls | ROM/0/79.DAT | Release | YES | /u/Abummagum |
Port Windurst | ROM/0/80.DAT | Release | NO | N/A |
Windurst Woods | ROM/0/81.DAT | Release | NO | N/A |
Heavens Tower | ROM/1/38.DAT | Release | NO | N/A |
Moghouse Windurst | ROM/1/23.DAT | Release | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
East Sarutabaruta | ROM/??/??.DAT | Release | NO | N/A |
West Sarutabaruta | ROM/??/??.DAT | Release | NO | N/A |
Inner Horutoto Ruins | ROM/??/??.DAT | Release | NO | N/A |
Outer Horutoto Ruins | ROM/??/??.DAT | Release | NO | N/A |
Toraimarai Canal | ROM/0/65.DAT | Release | NO | N/A |
Full Moon Fountain | ROM/??/??.DAT | Release | NO | N/A |
Giddeus | ROM/??/??.DAT | Release | NO | N/A |
Balga's Dais | ROM/??/??.DAT | Release | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
Southern San d'Oria | ROM/1/31.DAT | Release | YES | /u/kitfm |
Northern San d'Oria | ROM/1/32.DAT | Release | YES | /u/kitfm |
Port San d'Oria | ROM/0/113.DAT | Release | NO | N/A |
Chateau D'Orguille | ROM/1/33.DAT | Release | NO | N/A |
Moghouse San d'Oria | ROM/1/21.DAT | Release | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
West Ronfaure | ROM/??/??.DAT | Release | YES | /u/kitfm |
East Ronfaure | ROM/??/??.DAT | Release | NO | N/A |
King Ranperre's Tomb | ROM/??/??.DAT | Release | NO | N/A |
Ghelsba Outpost | ROM/??/??.DAT | Release | NO | N/A |
Fort Ghelsba | ROM/??/??.DAT | Release | NO | N/A |
Horlais Peak | ROM/??/??.DAT | Release | NO | N/A |
Bostaunieux Oubliette | ROM/??/??.DAT | Release | NO | N/A |
Yughott Grotto | ROM/??/??.DAT | Release | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
Upper Jeuno | ROM/1/40.DAT | Release | NO | N/A |
Lower Jeuno | ROM/1/41.DAT | Release | YES | /u/kitfm |
Port Jeuno | ROM/1/42.DAT | Release | NO | N/A |
Ru'lude Gardens | ROM/1/39.DAT | Release | NO | N/A |
Moghouse Jeuno | ROM/1/20.DAT | Release | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
Qufim Island | ROM/??/??.DAT | Release | NO | N/A |
Lower Delkfutt's Tower | ROM/??/??.DAT | Release | NO | N/A |
Middle Delkfutt's Tower | ROM/??/??.DAT | Release | NO | N/A |
Upper Delkfutt's Tower | ROM/??/??.DAT | Release | NO | N/A |
Behemoth's Dominion | ROM/??/??.DAT | Release | NO | N/A |
Stellar Fulcrum | ROM/??/??.DAT | RotZ | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
Selbina | ROM/1/43.DAT | Release | YES | /u/gatorkea & /u/Rhianu |
Mhaura | ROM/1/44.DAT | Release | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
Valkurm Dunes | ROM/??/??.DAT | Release | YES (in progress) | /u/gatorkea |
La Theine Plateau | ROM/??/??.DAT | Release | YES | /u/kitfm |
Konschtat Highlands | ROM/??/??.DAT | Release | NO | N/A |
Gusgen Mines | ROM/1/16.DAT | Release | NO | N/A |
Ordelle's Caves | ROM/??/??.DAT | Release | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
Meriphataud Mountains | ROM/??/??.DAT | Release | NO | N/A |
Sauromugue Champaign | ROM/??/??.DAT | Release | NO | N/A |
Garlaige Citadel | ROM/??/??.DAT | Release | NO | N/A |
Castle Oztroja | ROM/??/??.DAT | Release | NO | N/A |
Altar Room | ROM/??/??.DAT | Release | NO | N/A |
Attohwa Chasm | ROM/??/??.DAT | CoP | NO | N/A |
Boneyard Gully | ROM/??/??.DAT | CoP | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
Tahrongi Canyon | ROM/??/??.DAT | Release | NO | N/A |
Buburimu Peninsula | ROM/??/??.DAT | Release | NO | N/A |
Maze of Shakhrami | ROM/??/??.DAT | Release | NO | N/A |
Mhaura | ROM/1/44.DAT | Release | NO | N/A |
Labyrinth of Onzozo | ROM/??/??.DAT | RotZ | NO | N/A |
Manaclipper | ROM/??/??.DAT | CoP | NO | N/A |
Bibiki Bay | ROM/??/??.DAT | CoP | NO | N/A |
Bibiki Bay - Purgonorgo Isle | ROM/??/??.DAT | Patch | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
Batallia Downs | ROM/??/??.DAT | Release | NO | N/A |
Jugner Forest | ROM/??/??.DAT | Release | NO | N/A |
Davoi | ROM/??/??.DAT | Release | NO | N/A |
The Eldieme Necropolis | ROM/??/??.DAT | Release | NO | N/A |
Monastic Cavern | ROM/??/??.DAT | Release | NO | N/A |
Phanauet Channel | ROM/??/??.DAT | CoP | NO | N/A |
Carpenters' Landing | ROM/??/??.DAT | CoP | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
Rolanberry Fields | ROM/??/??.DAT | Release | NO | N/A |
Pashhow Marshlands | ROM/??/??.DAT | Release | NO | N/A |
Beadeaux | ROM/??/??.DAT | Release | NO | N/A |
Crawlers' Nest | ROM/??/??.DAT | Release | NO | N/A |
Qulun Dome | ROM/??/??.DAT | Release | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
Ranguemont Pass | ROM/??/??.DAT | Release | NO | N/A |
Beaucedine Glacier | ROM/??/??.DAT | Release | NO | N/A |
Fei'Yin | ROM/??/??.DAT | Release | NO | N/A |
Qu'Bia Arena | ROM/??/??.DAT | Release | NO | N/A |
Cloister of Frost | ROM/??/??.DAT | RotZ | NO | N/A |
Pso'Xja | ROM/??/??.DAT | CoP | NO | N/A |
The Shrouded Maw | ROM/??/??.DAT | CoP | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
Xarcabard | ROM/??/??.DAT | Release | NO | N/A |
Castle Zvahl Baileys | ROM/??/??.DAT | Release | NO | N/A |
Castle Zvahl Keep | ROM/??/??.DAT | Release | NO | N/A |
Throne Room | ROM/??/??.DAT | Release | NO | N/A |
Uleguerand Range | ROM/??/??.DAT | CoP | NO | N/A |
Bearclaw Pinnacle | ROM/??/??.DAT | CoP | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
Cloister of Gales | ROM/??/??.DAT | RotZ | NO | N/A |
Gustav Tunnel | ROM/??/??.DAT | RotZ | NO | N/A |
Kuftal Tunnel | ROM/??/??.DAT | RotZ | NO | N/A |
Valley of Sorrows | ROM/??/??.DAT | RotZ | NO | N/A |
Cape Teriggan | ROM2/13/95.DAT | RotZ | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
The Sanctuary of Zi'Tah | ROM/??/??.DAT | RotZ | NO | N/A |
The Boyahda Tree | ROM/??/??.DAT | RotZ | NO | N/A |
Ro'Maeve | ROM2/13/98.DAT | RotZ | NO | N/A |
Dragon's Aery | ROM/??/??.DAT | RotZ | NO | N/A |
Hall of the Gods | ROM/??/??.DAT | RotZ | NO | N/A |
Cloister of Storms | ROM/??/??.DAT | RotZ | NO | N/A |
Zone | DAT file location | Expansion | Converted? | Converted By |
---|---|---|---|---|
Ru'Aun Gardens | ROM/??/??.DAT | RotZ | NO | N/A |
Celestial Nexus | ROM2/??/??.DAT | RotZ | NO | N/A |
La'Loff Amphitheater | ROM/??/??.DAT | RotZ | NO | N/A |
Shrine of Ru'Avitau | ROM/??/??.DAT | RotZ | NO | N/A |
Ve'Lugannon Palace | ROM/??/??.DAT | RotZ | NO | N/A |
This subreddit is for a community project dedicated to converting FFXI zones over into the Unity 3D game engine using the programs Area Demo and Noesis. By importing all of the FFXI zones into the Unity engine, we can theoretically recreate FFXI with better graphics (dynamic lighting, reflections, bump mapping, realistic water, high-rez textures, etc.). We could even remake FFXI as an offline, single player RPG, or just make our own custom spinoff games set in the world of Vana'diel. A handful of community members have already converted a few zones over on their own, and this project aims to bring all those together, as well as convert the rest. However, converting even a single zone is a huge undertaking, and getting all of the zones converted is going to be an enormous project that will require a community effort to complete. This project is open to anyone who wants to participate. Just stay in touch using this subreddit, and try not to duplicate work that other people have already completed (unless you have a good reason). You can download the project files and relevant programs from the links below. In order to use the project files, you must have the Unity 3D game engine installed (version 5.5.1f1 or higher).
GitKraken (optional)
Unity 3D (Decided to switch the project over to the Unreal Engine)
Area Demo (AreaDemo is useless. Don't bother with it.)
FFXI Japanese verison (required to use Area Demo)
Does anyone have the JP client installed? (VR project), by kitfm
Bringing FFXI into VR, by kitfm
Just a little project I'm working on... (Bastok Markets - Unity 3D), by Rhianu
FFXI project: importing zones into the Unity 3D game engine (download included), by Rhianu
When exporting a zone from Noesis, save the main output type as an FBX, and the texture output type as TGA. In the Advanced options input field, copy and paste the following line to get ideal results:
-ff11blendhack 0.99 -ff11renderunref -ff11keepnames -ff11optimizegeo -rotate 180 0 270
Don't bother trying to do anything with AreaDemo. It's a pain in the ass, and I've realized that it's not even necessary. Everything we need to do can be done using only Noesis.
Area Demo is used primarily to get the texture files, since Noesis does not preserve the file names of the textures for some reason, while Area Demo does. Without the correct file names, hooking up texture files to their appropriate materials in Unity becomes an almost impossible guessing game. Area Demo saves us that trouble by keeping the file names intact. Area Demo also converts zone geometry, but it saves the data as an .mqo file, which is not compatible with the Unity game engine, and converting from .mqo to .fbx is a pain in the butt.
Unfortunately, one major limitation of Area Demo is that it appears to only give us access to the original zones. As far as I can tell, Area Demo does not give its users access to zones from any of the expansion packs, not even Rise of the Zilart. At this point, I am not sure how we're going to solve this problem, but we can worry about it later, as converting all the original zones will be enough to keep our hands full for a while.
Additionally, it should be noted that Area Demo is a Japanese program, and can only be used with the Japanese version of the game. This isn't a huge problem, since Square-Enix has made the installation files for FFXI available to download for free from the official website, but it does create an issue in that SE has chosen to make it so that the Japanese version and the North American version cannot both be installed simultaneously on the same PC, which makes this whole process rather annoying for people who don't have multiple computers.
Project files will be hosted on GitHub. There are several methods for participating individuals to synchronize their own project files with the main repository on GitHub, though I personally recommend using the program GitKraken. Strictly speaking, GitKraken is not technically necessary, but it does make the whole process flow a lot smoother, and helps keep everyone up to date.
The following is a list of zones that have already been converted over or are in the process of being converted over. In order to avoid unnecessary duplication of work, any community members wishing to contribute to this project should avoid doing these zones.
Bastok Markets (some geometry errors), converted by /u/Rhianu
Southern San d'Oria, converted by /u/kitfm
La Theine Plateau, converted by /u/kitfm
Lower Jeuno, converted by /u/kitfm
Selbina, converted by /u/gatorkea
Valkurm Dunes (in process), currently being converted by /u/gatorkea