Alright, I'll try to keep these notes together...
If you make a post between each of my notes... I ask of you please delete it, and repost it at the end...
or i might have to ask one of the Mods or Admin to move it
I'd like to keep these notes nice and tidy.. thanks
My TO-DO List:Complete Compare[####] command, need to figure out what the last 2 bytes mean- decipher more scripts... heh
- figure out "bookmark" Command for Repeat menu action
need to figure out this weird jump code...2202231220 - i know it makes a jump
1. I think i know how the Compare works now.. it compares data at a certain offset in the memory
and if its true or false/ or has a higher value(not sure) ... then it jumps to the offset defined by the last 2 bytes
4. I think I had that last one coded wrong... when I tested it.. its actually a partial code
this is an example of the whole code
220223122006009E01 - OffsetDialogueBox [XXXX*YYYY]
210102 = DisplayCharacterText[02]
Note: This code is strange, when you specify a value, its actually a value lesser, like if you specify 02 ... it displays the name assigned to 01,
(eg. 01=00, 03=02, 04=03, 05=04...etc)
32##
Not sure what this code does... it affected the loading of a save game, when I tried to load the save game, it would just take me back to the main menu.
VIPER FORMATS
Format | Description |
.$$$ | No idea, but listed inside the SGS.EXE |
.ANM | Image&Animations |
.BMP | Bitmaps - (gotta find out how to do this) |
.PCM | Sounds |
.WAV | Soundtracks |
.WIN | Scripts |
SelfNotes:
NOTE TO SELF:
Change all FileCalls... to
0300 = PlayANM
1D00 = PlayPCM DONEFinally figured out what those codes meant, near the beginning, it assigned a value to a certain InGameSoundtrack (eg.RSR_002.WAV)
There must be a code that will play BMP files...
Its referenced in the SGS.EXE files.. If possible find this codeIs FadeIn-FadeOut Code, Hardcoded or scripted?? FOUND ITIt was scripted, along with the HoldImageSeconds(00) command, (values are in HEX format)
Not sure if I can figure out what these codes do "
651C" & "
2D1F"
As they do not have any visible effects, SetFlag?
---|| VIPER-RSR: Bypass Intro Screens ||---
To Load up the Options Menu right away, From starting ViperRSR
because I know we are all in a hurry to get there.. lol
FC90 Offset in SGS.DAT
3B1B025253525F303032001B03525352 | ;..RSR_002...RSR
Replace with [To start up in Option menu]
3B4A4F5054494F4E0000001B03525352 | ;JOPTION.....RSR
or
Replace with [To start up in Main menu]
3B4A4D41494E00003032001B03525352 | ;JMAIN..02...RSR
Here's what the START.WIN does now..
a simple two line code..
3B - Load System Registry - Required to see H-Scenes in Options menu
A4[FileName] - Execute WIN script
Most likely, you just wouldnt hear background musicI haven't tested out how not executing some of the code located in the START.WIN
affects the rest of the game... but H-Scenes, and start of game works fine...
You can exit the options menu to get to the start menu..
Note:
EV##.WIN files are chapter files, Executing an EV WIN Script, starts that script's chapter (EV04.WIN start Chapter 4, EV07.WIN-->Chapter 7...etc)
BATTLE##.WIN scripts start battles, executing from MAIN/or START.WIN will cause the character slots will be empty, empty character data?
MAP#.WIN - I assume are levels, can only be executed if character data is present, otherwise will crash
SelfNote:
Contains 3 Execute Script Commands, All 3 are "JMAIN"
Copies of the H-Scenes from story are stored inside OPTION.WIN
This explains the assigning of speakers at the beginning of OPTION.WIN file
What code marks the "bookmark" for Repeat Command??---|| Proper Names ||---
With this info I was able to change the Names more properly
Had to create a dummy speaker
"Assign as Speaker15"=FILLER-FILLER-FILLER............
as i cant change the filesize of the scripts yet...
or rather , more accurately the locations of the code...
can simply be done with START.WIN,
as it doesnt contain these types of code It does contain these kinda codes, but does not crash if inaccurateFound another system of Jumps, that seem to crash the game if inaccurate, completely different from what I was thinking of
I was think of this code
Click-Jumpto[01DE](Offset-from-beginning)
But theres a whole' nother system, I believe it runs a check if theres data present
(like GameSave Data from the Registry),
otherwise its a 00, then it loads the first scene of that EV##.WIN File, or if theres data present, Loads the associated scene.
I think that most of the script calls is "offset-from-begining" based,
If the location of the codes changes, then the "call by offset-from-begining" is no longer accurate, thus crashes
I need to find those CallByOffset codes... If they do, in fact, exist FOUND IT
These kinda codes do, in fact, exist among the scripts, and have found them in START.WIN (
see above)
But I still gotta find out what codes make the OPTION.WIN crash, when the location of the codes change....FOUND
I figured out why it crashes...
see above---|| ViperRSR - NoLauncher Patch ||---
A ViperRSR SGS.EXE - NoLauncher Patch
Download HereNow you dont need that launcher, just launch the SGS.EXE directly
I dont need another step between me and the Options menu... lol
Im pretty sure that START.WIN script is accurate.. Im 95% sure
You probably know this already
SGS.DAT Format
12 Bytes String FileHeader = "SGS.DAT 1.00"
04 Bytes Dword Number of files in archive
//File Entries - 20 Bytes
12 Bytes String File Name
01 Byte
01 Byte Short Compression 0=Uncompressed, 1=Compressed
04 Bytes Long Compressed File Size (size of file inside SGS.DAT archive)
04 Bytes Long Uncompressed File Size
04 Bytes Long Offset in Archive
Also .. i just looked over the V8 SGS.DAT file... and I see why you couldnt see the text... all the files are compressed
After the uncompressing the WIN files with Grapholic, I could see the text perfectly
Same deal with GTS and CTR.. they have all their files compressed
BIG THANKS to HYPERGUY for providing me with those SGS.DAT files
---|| CTR & V6R START.WIN Scripts ||---
Some of these commands
may beARE wrong
CTR START.WIN Notes
3B - Load SystemSave Registry Entry
1B024330303000 - C000
1B034330303100 - C001
1B044330303800 - C008
1B054330313100 - C011
1B064330313600 - C016
1B074330313900 - C019
1B084330323200 - C022
1B09433032374200 - C027B
1B0A4330333400 - C034
1B0B4330343000 - C040
1B0C4330353800 - C058
1B0D4330363000 - C060
1B0E4330373500 - C075
1B0F4330373600 - C076
1B104331303300 - C103
1B114331313700 - C117
1B124331333000 - C130
136400 -???
010000000002800290 -ClearDialogueBox?
013D000000008002E0 -ClearDialogueBox?
010300 - BeginFileCallANM
414E4D5C534F474E41393800 - ANM\SOGNA98 - Filename
0700 - Marker
1D00 - FileCallPCM
50434D53455C534F474E414D555300 - PCMSE\SOGNAMUS - Filename
0A000000280000800000010100 - GetFrame (Frame=01)
050018000 - FadeInSeconds(18)
C001390011F - HoldScreen(1F01)
06001800 - FadeOutSeconds(18)
34000000 - Push 000000 ??
4A4D41494E0000 - JMAIN
-----------------------------------------------------------------------------------------
V6R START.WIN
3B - Load SystemSave Registry Entry
1B023036303200 - 02=0602
1B033036303300 - 03=0603
1B043036303400 - 04=0604
1B073036303700 - 05=0607
1B083036303800 - 08=0608
1B093038303900 - 09=0609
1B0A3038313000 - 0A=0610
1B0B3038313100 - 0B=0611
0100000000028002E0 - ClearDialogueBox
013D000000008002E0 - ?ClearDialogueFont?
01435000 -???
136400 - HoldScreen(0064)
0100000000028002E0 - ClearDialogueBox
013D000000008002E0 - ?ClearDialogueFont?
01 - NewLineCode
0300 - FileCallANM
414E4D5C533230303300 - ANM\S2003 - Filename
0700 - Marker
1D00 - FileCallPCM
50434D5C534F474E414D555300 - PCM\SOGNAMUS
0A000000000000800000010200 - GetFrame (Frame01)
05001800 - FadeInSeconds(18)
0C00159B00 - Click-Jumpto(009B)(Offset-from-beginning)
139001 - HoldScreen(0190)
2D1F - ???
06001800 - FadeOutSeconds(18)
0300 - FileCallANM
414E4D5C41544E3100 - ANM\ATN1 - Filename
0700 - Marker
0A000000000000800000010200 - GetFrame (Frame01)
05001800 - FadeInSeconds(18)
0C0015C700 - Click-Jumpto(00C7)(Offset-from-beginning)
139001 - HoldScreen(0190)
2D1F - ???
06001800 - FadeOutSeconds(18)
0300 - FileCallANM
414E4D5C41544E3200 - ANM\ATN2 - Filename
0700 - Marker
0A000000000000800000010200 - GetFrame (Frame01)
05001800 - FadeInSeconds(18)
0C0015F300 - Click-Jumpto(00F3)(Offset-from-beginning)
139001 - HoldScreen(0190)
2D1F - ???
06001800 - FadeOutSeconds(18)
0300 - PlayANM
414E4D5C54495400 - ANM\TIT
0700 - Marker
1D00 - PlayPCM
50434D5C454E47494E4500 - PCM\ENGINE
0A000000000000800000010200 - GetFrame (Frame01)
05001800 - FadeInSeconds(18)
0C00152B01 - Click-Jumpto(012B)(Offset-from-beginning)
139001 - HoldScreen(0190)
2D1F0 - ???
6001800 - FadeOutSeconds(18)
34000000 - Push 000000
4A4D41494E0000 - ExcuteScript(MAIN.WIN)