Quantcast

Jump to content

» «
Photo

[REL] Sanny Builder

595 replies to this topic
spaceeinstein
  • spaceeinstein

    巧克力

  • Members
  • Joined: 17 Jul 2003

#61

Posted 09 September 2005 - 09:13 PM

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

I see this right line:
06D5: 205@ = create_racing_checkpoint_at 331@(253@,16f) 347@(253@,16f) 363@(253@,16f) 454@(36@,82f) 536@(36@,82f) 618@(36@,82f) type 325@ radius 449@

But this line is wrong:
06D5: 1 = create_racing_checkpoint_at 331@(253@,16f) 347@(253@,16f) 363@(253@,16f) 0.0 0.0 0.0 type 6.0 radius 449@

Seemann
  • Seemann

    Ruhe

  • Members
  • Joined: 03 Sep 2004
  • Russia

#62

Posted 10 September 2005 - 02:52 AM

QUOTE (spaceeinstein @ Sep 9 2005, 21:13)
I don't know if it's just me but opcode 06D5 is f*cked up.

I see this right line:
06D5: 205@ = create_racing_checkpoint_at 331@(253@,16f) 347@(253@,16f) 363@(253@,16f) 454@(36@,82f) 536@(36@,82f) 618@(36@,82f) type 325@ radius 449@

But this line is wrong:
06D5: 1 = create_racing_checkpoint_at 331@(253@,16f) 347@(253@,16f) 363@(253@,16f) 0.0 0.0 0.0 type 6.0 radius 449@

hmm. where do you find line?
06D5: 1 = create_racing_checkpoint_at 331@(253@,16f) 347@(253@,16f) 363@(253@,16f) 0.0 0.0 0.0 type 6.0 radius 449@

in my decompiled scm there are
CODE

:CPRACE_13002
06D5: 449@ = create_racing_checkpoint_at 331@(253@,16f) 347@(253@,16f) 363@(253@,16f) 454@(36@,82f) 536@(36@,82f) 618@(36@,82f) type 205@ radius 325@
jump @CPRACE_13110

:CPRACE_13062
06D5: 449@ = create_racing_checkpoint_at 331@(253@,16f) 347@(253@,16f) 363@(253@,16f) 0.0 0.0 0.0 type 1 radius 6.0

:CPRACE_13110
jump @CPRACE_13219


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

spaceeinstein
  • spaceeinstein

    巧克力

  • Members
  • Joined: 17 Jul 2003

#63

Posted 10 September 2005 - 04:40 AM

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.

XieÓn
  • XieÓn

    The conspirator

  • Members
  • Joined: 13 Sep 2005

#64

Posted 13 September 2005 - 12:55 PM

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

Y_Less
  • Y_Less

    629

  • Members
  • Joined: 14 Mar 2004

#65

Posted 13 September 2005 - 04:32 PM

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.

Demarest
  • Demarest

    what could be

  • BUSTED!
  • Joined: 12 Jul 2003

#66

Posted 13 September 2005 - 04:39 PM

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

Y_Less
  • Y_Less

    629

  • Members
  • Joined: 14 Mar 2004

#67

Posted 13 September 2005 - 05:50 PM

The links in the first post don't work.

Seemann
  • Seemann

    Ruhe

  • Members
  • Joined: 03 Sep 2004
  • Russia

#68

Posted 14 September 2005 - 12:28 PM

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.

Y_Less
  • Y_Less

    629

  • Members
  • Joined: 14 Mar 2004

#69

Posted 14 September 2005 - 03:20 PM

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.

Seemann
  • Seemann

    Ruhe

  • Members
  • Joined: 03 Sep 2004
  • Russia

#70

Posted 15 September 2005 - 07:11 AM

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

So, I made this feature.
CODE

01B4: set_player $PLAYER_CHAR frozen_state 1

hex
; here you can write as many lines as you want
 04 00 02 08 1B 05 36
 45 55
end


XieÓn
  • XieÓn

    The conspirator

  • Members
  • Joined: 13 Sep 2005

