-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Focus on SCR modes
- I need to create files for SCR modes (III and VC) and propose to implement them in Sanny Builder.
- Rename method names according to SCR mode (but not all).
- Switching the sequence of opcode parameters according to the SCR mode.
-
- Default opcodes for GTA 3 (SCR mode).
-
- Cleo&Plugins opcodes for GTA 3 (SCR mode).
-
- Default opcodes for GTA VC (SCR mode).
-
- Cleo&Plugins opcodes for GTA VC (SCR mode).
-
- Default opcodes for GTA SA (SCR mode).
-
- Cleo&Plugins opcodes for GTA SA (SCR mode).
Focus on Sanny Builder library
- Move the methods to new classes based on the SBL.
-
- III.
-
- VC.
-
- SA.
- Add enums that are in SBL.
-
- III.
-
- VC.
-
- SA.
- Remove all methods that are
noporunsupported. -
- III.
-
- VC.
-
- SA.
Sanny Builder, CLEO and CLI
- The code should generate the
USEdirectives for the CLEO plugins. - Add generator feature to include the names of CLEO plugins, which are not initially supported.
- Tests and using new Sanny Builder's CLI.
- Remove support for generating CLEO scripts due to the release of CLEO Redux..
Generator (base)
- Implement method overloading in the places where it will be more convenient.
- Update the "each" method in the
Array<T>class. - Update a
DEFINE OBJECTSsection for new version. - The
LocalTimer1andLocalTimer2properties have been renamed toTimerAandTimerB, respectively. - The
Out<T>class has been removed. - Added support for the
jtmethod for theIIIlibrarie. - Removed the
GTAnamespace. Moved all nested namespaces up one level and put base types in a common namespace. - Variables and arrays can no longer be initialized with the
local,global,local_arrayandglobal_arraymethods. - Added decorative types
AnyInt,AnyFloat,AnySString,AnyVString,AnyBool,AnyByte,AnyVehicleandGlobalInt. - The
Valueproperty has been removed. Use thesetmethod. - The
sStringandvStringclasses are now only available in theSAlibrarie. - Added checks for using only global variables.
- Renamed
CarParkGeneratorclass toCarGenerator.
Generator (plugins):
- It is necessary to add support for some generator plugins for
IIIandVCgames. - It is necessary to update ALL plugins for the
SAmode. - Add plugin
Originalfor GTA III (optional). - Add plugin
Originalfor GTA VC (optional).
Generator (Condition class):
- Allow the use of the
gosubmethod as a condition. - Ignore inverting of conditional SCM functions.
- The
writemethod is no longer available. - Optimized inversion of conditions.
- The class is now in the
Corenamespace.
Genetrator ( Union class):
- Throw an error if the union has automatic properties.
- When declaring a static field, there will be an error message.
- The
OnLocalAutoInitandOnGlobalAutoInitmethods have been removed. - Automatic fields initialization.
- A
Unioncan be used as the field of another union; it is automatically initialized. Thestaticmodifier now affects all fields. If so, then the elements will be initialized as global variables. If not, they will be initialized as local variables.
Generator (other):
- The
XXXXX.Emptyproperties have been removed. Use the variable?(think and write later). - Fast conversion of vehicle types:
-
- If possible, make type casts of any available variables.
partial class TEST : Thread {
Car car;
public override void START( LabelJump label ) {
// car.anchor( true ); // FAIL
Boat boat = ( Boat ) car; // type cast (explicit only)
boat.anchor( true ); // GOOD
terminate_this_script();
}
}-
- CarGenerator -> Car
-
- CarGenerator -> Boat
-
- CarGenerator -> Tank
-
- Car -> Boat
-
- Car -> Tank
-
- Boat -> Car
-
- Boat -> Tank
-
- ...
Other goals:
- Publishing the source code on
GitHub. - Full documentation update.
- Using the development environment
Visual Studio 2022as recommended by the IDE. - Transition to the platform
.Net 6.0. - Require the use of
C# 10as the new recommended programming language when it is officially released.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels