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. After Hours
      2. Find Lobbies & Players
      3. Guides & Strategies
      4. Vehicles
      5. Content Creator
      6. 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

spaceeinstein

I don't know if it's just me but opcode 06D5 is f*cked up.

 

I see this right line:

06D5: [email protected] = create_racing_checkpoint_at [email protected]([email protected],16f) [email protected]([email protected],16f) [email protected]([email protected],16f) [email protected]([email protected],82f) [email protected]([email protected],82f) [email protected]([email protected],82f) type [email protected] radius [email protected]

 

But this line is wrong:

06D5: 1 = create_racing_checkpoint_at [email protected]([email protected],16f) [email protected]([email protected],16f) [email protected]([email protected],16f) 0.0 0.0 0.0 type 6.0 radius [email protected]

Share this post


Link to post
Share on other sites
Seemann

 

I don't know if it's just me but opcode 06D5 is f*cked up.

 

I see this right line:

06D5: [email protected] = create_racing_checkpoint_at [email protected]([email protected],16f) [email protected]([email protected],16f) [email protected]([email protected],16f) [email protected]([email protected],82f) [email protected]([email protected],82f) [email protected]([email protected],82f) type [email protected] radius [email protected]

 

But this line is wrong:

06D5: 1 = create_racing_checkpoint_at [email protected]([email protected],16f) [email protected]([email protected],16f) [email protected]([email protected],16f) 0.0 0.0 0.0 type 6.0 radius [email protected]

hmm. where do you find line?

06D5: 1 = create_racing_checkpoint_at [email protected]([email protected],16f) [email protected]([email protected],16f) [email protected]([email protected],16f) 0.0 0.0 0.0 type 6.0 radius [email protected]

 

in my decompiled scm there are

 

:CPRACE_1300206D5: [email protected] = create_racing_checkpoint_at [email protected]([email protected],16f) [email protected]([email protected],16f) [email protected]([email protected],16f) [email protected]([email protected],82f) [email protected]([email protected],82f) [email protected]([email protected],82f) type [email protected] radius [email protected] jump @CPRACE_13110 :CPRACE_1306206D5: [email protected] = create_racing_checkpoint_at [email protected]([email protected],16f) [email protected]([email protected],16f) [email protected]([email protected],16f) 0.0 0.0 0.0 type 1 radius 6.0 :CPRACE_13110jump @CPRACE_13219 

 

 

try to decompile again and check there will be a problem whether or not

 

Share this post


Link to post
Share on other sites
spaceeinstein
Hmm... That is wierd. It's fixed now. The old text files I saved had that error. Probably a hidden problem fixed when you updated this.

Share this post


Link to post
Share on other sites
Xieîn

