├── CNAME ├── .gitignore ├── GaiaTitle.xcf ├── Gaia Gensouki.xlsx ├── IllusionOfGaiaScript.xlsx ├── site ├── tsconfig.json ├── src │ ├── vite-env.d.ts │ ├── main.tsx │ ├── types.ts │ ├── hooks │ │ └── useProjectData.ts │ ├── index.css │ ├── components │ │ ├── Notepad.tsx │ │ ├── Notepad.css │ │ ├── ErrorBoundary.tsx │ │ ├── ModuleSelector.css │ │ ├── NotificationSystem.css │ │ ├── ErrorBoundary.css │ │ ├── NotificationSystem.tsx │ │ ├── RomFilePicker.css │ │ ├── FolderPicker.css │ │ ├── ModuleSelector.tsx │ │ ├── RomBuilder.css │ │ └── RomFilePicker.tsx │ └── App.css ├── tsconfig.node.json ├── index.html ├── tsconfig.app.json ├── package.json ├── vite.config.js └── README.md ├── modules ├── title-demo │ ├── gfx_title.bin │ ├── pal_title.pal │ ├── set_title.set │ ├── map_title_main.map │ ├── gfx_title_actors.bin │ ├── map_title_effect.map │ ├── pal_title_actors.pal │ ├── spm_title_actors.spm │ └── EnhancedTitle.patch.asm ├── base │ ├── graphics │ │ ├── gfx_fonts.bin │ │ └── gfx_sky_delivery_exprite.bin │ ├── palettes │ │ ├── pal_sc01_actors.pal │ │ └── pal_wa78_actors.pal │ ├── spritemaps │ │ ├── spm_fr32_actors.bin │ │ ├── spm_sc01_actors.bin │ │ └── spm_wa78_actors.bin │ ├── patches │ │ ├── EnhancedTitle.asm │ │ ├── ExpriteLoader.asm │ │ ├── chapter34.asm │ │ ├── SouthCapeDeliveryman.asm │ │ ├── WatermiaDeliveryman.asm │ │ ├── chapter15.asm │ │ ├── chapter12.asm │ │ ├── FreejiaDeliveryman.asm │ │ ├── chapter18.asm │ │ ├── chapter09.asm │ │ ├── chapter35.asm │ │ ├── chapter25.asm │ │ ├── chapter02.asm │ │ ├── OverworldNameSwitch.asm │ │ ├── Credits.asm │ │ ├── chapter17.asm │ │ ├── chapter14.asm │ │ ├── StringProcessing.asm │ │ └── ExpandedOverworldRoutes.asm │ └── asm │ │ └── templates_01CA95.asm ├── jp-viper │ ├── graphics │ │ └── gfx_viper.bin │ └── spritemaps │ │ └── spm_viper.bin ├── jp-mines │ └── palettes │ │ └── pal_dm3D_tiles.pal ├── title-alternate │ ├── graphics │ │ ├── gfx_title.bin │ │ └── gfx_title_actors.bin │ ├── palettes │ │ ├── pal_title.pal │ │ └── pal_title_actors.pal │ ├── tilesets │ │ └── set_title.set │ ├── tilemaps │ │ ├── map_title_main.map │ │ └── map_title_effect.map │ ├── spritemaps │ │ └── spm_title_actors.bin │ ├── asm │ │ └── thinkers │ │ │ └── thinker_00BC91.asm │ └── patches │ │ └── EnhancedTitle.asm ├── title-enhanced │ ├── graphics │ │ ├── gfx_title.bin │ │ ├── gfx_title_actors.bin │ │ └── gfx_title_exprite.bin │ ├── palettes │ │ ├── pal_title.pal │ │ └── pal_title_actors.pal │ ├── tilesets │ │ └── set_title.set │ ├── tilemaps │ │ ├── map_title_effect.map │ │ └── map_title_main.map │ ├── spritemaps │ │ └── spm_title_actors.bin │ ├── asm │ │ └── thinkers │ │ │ └── thinker_00BC91.asm │ └── patches │ │ └── ExpriteLoader.asm ├── international-font │ ├── graphics │ │ └── gfx_fonts.bin │ ├── db │ │ ├── stringLayers.json │ │ └── stringTypes.json │ └── patches │ │ └── AccentMap.asm ├── jp-wall-dunes │ ├── graphics │ │ └── gfx_gw82_tiles.bin │ ├── palettes │ │ └── pal_gw82_tiles.pal │ ├── tilesets │ │ └── set_gw82_effect.set │ └── tilemaps │ │ └── map_gw82_effect.map ├── jp-itory-mountains │ ├── palettes │ │ ├── pal_it16_int.pal │ │ └── pal_it15_tiles.pal │ ├── graphics │ │ └── gfx_it15_effect.bin │ ├── tilemaps │ │ ├── map_it15_effect.map │ │ ├── map_it16_effect.map │ │ └── map_it18_effect.map │ ├── tilesets │ │ └── set_it15_ext_effect.set │ └── patches │ │ └── JpItoryMountains.asm ├── jp-church-cross │ └── graphics │ │ └── gfx_sc01_ext_effect.bin ├── jp-edward-mountains │ ├── graphics │ │ └── gfx_ec0A_tiles.bin │ ├── palettes │ │ └── pal_ec0A_tiles.pal │ ├── tilesets │ │ └── set_ec0A_effect.set │ ├── patches │ │ └── JpEdwardMountains.asm │ └── tilemaps │ │ └── map_ec0A_effect.map ├── jp-prologue-palettes │ └── palettes │ │ ├── palette_1E1935.pal │ │ └── palette_1E1A35.pal ├── crystal-ring-palette │ ├── graphics │ │ ├── gfx_item_exprite.bin │ │ └── gfx_inventory_sprites.bin │ ├── palettes │ │ └── pal_item_exprite2.pal │ └── patches │ │ └── CrystalRingPalette.asm ├── enhanced-prologue-text │ ├── graphics │ │ └── gfx_overworld_font.bin │ └── patches │ │ └── EnhancedPrologueText.asm ├── no-shira-spotlight │ └── NoShiraSpotlight.asm ├── full-health-herb │ └── patches │ │ └── FullHealthHerb.asm ├── thankful-flower │ └── patches │ │ └── ThankfulFlower.asm ├── pyramid-elevator-speed │ └── patches │ │ └── PyramidElevatorSpeed.asm ├── pyramid-portal-exit │ └── patches │ │ └── PyramidPortalExit.asm ├── freejia-shortcut │ └── patches │ │ └── FreejiaShortcut.asm ├── red-fountain │ └── patches │ │ └── RedFountain.asm ├── enhanced-epilogue-text │ └── patches │ │ └── EnhancedEpilogueText.asm ├── blue-journal │ └── patches │ │ └── BlueJournal.asm ├── plain-borders │ ├── asm │ │ └── templates_01CA95.asm │ └── patches │ │ └── StringProcessing.asm └── freejia-slave-return │ └── patches │ └── FreejiaSlaveReturn.asm └── .github └── workflows └── deploy.yml /CNAME: -------------------------------------------------------------------------------- 1 | gaiahack.ing -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | .env -------------------------------------------------------------------------------- /GaiaTitle.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/GaiaTitle.xcf -------------------------------------------------------------------------------- /Gaia Gensouki.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/Gaia Gensouki.xlsx -------------------------------------------------------------------------------- /IllusionOfGaiaScript.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/IllusionOfGaiaScript.xlsx -------------------------------------------------------------------------------- /site/tsconfig.json: -------------------------------------------------------------------------------- 1 | {"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]} 2 | -------------------------------------------------------------------------------- /modules/title-demo/gfx_title.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-demo/gfx_title.bin -------------------------------------------------------------------------------- /modules/title-demo/pal_title.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-demo/pal_title.pal -------------------------------------------------------------------------------- /modules/title-demo/set_title.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-demo/set_title.set -------------------------------------------------------------------------------- /modules/base/graphics/gfx_fonts.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/base/graphics/gfx_fonts.bin -------------------------------------------------------------------------------- /modules/title-demo/map_title_main.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-demo/map_title_main.map -------------------------------------------------------------------------------- /modules/jp-viper/graphics/gfx_viper.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-viper/graphics/gfx_viper.bin -------------------------------------------------------------------------------- /modules/title-demo/gfx_title_actors.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-demo/gfx_title_actors.bin -------------------------------------------------------------------------------- /modules/title-demo/map_title_effect.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-demo/map_title_effect.map -------------------------------------------------------------------------------- /modules/title-demo/pal_title_actors.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-demo/pal_title_actors.pal -------------------------------------------------------------------------------- /modules/title-demo/spm_title_actors.spm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-demo/spm_title_actors.spm -------------------------------------------------------------------------------- /modules/base/palettes/pal_sc01_actors.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/base/palettes/pal_sc01_actors.pal -------------------------------------------------------------------------------- /modules/base/palettes/pal_wa78_actors.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/base/palettes/pal_wa78_actors.pal -------------------------------------------------------------------------------- /modules/jp-viper/spritemaps/spm_viper.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-viper/spritemaps/spm_viper.bin -------------------------------------------------------------------------------- /modules/base/spritemaps/spm_fr32_actors.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/base/spritemaps/spm_fr32_actors.bin -------------------------------------------------------------------------------- /modules/base/spritemaps/spm_sc01_actors.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/base/spritemaps/spm_sc01_actors.bin -------------------------------------------------------------------------------- /modules/base/spritemaps/spm_wa78_actors.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/base/spritemaps/spm_wa78_actors.bin -------------------------------------------------------------------------------- /modules/jp-mines/palettes/pal_dm3D_tiles.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-mines/palettes/pal_dm3D_tiles.pal -------------------------------------------------------------------------------- /modules/title-alternate/graphics/gfx_title.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-alternate/graphics/gfx_title.bin -------------------------------------------------------------------------------- /modules/title-alternate/palettes/pal_title.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-alternate/palettes/pal_title.pal -------------------------------------------------------------------------------- /modules/title-alternate/tilesets/set_title.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-alternate/tilesets/set_title.set -------------------------------------------------------------------------------- /modules/title-enhanced/graphics/gfx_title.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-enhanced/graphics/gfx_title.bin -------------------------------------------------------------------------------- /modules/title-enhanced/palettes/pal_title.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-enhanced/palettes/pal_title.pal -------------------------------------------------------------------------------- /modules/title-enhanced/tilesets/set_title.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-enhanced/tilesets/set_title.set -------------------------------------------------------------------------------- /modules/international-font/graphics/gfx_fonts.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/international-font/graphics/gfx_fonts.bin -------------------------------------------------------------------------------- /modules/jp-wall-dunes/graphics/gfx_gw82_tiles.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-wall-dunes/graphics/gfx_gw82_tiles.bin -------------------------------------------------------------------------------- /modules/jp-wall-dunes/palettes/pal_gw82_tiles.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-wall-dunes/palettes/pal_gw82_tiles.pal -------------------------------------------------------------------------------- /modules/base/graphics/gfx_sky_delivery_exprite.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/base/graphics/gfx_sky_delivery_exprite.bin -------------------------------------------------------------------------------- /modules/jp-itory-mountains/palettes/pal_it16_int.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-itory-mountains/palettes/pal_it16_int.pal -------------------------------------------------------------------------------- /modules/jp-wall-dunes/tilesets/set_gw82_effect.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-wall-dunes/tilesets/set_gw82_effect.set -------------------------------------------------------------------------------- /modules/title-alternate/tilemaps/map_title_main.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-alternate/tilemaps/map_title_main.map -------------------------------------------------------------------------------- /modules/title-enhanced/graphics/gfx_title_actors.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-enhanced/graphics/gfx_title_actors.bin -------------------------------------------------------------------------------- /modules/title-enhanced/palettes/pal_title_actors.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-enhanced/palettes/pal_title_actors.pal -------------------------------------------------------------------------------- /modules/title-enhanced/tilemaps/map_title_effect.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-enhanced/tilemaps/map_title_effect.map -------------------------------------------------------------------------------- /modules/title-enhanced/tilemaps/map_title_main.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-enhanced/tilemaps/map_title_main.map -------------------------------------------------------------------------------- /modules/base/patches/EnhancedTitle.asm: -------------------------------------------------------------------------------- 1 | 2 | ?INCLUDE 'system_strings' 3 | 4 | asciistring_01DA47 |[NHM:0][CUR:1E,4]RETRANSLATED [NHM:4][CUR:D0,4]PUSH START BUTTON| 5 | -------------------------------------------------------------------------------- /modules/jp-itory-mountains/palettes/pal_it15_tiles.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-itory-mountains/palettes/pal_it15_tiles.pal -------------------------------------------------------------------------------- /modules/title-alternate/graphics/gfx_title_actors.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-alternate/graphics/gfx_title_actors.bin -------------------------------------------------------------------------------- /modules/title-alternate/palettes/pal_title_actors.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-alternate/palettes/pal_title_actors.pal -------------------------------------------------------------------------------- /modules/title-alternate/tilemaps/map_title_effect.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-alternate/tilemaps/map_title_effect.map -------------------------------------------------------------------------------- /modules/title-enhanced/graphics/gfx_title_exprite.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-enhanced/graphics/gfx_title_exprite.bin -------------------------------------------------------------------------------- /modules/title-enhanced/spritemaps/spm_title_actors.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-enhanced/spritemaps/spm_title_actors.bin -------------------------------------------------------------------------------- /modules/jp-church-cross/graphics/gfx_sc01_ext_effect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-church-cross/graphics/gfx_sc01_ext_effect.bin -------------------------------------------------------------------------------- /modules/jp-edward-mountains/graphics/gfx_ec0A_tiles.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-edward-mountains/graphics/gfx_ec0A_tiles.bin -------------------------------------------------------------------------------- /modules/jp-edward-mountains/palettes/pal_ec0A_tiles.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-edward-mountains/palettes/pal_ec0A_tiles.pal -------------------------------------------------------------------------------- /modules/jp-edward-mountains/tilesets/set_ec0A_effect.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-edward-mountains/tilesets/set_ec0A_effect.set -------------------------------------------------------------------------------- /modules/jp-itory-mountains/graphics/gfx_it15_effect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-itory-mountains/graphics/gfx_it15_effect.bin -------------------------------------------------------------------------------- /modules/jp-itory-mountains/tilemaps/map_it15_effect.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-itory-mountains/tilemaps/map_it15_effect.map -------------------------------------------------------------------------------- /modules/jp-itory-mountains/tilemaps/map_it16_effect.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-itory-mountains/tilemaps/map_it16_effect.map -------------------------------------------------------------------------------- /modules/jp-itory-mountains/tilemaps/map_it18_effect.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-itory-mountains/tilemaps/map_it18_effect.map -------------------------------------------------------------------------------- /modules/jp-prologue-palettes/palettes/palette_1E1935.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-prologue-palettes/palettes/palette_1E1935.pal -------------------------------------------------------------------------------- /modules/jp-prologue-palettes/palettes/palette_1E1A35.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-prologue-palettes/palettes/palette_1E1A35.pal -------------------------------------------------------------------------------- /modules/title-alternate/spritemaps/spm_title_actors.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/title-alternate/spritemaps/spm_title_actors.bin -------------------------------------------------------------------------------- /modules/crystal-ring-palette/graphics/gfx_item_exprite.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/crystal-ring-palette/graphics/gfx_item_exprite.bin -------------------------------------------------------------------------------- /modules/crystal-ring-palette/palettes/pal_item_exprite2.pal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/crystal-ring-palette/palettes/pal_item_exprite2.pal -------------------------------------------------------------------------------- /modules/jp-itory-mountains/tilesets/set_it15_ext_effect.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/jp-itory-mountains/tilesets/set_it15_ext_effect.set -------------------------------------------------------------------------------- /modules/enhanced-prologue-text/graphics/gfx_overworld_font.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/enhanced-prologue-text/graphics/gfx_overworld_font.bin -------------------------------------------------------------------------------- /modules/crystal-ring-palette/graphics/gfx_inventory_sprites.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azarem/IOGRetranslation/HEAD/modules/crystal-ring-palette/graphics/gfx_inventory_sprites.bin -------------------------------------------------------------------------------- /modules/jp-itory-mountains/patches/JpItoryMountains.asm: -------------------------------------------------------------------------------- 1 | 2 | ?INCLUDE 'parallax_table' 3 | 4 | binary_01CC89 #00787E0F08E1FF200700002000F0FF220700001800F8FF240700001000F8FF260700000C00E8FF280708010000F0FF2A070A010000E8FF2C070C01000038FF2E070E010000 5 | -------------------------------------------------------------------------------- /modules/jp-edward-mountains/patches/JpEdwardMountains.asm: -------------------------------------------------------------------------------- 1 | 2 | ?INCLUDE 'parallax_table' 3 | 4 | binary_01CC4A #00787E0F08D1FF200700002000F8FF220700001400F8FF240700001000C0FF26070801000080FF280700000100B0FF2A0708010000E0FF2C071001000070FF2E0700000100B5FF30070801000000FB3207100100000000 5 | -------------------------------------------------------------------------------- /site/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | interface ImportMetaEnv { 4 | readonly VITE_SUPABASE_URL: string 5 | readonly VITE_SUPABASE_ANON_KEY: string 6 | readonly VITE_PROJECT_NAME: string 7 | } 8 | 9 | interface ImportMeta { 10 | readonly env: ImportMetaEnv 11 | } 12 | -------------------------------------------------------------------------------- /modules/no-shira-spotlight/NoShiraSpotlight.asm: -------------------------------------------------------------------------------- 1 | 2 | --------------------------------------------------- 3 | ?INCLUDE 'gs2A_shira' 4 | --------------------------------------------------- 5 | 6 | code_059484 { 7 | COP [BF] ( &widestring_0594B8+2 ) 8 | COP [BE] ( #02, #01, &code_list_059491 ) 9 | } 10 | -------------------------------------------------------------------------------- /modules/full-health-herb/patches/FullHealthHerb.asm: -------------------------------------------------------------------------------- 1 | 2 | ---------------------------------------- 3 | ?INCLUDE 'chunk_038000' 4 | ---------------------------------------- 5 | 6 | code_03889A { 7 | COP [BF] ( &widestring_0388E9 ) 8 | LDA #$0028 9 | STA $0B22 10 | JSR $&sub_039FB2 11 | RTS 12 | } 13 | -------------------------------------------------------------------------------- /modules/international-font/db/stringLayers.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "type": "WideString", 4 | "base": 220, 5 | "map": [ 6 | "à", "á", "â", "ã", 7 | "ä", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ò", "ó", "ô", "õ", "ö", "ù", "ú", 8 | "û", "ü", "À", "Á", "Â", "Ã", "Ä", "É", "Ê", "Ë", "Í", "Ò", "Ó", "Ô", "Õ", "Ö" 9 | ] 10 | } 11 | ] -------------------------------------------------------------------------------- /modules/crystal-ring-palette/patches/CrystalRingPalette.asm: -------------------------------------------------------------------------------- 1 | 2 | --------------------------------------- 3 | ?INCLUDE 'inventory_spritemap' 4 | --------------------------------------- 5 | 6 | sprite_group_10898C [ 7 | sprite_group < #08, #08, #10, #00, #F8, #F0, #01, #01, #F8, #10, #F0, #10, #01, [ 8 | sprite_part < #01, #00, #00, #00, #00, #$0B60 > ;00 9 | ] > ;00 10 | ] 11 | -------------------------------------------------------------------------------- /site/src/main.tsx: -------------------------------------------------------------------------------- 1 | import { StrictMode } from 'react' 2 | import { createRoot } from 'react-dom/client' 3 | import { ErrorBoundary } from './components/ErrorBoundary' 4 | import App from './App.tsx' 5 | import './index.css' 6 | 7 | createRoot(document.getElementById('root')!).render( 8 | 9 | 10 | 11 | 12 | , 13 | ) 14 | -------------------------------------------------------------------------------- /modules/thankful-flower/patches/ThankfulFlower.asm: -------------------------------------------------------------------------------- 1 | 2 | ------------------------------------- 3 | ?INCLUDE 'ec11_flower' 4 | ------------------------------------- 5 | 6 | 7 | code_09BC4C { 8 | COP [D1] ( #$0113, #01, &thankful_flower_interact ) 9 | COP [D0] ( #02, #01, &thankful_flower_interact ) 10 | COP [BF] ( &widestring_09BC51 ) 11 | RTL 12 | } 13 | 14 | thankful_flower_interact { 15 | COP [BF] ( &thankful_flower_str ) 16 | RTL 17 | } 18 | 19 | thankful_flower_str `[TPL:18][TPL:D]Thank you, that was[N]lovely![END]` 20 | -------------------------------------------------------------------------------- /site/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2022", 4 | "lib": ["ES2023"], 5 | "module": "ESNext", 6 | "skipLibCheck": true, 7 | 8 | /* Bundler mode */ 9 | "moduleResolution": "bundler", 10 | "allowImportingTsExtensions": true, 11 | "resolveJsonModule": true, 12 | "isolatedModules": true, 13 | "noEmit": true, 14 | 15 | /* Linting */ 16 | "strict": true, 17 | "noUnusedLocals": true, 18 | "noUnusedParameters": true, 19 | "noFallthroughCasesInSwitch": true 20 | }, 21 | "include": ["vite.config.js"] 22 | } 23 | -------------------------------------------------------------------------------- /site/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Illusion of Gaia: Retranslated - ROM Patcher 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /modules/title-alternate/asm/thinkers/thinker_00BC91.asm: -------------------------------------------------------------------------------- 1 | 2 | 3 | --------------------------------------------- 4 | 5 | h_thinker_00BC91 [ 6 | h_thinker < #04, #08 > ;00 7 | ] 8 | 9 | --------------------------------------------- 10 | 11 | e_thinker_00BC91 { 12 | COP [02] ( @dma_data_00BC9A, #12 ) 13 | RTL 14 | } 15 | 16 | 17 | dma_data_00BC9A [ 18 | dma_data < #70, #00, #00 > ;00 19 | dma_data < #40, #00, #00 > ;01 20 | dma_data < #0C, #04, #00 > ;02 21 | dma_data < #0C, #08, #00 > ;03 22 | dma_data < #20, #0C, #00 > ;04 23 | dma_data < #20, #00, #00 > ;05 24 | ] 25 | 26 | -------------------------------------------------------------------------------- /modules/title-enhanced/asm/thinkers/thinker_00BC91.asm: -------------------------------------------------------------------------------- 1 | 2 | 3 | --------------------------------------------- 4 | 5 | h_thinker_00BC91 [ 6 | h_thinker < #04, #08 > ;00 7 | ] 8 | 9 | --------------------------------------------- 10 | 11 | e_thinker_00BC91 { 12 | COP [02] ( @dma_data_00BC9A, #12 ) 13 | RTL 14 | } 15 | 16 | 17 | dma_data_00BC9A [ 18 | dma_data < #70, #00, #00 > ;00 19 | dma_data < #40, #00, #00 > ;01 20 | dma_data < #0C, #04, #00 > ;02 21 | dma_data < #0C, #08, #00 > ;03 22 | dma_data < #20, #0C, #00 > ;04 23 | dma_data < #20, #00, #00 > ;05 24 | ] 25 | 26 | -------------------------------------------------------------------------------- /site/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "useDefineForClassFields": true, 5 | "lib": ["ES2020", "DOM", "DOM.Iterable"], 6 | "module": "ESNext", 7 | "skipLibCheck": true, 8 | 9 | /* Bundler mode */ 10 | "moduleResolution": "bundler", 11 | "allowImportingTsExtensions": true, 12 | "resolveJsonModule": true, 13 | "isolatedModules": true, 14 | "noEmit": true, 15 | "jsx": "react-jsx", 16 | 17 | /* Linting */ 18 | "strict": true, 19 | "noUnusedLocals": true, 20 | "noUnusedParameters": true, 21 | "noFallthroughCasesInSwitch": true 22 | }, 23 | "include": ["src"] 24 | } 25 | -------------------------------------------------------------------------------- /modules/pyramid-elevator-speed/patches/PyramidElevatorSpeed.asm: -------------------------------------------------------------------------------- 1 | 2 | ?INCLUDE 'pyD7_actor_08C4EA' 3 | 4 | code_08C549 { 5 | LDA $7F0010, X 6 | STA $26 7 | LDA $24 8 | BPL code_08C564 9 | COP [C1] 10 | LDY #$1060 11 | LDA $0026, Y 12 | DEC 13 | STA $0026, Y 14 | DEC $26 15 | BEQ code_08C575 16 | DEC 17 | STA $0026, Y 18 | DEC $26 19 | BEQ code_08C575 20 | RTL 21 | } 22 | 23 | 24 | code_08C564 { 25 | COP [C1] 26 | LDY #$1060 27 | LDA $0026, Y 28 | INC 29 | STA $0026, Y 30 | DEC $26 31 | BEQ code_08C575 32 | INC 33 | STA $0026, Y 34 | DEC $26 35 | BEQ code_08C575 36 | RTL 37 | } -------------------------------------------------------------------------------- /modules/pyramid-portal-exit/patches/PyramidPortalExit.asm: -------------------------------------------------------------------------------- 1 | 2 | !scene_current 0644 3 | !player_actor 09AA 4 | 5 | ------------------------------------------------- 6 | ?INCLUDE 'pyCC_entrance_portal' 7 | ------------------------------------------------- 8 | 9 | code_08B6C6 { 10 | COP [BF] ( &widestring_08B74B ) 11 | LDY $player_actor 12 | LDA $0010, Y 13 | ORA #$2000 14 | STA $0010, Y 15 | COP [9C] ( @e_py_actor_08B6F4, #$1800 ) 16 | LDA #$0303 17 | STA $0648 18 | LDA #$0303 19 | STA $064A 20 | LDA $scene_current 21 | CMP #$00CC 22 | BEQ entrance_portal_top 23 | COP [26] ( #CC, #$01F8, #$0380, #03, #$4400 ) 24 | RTL 25 | 26 | entrance_portal_top: 27 | COP [26] ( #CC, #$01F8, #$0130, #03, #$4400 ) 28 | RTL 29 | } -------------------------------------------------------------------------------- /modules/jp-wall-dunes/tilemaps/map_gw82_effect.map: -------------------------------------------------------------------------------- 1 |  !"#$%&' !"#$%&'()*+,-./()*+,-./0123456701234567AAAAAAAAAAAAAAAAIIIIIIIIIIIIIIIIQQQQQQQQQQQQQQQQ@@@@@@@@@@@@@@@@HHHHHHHHHHHHHHHHPPPPPPPPPPPPPPPPXXXXXXXXXXXXXXXX !"#$%&' !"#$%&'@@@@@@@@@@@@@@@@HHHHHHHHHHHHHHHHPPPPPPPPPPPPPPPPXXXXXXXXXXXXXXXX()*+,-./()*+,-./0123456701234567hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh -------------------------------------------------------------------------------- /modules/jp-edward-mountains/tilemaps/map_ec0A_effect.map: -------------------------------------------------------------------------------- 1 |  2 |  !"#$%&' !"#$%&'()*+,-./()*+,-./0123456701234567 !"#$%&' !"#$%&'@@@@@@@@@@@@@@@@HHHHHHHHHHHHHHHH !"#$%&' !"#$%&'()*+,-./()*+,-./@@@@@@@@@@@@@@@@HHHHHHHHHHHHHHHHXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXYXY -------------------------------------------------------------------------------- /site/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "iogretranslation", 3 | "version": "1.0.0", 4 | "description": "Copyright 2024-2025 by GaiaLabs \r https://github.com/Azarem/IOGRetranslation \r https://github.com/Azarem/GaiaLabs", 5 | "homepage": "https://azarem.github.io/IOGRetranslation/", 6 | "bugs": { 7 | "url": "https://github.com/Azarem/IOGRetranslation/issues" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/Azarem/IOGRetranslation.git" 12 | }, 13 | "license": "MIT", 14 | "author": "GaiaLabs", 15 | "type": "module", 16 | "scripts": { 17 | "dev": "vite", 18 | "type-check": "tsc --noEmit", 19 | "build": "tsc && vite build", 20 | "preview": "vite preview" 21 | }, 22 | "dependencies": { 23 | "@gaialabs/core": "^0.1.19", 24 | "@gaialabs/shared": "^0.1.16", 25 | "react": "^19.1.1", 26 | "react-dom": "^19.1.1" 27 | }, 28 | "devDependencies": { 29 | "@types/react": "^19.1.1", 30 | "@types/react-dom": "^19.1.1", 31 | "@vitejs/plugin-react": "^5.0.2", 32 | "typescript": "^5.9.2", 33 | "vite": "^7.1.4" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /modules/freejia-shortcut/patches/FreejiaShortcut.asm: -------------------------------------------------------------------------------- 1 | 2 | ------------------------------------ 3 | ?INCLUDE 'dm47_sam' 4 | ------------------------------------ 5 | 6 | code_05D2BB { 7 | COP [BF] ( &widestring_05D48E ) 8 | COP [BE] ( #02, #01, &shortcut_options ) 9 | RTL 10 | } 11 | 12 | shortcut_options [ 13 | &shortcut_cancel 14 | &shortcut_cancel 15 | &shortcut_accept 16 | ] 17 | 18 | shortcut_cancel { 19 | COP [BF] ( &shortcut_cancel_str ) 20 | RTL 21 | } 22 | 23 | shortcut_accept { 24 | COP [BF] ( &shortcut_accept_str ) 25 | LDA #$0000 26 | STA $0D60 27 | LDA #$0404 28 | STA $064A 29 | COP [65] ( #$0334, #$0334, #00, #0B ) 30 | COP [26] ( #39, #$0048, #$01C0, #00, #$2210 ) 31 | RTL 32 | } 33 | 34 | widestring_05D48E `[TPL:5][TPL:E][NAM:A]: Hey, I know of a[N]secret passage that will[N]take you to [NAM:12][FIN]Take the shortcut?[N][PAL:0] Stay[N] Go to [NAM:12][PAL:4]` 35 | 36 | shortcut_cancel_str `[CLR]I won't forget you for my[N]entire life. Be careful[N]out there.[END]` 37 | shortcut_accept_str `[CLR]Alright, stay close to me[N]and we'll be there in no[N]time.[END]` -------------------------------------------------------------------------------- /site/src/types.ts: -------------------------------------------------------------------------------- 1 | // Types based on the shared package ProjectPayload 2 | export interface ProjectPayload { 3 | branch: { 4 | id: string; 5 | name: string | null; 6 | version: number | null; 7 | isPublic: boolean; 8 | projectId: string; 9 | baseRomBranchId: string; 10 | fileCrcs: number[]; 11 | modules: ModuleGroup[]; 12 | createdAt: string; 13 | updatedAt: string; 14 | project: { 15 | id: string; 16 | name: string; 17 | meta: any; 18 | gameId: string; 19 | baseRomId: string; 20 | createdAt: string; 21 | updatedAt: string; 22 | }; 23 | }; 24 | files: any[]; 25 | } 26 | 27 | export interface ModuleGroup { 28 | name?: string; 29 | options: ModuleOption[]; 30 | } 31 | 32 | export interface ModuleOption { 33 | id: string; 34 | name: string; 35 | description?: string; 36 | default?: boolean; 37 | } 38 | 39 | export interface RomValidationResult { 40 | isValid: boolean; 41 | expectedCrc: number; 42 | actualCrc?: number; 43 | error?: string; 44 | } 45 | 46 | export interface RomGenerationProgress { 47 | stage: string; 48 | progress: number; 49 | message: string; 50 | } 51 | -------------------------------------------------------------------------------- /modules/red-fountain/patches/RedFountain.asm: -------------------------------------------------------------------------------- 1 | 2 | 3 | ?INCLUDE 'palette_bundles' 4 | 5 | 6 | bundle_1693F9 [ 7 | bundle < #01, &word_D69FA6, #21, #17, #04 > 8 | bundle < #01, &word_D69FA8, #21, #17, #03 > 9 | bundle < #01, &word_D69FAA, #21, #17, #02 > 10 | bundle < #01, &word_D69FAC, #21, #17, #02 > 11 | bundle < #01, &word_D69FAE, #21, #17, #03 > 12 | bundle < #01, &word_D69FB0, #21, #17, #04 > 13 | bundle < #01, &word_D69FB2, #21, #17, #04 > 14 | bundle < #01, &word_D69FB4, #21, #17, #03 > 15 | bundle < #01, &word_D69FB6, #21, #17, #02 > 16 | bundle < #01, &word_D69FB8, #21, #17, #03 > 17 | bundle < #01, &word_D69FBA, #21, #17, #04 > 18 | bundle < #01, &word_D69FBC, #21, #17, #05 > 19 | ] 20 | 21 | word_D69FA6 #$08A9 22 | word_D69FA8 #$08A9 23 | word_D69FAA #$08A9 24 | word_D69FAC #$0CCA 25 | word_D69FAE #$10ED 26 | word_D69FB0 #$112F 27 | word_D69FB2 #$1970 28 | word_D69FB4 #$152F 29 | word_D69FB6 #$10ED 30 | word_D69FB8 #$0CCA 31 | word_D69FBA #$08A9 32 | 33 | word_D69FBC [ 34 | #$08A9 35 | #$08A9 36 | #$08A9 37 | #$08A9 38 | #$0CCA 39 | #$10ED 40 | #$152F 41 | #$1970 42 | #$152F 43 | #$10ED 44 | #$0CCA 45 | #$08A9 46 | ] 47 | -------------------------------------------------------------------------------- /site/src/hooks/useProjectData.ts: -------------------------------------------------------------------------------- 1 | import { useState, useEffect } from 'react'; 2 | import { ProjectBranchData, summaryFromSupabaseByProject } from '@gaialabs/shared' 3 | 4 | interface UseProjectDataResult { 5 | projectData: ProjectBranchData | null; 6 | loading: boolean; 7 | error: string | null; 8 | refetch: () => Promise; 9 | } 10 | 11 | export function useProjectData(): UseProjectDataResult { 12 | const [projectData, setProjectData] = useState(null); 13 | const [loading, setLoading] = useState(true); 14 | const [error, setError] = useState(null); 15 | 16 | const projectName = process?.env?.PROJECT_NAME || 'Illusion of Gaia: Retranslated'; 17 | 18 | const fetchData = async () => { 19 | try { 20 | setLoading(true); 21 | setError(null); 22 | const data = await summaryFromSupabaseByProject(projectName); 23 | setProjectData(data); 24 | } catch (err) { 25 | setError(err instanceof Error ? err.message : 'Failed to fetch project data'); 26 | setProjectData(null); 27 | } finally { 28 | setLoading(false); 29 | } 30 | }; 31 | 32 | useEffect(() => { 33 | fetchData(); 34 | }, []); 35 | 36 | return { 37 | projectData, 38 | loading, 39 | error, 40 | refetch: fetchData, 41 | }; 42 | } 43 | -------------------------------------------------------------------------------- /site/src/index.css: -------------------------------------------------------------------------------- 1 | :root { 2 | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; 3 | line-height: 1.5; 4 | font-weight: 400; 5 | 6 | color-scheme: light dark; 7 | color: rgba(255, 255, 255, 0.87); 8 | background-color: #242424; 9 | 10 | font-synthesis: none; 11 | text-rendering: optimizeLegibility; 12 | -webkit-font-smoothing: antialiased; 13 | -moz-osx-font-smoothing: grayscale; 14 | } 15 | 16 | a { 17 | font-weight: 500; 18 | color: #646cff; 19 | text-decoration: inherit; 20 | } 21 | a:hover { 22 | color: #535bf2; 23 | } 24 | 25 | body { 26 | margin: 0; 27 | display: flex; 28 | place-items: center; 29 | min-width: 320px; 30 | min-height: 100vh; 31 | } 32 | 33 | h1 { 34 | font-size: 3.2em; 35 | line-height: 1.1; 36 | } 37 | 38 | button { 39 | border-radius: 8px; 40 | border: 1px solid transparent; 41 | padding: 0.6em 1.2em; 42 | font-size: 1em; 43 | font-weight: 500; 44 | font-family: inherit; 45 | background-color: #1a1a1a; 46 | color: inherit; 47 | cursor: pointer; 48 | transition: border-color 0.25s; 49 | } 50 | button:hover { 51 | border-color: #646cff; 52 | } 53 | button:focus, 54 | button:focus-visible { 55 | outline: 4px auto -webkit-focus-ring-color; 56 | } 57 | 58 | @media (prefers-color-scheme: light) { 59 | :root { 60 | color: #213547; 61 | background-color: #ffffff; 62 | } 63 | a:hover { 64 | color: #747bff; 65 | } 66 | button { 67 | background-color: #f9f9f9; 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /modules/base/patches/ExpriteLoader.asm: -------------------------------------------------------------------------------- 1 | 2 | !scene_current 0644 3 | !player_flags 09AE 4 | !VMADDL 2116 5 | 6 | load_skyd_exprite: 7 | LDX #$&gfx_sky_delivery_exprite+2 8 | LDA #$^gfx_sky_delivery_exprite 9 | LDY #$4200 10 | STY $VMADDL 11 | LDY #$1C00 12 | JSL $@func_0283A2 13 | JML code_03E04E 14 | 15 | load_boot_exprite: 16 | LDX #$&gfx_boot_exprite+2 17 | LDA #$^gfx_boot_exprite 18 | LDY #$4200 19 | STY $VMADDL 20 | LDY #$1C00 21 | JSL $@func_0283A2 22 | PLP 23 | RTL 24 | 25 | ------------------------------------------------ 26 | ?INCLUDE 'chunk_028000' 27 | ?INCLUDE 'chunk_03BAE1' 28 | ------------------------------------------------ 29 | ;Load special sprite asset for boot scene 30 | 31 | func_03DFF8 { 32 | PHP 33 | LDA $scene_current 34 | CMP #$F7 35 | BEQ load_exit 36 | CMP #$FB 37 | BEQ load_fb_asset 38 | CMP #$FA 39 | BEQ load_exit 40 | CMP #$FE 41 | BEQ load_exit 42 | CMP #$F0 43 | BEQ load_exit 44 | CMP #$90 45 | BEQ load_exit 46 | CMP #$8C 47 | BEQ load_exit 48 | CMP #$89 49 | BEQ load_exit 50 | CMP #$78 51 | BEQ load_01_asset 52 | CMP #$32 53 | BEQ load_01_asset 54 | CMP #$01 55 | BEQ load_01_asset 56 | LDX #$4200 57 | STX $VMADDL 58 | LDX #$&bmp_000000 59 | LDA #$^bmp_000000 60 | LDY #$1C00 61 | JSL $@func_0283A2 62 | LDA $player_flags 63 | BIT #$08 64 | BEQ code_03E035 65 | LDX #$4400 66 | STX $VMADDL 67 | LDX #$&misc_fx_1CD580 68 | LDA #$^misc_fx_1CD580 69 | LDY #$0800 70 | JSL $@func_0283A2 71 | BRA code_03E04E 72 | 73 | load_01_asset: 74 | JML load_skyd_exprite 75 | 76 | load_fb_asset: 77 | JML load_boot_exprite 78 | 79 | load_exit: 80 | PLP 81 | RTL 82 | } 83 | -------------------------------------------------------------------------------- /site/vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig, loadEnv } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig(({ mode }) => { 6 | // Load env file based on `mode` in the current working directory. 7 | // Set the third parameter to '' to load all env regardless of the `VITE_` prefix. 8 | const env = loadEnv(mode, process.cwd(), '') 9 | 10 | // For production builds, GitHub Actions will set these as environment variables 11 | // For local development, they come from the .env file 12 | const supabaseUrl = env.VITE_SUPABASE_URL || process.env.VITE_SUPABASE_URL 13 | const supabaseAnonKey = env.VITE_SUPABASE_ANON_KEY || process.env.VITE_SUPABASE_ANON_KEY 14 | const projectName = env.VITE_PROJECT_NAME || process.env.VITE_PROJECT_NAME 15 | 16 | // Optional: Log environment variable status during build 17 | if (mode === 'development') { 18 | console.log('Environment variables loaded:', { 19 | VITE_SUPABASE_URL: supabaseUrl ? 'SET' : 'NOT SET', 20 | VITE_SUPABASE_ANON_KEY: supabaseAnonKey ? 'SET' : 'NOT SET', 21 | VITE_PROJECT_NAME: projectName ? 'SET' : 'NOT SET' 22 | }); 23 | } 24 | 25 | return { 26 | plugins: [react()], 27 | base: '/', 28 | build: { 29 | outDir: 'dist', 30 | assetsDir: 'assets', 31 | sourcemap: true, 32 | }, 33 | server: { 34 | port: 3000, 35 | open: true, 36 | }, 37 | // Expose environment variables to the client 38 | envPrefix: ['VITE_'], 39 | define: { 40 | global: 'globalThis', 41 | // Expose environment variables that @gaialabs/shared expects 42 | // These will be available as process.env.* in the client code 43 | 'process.env.PROJECT_NAME': JSON.stringify(projectName), 44 | 'process.env.SUPABASE_URL': JSON.stringify(supabaseUrl), 45 | 'process.env.SUPABASE_ANON_KEY': JSON.stringify(supabaseAnonKey), 46 | }, 47 | } 48 | }) 49 | -------------------------------------------------------------------------------- /modules/enhanced-epilogue-text/patches/EnhancedEpilogueText.asm: -------------------------------------------------------------------------------- 1 | 2 | !joypad_mask_std 065A 3 | !_TM 212C 4 | !_TS 212D 5 | !CGWSEL 2130 6 | !CGADSUB 2131 7 | 8 | ------------------------------------ 9 | ?INCLUDE 's89_new_babel' 10 | ------------------------------------ 11 | ;Do not change the blending modes for this scene (89) 12 | 13 | e_s89_new_babel { 14 | LDA #$FFF0 15 | TSB $joypad_mask_std 16 | LDA #$4001 17 | TSB $09EC 18 | ;SEP #$20 19 | ;LDA #$11 20 | ;STA $_TM 21 | ;LDA #$04 22 | ;STA $_TS 23 | ;LDA #$82 24 | ;STA $CGWSEL 25 | ;LDA #$01 26 | ;STA $CGADSUB 27 | ;REP #$20 28 | COP [DB] ( #$00EF ) 29 | COP [BF] ( &widestring_0BE075 ) 30 | COP [DB] ( #$01DF ) 31 | COP [05] ( #14 ) 32 | COP [DA] ( #B3 ) 33 | LDA #$0404 34 | STA $064A 35 | COP [26] ( #F7, #$0000, #$0000, #00, #$1100 ) 36 | COP [C1] 37 | RTL 38 | } 39 | 40 | ------------------------------------ 41 | ?INCLUDE 'scene_meta' 42 | ------------------------------------ 43 | 44 | ;Make the map scene load original fonts for BG3 45 | entry_90 [ 46 | ppu < #1D > ;00 47 | bitmap < #00, #20, #00, @bmp_16D82C, #00 > ;01 48 | bitmap < #00, #20, #00, @gfx_fonts, #02 > ;02 49 | palette < #00, #80, #00, @palette_1E1C35 > ;02 50 | tileset < #00, #20, #00, #01, @set_1B640F > ;03 51 | tileset < #00, #20, #00, #02, @set_1D2389 > ;04 52 | tilemap < #01, @map_1D70AC > ;05 53 | tilemap < #02, @map_1F37FC > ;06 54 | ] 55 | 56 | ;Make the comet scene load the credits font (no borders) 57 | entry_E5 [ 58 | ppu < #25 > ;00 59 | music < #0E, #00, @bgm_longing_for_the_past > ;01 60 | bitmap < #00, #20, #00, @bmp_0D16E7, #00 > ;02 61 | bitmap < #00, #20, #00, @gfx_credits_font, #02 > ;02 62 | palette < #00, #80, #00, @palette_1E1D35 > ;03 63 | tileset < #00, #20, #00, #03, @set_157ADC > ;04 64 | tilemap < #01, @map_1F3021 > ;05 65 | tilemap < #02, @map_17FF9E > ;06 66 | jump < #22 > ;07 67 | ] -------------------------------------------------------------------------------- /modules/title-enhanced/patches/ExpriteLoader.asm: -------------------------------------------------------------------------------- 1 | 2 | !scene_current 0644 3 | !player_flags 09AE 4 | !VMADDL 2116 5 | 6 | load_skyd_exprite: 7 | LDX #$&gfx_sky_delivery_exprite+2 8 | LDA #$^gfx_sky_delivery_exprite 9 | LDY #$4200 10 | STY $VMADDL 11 | LDY #$1C00 12 | JSL $@func_0283A2 13 | JML code_03E04E 14 | 15 | load_boot_exprite: 16 | LDX #$&gfx_boot_exprite+2 17 | LDA #$^gfx_boot_exprite 18 | BRA load_continue 19 | 20 | load_title_exprite: 21 | LDX #$&gfx_title_exprite+2 22 | LDA #$^gfx_title_exprite 23 | 24 | load_continue: 25 | LDY #$4200 26 | STY $VMADDL 27 | LDY #$1C00 28 | JSL $@func_0283A2 29 | PLP 30 | RTL 31 | 32 | ------------------------------------------------ 33 | ?INCLUDE 'chunk_028000' 34 | ?INCLUDE 'chunk_03BAE1' 35 | ------------------------------------------------ 36 | ;Load special sprite asset for boot scene 37 | 38 | func_03DFF8 { 39 | PHP 40 | LDA $scene_current 41 | CMP #$F7 42 | BEQ load_exit 43 | CMP #$FB 44 | BEQ load_fb_asset 45 | CMP #$FC 46 | BEQ load_fc_asset 47 | CMP #$FA 48 | BEQ load_exit 49 | CMP #$FE 50 | BEQ load_exit 51 | CMP #$F0 52 | BEQ load_exit 53 | CMP #$90 54 | BEQ load_exit 55 | CMP #$8C 56 | BEQ load_exit 57 | CMP #$89 58 | BEQ load_exit 59 | CMP #$78 60 | BEQ load_01_asset 61 | CMP #$32 62 | BEQ load_01_asset 63 | CMP #$01 64 | BEQ load_01_asset 65 | LDX #$4200 66 | STX $VMADDL 67 | LDX #$&bmp_000000 68 | LDA #$^bmp_000000 69 | LDY #$1C00 70 | JSL $@func_0283A2 71 | LDA $player_flags 72 | BIT #$08 73 | BEQ code_03E035 74 | LDX #$4400 75 | STX $VMADDL 76 | LDX #$&misc_fx_1CD580 77 | LDA #$^misc_fx_1CD580 78 | LDY #$0800 79 | JSL $@func_0283A2 80 | BRA code_03E04E 81 | 82 | load_01_asset: 83 | JML load_skyd_exprite 84 | 85 | load_fb_asset: 86 | JML load_boot_exprite 87 | 88 | load_fc_asset: 89 | JML load_title_exprite 90 | 91 | load_exit: 92 | PLP 93 | RTL 94 | } 95 | -------------------------------------------------------------------------------- /site/src/components/Notepad.tsx: -------------------------------------------------------------------------------- 1 | import { useState } from 'react'; 2 | import './Notepad.css'; 3 | 4 | interface NotepadProps { 5 | // No props needed for now, but keeping the interface for future extensibility 6 | } 7 | 8 | export function Notepad({}: NotepadProps) { 9 | const [content, setContent] = useState(''); 10 | 11 | const handleContentChange = (event: React.ChangeEvent) => { 12 | setContent(event.target.value); 13 | }; 14 | 15 | const clearContent = () => { 16 | setContent(''); 17 | }; 18 | 19 | return ( 20 |
21 |

📝 Notepad

22 |

23 | Enter custom assembly (ASM) code that will be compiled and integrated with your ROM. 24 | This code will be processed along with the selected modules during ROM generation. 25 |

26 | 27 |
28 |
29 | 30 | {content.trim() ? `${content.trim().split('\n').length} lines` : 'Empty'} 31 | 32 | {/* {content.trim() && ( 33 | 40 | )} */} 41 |
42 | 43 |