RP and RepeatPan's mods

Hi all, I had some issues to get the Spawn Items working. I never got the extra row in the menu to spawn items when using the latest version of RP loader. But when I stepped back and used the 2200 with all mods for r22, it worked.

In any way, here is my mod test video. I have not had the time to do a big creative build yet, but I will :smiley:

Video in unlisted mode when writing this, will be official on my channel tomorrow (saturday).

Looks neat. That the Spawn entry did not appear is an issue I’m currently trying to fix… It’s a bit difficult though. The library they’ve chosen is kind of… errr… not handsome? Adding new items when the menu has already been ā€œenchantedā€ with the evil JS magic seems to not work at all. I’m trying to figure out how to bypass that since we don’t have any kind of proper JS loading (and sadly, much less power than in lua. :frowning:)

I’ll add it to the list of spotlights.

Edit: Good news! I found a solution, I think. Bad news: I really, really hate it.

Alpha 27 didn’t bring any changes in the lua, so we’re good.

For those that encountered errors/non-working spawn menus, I’ve got a dev build of rp and rp_spawn_stuff that could be tested. In theory, the evil hack I’m using should make it possible to add/modify the start menu at any time, it works quite nice so far but a broader audience can’t hurt.

And with this I call it a night. Tomorrow we’ll probably see the pattern-replacement-thingy for alternate naming (now that the start menu bug is hopefully dead) and perhaps some sort of simple mod interface. Remember that I have absolutely zero graphical skills, so prepare some eyebleach.

1 Like

Updates, kind of. Requires the git version, I’m not going to smod these:

  • rp_hotfix adds a new option called mods.rp_hotfix.enable_mouse_panning which re-enables the old drag-to-scroll behaviour.
  • As requested by @phoriist (and a few others I think?), the json for alternate naming has been changed. It’s now ""gender" : { "parts" : [ old list as before ], "replacements" : [ [ "search", "replace" ], ... ] }. I’ve updated ascendies with a few nonsense rules. See a few examples of the names below. (Personal favourite I think: ā€œHookol Forsddon, Dork Lord of Ollā€)
  • Alternate naming has an option to dump names now, too. By specifiying dump inside the config block, you can set an amount of names to be dumped. Example config attached below.
  • I realize that the new config dealing is sub-optimal. It’s more complicated to share configurations right now, which is something I want to avoid. Concentrating the options does make sense, however. I’ll figure something out.

1 Like

What do you mean by an interface? Like a modpicker? And I’ll improve any ui based graphics you want (or that actually look bad) as it’s one of the few bits of graphics I can kinda do, still practicing with icons though and haven’t got them quite down yet.

I modified the hotfix to pan when the mouse gets within 20px of an edge in theory. In actuality it is giving errors that _radiant.client is nil and stops the lua from working. Line 24 to be precise. Any ideas?

1 Like

I imagine a new button in the main menu that reads ā€œModsā€ or something, which takes you to an interface. There you can enable and disable any (rp-)mod (might needs a restart to take effect, but better than nothing right?), read the description/icons of mods and so forth.

If that works, I would add a new option, which would allow users to configure the mods from within the window. Mods could have their own view (that’s how Ember works…?) that is then loaded to configure it. The changes are then saved back into the user_settings.json.

You’re calling this on the server side, I guess. Also, I found a few interesting strings in the binary:

.rdata:00F61310 00000007 C screen
.rdata:00F61318 0000000A C get_width
.rdata:00F61324 0000000B C get_height

That means likely somewhere around _radiant.renderer.scene, there’s a screen object floating around with those two functions. I’ll have to brute-force a little to find it.

Edit: Dear Jesus, I think I love decoda. _radiant.renderer.screen has two functions, get_width and get_height. Returns 1916x1054 for me, which seems to be the game view.

Let me guess:

ā€œ[aeiu]ā€ - any of that characters ( Abelard )
ā€œs$ā€ - character and all after it ( Oswald )
ā€œtā€ - exactly that character ( Mystia )

I need to know it for updating :stuck_out_tongue_winking_eye:

Wrong. For a comprehensive guide, check out the lua handbook.

Short:

  • $: end of the string (special character), same as ^ (beginning of the string)
  • [aeiou]: any of the characters
  • [a-f]: a, b, c, d, e, f
  • t: any character
  • t+: one or more t (as many as possible)
  • t-: one or more t (as few as possible)
  • . : any character
  • t* : zero or more t (as many as possible)
  • a? : zero or one a

And technically, you can catch-and repeat too, so captures is another chapter you should check out. For example, ["([aeiou])", "%1%1"] would double every vowel.

Remember that this is case sensitive, i.e. ā€œaā€ is not ā€œAā€.

For restarts just do what I suggested and get it disable/enable then reopen the game with a execute command.

That fixed it for the client bug, now I’ve just got to figure out why calling it isn’t working. rp.log is still the same on the lua side right?

Yeah. JS logs into the stonehearth_mod_server.log, the client side (where Camera stuff happens) into stonehearth_mod.log.

I’m currently working on a side-scrolling implementation and it works quite smooth.

I’ll have to take a look to see what you did later then as mine seems to work fine except for the no scrolling part.

On an unrelated note I just noticed that you have a title.

You’re next on the list, don’t you worry :wink:

You don’t want to know what I had to endure to get it. :frowning:


Meanwhile, I’ll just drop this and this, mention this commit and act totally mysterious.

if memory serves, Radiant is running a customized version… if you had your wizardy hands on that, the internet might just implode…

edit: @Xavion, I had one in mind, but @geoffers747 felt ā€œThat Guyā€ wasn’t befitting of your most excellent talents…

1 Like

OK, hacking radiant as we speak. I’m actually still using SciTE as my main editor and good ol’ grep.pl to find stuff instead of decoda, I guess it’s a habit thing. If I could get my hands on anything, it would be the access to the JS devtools. :wink:

In related news, I am severely disappointed. It’s been two hours since I’ve released that side-scrolling feature everybody asked for (and the fast-scrolling-key nobody asked for but I thought would make a nice addition) and nobody mentioned it.

Note to self: Hype such things in the future, don’t try to act mysteriously.

2 Likes

You’re meddling with things I imagine a lot of people (myself included) have no idea about.

Be clear, be bold.

Make sure people know they’re downloading something that will enable them to scroll with their mouse!

If you get yourself the developer preview of RP here, the current version of rp_hotfix here, and set some settings in your user_settings.json such as these here, you can move your screen with your mouse (by gently touching it).

hides

The ā€œgentlyā€ part is important. Borders have feelings, too. To be more precise, however, I’ve started documenting my stuff on the GitHub Wiki, after I’ve described the config tools of RP I’ll move on to document the mods, starting with rp_hotfix.

2 Likes

That title’s slowly slipping away from you.

I can feel it.

2 Likes

I’ve just done what you’ve said!

On a serious note again, as I’ve said in the edit before; I’ve started to properly document this in hopefully not-so-programming gibberish. I mean, ā€œproperlyā€ as in ā€œdescribing everything carefullyā€, not exactly as in ā€œdoing pictured step-by-step manualsā€ (that should not be necessary? I think there’s a guide to the user_settings around somewhere, perhaps I can wrap up a tool or temporary mod too until the new mod interface hits).

If there’s a question about how to install or configure something I’m always available.

2 Likes

well, I for one applaud your efforts at documentation… one thing I always procrastinated on in my own development projects … :blush:

1 Like