spaceeinstein 1,772 Posted September 9, 2005 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 32[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] Quote Share this post Link to post Share on other sites
Seemann 231 Posted September 10, 2005 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 Quote Share this post Link to post Share on other sites
spaceeinstein 1,772 Posted September 10, 2005 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. Quote Share this post Link to post Share on other sites
Xieîn 0 Posted September 13, 2005 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. Quote Share this post Link to post Share on other sites
Y_Less 1 Posted September 13, 2005 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. Quote Share this post Link to post Share on other sites
Demarest 23 Posted September 13, 2005 DMA on crack! I like it 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 Quote Share this post Link to post Share on other sites
Y_Less 1 Posted September 13, 2005 The links in the first post don't work. Quote Share this post Link to post Share on other sites
Seemann 231 Posted September 14, 2005 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. Quote Share this post Link to post Share on other sites
Y_Less 1 Posted September 14, 2005 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, . Quote Share this post Link to post Share on other sites
Seemann 231 Posted September 15, 2005 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 Quote Share this post Link to post Share on other sites
Xieîn 0 Posted September 18, 2005 (edited) The new version is accessible for download! 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 In more detail about new features in a readme-file and at the homepage. We wait for your offers and wishes. Edited September 19, 2005 by Xieîn Quote Share this post Link to post Share on other sites
Y_Less 1 Posted September 18, 2005 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! Quote Share this post Link to post Share on other sites
Xieîn 0 Posted September 18, 2005 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 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 Vicey and Thirty By the way, whether here it is possible to change nickname? It seems that one symbol wrong) Quote Share this post Link to post Share on other sites
Y_Less 1 Posted September 18, 2005 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. Quote Share this post Link to post Share on other sites
jonc 0 Posted September 18, 2005 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. Quote Share this post Link to post Share on other sites
Y_Less 1 Posted September 18, 2005 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 ), 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). Quote Share this post Link to post Share on other sites
jonc 0 Posted September 18, 2005 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? Quote Share this post Link to post Share on other sites
random_download 0 Posted September 18, 2005 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? Quote Share this post Link to post Share on other sites
Demarest 23 Posted September 18, 2005 As for your final example, why not just write it in a hex editor? 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. Quote Share this post Link to post Share on other sites
Y_Less 1 Posted September 18, 2005 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). Quote Share this post Link to post Share on other sites
demonj0e 0 Posted September 20, 2005 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 Quote Share this post Link to post Share on other sites
Seemann 231 Posted September 21, 2005 great 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)? Quote Share this post Link to post Share on other sites
demonj0e 0 Posted September 21, 2005 ok ill try that and wich file do u want me to send u? Quote Share this post Link to post Share on other sites
Seemann 231 Posted September 21, 2005 ok ill try that and wich file do u want me to send u? well, the .SCM that you couldn't decompile and script.img too. Quote Share this post Link to post Share on other sites
tux.coder 2 Posted September 21, 2005 Hey Seeman, good work !! Your compiler is so fast and also i loved classes and highlighting stuff. 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. Quote Share this post Link to post Share on other sites
Seemann 231 Posted September 22, 2005 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. Quote Share this post Link to post Share on other sites
tux.coder 2 Posted September 22, 2005 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 ? Quote Share this post Link to post Share on other sites
Y_Less 1 Posted September 22, 2005 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). Quote Share this post Link to post Share on other sites
tux.coder 2 Posted September 22, 2005 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. Quote Share this post Link to post Share on other sites
Un3462 1 Posted September 22, 2005 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. Quote Share this post Link to post Share on other sites