51
Research & Development / Re: Viper GTS for GBA
« Last post by Moge on December 17, 2024, 01:32:57 pm »For the GBA?! That's crazy 
Impressive work either way.

Impressive work either way.
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.
51
Research & Development / Re: Viper GTS for GBA« Last post by Moge on December 17, 2024, 01:32:57 pm »For the GBA?! That's crazy
![]() Impressive work either way. 52
Research & Development / Re: Viper GTS for GBA« Last post by 黒い灯影 on December 16, 2024, 03:52:26 pm »![]() ![]() ![]() That's amazing, great work! 53
Research & Development / Viper GTS for GBA« Last post by akkera102 on December 16, 2024, 02:47:01 pm »(I'm sorry I can't speak English, but I'm using Google Translate. Sorry if the sentences are strange.)
After about three months of development, I ported the Windows version of Viper GTS to GBA (GameBoy Advance). Game data is not included, and only the converter tool is distributed. A separate SGS.DAT file for GTS is required. https://github.com/akkera102/gbadev-ja-test/tree/main/127_viper_gts_gba The analysis data was based on the DecomposeSGS source code provided by Notequalsoft. Specifically, archive unpacking, image data, and audio data decoding. I was especially grateful for the command and parameter information for the script instructions. All the code is available on github. Please refer to it or play around with it if you like. In terms of technology, the GBA is basically very slow. It can only have one screen buffer and cannot perform composition processing. GTS has 4 screen buffers, and for example, number 3 can display the window frame, number 0 can display a vertically long scrolling image, and numbers 1 and 2 can display images such as the mouth and arms. On the other hand, the GBA cannot do this, and as I said before, it only has one screen. What I do is to use Python to composite all the images into a single image. Naturally, the capacity increases significantly, but that can't be helped. Basically, a single image is displayed at high speed, and then images of parts such as the mouth and arms are overwritten and displayed. In the scene where Carrera* looks up at the appearance of the angel, composite and scrolling are performed, but since this is not possible, a single image is displayed as a simple scrolling image. This project was only possible with the help of Notequalsoft and JG, the forum administrator. Thank you very much. * EDIT: Changed "Carla" to "Carrera" to remove confusion between VIPER-GTS and VIPER-RSR. 54
Research & Development / Re: Something on my free time« Last post by 黒い灯影 on December 09, 2024, 01:04:56 pm »im gonna use chapter 5 for reference, when you control Elan for the rest of the game.
Code: (EV05.WIN - this code runs after the opening dialogue.. and loads you into the town map) [Select] There is no other reference to Register 53, in the EV05.WIN script, MAP05.WIN has no reference to 53 (level), or 48 (battle count) Here's the game's op codes if you want to go through them, work out the logic. BATTLE5.WIN EV05.WIN MAP5.WIN 55
Research & Development / Re: Something on my free time« Last post by Rai on December 09, 2024, 02:18:22 am »Maybe that's what my note about missing levels meant, though I can't imagine I ever thought someone would actually grind to 580 battles in chapter 1. I sort of remember testing out the theory by getting the battle counter past 40 early and seeing if the next levelup in a later chapter put Elan at Level 4 or 5. It was long enough ago that I'm not sure what the actual result was.
Though my notes also say that setting the battle counter back to, say, 19, and getting into one more battle repeatedly would continue to raise Elan's level, so I would think that means it's just incrementing the level whenever a levelup is set to occur and not tying the battle counter value to a specific level. Or does it just do that between chapters? I also have a note that says "the game resets the level to where it's supposed to be" sometimes, but can't recall the details of that statement. 56
Research & Development / Re: Something on my free time« Last post by 黒い灯影 on December 07, 2024, 08:02:41 pm »i think when you miss levels, it sets you to the next tier, because the battle script just check how many battles you'd had, and if it reaches one of the numbers on the chart, it sets it to that level.
Code: (BattleCount check) [Select] @JUMP014 Code: (Level up animation) [Select] @JUMP567 it specifically writes the level number when it reaches a certain threshold. with "WRITE_TO_MEM" yeah, chapter 2 saves Elan's level elsewhere, Register 100, and then in Chapter 3, it moves it back from Register 100 to 53. I can see you can screw yourself if you manage to rack up over 580 battles in ch 2 or ch 4, it will not trigger any of the WRITE_TO_MEM opcodes. 57
Research & Development / Re: Something on my free time« Last post by Rai on December 07, 2024, 04:17:22 pm »Yeah, I remember figuring out all those intricacies with the level system when messing around with save editing. It seems like for a minute they had something more ambitious in mind with the game design, enough to record voice lines for all those spells Alfa and Cala never get to learn normally. Even though Elan could get all the way up to Explosion, the grind to 580 is ridiculous. When I figured out how, I would just manipulate the battle counter and level indicators in the save registry to get everyone to max by the last chapter. Or ultimately I would just make all four character slots Lvl.10 Jota because without the voice lines, her attacks go so much faster than everyone else's.
Another quirk about the leveling I see in my old notes is that if you do intend to grind, make sure you wait until Chapter 3. Level 4 and onward is locked out in Chapter 1, but the battle counter keeps going, so it's possible to miss levels for Elan if you do 40 fights or more that early. 58
Research & Development / Re: Something on my free time« Last post by 黒い灯影 on December 07, 2024, 01:07:30 pm »Things i've learned since going through Viper RSR's scripts:
-The game starts you off at level 2... even though there's resources that shows the menu at lv1. -In chapter 2, the game sets Alfa's level to 3, but you can level up as normal. -chapter 4, sets your level to level 4, but you can't level up. (so you never see all of Cala's moves set, even though there are resources for them, all the way to level 10, graphical and audio) rest of game is normal, you can level up to level 10. But to get to level 10, you have to complete 580 battles. I made a chart for the level requirements. i think 580 battles is really high for a game like this. 59
Tools / Re: Viper Games/SGS.DAT Tools« Last post by JG on December 04, 2024, 11:10:42 am »I'm not sure how to explain that, unless its a situation where width+horizontaloffset would exceed overall width.
if you can identify the cause and duplicate it enough to explain it to me, I can fix it. 60
Tools / Re: Viper Games/SGS.DAT Tools« Last post by 黒い灯影 on December 03, 2024, 10:18:27 pm »that's awesome,
i could probably just enter the offsets manually, there seems to be an issue where some of the elements get a different offset, i dont know when exactly it happens, but sometimes when im editing/inserting a frame, i'll have to narrow down when exactly it happens.. but sometimes the vertical offset goes from 109 to 162 (or something) i have to manually fix it back to 109. |