#71

Posted 18 September 2005 - 01:05 PM Edited by XieÓn, 19 September 2005 - 11:43 AM.

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

http://freewebs.com/...builder20bd.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.

Y_Less
  • Y_Less

    629

  • Members
  • Joined: 14 Mar 2004

#72

Posted 18 September 2005 - 01:22 PM

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!

XieÓn
  • XieÓn

    The conspirator

  • Members
  • Joined: 13 Sep 2005

#73

Posted 18 September 2005 - 03:00 PM

QUOTE
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

QUOTE
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)

Y_Less
  • Y_Less

    629

  • Members
  • Joined: 14 Mar 2004

#74

Posted 18 September 2005 - 03:07 PM

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.

jonc
  • jonc

    Snitch

  • Members
  • Joined: 02 Nov 2004

#75

Posted 18 September 2005 - 06:24 PM

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.

Y_Less
  • Y_Less

    629

  • Members
  • Joined: 14 Mar 2004

#76

Posted 18 September 2005 - 06:30 PM

QUOTE (jonc @ Sep 18 2005, 18:24)
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).

jonc
  • jonc

    Snitch

  • Members
  • Joined: 02 Nov 2004

#77

Posted 18 September 2005 - 06:52 PM

QUOTE
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.

QUOTE
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

random_download
  • random_download

    :o

  • Members
  • Joined: 07 Mar 2004

#78

Posted 18 September 2005 - 07:08 PM

You can do that in GTA: MA as well, like:
CODE
@somewhere
0001 500
00D6 0
0256 $2
004D @somewhere
0002 @somewhereelse

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

Demarest
  • Demarest

    what could be

  • BUSTED!
  • Joined: 12 Jul 2003

#79

Posted 18 September 2005 - 08:21 PM

QUOTE (jonc @ Sep 18 2005, 14:52)
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.

Y_Less
  • Y_Less

    629

  • Members
  • Joined: 14 Mar 2004

#80

Posted 18 September 2005 - 09:12 PM

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).

demonj0e
  • demonj0e

    Sa Coder In Training

  • Members
  • Joined: 05 Apr 2005

#81

Posted 20 September 2005 - 08:18 PM

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

QUOTE
Invalid Pointer Operation


And

QUOTE
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

Seemann
  • Seemann

    Ruhe

  • Members
  • Joined: 03 Sep 2004
  • Russia

#82

Posted 21 September 2005 - 04:05 AM

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)?

demonj0e
  • demonj0e

    Sa Coder In Training

  • Members
  • Joined: 05 Apr 2005

#83

Posted 21 September 2005 - 05:30 AM

ok ill try that and wich file do u want me to send u?

Seemann
  • Seemann

    Ruhe

  • Members
  • Joined: 03 Sep 2004
  • Russia

#84

Posted 21 September 2005 - 08:20 AM

QUOTE (demonj0e @ Sep 21 2005, 05:30)
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.

tux.coder
  • tux.coder

    Mission Coder@GTA:SOL

  • Members
  • Joined: 01 Nov 2004

#85

Posted 21 September 2005 - 04:26 PM

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

Seemann
  • Seemann

    Ruhe

  • Members
  • Joined: 03 Sep 2004
  • Russia

#86

Posted 22 September 2005 - 05:59 AM

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

tux.coder
  • tux.coder

    Mission Coder@GTA:SOL

  • Members
  • Joined: 01 Nov 2004

#87

Posted 22 September 2005 - 09:38 AM

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 ?

Y_Less
  • Y_Less

    629

  • Members
  • Joined: 14 Mar 2004

#88

Posted 22 September 2005 - 11:30 AM

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).

tux.coder
  • tux.coder

    Mission Coder@GTA:SOL

  • Members
  • Joined: 01 Nov 2004

#89

Posted 22 September 2005 - 11:45 AM

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.

Un3462
  • Un3462

    Mack Pimp

  • Members
  • Joined: 27 Jun 2002

#90

Posted 22 September 2005 - 01:12 PM

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




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users