If you are not familiar with programming, then you should start with simple CLEO scripts. Missions are specific in that they have a specific structure that must be followed. The Sanny Builder Help has a series of articles in Russian on creating a mission from scratch. You can also watch videos on YouTube, for example, on the Vital channel.
A classmate once showed me GTA 1. It was in 1999. It was very unusual, this is one of the first computer games in my memory. It was very difficult to play without saving and a map.
Then GTA 2 from Buka came out and we constantly played it (especially in multiplayer).
download version 3.1.0 from http://public.sannybuilder.com/archive/ in the Russian-language help there is a page called "Previous Releases", it describes the version history with my comments.
on the same site, you can download all the releases, starting with the very first, and independently track how the program developed.
By the time Sanny Builder came out, there were several scripting programs. The most popular and widespread was SA Mission Builder, but its author refused to continue development, so there was no reason to count on the development and appearance of new functions. This is where Sanny Builder appeared with a similar syntax and a SAMB-> SB script converter, which made it possible to quickly migrate to a new environment.
Initially, Sanny was greeted cool enough at GTAForums. Then the alternative program Point was gaining momentum, authored by Jon Caruana (now working at Microsoft). Point was very different from the previous generation of Mission Builders and provided a new syntax similar to C. Many of the local folks were of the opinion that Mission Builder syntax was awkward, and the need to operate with opcodes made development difficult. At that moment, classes appeared in Sanny Builder, which at that time were a real breakthrough. Syntax like IF, WHILE have been added.
Probably the most important factor that helped Sanny Builder to take the leading position was the attention to the user and consideration of their opinion. People are pleased when their wishes are eventually realized. Of course, great credit goes to those people who helped with ideas, documentation, and reported bugs. Whenever possible, I thanked everyone in the description of the program.
I have already answered other questions about emotions and popularity.
By the time Sanny Builder came out, there were several scripting programs. The most popular and widespread was SA Mission Builder, but its author refused to continue development, so there was no reason to count on the development and appearance of new functions. This is where Sanny Builder appeared with a similar syntax and a SAMB-> SB script converter, which made it possible to quickly migrate to a new environment.
Initially, Sanny was greeted cool enough at GTAForums. Then the alternative program Point was gaining momentum, authored by Jon Caruana (now working at Microsoft). Point was very different from the previous generation of Mission Builders and provided a new syntax similar to C. Many of the local folks were of the opinion that Mission Builder syntax was awkward, and the need to operate with opcodes made development difficult. At that moment, classes appeared in Sanny Builder, which at that time were a real breakthrough. Syntax like IF, WHILE have been added.
Probably the most important factor that helped Sanny Builder to take the leading position was the attention to the user and consideration of their opinion. People are pleased when their wishes are eventually realized. Of course, great credit goes to those people who helped with ideas, documentation, and reported bugs. Whenever possible, I thanked everyone in the description of the program.
I have already answered other questions about emotions and popularity.
By the time Sanny Builder came out, there were several scripting programs. The most popular and widespread was SA Mission Builder, but its author refused to continue development, so there was no reason to count on the development and appearance of new functions. This is where Sanny Builder appeared with a similar syntax and a SAMB-> SB script converter, which made it possible to quickly migrate to a new environment.
Initially, Sanny was greeted cool enough at GTAForums. Then the alternative program Point was gaining momentum, authored by Jon Caruana (now working at Microsoft). Point was very different from the previous generation of Mission Builders and provided a new syntax similar to C. Many of the local folks were of the opinion that Mission Builder syntax was awkward, and the need to operate with opcodes made development difficult. At that moment, classes appeared in Sanny Builder, which at that time were a real breakthrough. Syntax like IF, WHILE have been added.
Probably the most important factor that helped Sanny Builder to take the leading position was the attention to the user and consideration of their opinion. People are pleased when their wishes are eventually realized. Of course, great credit goes to those people who helped with ideas, documentation, and reported bugs. Whenever possible, I thanked everyone in the description of the program.
I have already answered other questions about emotions and popularity.
I just do what I love. If it is in demand at the same time, it gives motivation and the desire to continue.
Of course, I would like to work more productively and release new versions more often, people have been waiting for many things for years, but, unfortunately, this does not always work out.
The vector of further activities - can master the universe of GTA HD? :)
The biggest limitation is the lack of a stack when calling subroutines, i.e. after calling gosub, the current local variables are not saved in any way and can be changed. This was subsequently resolved in LCS and VCS by adding special opcodes (analogous to scm_function in CLEO). In HD, scripts are implemented for a stack virtual machine, where instructions, before calling functions, put data on the stack and read from it.
Are you currently involved in the development of the CLEO and OpenIV projects?
I am not involved in the direct development of these projects. I keep in touch with the OpenIV team, we have been in contact for more than 10 years, I sometimes help them on issues related to the operation of the sites openiv.com and gtamodding.ru.
The source code for CLEO is available on GitHub, and I would like to see an active maintainer who is familiar with C ++ and the internal memory of the game who can continue development. It so happens that those people who have been doing this or could be doing it are now in other projects.
In your opinion, how long can GTA SA hold out as a popular modding medium?
I think, at least, while SA: MP is popular. The old parts are still popular among streamers and speedrunners, which also attracts new players and makes modding in demand.
There is also a category of people for whom GTA SA presents a large sandbox in which you can do really cool things. Such people like to create, to create something new. There are few games now that provide such an opportunity.
What kind of computer do you have, desktop, laptop, or both?
specifically now I have 2 working laptops, one on Windows Dell E6440 and the second on MacBook Pro 13 "2017. Both are connected to the Dell U2718Q monitor.
If it's not a secret, what do you work?
Programming. Hobby has become a job
I want to thank you for everything you have done to develop GTA modding, more such cool modders, I wish you all the best!
the main language I use day to day is TypeScript. I know javascript, but I rarely use it in its pure form. I know a little Rust, Python and C ++. I used to write in Pascal (Delphi 7), now I'm trying to get away from it.
What does CLEO stand for, or is it just a name?
There is a theory that CLEO is Code Library Extending Opcodes. But it is not exactly.
How long have you been familiar with GTA, which game from the series did you like the most?
started with GTA 1 in 1999. Played GTA2, GTA III, VC, SA, GTA IV, GTA V (not fully). The only game that has been played 100 percent multiple times is Vice City. She's a favorite in the series.
Have you ever worked with the code of other games?
Before GTA I was very fond of The Elder Scrolls: Morrowind (my first nickname on the AG forums was Balmora) and spent a lot of time in the TES Construction Set.
How different is the scripting of the HD universe from the 3D universe?
Scripts in 3D are very similar to BASIC - a linear structure, a lot of GOTOs, which was due historically, because The biggest limitation is the lack of a stack when calling subroutines, i.e. after calling gosub, the current local variables are not saved in any way and can be changed. This was subsequently resolved in LCS and VCS by adding special opcodes (analogous to scm_function in CLEO). In HD, scripts are implemented for a stack virtual machine, where instructions, before calling functions, put data on the stack and read from it.
Are you currently involved in the development of the CLEO and OpenIV projects?
I am not involved in the direct development of these projects. I keep in touch with the OpenIV team, we have been in contact for more than 10 years, I sometimes help them on issues related to the operation of the sites openiv.com and gtamodding.ru.
The source code for CLEO is available on GitHub, and I would like to see an active maintainer who is familiar with C ++ and the internal memory of the game who can continue development. It so happens that those people who have been doing this or could be doing it are now in other projects.
In your opinion, how long can GTA SA hold out as a popular modding medium?
I think, at least, while SA: MP is popular. The old parts are still popular among streamers and speedrunners, which also attracts new players and makes modding in demand.
There is also a category of people for whom GTA SA presents a large sandbox in which you can do really cool things. Such people like to create, to create something new. There are few games now that provide such an opportunity.
What kind of computer do you have, desktop, laptop, or both?
specifically now I have 2 working laptops, one on Windows Dell E6440 and the second on MacBook Pro 13 "2017. Both are connected to the Dell U2718Q monitor.
If it's not a secret, what do you work?
Programming. Hobby has become a job
I want to thank you for everything you have done to develop GTA modding, more such cool modders, I wish you all the best! Thank!
the main language I use day to day is TypeScript. I know javascript, but I rarely use it in its pure form. I know a little Rust, Python and C ++. I used to write in Pascal (Delphi 7), now I'm trying to get away from it.
What does CLEO stand for, or is it just a name?
There is a theory that CLEO is Code Library Extending Opcodes. But it is not exactly.
How long have you been familiar with GTA, which game from the series did you like the most?
started with GTA 1 in 1999. Played GTA2, GTA III, VC, SA, GTA IV, GTA V (not fully). The only game that has been played 100 percent multiple times is Vice City. She's a favorite in the series.
Have you ever worked with the code of other games?
Before GTA I was very fond of The Elder Scrolls: Morrowind (my first nickname on the AG forums was Balmora) and spent a lot of time in the TES Construction Set.
How different is the scripting of the HD universe from the 3D universe?
Scripts in 3D are very similar to BASIC - a linear structure, a lot of GOTOs, which was due historically, because The biggest limitation is the lack of a stack when calling subroutines, i.e. after calling gosub, the current local variables are not saved in any way and can be changed. This was subsequently resolved in LCS and VCS by adding special opcodes (analogous to scm_function in CLEO). In HD, scripts are implemented for a stack virtual machine, where instructions, before calling functions, put data on the stack and read from it.
Are you currently involved in the development of the CLEO and OpenIV projects?
I am not involved in the direct development of these projects. I keep in touch with the OpenIV team, we have been in contact for more than 10 years, I sometimes help them on issues related to the operation of the sites openiv.com and gtamodding.ru.
The source code for CLEO is available on GitHub, and I would like to see an active maintainer who is familiar with C ++ and the internal memory of the game who can continue development. It so happens that those people who have been doing this or could be doing it are now in other projects.
In your opinion, how long can GTA SA hold out as a popular modding medium?
I think, at least, while SA: MP is popular. The old parts are still popular among streamers and speedrunners, which also attracts new players and makes modding in demand.
There is also a category of people for whom GTA SA presents a large sandbox in which you can do really cool things. Such people like to create, to create something new. There are few games now that provide such an opportunity.
What kind of computer do you have, desktop, laptop, or both?
specifically now I have 2 working laptops, one on Windows Dell E6440 and the second on MacBook Pro 13 "2017. Both are connected to the Dell U2718Q monitor.
If it's not a secret, what do you work?
Programming. Hobby has become a job
I want to thank you for everything you have done to develop GTA modding, more such cool modders, I wish you all the best!
the main language I use day to day is TypeScript. I know javascript, but I rarely use it in its pure form. I know a little Rust, Python and C ++. I used to write in Pascal (Delphi 7), now I'm trying to get away from it.
What does CLEO stand for, or is it just a name?
There is a theory that CLEO is Code Library Extending Opcodes. But it is not exactly.
How long have you been familiar with GTA, which game from the series did you like the most?
started with GTA 1 in 1999. Played GTA2, GTA III, VC, SA, GTA IV, GTA V (not fully). The only game that has been played 100 percent multiple times is Vice City. She's a favorite in the series.
Have you ever worked with the code of other games?
Before GTA I was very fond of The Elder Scrolls: Morrowind (my first nickname on the AG forums was Balmora) and spent a lot of time in the TES Construction Set.
How different is the scripting of the HD universe from the 3D universe?
Scripts in 3D are very similar to BASIC - a linear structure, a lot of GOTOs, which was due historically, because The biggest limitation is the lack of a stack when calling subroutines, i.e. after calling gosub, the current local variables are not saved in any way and can be changed. This was subsequently resolved in LCS and VCS by adding special opcodes (analogous to scm_function in CLEO). In HD, scripts are implemented for a stack virtual machine, where instructions, before calling functions, put data on the stack and read from it.
Are you currently involved in the development of the CLEO and OpenIV projects?
I am not involved in the direct development of these projects. I keep in touch with the OpenIV team, we have been in contact for more than 10 years, I sometimes help them on issues related to the operation of the sites openiv.com and gtamodding.ru.
The source code for CLEO is available on GitHub, and I would like to see an active maintainer who is familiar with C ++ and the internal memory of the game who can continue development. It so happens that those people who have been doing this or could be doing it are now in other projects.
In your opinion, how long can GTA SA hold out as a popular modding medium?
I think, at least, while SA: MP is popular. The old parts are still popular among streamers and speedrunners, which also attracts new players and makes modding in demand.
There is also a category of people for whom GTA SA presents a large sandbox in which you can do really cool things. Such people like to create, to create something new. There are few games now that provide such an opportunity.
What kind of computer do you have, desktop, laptop, or both?
specifically now I have 2 working laptops, one on Windows Dell E6440 and the second on MacBook Pro 13 "2017. Both are connected to the Dell U2718Q monitor.
If it's not a secret, what do you work?
Programming. Hobby has become a job
I want to thank you for everything you have done to develop GTA modding, more such cool modders, I wish you all the best! Thank!
the main language I use day to day is TypeScript. I know javascript, but I rarely use it in its pure form. I know a little Rust, Python and C ++. I used to write in Pascal (Delphi 7), now I'm trying to get away from it.
What does CLEO stand for, or is it just a name?
There is a theory that CLEO is Code Library Extending Opcodes. But it is not exactly.
How long have you been familiar with GTA, which game from the series did you like the most?
started with GTA 1 in 1999. Played GTA2, GTA III, VC, SA, GTA IV, GTA V (not fully). The only game that has been played 100 percent multiple times is Vice City. She's a favorite in the series.
Have you ever worked with the code of other games?
Before GTA I was very fond of The Elder Scrolls: Morrowind (my first nickname on the AG forums was Balmora) and spent a lot of time in the TES Construction Set.
How different is the scripting of the HD universe from the 3D universe?
Scripts in 3D are very similar to BASIC - a linear structure, a lot of GOTOs, which was due historically, because The biggest limitation is the lack of a stack when calling subroutines, i.e. after calling gosub, the current local variables are not saved in any way and can be changed. This was subsequently resolved in LCS and VCS by adding special opcodes (analogous to scm_function in CLEO). In HD, scripts are implemented for a stack virtual machine, where instructions, before calling functions, put data on the stack and read from it.
Are you currently involved in the development of the CLEO and OpenIV projects?
I am not involved in the direct development of these projects. I keep in touch with the OpenIV team, we have been in contact for more than 10 years, I sometimes help them on issues related to the operation of the sites openiv.com and gtamodding.ru.
The source code for CLEO is available on GitHub, and I would like to see an active maintainer who is familiar with C ++ and the internal memory of the game who can continue development. It so happens that those people who have been doing this or could be doing it are now in other projects.
In your opinion, how long can GTA SA hold out as a popular modding medium?
I think, at least, while SA: MP is popular. The old parts are still popular among streamers and speedrunners, which also attracts new players and makes modding in demand.
There is also a category of people for whom GTA SA presents a large sandbox in which you can do really cool things. Such people like to create, to create something new. There are few games now that provide such an opportunity.
What kind of computer do you have, desktop, laptop, or both?
specifically now I have 2 working laptops, one on Windows Dell E6440 and the second on MacBook Pro 13 "2017. Both are connected to the Dell U2718Q monitor.
If it's not a secret, what do you work?
Programming. Hobby has become a job
I want to thank you for everything you have done to develop GTA modding, more such cool modders, I wish you all the best! Thank!
the main language I use day to day is TypeScript. I know javascript, but I rarely use it in its pure form. I know a little Rust, Python and C ++. I used to write in Pascal (Delphi 7), now I'm trying to get away from it.
What does CLEO stand for, or is it just a name?
There is a theory that CLEO is Code Library Extending Opcodes. But it is not exactly.
How long have you been familiar with GTA, which game from the series did you like the most?
started with GTA 1 in 1999. Played GTA2, GTA III, VC, SA, GTA IV, GTA V (not fully). The only game that has been played 100 percent multiple times is Vice City. She's a favorite in the series.
Have you ever worked with the code of other games?
Before GTA I was very fond of The Elder Scrolls: Morrowind (my first nickname on the AG forums was Balmora) and spent a lot of time in the TES Construction Set.
How different is the scripting of the HD universe from the 3D universe?
Scripts in 3D are very similar to BASIC - a linear structure, a lot of GOTOs, which was due historically, because The biggest limitation is the lack of a stack when calling subroutines, i.e. after calling gosub, the current local variables are not saved in any way and can be changed. This was subsequently resolved in LCS and VCS by adding special opcodes (analogous to scm_function in CLEO). In HD, scripts are implemented for a stack virtual machine, where instructions, before calling functions, put data on the stack and read from it.
Are you currently involved in the development of the CLEO and OpenIV projects?
I am not involved in the direct development of these projects. I keep in touch with the OpenIV team, we have been in contact for more than 10 years, I sometimes help them on issues related to the operation of the sites openiv.com and gtamodding.ru.
The source code for CLEO is available on GitHub, and I would like to see an active maintainer who is familiar with C ++ and the internal memory of the game who can continue development. It so happens that those people who have been doing this or could be doing it are now in other projects.
In your opinion, how long can GTA SA hold out as a popular modding medium?
I think, at least, while SA: MP is popular. The old parts are still popular among streamers and speedrunners, which also attracts new players and makes modding in demand.
There is also a category of people for whom GTA SA presents a large sandbox in which you can do really cool things. Such people like to create, to create something new. There are few games now that provide such an opportunity.
What kind of computer do you have, desktop, laptop, or both?
specifically now I have 2 working laptops, one on Windows Dell E6440 and the second on MacBook Pro 13 "2017. Both are connected to the Dell U2718Q monitor.
If it's not a secret, what do you work?
Programming. Hobby has become a job
I want to thank you for everything you have done to develop GTA modding, more such cool modders, I wish you all the best! Thank!
if by coding we mean scripting, then in the summer of 2003, when I saw a topic on the AG forums devoted to scripting in Vice City. It was called the Scripting FAQ, and that's where it all started. These forums are no longer present, but an archived version can be found at archive.org
Around the same time, I came across the Igromania magazine, which contained an article about programming in Delphi. For anyone interested, here is a link to the article: https://www.igromania.ru/article/3253/Kladovaya_programmista._Tekstovoe_sovershenstvo._Tekstovyy_redaktor_'Super'_v2.0.html so I started my acquaintance with dolphi and started experimenting.
99 percent of my modding experience comes from GTA. The rarest exception is my audio file extractor from Black & White 2, written in 2006. Have you heard about this? xD Not for GTA I'm interested in researching file formats, and I had several attempts to write an online binary editor with custom templates, until recently I realized that there is already one at https://ide.kaitai.io/! {:: }! 1. Yes. the next release is planned in a couple of weeks on SB's birthday :) There is a GitHub thread with a changelog.
2. So far, nothing is planned exclusively for these games, but many of the things that I want to do, one way or another, can be applied to these games as well.
1. Yes. the next release is planned in a couple of weeks on SB's birthday :) There is a GitHub thread with a changelog.
2. So far, nothing is planned exclusively for these games, but many of the things that I want to do, one way or another, can be applied to these games as well.
1) The syntax of the language was largely copied from the most popular Mission Builder at the time, but with some simplifications (for example, the @ sign for labels, instead of the double £ £). The compiler itself was written from scratch. In fact, this was my second serious program (the first was Opcode Search Tool, which was later integrated into Sanny Builder almost unchanged).
2) I was inspired by many things in Delphi: comments like {...} or directives {$ ...} are taken from the Delphi syntax I was writing in at the time. Later I became interested in other languages, and the / * * / format seemed convenient to me: if you have a Numpad keyboard, you don't need to hold down Shift to type / * and * /. Many changes in Sanny Builder have been made as a result of my own evolution :)
And yes, thanks for the program! I have been working with her for over 12 years, although not as intensively as it was in 2008-2009.
Is there anything completely new in scripting planned, or are the plans just to improve SB so far?
Are there any new tools planned in addition to the coordinate editor and opcode finder?
I don't really like to disclose plans before they are even half implemented. There are many ideas and desires to implement them, but opportunities do not always allow, so I would not like to promise and not do it. many years ago I promised to provide support for compiling LCS and VCS scripts, and only now it will be implemented.
should we expect the majority of opcodes to appear in classes (to move from memorizing or searching for opcodes to more, I think, simple and compact code like if Actor.IsInPointXYZ ...)?
Yes. Last weekend I was working on a spec for declaring your own classes within scripts. I want the script to be able to create and reuse classes by itself, without waiting for them to appear in classes.db.
Is it possible to implement code folding in SB in the image and likeness of VS Code?
Just a couple of days ago I answered this question on GTAForums: https://gtaforums.com/topic/211077-rel-sanny-builder/page/25/?tab=comments#comment-1071280521 In short, no, but I really like VS Code myself and am exploring how to use it as the basis for Sanny Builder.
Is the problem of inability to invoke the hint menu (Ctrl + Space) solvable in some places of the code (for example, in the middle of the opcode I cannot substitute a constant, I have to enter it manually, which is not always convenient)
Solvable. Now Ctrl + Space can be called only in certain places, but in the next version a new function will appear and the list will be called anywhere (so far without constants, but if necessary, you can also tighten them). Moreover, on GitHub in one of the topics I discuss the idea of adding enumerated types (enum) to the language, and calling hints will be very useful.
Is there anything completely new in scripting planned, or are the plans just to improve SB so far?
Are there any new tools planned in addition to the coordinate editor and opcode finder?
I don't really like to disclose plans before they are even half implemented. There are many ideas and desires to implement them, but opportunities do not always allow, so I would not like to promise and not do it. many years ago I promised to provide support for compiling LCS and VCS scripts, and only now it will be implemented.
should we expect the majority of opcodes to appear in classes (to move from memorizing or searching for opcodes to more, I think, simple and compact code like if Actor.IsInPointXYZ ...)?
Yes. Last weekend I was working on a spec for declaring your own classes within scripts. I want the script to be able to create and reuse classes by itself, without waiting for them to appear in classes.db.
Is it possible to implement code folding in SB in the image and likeness of VS Code?
Just a couple of days ago I answered this question on GTAForums: https://gtaforums.com/topic/211077-rel-sanny-builder/page/25/?tab=comments#comment-1071280521 In short, no, but I really like VS Code myself and am exploring how to use it as the basis for Sanny Builder.
Is the problem of inability to invoke the hint menu (Ctrl + Space) solvable in some places of the code (for example, in the middle of the opcode I cannot substitute a constant, I have to enter it manually, which is not always convenient)
Solvable. Now Ctrl + Space can be called only in certain places, but in the next version a new function will appear and the list will be called anywhere (so far without constants, but if necessary, you can also tighten them). Moreover, on GitHub in one of the topics I discuss the idea of adding enumerated types (enum) to the language, and calling hints will be very useful.
Is there anything completely new in scripting planned, or are the plans just to improve SB so far?
Are there any new tools planned in addition to the coordinate editor and opcode finder?
I don't really like to disclose plans before they are even half implemented. There are many ideas and desires to implement them, but opportunities do not always allow, so I would not like to promise and not do it. many years ago I promised to provide support for compiling LCS and VCS scripts, and only now it will be implemented.
should we expect the majority of opcodes to appear in classes (to move from memorizing or searching for opcodes to more, I think, simple and compact code like if Actor.IsInPointXYZ ...)?
Yes. Last weekend I was working on a spec for declaring your own classes within scripts. I want the script to be able to create and reuse classes by itself, without waiting for them to appear in classes.db.
Is it possible to implement code folding in SB in the image and likeness of VS Code?
Just a couple of days ago I answered this question on GTAForums: https://gtaforums.com/topic/211077-rel-sanny-builder/page/25/?tab=comments#comment-1071280521 In short, no, but I really like VS Code myself and am exploring how to use it as the basis for Sanny Builder.
Is the problem of inability to invoke the hint menu (Ctrl + Space) solvable in some places of the code (for example, in the middle of the opcode I cannot substitute a constant, I have to enter it manually, which is not always convenient)
Solvable. Now Ctrl + Space can be called only in certain places, but in the next version a new function will appear and the list will be called anywhere (so far without constants, but if necessary, you can also tighten them). Moreover, on GitHub in one of the topics I discuss the idea of adding enumerated types (enum) to the language, and calling hints will be very useful.
Is there anything completely new in scripting planned, or are the plans just to improve SB so far?
Are there any new tools planned in addition to the coordinate editor and opcode finder?
I don't really like to disclose plans before they are even half implemented. There are many ideas and desires to implement them, but opportunities do not always allow, so I would not like to promise and not do it. many years ago I promised to provide support for compiling LCS and VCS scripts, and only now it will be implemented.
should we expect the majority of opcodes to appear in classes (to move from memorizing or searching for opcodes to more, I think, simple and compact code like if Actor.IsInPointXYZ ...)?
Yes. Last weekend I was working on a spec for declaring your own classes within scripts. I want the script to be able to create and reuse classes by itself, without waiting for them to appear in classes.db.
Is it possible to implement code folding in SB in the image and likeness of VS Code?
Just a couple of days ago I answered this question on GTAForums: https://gtaforums.com/topic/211077-rel-sanny-builder/page/25/?tab=comments#comment-1071280521 In short, no, but I really like VS Code myself and am exploring how to use it as the basis for Sanny Builder.
Is the problem of inability to invoke the hint menu (Ctrl + Space) solvable in some places of the code (for example, in the middle of the opcode I cannot substitute a constant, I have to enter it manually, which is not always convenient)
Solvable. Now Ctrl + Space can be called only in certain places, but in the next version a new function will appear and the list will be called anywhere (so far without constants, but if necessary, you can also tighten them). Moreover, on GitHub in one of the topics I discuss the idea of adding enumerated types (enum) to the language, and calling hints will be very useful.
1. 15 years ago, documentation in GTA and scripting in particular was very bad. I had to investigate many things on my own. The source code of SADisAsm, authored by the famous modder CyQ at the time, helped a lot. They were written in Delphi, which I was a little familiar with, so I printed them out on paper and studied them line by line for several evenings. In about the same way, I researched the IMG 2.0 format, which is unfamiliar to me, which is used to store external scripts in GTA SA. I literally printed out a small IMG file from a hex editor on paper and sat and parsed its structure. CyQ managed to clarify some points, for which I am still very grateful.
2. Capushon was one of the early users of Sanny Builder and has provided many helpful comments and ideas for improving the program. We talked a lot with him on various issues related to scripting, first on the AGFC forums, then on the Sanny Builder website.
3. By the time Sanny Builder started developing, I had been scripting in Vice City for two years using the Vice Mission Builder. I had few projects of my own, but I actively helped other people on the AG forums, experimented and shared my findings. The spirit of research at the time was very strong in the scripting community. After the release of San Andreas, I found out that the author of VMB, Barton Waterduck, would no longer deal with it and decided to write my own program in which I myself would be comfortable working. Coincidentally, I combined the study of something new for myself and such an interesting activity as programming with a love of scripting. As I said above, positive reviews helped a lot, many people wrote to me, offered ideas, help, all of this was very motivating and motivates to this day.
Until next time!
Then GTA 2 from Buka came out and we constantly played it (especially in multiplayer).
in the Russian-language help there is a page called "Previous Releases", it describes the version history with my comments.
on the same site, you can download all the releases, starting with the very first, and independently track how the program developed.
Initially, Sanny was greeted cool enough at GTAForums. Then the alternative program Point was gaining momentum, authored by Jon Caruana (now working at Microsoft). Point was very different from the previous generation of Mission Builders and provided a new syntax similar to C. Many of the local folks were of the opinion that Mission Builder syntax was awkward, and the need to operate with opcodes made development difficult. At that moment, classes appeared in Sanny Builder, which at that time were a real breakthrough. Syntax like IF, WHILE have been added.
Probably the most important factor that helped Sanny Builder to take the leading position was the attention to the user and consideration of their opinion. People are pleased when their wishes are eventually realized. Of course, great credit goes to those people who helped with ideas, documentation, and reported bugs. Whenever possible, I thanked everyone in the description of the program.
I have already answered other questions about emotions and popularity.
Initially, Sanny was greeted cool enough at GTAForums. Then the alternative program Point was gaining momentum, authored by Jon Caruana (now working at Microsoft). Point was very different from the previous generation of Mission Builders and provided a new syntax similar to C. Many of the local folks were of the opinion that Mission Builder syntax was awkward, and the need to operate with opcodes made development difficult. At that moment, classes appeared in Sanny Builder, which at that time were a real breakthrough. Syntax like IF, WHILE have been added.
Probably the most important factor that helped Sanny Builder to take the leading position was the attention to the user and consideration of their opinion. People are pleased when their wishes are eventually realized. Of course, great credit goes to those people who helped with ideas, documentation, and reported bugs. Whenever possible, I thanked everyone in the description of the program.
I have already answered other questions about emotions and popularity.
Initially, Sanny was greeted cool enough at GTAForums. Then the alternative program Point was gaining momentum, authored by Jon Caruana (now working at Microsoft). Point was very different from the previous generation of Mission Builders and provided a new syntax similar to C. Many of the local folks were of the opinion that Mission Builder syntax was awkward, and the need to operate with opcodes made development difficult. At that moment, classes appeared in Sanny Builder, which at that time were a real breakthrough. Syntax like IF, WHILE have been added.
Probably the most important factor that helped Sanny Builder to take the leading position was the attention to the user and consideration of their opinion. People are pleased when their wishes are eventually realized. Of course, great credit goes to those people who helped with ideas, documentation, and reported bugs. Whenever possible, I thanked everyone in the description of the program.
I have already answered other questions about emotions and popularity.
Of course, I would like to work more productively and release new versions more often, people have been waiting for many things for years, but, unfortunately, this does not always work out.
The vector of further activities - can master the universe of GTA HD? :)
I am not involved in the direct development of these projects. I keep in touch with the OpenIV team, we have been in contact for more than 10 years, I sometimes help them on issues related to the operation of the sites openiv.com and gtamodding.ru.
The source code for CLEO is available on GitHub, and I would like to see an active maintainer who is familiar with C ++ and the internal memory of the game who can continue development. It so happens that those people who have been doing this or could be doing it are now in other projects.
In your opinion, how long can GTA SA hold out as a popular modding medium?
I think, at least, while SA: MP is popular. The old parts are still popular among streamers and speedrunners, which also attracts new players and makes modding in demand.
There is also a category of people for whom GTA SA presents a large sandbox in which you can do really cool things. Such people like to create, to create something new. There are few games now that provide such an opportunity.
specifically now I have 2 working laptops, one on Windows Dell E6440 and the second on MacBook Pro 13 "2017. Both are connected to the Dell U2718Q monitor.
Programming. Hobby has become a job
the main language I use day to day is TypeScript. I know javascript, but I rarely use it in its pure form. I know a little Rust, Python and C ++. I used to write in Pascal (Delphi 7), now I'm trying to get away from it.
There is a theory that CLEO is Code Library Extending Opcodes. But it is not exactly.
started with GTA 1 in 1999. Played GTA2, GTA III, VC, SA, GTA IV, GTA V (not fully). The only game that has been played 100 percent multiple times is Vice City. She's a favorite in the series.
Before GTA I was very fond of The Elder Scrolls: Morrowind (my first nickname on the AG forums was Balmora) and spent a lot of time in the TES Construction Set.
Scripts in 3D are very similar to BASIC - a linear structure, a lot of GOTOs, which was due historically, because The biggest limitation is the lack of a stack when calling subroutines, i.e. after calling gosub, the current local variables are not saved in any way and can be changed. This was subsequently resolved in LCS and VCS by adding special opcodes (analogous to scm_function in CLEO). In HD, scripts are implemented for a stack virtual machine, where instructions, before calling functions, put data on the stack and read from it.
I am not involved in the direct development of these projects. I keep in touch with the OpenIV team, we have been in contact for more than 10 years, I sometimes help them on issues related to the operation of the sites openiv.com and gtamodding.ru.
The source code for CLEO is available on GitHub, and I would like to see an active maintainer who is familiar with C ++ and the internal memory of the game who can continue development. It so happens that those people who have been doing this or could be doing it are now in other projects.
In your opinion, how long can GTA SA hold out as a popular modding medium?
I think, at least, while SA: MP is popular. The old parts are still popular among streamers and speedrunners, which also attracts new players and makes modding in demand.
There is also a category of people for whom GTA SA presents a large sandbox in which you can do really cool things. Such people like to create, to create something new. There are few games now that provide such an opportunity.
specifically now I have 2 working laptops, one on Windows Dell E6440 and the second on MacBook Pro 13 "2017. Both are connected to the Dell U2718Q monitor.
Programming. Hobby has become a job
Thank!
the main language I use day to day is TypeScript. I know javascript, but I rarely use it in its pure form. I know a little Rust, Python and C ++. I used to write in Pascal (Delphi 7), now I'm trying to get away from it.
There is a theory that CLEO is Code Library Extending Opcodes. But it is not exactly.
started with GTA 1 in 1999. Played GTA2, GTA III, VC, SA, GTA IV, GTA V (not fully). The only game that has been played 100 percent multiple times is Vice City. She's a favorite in the series.
Before GTA I was very fond of The Elder Scrolls: Morrowind (my first nickname on the AG forums was Balmora) and spent a lot of time in the TES Construction Set.
Scripts in 3D are very similar to BASIC - a linear structure, a lot of GOTOs, which was due historically, because The biggest limitation is the lack of a stack when calling subroutines, i.e. after calling gosub, the current local variables are not saved in any way and can be changed. This was subsequently resolved in LCS and VCS by adding special opcodes (analogous to scm_function in CLEO). In HD, scripts are implemented for a stack virtual machine, where instructions, before calling functions, put data on the stack and read from it.
I am not involved in the direct development of these projects. I keep in touch with the OpenIV team, we have been in contact for more than 10 years, I sometimes help them on issues related to the operation of the sites openiv.com and gtamodding.ru.
The source code for CLEO is available on GitHub, and I would like to see an active maintainer who is familiar with C ++ and the internal memory of the game who can continue development. It so happens that those people who have been doing this or could be doing it are now in other projects.
In your opinion, how long can GTA SA hold out as a popular modding medium?
I think, at least, while SA: MP is popular. The old parts are still popular among streamers and speedrunners, which also attracts new players and makes modding in demand.
There is also a category of people for whom GTA SA presents a large sandbox in which you can do really cool things. Such people like to create, to create something new. There are few games now that provide such an opportunity.
specifically now I have 2 working laptops, one on Windows Dell E6440 and the second on MacBook Pro 13 "2017. Both are connected to the Dell U2718Q monitor.
Programming. Hobby has become a job
the main language I use day to day is TypeScript. I know javascript, but I rarely use it in its pure form. I know a little Rust, Python and C ++. I used to write in Pascal (Delphi 7), now I'm trying to get away from it.
There is a theory that CLEO is Code Library Extending Opcodes. But it is not exactly.
started with GTA 1 in 1999. Played GTA2, GTA III, VC, SA, GTA IV, GTA V (not fully). The only game that has been played 100 percent multiple times is Vice City. She's a favorite in the series.
Before GTA I was very fond of The Elder Scrolls: Morrowind (my first nickname on the AG forums was Balmora) and spent a lot of time in the TES Construction Set.
Scripts in 3D are very similar to BASIC - a linear structure, a lot of GOTOs, which was due historically, because The biggest limitation is the lack of a stack when calling subroutines, i.e. after calling gosub, the current local variables are not saved in any way and can be changed. This was subsequently resolved in LCS and VCS by adding special opcodes (analogous to scm_function in CLEO). In HD, scripts are implemented for a stack virtual machine, where instructions, before calling functions, put data on the stack and read from it.
I am not involved in the direct development of these projects. I keep in touch with the OpenIV team, we have been in contact for more than 10 years, I sometimes help them on issues related to the operation of the sites openiv.com and gtamodding.ru.
The source code for CLEO is available on GitHub, and I would like to see an active maintainer who is familiar with C ++ and the internal memory of the game who can continue development. It so happens that those people who have been doing this or could be doing it are now in other projects.
In your opinion, how long can GTA SA hold out as a popular modding medium?
I think, at least, while SA: MP is popular. The old parts are still popular among streamers and speedrunners, which also attracts new players and makes modding in demand.
There is also a category of people for whom GTA SA presents a large sandbox in which you can do really cool things. Such people like to create, to create something new. There are few games now that provide such an opportunity.
specifically now I have 2 working laptops, one on Windows Dell E6440 and the second on MacBook Pro 13 "2017. Both are connected to the Dell U2718Q monitor.
Programming. Hobby has become a job
Thank!
the main language I use day to day is TypeScript. I know javascript, but I rarely use it in its pure form. I know a little Rust, Python and C ++. I used to write in Pascal (Delphi 7), now I'm trying to get away from it.
There is a theory that CLEO is Code Library Extending Opcodes. But it is not exactly.
started with GTA 1 in 1999. Played GTA2, GTA III, VC, SA, GTA IV, GTA V (not fully). The only game that has been played 100 percent multiple times is Vice City. She's a favorite in the series.
Before GTA I was very fond of The Elder Scrolls: Morrowind (my first nickname on the AG forums was Balmora) and spent a lot of time in the TES Construction Set.
Scripts in 3D are very similar to BASIC - a linear structure, a lot of GOTOs, which was due historically, because The biggest limitation is the lack of a stack when calling subroutines, i.e. after calling gosub, the current local variables are not saved in any way and can be changed. This was subsequently resolved in LCS and VCS by adding special opcodes (analogous to scm_function in CLEO). In HD, scripts are implemented for a stack virtual machine, where instructions, before calling functions, put data on the stack and read from it.
I am not involved in the direct development of these projects. I keep in touch with the OpenIV team, we have been in contact for more than 10 years, I sometimes help them on issues related to the operation of the sites openiv.com and gtamodding.ru.
The source code for CLEO is available on GitHub, and I would like to see an active maintainer who is familiar with C ++ and the internal memory of the game who can continue development. It so happens that those people who have been doing this or could be doing it are now in other projects.
In your opinion, how long can GTA SA hold out as a popular modding medium?
I think, at least, while SA: MP is popular. The old parts are still popular among streamers and speedrunners, which also attracts new players and makes modding in demand.
There is also a category of people for whom GTA SA presents a large sandbox in which you can do really cool things. Such people like to create, to create something new. There are few games now that provide such an opportunity.
specifically now I have 2 working laptops, one on Windows Dell E6440 and the second on MacBook Pro 13 "2017. Both are connected to the Dell U2718Q monitor.
Programming. Hobby has become a job
Thank!
the main language I use day to day is TypeScript. I know javascript, but I rarely use it in its pure form. I know a little Rust, Python and C ++. I used to write in Pascal (Delphi 7), now I'm trying to get away from it.
There is a theory that CLEO is Code Library Extending Opcodes. But it is not exactly.
started with GTA 1 in 1999. Played GTA2, GTA III, VC, SA, GTA IV, GTA V (not fully). The only game that has been played 100 percent multiple times is Vice City. She's a favorite in the series.
Before GTA I was very fond of The Elder Scrolls: Morrowind (my first nickname on the AG forums was Balmora) and spent a lot of time in the TES Construction Set.
Scripts in 3D are very similar to BASIC - a linear structure, a lot of GOTOs, which was due historically, because The biggest limitation is the lack of a stack when calling subroutines, i.e. after calling gosub, the current local variables are not saved in any way and can be changed. This was subsequently resolved in LCS and VCS by adding special opcodes (analogous to scm_function in CLEO). In HD, scripts are implemented for a stack virtual machine, where instructions, before calling functions, put data on the stack and read from it.
I am not involved in the direct development of these projects. I keep in touch with the OpenIV team, we have been in contact for more than 10 years, I sometimes help them on issues related to the operation of the sites openiv.com and gtamodding.ru.
The source code for CLEO is available on GitHub, and I would like to see an active maintainer who is familiar with C ++ and the internal memory of the game who can continue development. It so happens that those people who have been doing this or could be doing it are now in other projects.
In your opinion, how long can GTA SA hold out as a popular modding medium?
I think, at least, while SA: MP is popular. The old parts are still popular among streamers and speedrunners, which also attracts new players and makes modding in demand.
There is also a category of people for whom GTA SA presents a large sandbox in which you can do really cool things. Such people like to create, to create something new. There are few games now that provide such an opportunity.
specifically now I have 2 working laptops, one on Windows Dell E6440 and the second on MacBook Pro 13 "2017. Both are connected to the Dell U2718Q monitor.
Programming. Hobby has become a job
Thank!
Around the same time, I came across the Igromania magazine, which contained an article about programming in Delphi. For anyone interested, here is a link to the article: https://www.igromania.ru/article/3253/Kladovaya_programmista._Tekstovoe_sovershenstvo._Tekstovyy_redaktor_'Super'_v2.0.html so I started my acquaintance with dolphi and started experimenting.
Not for GTA I'm interested in researching file formats, and I had several attempts to write an online binary editor with custom templates, until recently I realized that there is already one at https://ide.kaitai.io/! {:: }! 1.
Yes. the next release is planned in a couple of weeks on SB's birthday :) There is a GitHub thread with a changelog.
2.
So far, nothing is planned exclusively for these games, but many of the things that I want to do, one way or another, can be applied to these games as well.
Yes. the next release is planned in a couple of weeks on SB's birthday :) There is a GitHub thread with a changelog.
2.
So far, nothing is planned exclusively for these games, but many of the things that I want to do, one way or another, can be applied to these games as well.
The syntax of the language was largely copied from the most popular Mission Builder at the time, but with some simplifications (for example, the @ sign for labels, instead of the double £ £). The compiler itself was written from scratch. In fact, this was my second serious program (the first was Opcode Search Tool, which was later integrated into Sanny Builder almost unchanged).
2)
I was inspired by many things in Delphi: comments like {...} or directives {$ ...} are taken from the Delphi syntax I was writing in at the time. Later I became interested in other languages, and the / * * / format seemed convenient to me: if you have a Numpad keyboard, you don't need to hold down Shift to type / * and * /. Many changes in Sanny Builder have been made as a result of my own evolution :)
I am glad that it was useful to you :)
Are there any new tools planned in addition to the coordinate editor and opcode finder?
I don't really like to disclose plans before they are even half implemented. There are many ideas and desires to implement them, but opportunities do not always allow, so I would not like to promise and not do it. many years ago I promised to provide support for compiling LCS and VCS scripts, and only now it will be implemented.
Yes. Last weekend I was working on a spec for declaring your own classes within scripts. I want the script to be able to create and reuse classes by itself, without waiting for them to appear in classes.db.
Just a couple of days ago I answered this question on GTAForums: https://gtaforums.com/topic/211077-rel-sanny-builder/page/25/?tab=comments#comment-1071280521
In short, no, but I really like VS Code myself and am exploring how to use it as the basis for Sanny Builder.
Solvable. Now Ctrl + Space can be called only in certain places, but in the next version a new function will appear and the list will be called anywhere (so far without constants, but if necessary, you can also tighten them). Moreover, on GitHub in one of the topics I discuss the idea of adding enumerated types (enum) to the language, and calling hints will be very useful.
Are there any new tools planned in addition to the coordinate editor and opcode finder?
I don't really like to disclose plans before they are even half implemented. There are many ideas and desires to implement them, but opportunities do not always allow, so I would not like to promise and not do it. many years ago I promised to provide support for compiling LCS and VCS scripts, and only now it will be implemented.
Yes. Last weekend I was working on a spec for declaring your own classes within scripts. I want the script to be able to create and reuse classes by itself, without waiting for them to appear in classes.db.
Just a couple of days ago I answered this question on GTAForums: https://gtaforums.com/topic/211077-rel-sanny-builder/page/25/?tab=comments#comment-1071280521
In short, no, but I really like VS Code myself and am exploring how to use it as the basis for Sanny Builder.
Solvable. Now Ctrl + Space can be called only in certain places, but in the next version a new function will appear and the list will be called anywhere (so far without constants, but if necessary, you can also tighten them). Moreover, on GitHub in one of the topics I discuss the idea of adding enumerated types (enum) to the language, and calling hints will be very useful.
Are there any new tools planned in addition to the coordinate editor and opcode finder?
I don't really like to disclose plans before they are even half implemented. There are many ideas and desires to implement them, but opportunities do not always allow, so I would not like to promise and not do it. many years ago I promised to provide support for compiling LCS and VCS scripts, and only now it will be implemented.
Yes. Last weekend I was working on a spec for declaring your own classes within scripts. I want the script to be able to create and reuse classes by itself, without waiting for them to appear in classes.db.
Just a couple of days ago I answered this question on GTAForums: https://gtaforums.com/topic/211077-rel-sanny-builder/page/25/?tab=comments#comment-1071280521
In short, no, but I really like VS Code myself and am exploring how to use it as the basis for Sanny Builder.
Solvable. Now Ctrl + Space can be called only in certain places, but in the next version a new function will appear and the list will be called anywhere (so far without constants, but if necessary, you can also tighten them). Moreover, on GitHub in one of the topics I discuss the idea of adding enumerated types (enum) to the language, and calling hints will be very useful.
Are there any new tools planned in addition to the coordinate editor and opcode finder?
I don't really like to disclose plans before they are even half implemented. There are many ideas and desires to implement them, but opportunities do not always allow, so I would not like to promise and not do it. many years ago I promised to provide support for compiling LCS and VCS scripts, and only now it will be implemented.
Yes. Last weekend I was working on a spec for declaring your own classes within scripts. I want the script to be able to create and reuse classes by itself, without waiting for them to appear in classes.db.
Just a couple of days ago I answered this question on GTAForums: https://gtaforums.com/topic/211077-rel-sanny-builder/page/25/?tab=comments#comment-1071280521
In short, no, but I really like VS Code myself and am exploring how to use it as the basis for Sanny Builder.
Solvable. Now Ctrl + Space can be called only in certain places, but in the next version a new function will appear and the list will be called anywhere (so far without constants, but if necessary, you can also tighten them). Moreover, on GitHub in one of the topics I discuss the idea of adding enumerated types (enum) to the language, and calling hints will be very useful.
1.
15 years ago, documentation in GTA and scripting in particular was very bad. I had to investigate many things on my own. The source code of SADisAsm, authored by the famous modder CyQ at the time, helped a lot. They were written in Delphi, which I was a little familiar with, so I printed them out on paper and studied them line by line for several evenings. In about the same way, I researched the IMG 2.0 format, which is unfamiliar to me, which is used to store external scripts in GTA SA. I literally printed out a small IMG file from a hex editor on paper and sat and parsed its structure. CyQ managed to clarify some points, for which I am still very grateful.
2.
Capushon was one of the early users of Sanny Builder and has provided many helpful comments and ideas for improving the program. We talked a lot with him on various issues related to scripting, first on the AGFC forums, then on the Sanny Builder website.
3.
By the time Sanny Builder started developing, I had been scripting in Vice City for two years using the Vice Mission Builder. I had few projects of my own, but I actively helped other people on the AG forums, experimented and shared my findings. The spirit of research at the time was very strong in the scripting community. After the release of San Andreas, I found out that the author of VMB, Barton Waterduck, would no longer deal with it and decided to write my own program in which I myself would be comfortable working. Coincidentally, I combined the study of something new for myself and such an interesting activity as programming with a love of scripting. As I said above, positive reviews helped a lot, many people wrote to me, offered ideas, help, all of this was very motivating and motivates to this day.