James's OHRRPGCE Thursdays!
Moderators: Bob the Hamster, marionline, SDHawk
Glad that's over for now, although there will be more Google Play requirement bumps in future, and apparently more frequently.
What NDK version are you using, still the same one?
I think you're meant to go through the SDK changelog notes when you bump the target Android version, to see what behavioural changes it causes. There aren't terribly many of them, and most of them don't seem to apply to us, but I haven't gone through all of them. I did notice an interesting one about apps now requesting permissions at runtime, as actually needed, instead of at install time. That seems like a huge improvement over every app requesting a sinister list of permissions! But I assume you can continue to do things the old way and only request the permissions needed at install time - in particular to access external storage - the way we already do so.
(However, in the upstream commandergenius branch there are changes related to runtime permissions)
What NDK version are you using, still the same one?
I think you're meant to go through the SDK changelog notes when you bump the target Android version, to see what behavioural changes it causes. There aren't terribly many of them, and most of them don't seem to apply to us, but I haven't gone through all of them. I did notice an interesting one about apps now requesting permissions at runtime, as actually needed, instead of at install time. That seems like a huge improvement over every app requesting a sinister list of permissions! But I assume you can continue to do things the old way and only request the permissions needed at install time - in particular to access external storage - the way we already do so.
(However, in the upstream commandergenius branch there are changes related to runtime permissions)
- Bob the Hamster
- Lord of the Slimes
- Posts: 7658
- Joined: Tue Oct 16, 2007 2:34 pm
- Location: Hamster Republic (Ontario Enclave)
- Contact:
I am still using NDK r8
Right now, installing an ohrrpgce app says it requires no permissions.
I think you always automatically get storage access to your apps own storage folder, regardless of whether it is internal or external storage. I could be wrong, but I think an app only needs storage permissions outside of it's own folder
Right now, installing an ohrrpgce app says it requires no permissions.
I think you always automatically get storage access to your apps own storage folder, regardless of whether it is internal or external storage. I could be wrong, but I think an app only needs storage permissions outside of it's own folder
Yes, I think the reason we request that external storage access permission is only so ohrrpgce-game.apk can browse for .rpg files on an SD card, but packaged OHRRPGCE games have never needed that permission (so really it shouldn't have been requested).
If the .apks no longer request that permission at install time, then it sounds like supporting runtime permissions is actually mandatory. (Or maybe that permission was replaced with other ones?) Luckily, it will only break ohrrpgce-game.apk - it probably can't browse anymore. Could you try it?
There was also something in the change log about FileProvider, which means that the "send email" command might now be broken - that should be tested too. It can also be easily accessed from the F8 debug menu when running on Android ... however that menu itself can't be accessed. It would be nice to have a way to access it, at least in ohrrpgce-game.apk, but I can't think of any simple way to allow that.
If the .apks no longer request that permission at install time, then it sounds like supporting runtime permissions is actually mandatory. (Or maybe that permission was replaced with other ones?) Luckily, it will only break ohrrpgce-game.apk - it probably can't browse anymore. Could you try it?
There was also something in the change log about FileProvider, which means that the "send email" command might now be broken - that should be tested too. It can also be easily accessed from the F8 debug menu when running on Android ... however that menu itself can't be accessed. It would be nice to have a way to access it, at least in ohrrpgce-game.apk, but I can't think of any simple way to allow that.
Last edited by TMC on Tue Nov 27, 2018 10:20 pm, edited 1 time in total.
- Bob the Hamster
- Lord of the Slimes
- Posts: 7658
- Joined: Tue Oct 16, 2007 2:34 pm
- Location: Hamster Republic (Ontario Enclave)
- Contact:
Oh! I forgot I was supposed to test file browsing from ohrrpgce-game.apk
I'll try to get tot hat next week.
I spent most of my OHRRPGCE Thursday time making a few new maptiles for the world map
Also thinking about how to simplify the remainder of the plot to make it both shorter, and more interesting.
I'll try to get tot hat next week.
I spent most of my OHRRPGCE Thursday time making a few new maptiles for the world map
Also thinking about how to simplify the remainder of the plot to make it both shorter, and more interesting.
- Bob the Hamster
- Lord of the Slimes
- Posts: 7658
- Joined: Tue Oct 16, 2007 2:34 pm
- Location: Hamster Republic (Ontario Enclave)
- Contact:
Rainbows too!
(Timelapse!)
https://www.patreon.com/posts/clicking-and-23589152
Hmm... I suddenly get the urge to implement timelapse recording right into the OHRRPGCE. (Write a bunch of pngs (or gifs) to a folder, either for later manually or automatically creating a video, or even create something like .webm directly)
Eeek! Watching the video, I notice that at the 1:40 mark you found an enemy (the last one?) with all its elemental resists zeroed out. Feenick has been reporting this bug, it's happened to him a number of times, but I haven't been able to reproduce it. Some other data (default palette) gets zeroed out too. And I think he said it's happened to the last attack too. Do you have any idea what triggered it? It's hard to tell from the timelapse - you don't have additional timelapse frame captures, do you?
It was mildly amusing to see you trying to work out what had happened to the cc* constants after my recent rewrite :) (I should probably just remove carray() since it's just an alias to keyval.)
I see you do actually use Hamster Whisper. I had been wondering whether you do.
(Timelapse!)
https://www.patreon.com/posts/clicking-and-23589152
Hmm... I suddenly get the urge to implement timelapse recording right into the OHRRPGCE. (Write a bunch of pngs (or gifs) to a folder, either for later manually or automatically creating a video, or even create something like .webm directly)
Eeek! Watching the video, I notice that at the 1:40 mark you found an enemy (the last one?) with all its elemental resists zeroed out. Feenick has been reporting this bug, it's happened to him a number of times, but I haven't been able to reproduce it. Some other data (default palette) gets zeroed out too. And I think he said it's happened to the last attack too. Do you have any idea what triggered it? It's hard to tell from the timelapse - you don't have additional timelapse frame captures, do you?
It was mildly amusing to see you trying to work out what had happened to the cc* constants after my recent rewrite :) (I should probably just remove carray() since it's just an alias to keyval.)
I see you do actually use Hamster Whisper. I had been wondering whether you do.
- Bob the Hamster
- Lord of the Slimes
- Posts: 7658
- Joined: Tue Oct 16, 2007 2:34 pm
- Location: Hamster Republic (Ontario Enclave)
- Contact:
Oh, yes! I forgot to follow up on the zeroed elemental stuff.
All I remember is that I did the Sprite and added a blank enemy entry months ago, and this month I went back to add all the enemy stats.
I can try to reproduce next Thursday.
It was fun to go searching for specific code without remembering much about it, and finding it looking different than I saw it last :)
I do still use Hamster Whisper, but I wonder if I should just take the time to figure out how to do hamsterspeak syntax highlighting in Geany
All I remember is that I did the Sprite and added a blank enemy entry months ago, and this month I went back to add all the enemy stats.
I can try to reproduce next Thursday.
It was fun to go searching for specific code without remembering much about it, and finding it looking different than I saw it last :)
I do still use Hamster Whisper, but I wonder if I should just take the time to figure out how to do hamsterspeak syntax highlighting in Geany
- Pepsi Ranger
- Liquid Metal Slime
- Posts: 1457
- Joined: Thu Nov 22, 2007 6:25 am
- Location: South Florida
I haven't seen the Patreon page before. Just read through all of the posts, and I think the timelapses are really great. I like the whole setup over there.
For desert enemies, you need vultures (perhaps a whole gang of them with funny hats), and some kind of bug--either scorpions, scarabs, or both (or some weird hybrid of the two).
So...this page has been around since early 2016? Funny how I can look new community venues right in the face and not recognize them. Great way to keep the fans engaged.
For desert enemies, you need vultures (perhaps a whole gang of them with funny hats), and some kind of bug--either scorpions, scarabs, or both (or some weird hybrid of the two).
So...this page has been around since early 2016? Funny how I can look new community venues right in the face and not recognize them. Great way to keep the fans engaged.
Yes, please. Or Sublime. Or both. When you learn HamsterSpeak in regular Notepad, you don't know what you're missing. As soon as you try writing scripts in programs designed for script-writing, you suddenly see an entire world of good formatting and tagging that's passing you by. This would be a good idea...eventually (when it no longer becomes just one more thing to keep up with).I do still use Hamster Whisper, but I wonder if I should just take the time to figure out how to do hamsterspeak syntax highlighting in Geany
Place Obligatory Signature Here
- Bob the Hamster
- Lord of the Slimes
- Posts: 7658
- Joined: Tue Oct 16, 2007 2:34 pm
- Location: Hamster Republic (Ontario Enclave)
- Contact:
Aha! I figured out how to reproduce the elemental zeroes bug.
* Go into the enemy editor.
* Click the "+New" button at the top of the enemy browser
* This creates a new blank enemy
* Exit all the way out of custom, saving changes to the rpg file
* Re-open the rpg file.
* Look in the enemy editor browser. You will see a second blank enemy, but this one will be both blank AND uninitialized.
I think it relates to this message from c_debug.txt
@Pepsi Ranger
I love drawing bugs, but I rather dislike drawing feathers, so I'll probably be taking you up on that scarab suggestion :)
The Patreon page has existed since 2016, but I barely touched it for the first year, and it was a good while before anybody actually backed it.
* Go into the enemy editor.
* Click the "+New" button at the top of the enemy browser
* This creates a new blank enemy
* Exit all the way out of custom, saving changes to the rpg file
* Re-open the rpg file.
* Look in the enemy editor browser. You will see a second blank enemy, but this one will be both blank AND uninitialized.
I think it relates to this message from c_debug.txt
Code: Select all
rpgfix:Adjusting record count for Enemies lump, 142 -> 143 (diff 1)
@Pepsi Ranger
I love drawing bugs, but I rather dislike drawing feathers, so I'll probably be taking you up on that scarab suggestion :)
The Patreon page has existed since 2016, but I barely touched it for the first year, and it was a good while before anybody actually backed it.
I did some really basic and buggy syntax highlighting for hspeak using Brackets. The language support extensions require using and understanding CodeMirror, which is a JavaScript-based mode for parsing text. In theory, Brackets can also support auto-completion, error detecting, and other fancy features like that, if I'm not mistaken. It's also pretty easy to write extensions for Brackets that add menu items and UI elements. Maybe it's possible to write a script that can interact with the OHR from within Brackets, like compiling the scripts and running test game from the text editor. That's beyond my knowledge, though, and probably just a pipe dream.
However, I did manage to wrap my head around the CodeMirror modes enough to get basic text highlighting working, and figured out how to use Brackets "themes" to customize the colors of the highlights. I looked into using having the extension parse plotscr.hsd or the dictionary xml file to find built-in script commands and autocomplete using that, but I'm pretty inexperienced writing utilities and hit a wall pretty fast. Perhaps there's a file with all of the plotscripting commands that's easier to parse, as well.
However, I did manage to wrap my head around the CodeMirror modes enough to get basic text highlighting working, and figured out how to use Brackets "themes" to customize the colors of the highlights. I looked into using having the extension parse plotscr.hsd or the dictionary xml file to find built-in script commands and autocomplete using that, but I'm pretty inexperienced writing utilities and hit a wall pretty fast. Perhaps there's a file with all of the plotscripting commands that's easier to parse, as well.
My pronouns are they/them
Ps. I love my wife
Ps. I love my wife
- Bob the Hamster
- Lord of the Slimes
- Posts: 7658
- Joined: Tue Oct 16, 2007 2:34 pm
- Location: Hamster Republic (Ontario Enclave)
- Contact:
Happy Thursday!
I recorded and posted my whole dang coding session tonight.
Here it is [yt]m_p0hzgYWhY[/yt]
(actually it will be uploading for another 20 minutes, so that link doesn't work just yet, but I am going to bed, I'm not waiting around for youtube)
I recorded and posted my whole dang coding session tonight.
Here it is [yt]m_p0hzgYWhY[/yt]
(actually it will be uploading for another 20 minutes, so that link doesn't work just yet, but I am going to bed, I'm not waiting around for youtube)
Last edited by Bob the Hamster on Sat Jan 19, 2019 3:47 pm, edited 1 time in total.
- Nathan Karr
- Liquid Metal Slime
- Posts: 1215
- Joined: Fri Jan 25, 2008 3:51 am
- Contact:
- TheLordThyGod
- Slime Knight
- Posts: 218
- Joined: Thu May 14, 2015 9:18 pm
- Location: Muscle Shoals, AL, USA, Earth, Solar System, Milky Way, Known Universe
- Contact:
Great, one less request to remember. :)
I still need to fix non-50*50 attacks to center on their targets though. But at the same time I've been thinking about adding options to set the x/y alignment between the attack and the target. That alignment setting could apply to "Screen Center" too... but then it would need to be renamed!
What was all that tape for??
I couldn't help myself, I fixed that crash bug you found, since it was easy.
I notice that the circle hero pathfinding cursor behaves strangely, sometimes flickering or taking a moment to disappear.
It's kind of funny that you repeatedly quit out of the game and restart when you modify an item or a shop. I'd have thought you'd know better!
I still need to fix non-50*50 attacks to center on their targets though. But at the same time I've been thinking about adding options to set the x/y alignment between the attack and the target. That alignment setting could apply to "Screen Center" too... but then it would need to be renamed!
What was all that tape for??
I couldn't help myself, I fixed that crash bug you found, since it was easy.
I notice that the circle hero pathfinding cursor behaves strangely, sometimes flickering or taking a moment to disappear.
It's kind of funny that you repeatedly quit out of the game and restart when you modify an item or a shop. I'd have thought you'd know better!
Last edited by TMC on Sat Jan 19, 2019 2:52 am, edited 2 times in total.