Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. Red Dead Redemption 2

      1. Gameplay
      2. Missions
      3. Help & Support
    2. Red Dead Online

      1. Gameplay
      2. Find Lobbies & Outlaws
      3. Help & Support
    1. Crews & Posses

      1. Recruitment
    2. Events

    1. GTA Online

      1. Arena War
      2. After Hours
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Grand Theft Auto Series

    3. GTA Next

    4. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    5. GTA IV

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA Mods
    6. GTA Chinatown Wars

    7. GTA Vice City Stories

    8. GTA Liberty City Stories

    9. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    10. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    11. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    12. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    13. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    3. Featured Mods

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Programming
      5. Movies & TV
      6. Music
      7. Sports
      8. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. News

    2. Forum Support

    3. Site Suggestions

Seemann

[REL] Sanny Builder

Recommended Posts

Seemann

Sanny Builder is a fast and powerful tool designed for the GTA 3D game series (GTA3, VC, SA; partially LCS and VCS). It is aimed to make the process of editing game scripts and missions as easy as it's possible.

It includes a disassembler, permitting the end-user to quickly disassemble the MAIN.SCM file which contains game scripts, and a compiler which produces a binary script file readable by the game.

 

The editor itself offers a large number of useful functions such as; syntax highlighting, error checking, advanced search tools, player coordinates reading, fast movement through code and much more.

Sanny offers an advanced code syntax which is similar to existing programming languages. This syntax includes changeable classes, keywords and high-level statements. We recommend you continue reading and fully explore the help section to learn more about SB and its capabilities. We provide a wealth of information that will help you get started in mission coding. Now that you have discovered some of the possibilities.


Official website: http://sannybuilder.com

Current version: 3.2.2

Last update: 2014-07-05




sb3_002th.gif sb3_003th.gif sb3_004th.gif

Further reading at GTAModding.com:

Follow me @SannyBuilderDev

Edited by Seemann

Share this post


Link to post
Share on other sites
Demarest
Does it support Direct Memory Access?

Share this post


Link to post
Share on other sites
Seemann

 

Does it support Direct Memory Access?

At a current stage of development - is not present, but most likely that DMA will be in the future.

Share this post


Link to post
Share on other sites
Un3462

got a screenshot? code sample?

Share this post


Link to post
Share on other sites
Seemann

 

got a screenshot? code sample?

 

rolleyes.gif mmm... download program by link and try smile.gif

Share this post


Link to post
Share on other sites
random_download

It seems that there must be at least one mission/external script/object defined for it to compile, and I'm having trouble building an empty script. In the GTA:MA GUI you clicked on new project and it made an empty script for you.

Also, there is another compiler called Point, but it is not fully working for SA yet.

 

An example script would be nice, otherwise I have to find and decompile an scm.

Share this post


Link to post
Share on other sites
Seemann

I think, it is necessary to create by pressing File/New not simply empty file, but certain totally_stripped script where already have a defines, main section, etc, but there is no code of mission. AFAIR in GTA MA it referred as Standard File. I have taken it on a note. wink.gif

Share this post


Link to post
Share on other sites
Un3462

found a screenshot anyway.

 

syntax seems to be very builder-like, with a touch of gtama. good job, i say, but builder syntax is too fugly for me. :p

Share this post


Link to post
Share on other sites
Demarest
syntax seems to be very builder-like

Sure does. But without DMA. user posted image from me. Not that I can do any better, but DMA is too fun.

Share this post


Link to post
Share on other sites
steve-m
Erm, what is actually different from builder syntax, except the labels? notify.gif

Share this post


Link to post
Share on other sites
jonc

Argh! Why bother making a new mission assembler when it will just use that same ugly MB syntax? Faster is better, but might as well make the syntax usable while you are at it. smile.gif Although personally I'm still partial to Point.

Share this post


Link to post
Share on other sites
DaEllum67

Wow. I never imagined we'd have 2 bartonspeak tools for SA and no GTAMA. This is vastly superior to Barton's last installment of SAMB, but it is still using BW's code format confused.gif

 

