Future LUA Removing

mod

#1

On github has some LUA infrastructure remove. And i have some questions. How i can make some “complicated” and nonstandart gameplay mod features? I think json is not enough for everything.


#2

Submit the C++ code to support your mod. For instance, the Boats mod requires several hundred lines of code to support boats and amphibious vehicles, but that logic is handled in the main C++ code, not through LUA.


#3

LUA has limited features to implement in-game, though they are helpful and very efficient for modding :3


#4

So, if i want to create a mod with some new func like iuse (mission calling throw item use), or maybe some other extraordinary stuff, first i need to compile it from whole the game, and then send it to the git branch?


#5

You would need to get the iuse functions your mod requires into the mainline repo. Your mod could then be independent of the repo.

I could remove Boats from the mainline repo tomorrow and host it on a Dropbox, and the Boats mod would still work because the C++ functions to support Boats are in the mainline repo. They’re completely dead code if you don’t have Boats enabled, but they’re there.

You would need to do the same thing: get your functions in mainline. If only your mod uses them, that’s perfectly fine. You probably would want to explain that your mod depends on those functions so no one cleans them up in a way that breaks your mod, but that’s fine.


#6

Thanks for explanation. But i think it’s a further perspective. Now i need to learn C++ instead of LUA. Welp, it’s kinda hard… But i’m still little bit disappointment because that strange system of code integration is uncomfortable for maintaining code, and i’m be afraid to break up something or pollute a code. Because i need to code some bulky and extraordinary array of various code. But thanks again. I hope i can handle it.


#7

sounds like an adjacent // comment or the like to explain its function.


#8

Unfortunately, the effort to maintain the LUA interface is not justified by the few mods that take advantage of it. Sorry.


#9

With the loss of LUA completely, Its completely bricked most of my worlds and saves. Even if the LUA interface is unmaintained, could something be kept for backwards compatibility?


#10

Unfortunately, no. That’s not possible.

All the mods in the CleverRaven that used LUA were migrated to JSON and are still supported with backwards compatibility.

Might I suggest sticking with the 0.D release instead of grabbing the latest experimental for a while? 0.D is stable and a great game, while latest experimental, right this moment, is a Wild West of game-breaking bugs and crazy experimentation. The LUA compatibility issue might get resolved in a couple of months, as well as the bugs from the current merge flood.


#11

Okay, i understand the state of things. But have some questions. Whats requirements for a mods code? What about it size, or maybe what if i THEORETICALLY want to create some big bunch of code (i admit what i cant handle it now). Of in the other words, whats borders of offer code?

(sry 4 ingland…)


#12

The Boats mod leaves its wet, sloppy footprints all over the vehicle code, to the tune of several hundred lines of code with more planned.

There’s no real limit, there’s just a question of how invasive your changes are and how much they’re going to complicated other code efforts.


#13

Oh, thanks for answers!