Welcome to the new FusionROSE Online site. This site is to be a collection of tools and tutorials for ROSEdev, as well as some info on DarkRose, Crimson Lace Studio's ROSE total conversion. Things are still under heavy construction, so please come back soon.

STL Editor is an all-in-one ROSE STL editor. In ROSE, an STL file is not a 3D model format but a set of text strings that the game engine displays. Much of the game's text is held in these files.

Unlike some other editors that only display the English columns or try to optimize by removing Asian languages and unifying the offset values to be clever, this STL editing program follows the format to the letter of the law and implements all of its features without question. Following the specification is vital to producing working STL files. Ignoring the details of the spec, like some editors do, leads to file corruption, garbled in-game text, and strings that just run together with no rhyme nor reason.

Some Technical Background

STL files are basically Excel spreadsheets. This is actually how Triggersoft made them back in the day; they'd use Excel to make the data and then use a custom tool to convert the spreadsheet file to the STL file format.

The STL format is set up to support multiple languages. The client pulls the data it needs from the column or columns based on the language it's configured to display.

There are three main types of STL files, denoted by the seven byte header string. The first byte of the file is the length of the string (the value of 6, not the ASCII number 6) and then the format type.

  • NRST01: This is the most basic format. It's the second-most used format in the standard data set. This has one column per language. It's generally referred to as the "Normal" STL file. STR_PLANET.STL, LST_CLASS_S.STL, and LIST_EVENTSTRING.STL are examples of standard files that use this format.
  • ITST01H: This is the most common format in the standard data set. This has two columns per language. It's generally referred to as the "Item" STL file, as it's used for all item descriptions in the game. LIST_CAP_S.STLLIST_FACEITEM_S.STL, and LIST_ZONE_S.STL are examples of the standard files that use this format.
  • QEST01: This is the most uncommon format in the standard data set. This has four columns per language, more than any other. It's generally referred to as the "Quest" STL file, as its primary purpose is for LIST_QUEST_S.STL. Aside from that file, LIST_STATUS_S.STL also uses this format. 

Using STL Editor

STL Editor can edit any standard STL string file or create new ones in all three formats. All of the languages are displayed at once. The File menu has all the options for creating, loading, and saving STL files. The Edit menu has all of the standard CCP options, plus row manipulation options. You can add new rows in bulk at any place in the data. You can also delete any number of rows in the data, starting at whatever row you specify. To manually add a new row at the end of the data, just type in some text on the row with the * symbol in the index column (the very first column to the left); a new row will be automatically created for you. The Search menu allows you to do search-and-replace functions (as of this writing, this option is still being worked on, so it's disabled).  The Operations menu has useful editor functions (this menu is also being worked on as of this writing, so it's currently disabled). The Help menu contains options to access the online help (where you are right now), or view the About data.

The STL usage protocol requires that each file has an ID tag for any row that is valid. STL Editor will fill in default values for these if they are not manually entered before saving, though you will want to enter them yourself at some point so that they actually have useful values. For example, LIST_ARMS_S.STL uses LARMxxx by default, where xxx is a three-character integer value. Generally speaking, that value will be the same as the row number. Some files simply use the row number for this column, such as LIST_STRING.STL. If you are simply editing an existing client data set, it's best practice to maintain the convention that the file already uses. If you're doing up a new client from scratch, you can go as crazy as you want with the convention, provided you also use your custom convention in the matching STB file, when applicable.

The Standard Languages

ROSE has five standard languages that are supported by all clients. In STL Editor, these are displayed by number.

  • 0: Korean. This is the default language, as this game was developed in South Korea.
  • 1: English. Chances are good that this is the language you're going to be editing the most.
  • 2: Japanese.
  • 3: Chinese Traditional.
  • 4: Chinese.

Some clients implement additional languages. There is no standard convention beyond the five original languages supported by ROSE. You are not required to support languages you don't intend to support, even within the five standard languages. The editor will ensure that all language fields contain the bare minimum data (a string terminator).

Planned Features

Not everything is currently implemented. There are plans to manage additional languages, implement autofill options, and whatever other function might be useful.

What is DarkRose Online?

Simply put, DarkRose Online is a TC (total conversion) of SHO/iROSE. As far as I know, it's the first completely new ROSE game since China ROSE, which shut down many years ago. Much like China ROSE, DarkRose is a very loose derivative of the ROSE system, mainly using ROSE as a general game engine that runs an entirely new game. DarkRose does not use any of the original ROSE maps, nor does it use the overwhelming majority of the original ROSE quests. There is an entirely new story, completely new worlds to explore, and several new skills to use. DarkRose also breaks away from the conventional ROSE format by completely eliminating job restrictions (just like FusionROSE did), opening up an entirely new way to play the game and fully customize your characters.

When is DarkRose coming out?

Simply put: when it's ready. Creating an entirely new game world is a massive undertaking. There are new maps to craft, new NPCs to create, new quests to write, etc. This requires thousands of hours of effort. The first build of the game will probably roll out in early 2020, but it will be only a fraction of the size of the proper, finished build.

What's the new story?

The original ROSE has you becoming a hero, doing good things throughout the land, engaging in combat with evil monsters, and just generally being a force for good. DarkRose, on the other hand, flips this concept completely on its head: you're now an antihero, spawned in Hell, and on a mission to take down a rival diabolic god. To accomplish your missions, expect to engage in all forms of underhanded tactics, such as deception, thievery, and assassination. Many of the original concepts are still here, such as clans (now called Legions) and vending.

Any technical details to share?

The client is a heavily modified version of 1.1.5.380 and the server is based on the matching SHO server, which is also heavily modified. You are allowed five characters per account, and there are dozens of base configurations to choose from. Max combat level is 400, max damage is 9999, and max stat level is 900. As this is based on iROSE and not Evo or Pre-Evo, Dex does affect movement speed, and skill points use the original formula.