But the code converter on your site is definately getting added to my Utilities collection, however one going the other way would be even better. cool.gif

Share this post


Link to post
Share on other sites
Seemann

 

Does it support Direct Memory Access?

I'm not sure what does DMA in BW's mission builder do.

In my editor the global variable $100 (for example) points to memory address 256 (because var has hex name) multiplied on 4 of variable buffer that is in the beginning of scm, $101 points to memory address 257 * 4 an so on. For variables with text names (e.g $MyVar) memory addresses in the end of var buffer are used. You never knows which addresses will be for these variables.

You can operate with variables with hex names for DMA.

 

 

What is the Point and where I can see that?

Edited by Seemann

Share this post


Link to post
Share on other sites
Craig Kostelecky

Point is still in development. You can see it at Jon's website.

Share this post


Link to post
Share on other sites
Demarest
Well then it sounds as if yours DOES support DMA. And with the exception of hex vs decimal, that's just one more way it's like Barton's last release.

Share this post


Link to post
Share on other sites
Seemann

Sanny Builder v1.0 is now released.

 

I added many new features in this version.

 

More information and screenshot are available here

http://gtacoding.nm.ru/builder/eng.html

 

In future versions I will try to make the syntax more different from the Mission Builder's one. tounge.gif

Maybe something like MB's keywords or commands like Delphi or C++

 

eg

 

 

inc($Var)

 

 

will compiled as

 

 

0008: $Var += 1;; integer values

 

 

so, as Barton will not develop his tool, do you help me to make new Builder?

Share this post


Link to post
Share on other sites
demonj0e
cool but i downloaded and the files are corrupt

Share this post


Link to post
Share on other sites
Demarest
inc($Var)

 

will compiled as

 

0008: $Var += 1;; integer values

 

Opcode 0008 has two parameters. "inc($var)" makes no provision for specifying how much to increment by.

Share this post


Link to post
Share on other sites
spaceeinstein

How come when I tried to decompile a modded SCM (like my All In One), there's an error that said "Unknown file header"?

 

Everytime I decompile something, a text file is automatically saved into the computer. Can you not make it automatic?

 

The find feature kind of sucked. It either starts from the beginning or the end of the file, not from the cursor.

Edited by spaceeinstein

Share this post


Link to post
Share on other sites
random_download
inc($Var)

 

will compiled as

 

0008: $Var += 1;; integer values

 

Opcode 0008 has two parameters. "inc($var)" makes no provision for specifying how much to increment by.

In Delphi it will increment by 1 if another parameter is not specified. So doing: Inc($var, 2); will add 2 to $var.

 

Better would be to implement a system like in Point, where you can do:

 

$var:= $var2 + $var3 - 5;

And it will compile to:

 

$var = $var2$var += $var3$var -= 5

 

Share this post


Link to post
Share on other sites
superglitch
GJ on the program, but horrible job on the site, well it's not bad just it qualifies as horrible because it doesn't work with firefox

Share this post


Link to post
Share on other sites
Demarest
Besides that, @33 is the maximum in threads.

Share this post


Link to post
Share on other sites
Seemann

@spaceeinstein

 

How come when I tried to decompile a modded SCM (like my All In One), there's an error that said "Unknown file header"?
hmm. I don't know what is happened, but I'll try to fix this problem.

 

 

Can you not make it automatic?
OK. Output file will be deleted if decompilling fails.

 

 

The find feature kind of sucked
tounge.gif yeah, you are right. In future I will make new find feature, maybe like in Delphi.

 

 

I was inserting a new mission when this thing told me to use @34 as max in threads. But this is a mission!
Do you declared it as
DEFINE MISSION  at @Label

? Where do you insert it? After all missions or in the end of file?

 

@random_download

 

Better would be to implement a system like in Point, where you can do:

 

But how can I know what type of variables is used: integer or float? so, there is can be two opcodes:

 

 

0084: $var = $var2 ;; integer values and handles

 

 

 

0086: $var = $var2 ;; floating-point values only

 

 

