Site Tools


developer_integration

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
developer_integration [2019/11/08 20:35] – created b0ardfacedeveloper_integration [2024/07/14 02:26] (current) – Updated for 4.6.0 wylem
Line 1: Line 1:
 ====== Developer Integrations ====== ====== Developer Integrations ======
  
-Development of Free Enterprise itself is currently a closed-source effort with a small dev teamHowever, FE does expose some features meant to assist developers looking to create tools related to the randomizer. These features are outlined here.+//NOTE: Free Enterprise is open source softwareFor information about developing for the game itselfsee the [[dev:home|Developer Documentation]].// 
 + 
 +FE also exposes some features meant to assist developers looking to create tools related to the randomizer. These features are outlined here.
  
  
Line 16: Line 18:
   * ''7E:1503-1505'' : Used key items (1 bit per item)   * ''7E:1503-1505'' : Used key items (1 bit per item)
   * ''7E:1510-151F'' : Checked potential key item locations (1 bit per location)   * ''7E:1510-151F'' : Checked potential key item locations (1 bit per location)
 +  * ''7E:1520-153F'' : Completed objectives (1 byte per objective, in the same order as in the metadata)
   * ''70:7080-70A1'' : Locations where each key item was found (2 bytes per item)   * ''70:7080-70A1'' : Locations where each key item was found (2 bytes per item)
  
Line 72: Line 75:
 | 0x003A | D.Lunar/Ribbon chest 2                   | | 0x003A | D.Lunar/Ribbon chest 2                   |
 | 0x003B | Ogopogo/Masamune altar                   | | 0x003B | Ogopogo/Masamune altar                   |
-| 0x003C | Tower of Zot trapped chest               | +| 0x003C | Tower of Zot monster-in-a-box               | 
-| 0x003D | Eblan trapped chest 1                    | +| 0x003D | Eblan monster-in-a-box 1                    | 
-| 0x003E | Eblan trapped chest 2                    | +| 0x003E | Eblan monster-in-a-box 2                    | 
-| 0x003F | Eblan trapped chest 3                    | +| 0x003F | Eblan monster-in-a-box 3                    | 
-| 0x0040 | Lower Bab-il trapped chest 1             | +| 0x0040 | Lower Bab-il monster-in-a-box 1             | 
-| 0x0041 | Lower Bab-il trapped chest 2             | +| 0x0041 | Lower Bab-il monster-in-a-box 2             | 
-| 0x0042 | Lower Bab-il trapped chest 3             | +| 0x0042 | Lower Bab-il monster-in-a-box 3             | 
-| 0x0043 | Lower Bab-il trapped chest 4             | +| 0x0043 | Lower Bab-il monster-in-a-box 4             | 
-| 0x0044 | Cave Eblan trapped chest                 | +| 0x0044 | Cave Eblan monster-in-a-box                 | 
-| 0x0045 | Upper Bab-il trapped chest               | +| 0x0045 | Upper Bab-il monster-in-a-box               | 
-| 0x0046 | Cave of Summons trapped chest            | +| 0x0046 | Cave of Summons monster-in-a-box            | 
-| 0x0047 | Sylph Cave trapped chest 1               | +| 0x0047 | Sylph Cave monster-in-a-box 1               | 
-| 0x0048 | Sylph Cave trapped chest 2               | +| 0x0048 | Sylph Cave monster-in-a-box 2               | 
-| 0x0049 | Sylph Cave trapped chest 3               | +| 0x0049 | Sylph Cave monster-in-a-box 3               | 
-| 0x004A | Sylph Cave trapped chest 4               | +| 0x004A | Sylph Cave monster-in-a-box 4               | 
-| 0x004B | Sylph Cave trapped chest 5               | +| 0x004B | Sylph Cave monster-in-a-box 5               | 
-| 0x004C | Sylph Cave trapped chest 6               | +| 0x004C | Sylph Cave monster-in-a-box 6               | 
-| 0x004D | Sylph Cave trapped chest 7               | +| 0x004D | Sylph Cave monster-in-a-box 7               | 
-| 0x004E | Giant of Bab-il trapped chest            | +| 0x004E | Giant of Bab-il monster-in-a-box            | 
-| 0x004F | Lunar Path trapped chest                 | +| 0x004F | Lunar Path monster-in-a-box                 | 
-| 0x0050 | Lunar Core trapped chest 1               | +| 0x0050 | Lunar Core monster-in-a-box 1               | 
-| 0x0051 | Lunar Core trapped chest 2               | +| 0x0051 | Lunar Core monster-in-a-box 2               | 
-| 0x0052 | Lunar Core trapped chest 3               | +| 0x0052 | Lunar Core monster-in-a-box 3               | 
-| 0x0053 | Lunar Core trapped chest 4               | +| 0x0053 | Lunar Core monster-in-a-box 4               | 
-| 0x0054 | Lunar Core trapped chest 5               | +| 0x0054 | Lunar Core monster-in-a-box 5               | 
-| 0x0055 | Lunar Core trapped chest 6               | +| 0x0055 | Lunar Core monster-in-a-box 6               | 
-| 0x0056 | Lunar Core trapped chest 7               | +| 0x0056 | Lunar Core monster-in-a-box 7               | 
-| 0x0057 | Lunar Core trapped chest 8               | +| 0x0057 | Lunar Core monster-in-a-box 8               | 
-| 0x0058 | Lunar Core trapped chest 9               |+| 0x0058 | Lunar Core monster-in-a-box 9               |
 | 0x0059 | Rydia's Mom                              | | 0x0059 | Rydia's Mom                              |
 | 0x005A | Fallen Golbez (vanilla Crystal location) | | 0x005A | Fallen Golbez (vanilla Crystal location) |
-0x005B Forged by Kokkol                         | +0x005D Objective completion                     |
 ===== MSU-1 Support ===== ===== MSU-1 Support =====
  
Line 194: Line 196:
   /api/generate?key=<api_key>   /api/generate?key=<api_key>
  
-Along with these additional parameters in the query string or POST data+The body of this request should be a JSON object with the 
-  flags : the desired flag string +following format: 
-  seed  : the randomization seed (optional)+ 
 +  
 +    "flags     "<desired flag string>", 
 +    "seed      : "<desired randomization seed; optional>", 
 +    "metaconfig" : <optional metaconfiguration object; see below> 
 +  
 + 
 +NOTEFor backwards compatibility, the flags and seed values may be 
 +passed as URL query parameters or formdata values in the body instead. 
 +To use metaconfigurations, you must use the JSON parameter format. 
 + 
 +The metaconfiguration object, and all fields within it, are optional
 +Note that when a metaconfiguration is specified, a "unique" seed is 
 +generated -- rerunning the same generation parameters later will 
 +result in a different seed. 
 + 
 +The metaconfig object has this format: 
 + 
 +  { 
 +    "hide_flags" : <bool> 
 +  }
  
-This will return a JSON response in one of the following formats:+The generate call will return a JSON response in one of the following 
 +formats:
  
   // If the generation process started correctly   // If the generation process started correctly
developer_integration.1573245312.txt.gz · Last modified: 2019/11/08 21:35 (external edit)