I want to inform that a Sanny Builder at the present moment is fully supports DMA feature (who does not know me - I'am accomplice of the SB and also promote his development). Probably soon new version will come. tounge.gif

Share this post


Link to post
Share on other sites
Y_Less

Err, I have another request, could you make it so it can accept HEX (backwards obviously), so instead of putting

 

0004: $whatever = 17890

 

I can put

 

0004: $whatever = (E2 45 00 00) (or some other sort of notation to depict the fact that its in hex, so that would simply compile to

 

04 00 02 FF FF 01 E2 45 00 00

 

Or just add a raw input section, so I could just do:

 

%% (my imaginary HEX start marker)

04 00 02 FF FF 01 E2 45 00 00 51 00 02 00 01 08 EF 4D 01

%%

 

Which is obviously:

 

0004: FFFF?? = 17890

0051: return

0002: jump ££Label014DEF08

 

(MB format, sorry).

 

And, while we're at it, if this supports DMA, will it support DMA OUTSIDE the defined memory? E.g. if the memory is only 400 bytes big, and I try get the 404th byte (which will be half a jump OpCode), it will just issue a warning and continue?

 

Doesn't matter if not, just Dem and I have encountered alot of MB limitataions recently.

Share this post


Link to post
Share on other sites
Demarest

DMA on crack! I like it cool.gif

 

Yeah, MB has been dummied down to prevent people from hurting themselves. All fine and good. Those looking for more control however are out of luck without turning to outside modifiers that could easily break MB just trying to view it. Since an MB like tool is actively being constructed, I too request such added power. Y_Less and I are interested in less conventional approaches and the power they bring are pretty tantilizing. It would be good for those who COULD grasp it to have a tool that will allow them to easily apply it smile.gif

Share this post


Link to post
Share on other sites
Y_Less
The links in the first post don't work.

Share this post


Link to post
Share on other sites
Seemann

Ok, I will think about hex accepting.

 

About DMA. You can not operate with bytes out of memory, because memory size is automatically align with highest variable value.

MemSize = ((MaxVar + 1) * 4) + 8 = (MaxVar + 3) * 4

 

If you will try get 404 byte ($101), compiler set memory size in 416 bytes.

Share this post


Link to post
Share on other sites
Y_Less

Oh, k, but I assume (hope) that if you added HEX acceptance, it will not be parsed? So if the memory as set at 416 and I put:

 

04 00 02 08 1B 05 36

 

accessing memory address 6920, your compiler wont know, yes?

 

(Im hacking the compilers features before they even exist, tounge.gif.

Share this post


Link to post
Share on other sites
Seemann

yeah, sure. In Hex you can write what you want, it will be written in SCM directly.

 

So, I made this feature.

 

01B4: set_player $PLAYER_CHAR frozen_state 1hex; here you can write as many lines as you want 04 00 02 08 1B 05 36 45 55end

 

Share this post


Link to post
Share on other sites
Xieîn

The new version is accessible for download! tounge2.gif Sanny Builder 2.0 BETA DEMO

 

http://freewebs.com/sannybuilder/sannybuilder20bd.rar

 

Homepage is updated:

 

http://freewebs.com/sannybuilder

 

So, new features:

 

- Now instead of opcodes, classes are used! (the demonstration version) - that is association and division of all opcodes on groups, for example instead of:

 

0256: player $PLAYER_CHAR defined

 

now it is used:

 

Player. Defined ($PLAYER_CHAR)

 

Player - is a class, it means that all opcodes which directly concern to the player can be met in the list at writing Player. Also it is one more feature:

 

- New autosubstitution system - helps to be guided and quickly to find necessary opcode, that is at a writing of a name of a class appears window with all opcodes concerning to it. Also at wrting of parameters in brackets appears auxiliary window with descriptions of parameters.

 

 

- New keywords, replace with itself opcodes for simple commands. For example keyword if at compilation it will be replaced on opcode 00D6, and else_jump on 004D. It is meant that with check:

 

00D6: if 0

0256: player $PLAYER_CHAR defined

004D: jump_if_false @TRACE_805

 

now looks as:

 

if

Player.Defined($PLAYER_CHAR)

else_jump @TRACE_805

 

 

- Math-processor. That is for the majority of operations with subtraction / division of variables etc. the compiler now determines neccesary opcode.

 

- New construction hex...end, allowing to write down any neccesary hexadecimal values is direct in SCM, without parsing of the compiler (for advanced users). For example now it is possible to write:

 

hex

04 00 02 0800 04 01

end

 

It will be too most, that 0004 : $8 = 1 xmas.gif

 

 

In more detail about new features in a readme-file and at the homepage.

 

We wait for your offers and wishes.

Edited by Xieîn

Share this post


Link to post
Share on other sites
Y_Less
Thats great, can you mix classes and opcodes, i.e. use both, so code can be written still while getting used to the class system? Also, will you be doing a version for VC/III? - That would quite possibly be a dream come true!

Share this post


Link to post
Share on other sites
Xieîn

 

so code can be written still while getting used to the class system?

 

In final variant all opcodes will have an equivalent in classes, that is in use MB of a format there will be no necessity. But coding with opcodes I think also it will be possible smile.gif

 

 

Also, will you be doing a version for VC/III?

 

When all ideas of the program will be realized, it is quite possible that we shall make the version for VC/III because all of them will be approximately similar. Only still it is necessary to think up for them the name biggrin.gif Vicey and Thirty biggrin.gif

 

By the way, whether here it is possible to change nickname? It seems that one symbol wrong)

Share this post


Link to post
Share on other sites
Y_Less
Cool, a VC version would be a huge help. You can only change your nick after a year, and they are very strict on that, they don't make an exceptions or people will complain, sorry.

Share this post


Link to post
Share on other sites
jonc

Much nicer. The fact that MB had to be told the opcode number on every line was my motivation for starting my own compiler. I'm glad to see you've cleared that up in your rewrite of his tool.

Share this post


Link to post
Share on other sites
Y_Less
Much nicer. The fact that MB had to be told the opcode number on every line was my motivation for starting my own compiler. I'm glad to see you've cleared that up in your rewrite of his tool.

a) I thought it was a new tool.

 

b) It didn't, later versions had replacements so:

 

$hi += 5

 

would work on its own without the opcode (0008 IIRC).

 

