Welcome to the Sogna Digital Museum Forum!Notice to New Forum Registrants:If you register and don't get the validation email, you may contact us at sognadigitalmuseum@gmail.com for manual activation.
@JUMP0140x01A9: 0x0D_OP RESET_EACH_ANM_PROPERTY()0x01AA: 0x04_OP UNLOAD_ANM(0)0x01AC: 0x04_OP UNLOAD_ANM(1)0x01AE: 0x04_OP UNLOAD_ANM(2)0x01B0: 0x04_OP UNLOAD_ANM(3)0x01B2: 0x04_OP UNLOAD_ANM(4)0x01B4: 0x04_OP UNLOAD_ANM(5)0x01B6: 0x04_OP UNLOAD_ANM(6)0x01B8: 0x04_OP UNLOAD_ANM(7)0x01BA: 0x1F_OP STOP_PCM_ON_NEXT_REFRESH()0x01BB: 0x32_OP READ_REGISTER(50)0x01BD: 0x33_OP JUMP_IF_LAST_READ_NOT_EQUAL(1,@JUMP022)0x01C2: 0x35_OP INC_REGISTER(48) <--- Increase Battle count0x01C4: 0x32_OP READ_REGISTER(48) <--- Then read battle count0x01C6: 0x33_OP JUMP_IF_LAST_READ_NOT_EQUAL(20,@JUMP015) <-- jump, if not equals 200x01CB: 0x25_OP GO_SUB_JUMP(@JUMP567) <-- only goes here if battle count==200x01CE: 0x34_OP WRITE_TO_MEM(53,3) <--- write 3 to level register0x01D2: 0x14_OP JUMP_TO(@JUMP022) @JUMP0150x01D5: 0x33_OP JUMP_IF_LAST_READ_NOT_EQUAL(40,@JUMP016)0x01DA: 0x25_OP GO_SUB_JUMP(@JUMP567)0x01DD: 0x34_OP WRITE_TO_MEM(53,4)0x01E1: 0x14_OP JUMP_TO(@JUMP022) @JUMP0160x01E4: 0x33_OP JUMP_IF_LAST_READ_NOT_EQUAL(80,@JUMP017)0x01E9: 0x25_OP GO_SUB_JUMP(@JUMP567)0x01EC: 0x34_OP WRITE_TO_MEM(53,5)0x01F0: 0x14_OP JUMP_TO(@JUMP022) @JUMP0170x01F3: 0x33_OP JUMP_IF_LAST_READ_NOT_EQUAL(140,@JUMP018)0x01F8: 0x25_OP GO_SUB_JUMP(@JUMP567)0x01FB: 0x34_OP WRITE_TO_MEM(53,6)0x01FF: 0x14_OP JUMP_TO(@JUMP022) @JUMP0180x0202: 0x33_OP JUMP_IF_LAST_READ_NOT_EQUAL(220,@JUMP019)0x0207: 0x25_OP GO_SUB_JUMP(@JUMP567)0x020A: 0x34_OP WRITE_TO_MEM(53,7)0x020E: 0x14_OP JUMP_TO(@JUMP022) @JUMP0190x0211: 0x33_OP JUMP_IF_LAST_READ_NOT_EQUAL(320,@JUMP020)0x0216: 0x25_OP GO_SUB_JUMP(@JUMP567)0x0219: 0x34_OP WRITE_TO_MEM(53,8)0x021D: 0x14_OP JUMP_TO(@JUMP022) @JUMP0200x0220: 0x33_OP JUMP_IF_LAST_READ_NOT_EQUAL(440,@JUMP021)0x0225: 0x25_OP GO_SUB_JUMP(@JUMP567)0x0228: 0x34_OP WRITE_TO_MEM(53,9)0x022C: 0x14_OP JUMP_TO(@JUMP022) @JUMP0210x022F: 0x33_OP JUMP_IF_LAST_READ_NOT_EQUAL(580,@JUMP022)0x0234: 0x25_OP GO_SUB_JUMP(@JUMP567)0x0237: 0x34_OP WRITE_TO_MEM(53,10)
@JUMP5670x53D1: 0x03_OP LOAD_ANM(0,"ANM\LVUP")0x53DC: 0x07_OP LOAD_PALETTE_FROM_ANM(0)0x53DE: 0x0A_OP SET_BUFFER_PROPERTIES(0,0,0,0,128,0,0,[{1:1}])0x53EB: 0x0C_OP UPDATE_BUFFER_PROPERTY_0C(0)0x53ED: 0x1D_OP PLAY_PCM(0,"PCMSE\RSR202")0x53FC: 0x05_OP FADE_IN_VIEWPORT_GRAYSCALE(255,12)0x5400: 0x13_OP SLEEP_MILLISECONDS(200)0x5403: 0x06_OP FADE_OUT_VIEWPORT_GRAYSCALE(255,12)0x5407: 0x1F_OP STOP_PCM_ON_NEXT_REFRESH()0x5408: 0x26_OP RETURN()
@JUMP0610x22D9: 0x34_OP WRITE_TO_MEM(17,5)0x22DD: 0x03_OP LOAD_ANM(0,"ANM\505")0x22E7: 0x07_OP LOAD_PALETTE_FROM_ANM(0)0x22E9: 0x10_OP CLEAR_SCROLL_PROPERTIES(1)0x22EB: 0x12_OP SET_BASIC_SCROLL_PROPERTIES(0,20,1,0,0)0x22F3: 0x34_OP WRITE_TO_MEM(250,11)0x22F7: 0x25_OP GO_SUB_JUMP(@JUMP131)0x22FA: 0x4E_OP ENABLE_BUFFER_PROPERTIES_SYNC()0x22FB: 0x0A_OP SET_BUFFER_PROPERTIES(0,0,0,0,128,1,0,[{1:3}{1:3}{1:3}{1:3}{1:3}])0x2310: 0x0A_OP SET_BUFFER_PROPERTIES(1,0,0,2,128,0,12,[{1:3}{2:3}{3:3}{4:3}{5:3}])0x2325: 0x4D_OP DISABLE_BUFFER_PROPERTIES_SYNC()0x2326: 0x05_OP FADE_IN_VIEWPORT_GRAYSCALE(0,1)0x232A: 0x0C_OP UPDATE_BUFFER_PROPERTY_0C(0)0x232C: 0x0A_OP SET_BUFFER_PROPERTIES(0,0,0,2,128,0,12,[{17:3}{18:2}{19:2}{16:3}{17:3}{18:2}{19:2}{16:10}])0x2347: 0x0C_OP UPDATE_BUFFER_PROPERTY_0C(0)0x2349: 0x4E_OP ENABLE_BUFFER_PROPERTIES_SYNC()0x234A: 0x0A_OP SET_BUFFER_PROPERTIES(0,0,0,0,128,1,0,[{1:3}{1:3}{1:3}{1:3}{1:3}{1:3}{1:3}{1:3}{1:3}{1:3}{1:3}])0x236B: 0x0A_OP SET_BUFFER_PROPERTIES(1,0,0,2,128,0,12,[{6:3}{7:3}{8:3}{9:3}{10:3}{11:3}{12:3}{13:3}{14:3}{15:3}])0x238A: 0x4D_OP DISABLE_BUFFER_PROPERTIES_SYNC()0x238B: 0x0C_OP UPDATE_BUFFER_PROPERTY_0C(0)0x238D: 0x5E_OP FADE_OUT_MIDI(12)0x2390: 0x06_OP FADE_OUT_VIEWPORT_GRAYSCALE(0,12)0x2394: 0x25_OP GO_SUB_JUMP(@JUMP162)0x2397: 0x0D_OP RESET_EACH_ANM_PROPERTY()0x2398: 0x34_OP WRITE_TO_MEM(17,1)0x239C: 0x34_OP WRITE_TO_MEM(18,1)0x23A0: 0x34_OP WRITE_TO_MEM(20,0)0x23A4: 0x34_OP WRITE_TO_MEM(24,736) <--- sets x and y position upon loading map (i forget which is which)0x23A8: 0x34_OP WRITE_TO_MEM(25,1360) <--- sets x and y position upon loading map0x23AC: 0x34_OP WRITE_TO_MEM(26,10)0x23B0: 0x34_OP WRITE_TO_MEM(27,2)0x23B4: 0x34_OP WRITE_TO_MEM(28,0)0x23B8: 0x34_OP WRITE_TO_MEM(29,1)0x23BC: 0x34_OP WRITE_TO_MEM(30,0)0x23C0: 0x34_OP WRITE_TO_MEM(31,0)0x23C4: 0x34_OP WRITE_TO_MEM(32,1)0x23C8: 0x34_OP WRITE_TO_MEM(33,12)0x23CC: 0x34_OP WRITE_TO_MEM(34,0)0x23D0: 0x34_OP WRITE_TO_MEM(35,0)0x23D4: 0x34_OP WRITE_TO_MEM(38,0)0x23D8: 0x34_OP WRITE_TO_MEM(50,1)0x23DC: 0x34_OP WRITE_TO_MEM(60,2)0x23E0: 0x34_OP WRITE_TO_MEM(70,0)0x23E4: 0x34_OP WRITE_TO_MEM(80,0)0x23E8: 0x34_OP WRITE_TO_MEM(47,0)0x23EC: 0x34_OP WRITE_TO_MEM(49,0)0x23F0: 0x58_OP COPY_REG_TO_FROM(53,100) <-- copy from Register 100 to 53, the game saves Elan's level to Reg100 before controlling Alfa or Cala. 0x23F3: 0x34_OP WRITE_TO_MEM(63,4)0x23F7: 0x34_OP WRITE_TO_MEM(73,0)0x23FB: 0x34_OP WRITE_TO_MEM(83,0)0x23FF: 0x4A_OP LOAD_WIN("MAP5")
okay, so I spent some time on implementing the i18n feature in Viper RSR's WIN script files.I just grabbed the TEXT.US from Viper-V16 I, and stuck it beside Viper RSR, and renamed it TEXT.JPI also replaced all the Print text opcodes in EV01 with Print i18n opcodes, so the EV01 makes the SGS engine grab the text from english TEXT.JP file.I did make an editor for the TEXT.* files, which i kind of regret now considering I doubt going this route is viable as of right now, unless the offset text is solved. which I am guessing having to reverse engineer SGS, and finding where it handles the text wrap. The issue with this is the new line starts with an offset, and where it cuts text for a new line. I dont know if this method can be used. Would've been great to get this working properly, if anyone ever wanted to throw in a translation.The method I am using is just injecting english text where the japanese text was.