do prompt every time when program found this, or add declaration section where you can set the type of variable, like

 

var$var : float$var2 : integer

 

?

 

@superglitch

I have no free time to make the multibrowsing site, that would be the same under all browsers. Maybe later...

 

@Demarest

 

Besides that, @33 is the maximum in threads.
oops. my bad tounge.gif

 

 

Share this post


Link to post
Share on other sites
Demarest
But how can I know what type of variables is used: integer or float? so, there is can be two opcodes:

 

0084: $var = $var2;; integer values and handles

 

0086: $var = $var2;; floating-point values only

do prompt every time when program found this, or add declaration section where you can set the type of variable, like

var$var : float$var2 : integer

 

That's really up to you. If you check out Barton's readme, he used a single letter to define integers, fixed strings, etc when in a situation where the compiler had no previous data to go off of. Personally, I never minded datatypes. They told the story every bit as much as say, using 0.0 instead of 0. confused.gif

Share this post


Link to post
Share on other sites
random_download

Declaring variables would probably work better than asking the user to say float/integer every time.

Share this post


Link to post
Share on other sites
ZAZ

 

GJ on the program, but horrible job on the site, well it's not bad just it qualifies as horrible because it doesn't work with firefox

Thanks for the tip ! I found no working link of seemann, serving with firefox wow.gif

 

Share this post


Link to post
Share on other sites
spaceeinstein
I was inserting a new mission when this thing told me to use @34 as max in threads. But this is a mission!
Do you declared it as
DEFINE MISSION  at @Label

? Where do you insert it? After all missions or in the end of file?

I do know how to add missions successfully (Mod Shop).

 

DEFINE MISSION 134 AT @BUYPRO1

DEFINE MISSION 135 AT @R_MICH_2858

 

:BUYPRO1_4285

00BE: text_clear_all

0373: set_camera_directly_behind_player

02EB: restore_camera_with_jumpcut

01B4: set_player $PLAYER_CHAR frozen_state 1

03BF: set_player $PLAYER_CHAR ignored_by_everyone_to 0

02A3: toggle_widescreen 0

0004: $ON_MISSION = 0 ;; integer values

01BD: $184 = current_time_in_ms

00D8: mission_cleanup

004E: end_thread

0051: return

 

;-------------Mission 135---------------

 

:R_MICH_2858

0050: gosub @R_MICH_2874

0050: gosub @R_MICH_31509

004E: end_thread

Share this post


Link to post
Share on other sites
Seemann

@spaceeinstein

ok, I have solved first problem. It looks like SaMB had wrote your scm's header info incorrectly.

 

 

HOTDOG: Base = 3598795 Size = 725AAA: Base = 0 Size = 8CARDRIVER: Base = 8 Size = 17601HELIDRIVER: Base = 17609 Size = 14118

 

Base is the start point in global script code where external script should be copied from script.img.

AAA's base is always equal 0. MB should ignore this script and write correct base for next scripts: 3599520 for CARDRIVER and 3617121 for HELIDRIVER. But it doesn't. So, if you will define your scripts before AAA, like

 

DEFINE EXTERNAL_SCRIPT_NAME HOTDOG;  77  DEFINE EXTERNAL_SCRIPT_NAME CARDRIVER;  79  DEFINE EXTERNAL_SCRIPT_NAME HELIDRIVER;  80  DEFINE EXTERNAL_SCRIPT_NAME AAA;  78  

 

and recompile in MB, it should be enough. Sanny will decompile such SCM without any problem. btw, in Sanny script 'AAA' does not occurred at all.

 

Edit: About find feature. If you have checked 'Search from caret' it will search from cursor, not from beginning of the file.

 

@superglitch & ZAZ

Do you can not download rar archive from my site? Maybe problem in the hosting. I will try to mirror this file next time.

Edited by Seemann

Share this post


Link to post
Share on other sites
spaceeinstein
Wow, thanks. Anyway to make the local variable check an option?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • 1 User Currently Viewing
    0 Members, 0 Anonymous, 1 Guest

×

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.