Infact, all the opcodes could be used without the opcodes by the end, but some of them there was no point (unlike your compiler tounge.gif), anyway, some people like the OpCodes, it means you can write like:

 

:somewhere

0001: 500

00D6: 0

0256: $2

004D: ££somewhere

0002: ££somewhereelse

 

And it would work fine, add in all the other stuff later if needed (i.e. for a source release).

Share this post


Link to post
Share on other sites
jonc

 

a) I thought it was a new tool.

 

SB initially used the same source format and behaved almost identically, so I called it a rewrite.

 

 

b) It didn't

 

All the code I ever saw anywhere included them; if they weren't required, good.

 

As for your final example, why not just write it in a hex editor? wink.gif

Share this post


Link to post
Share on other sites
random_download

You can do that in GTA: MA as well, like:

 

@somewhere0001 50000D6 00256 $2004D @somewhere0002 @somewhereelse

 

Also, in MB wasn't it only the math ones that work without opcodes?

Share this post


Link to post
Share on other sites
Demarest
As for your final example, why not just write it in a hex editor? wink.gif

He does.

 

I too would classify it as a rewrite. Not to take any gusto from the guys making it as I'm glad this is like MB+ or whatever.

Share this post


Link to post
Share on other sites
Y_Less
No, all opcodes actually had text replacements, just not many people knew that. And I do hex code, but if im just modifying a thread in the middle of the scm, I dont want to have to manually alter every subsequent label just cos I add one line in, I just do that cos its quicker to type (occasionally I may type the opcode and hit F1, then enter the parameters).

Share this post


Link to post
Share on other sites
demonj0e

when i try with latets version to decompile an scm it chucks errors at me sayign stuff like

 

 

Invalid Pointer Operation

 

And

 

 

Acsess Violation At Adress 00401EC8 in moule 'sannybuilder.exe'.Write Adress 4C45480F.

 

 

maybe its cuz im trying it in windows vista but all other versions have worked in vista

 

Share this post


Link to post
Share on other sites
Seemann

great sad.gif

maybe there is a problem with new classes. try delete the file 'classes.db' (or rename) and decompile again.

 

also, can you send this file on my e-mail (gtacoding (at) nm.ru)?

Share this post


Link to post
Share on other sites
demonj0e
ok ill try that and wich file do u want me to send u?

Share this post


Link to post
Share on other sites
Seemann
ok ill try that and wich file do u want me to send u?

well, the .SCM that you couldn't decompile tounge.gif

and script.img too.

Share this post


Link to post
Share on other sites
tux.coder

Hey Seeman, good work !! Your compiler is so fast and also i loved classes and highlighting stuff. colgate.gif Also, your compiler appends texts from gxt files that helps me A LOT.Keep up your good work !! Glad to see coders have (dis)assembler alternatives finally.But please, please, could you please use another symbol for labels instead of "@" ? I really hated the symbol that Barton used but i think "@" should be just for local variables, not also label jumps.And i hope you'll get lesser bugs in your editor so i can trust it more.

 

smile.gif

Share this post


Link to post
Share on other sites
Seemann

and what symbol do you want use for labels? i think '@' is the best one.

as for bugs it only depends on your help. the more i'll know the less bugs will be. wink.gif

Share this post


Link to post
Share on other sites
tux.coder

Maybe "!" ? This is the best one from unused symbols.Hmmm, look i love your builder, its web site is the number 2 in my bookmarks (i'm tracking it) but i want to know that if will there be an error that screws up my code ? May i have to use a clean decompiled scm by leaving my old one ?

Share this post


Link to post
Share on other sites
Y_Less
How does this distignguish between global and local (mission) jumps? Does it just guess, meaning you don't have to distinguish. As for the symbol, can't you just leave the good old ££ (pound-pound - GTAF sometimes seems to have trouble displaying this symbol).

Share this post


Link to post
Share on other sites
tux.coder

It just seems dirty, it's used for variables and that's why i want it changed.Also pound-pound symbol is bad, it's not existing some of keyboards.

Share this post


Link to post
Share on other sites
Un3462

please, if you're going to use !, use it for locals. we don't need more syntax confusion (by choosing the exact opposite syntax of gtama). and whatever you do, don't use the pound symbol. non-ascii symbols in a programming language is one of the worst ideas ever. not only will it get messed up on the internet with encoding changes, but it's not even on my keyboard.

 

y_less; how about it uses local addressing for labels in missions/externals, and global addressing for labels in main? just because barton is retarded and couldn't figure this out, doesn't mean seemann can't fix (=simplify) the syntax in this derivative tool. :p

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.