Homebrew LPP Help

Megalegacy98

Well-Known Member
OP
Member
Joined
Aug 11, 2015
Messages
505
Trophies
0
Location
United States
XP
430
Country
United States
Code:
Sound.init()
topscreenimg = Screen.loadImage("/theme/top.png")
bottomscreenimg = Screen.loadImage("/theme/bottom.png")
bgmusic = Sound.openWav("/theme/bgmusic.wav",false)
sysdetailmenu = 0
homebrew = 0
gamecard = 0
themes = 0
maxy = 6
y = 1
selected = Color.new(255,255,0)
unselect = Color.new(0,255,255)
oldpad = Controls.read()

while true do
pad = Controls.read()

if (Controls.check(pad,KEY_DUP)) and not (Controls.check(oldpad,KEY_DUP)) then
   y = y - 1
end

if (Controls.check(pad,KEY_DDOWN)) and not (Controls.check(oldpad,KEY_DDOWN)) then
   y = y + 1
end

if maxy < y then
   y = 1
end

if y <= 0 then
   y = maxy
end

Screen.waitVblankStart()
Screen.refresh()
Screen.clear(TOP_SCREEN)
lol = {unselect,unselect,unselect,unselect,unselect,unselect}
lol[y] = selected
Screen.debugPrint(45,0, "Homebrew Menu v 0.1a",unselect,TOP_SCREEN)
Screen.debugPrint(45,30,"Load Game Cartridge",lol[1],TOP_SCREEN)
Screen.debugPrint(45,45,"Load Homebrew",lol[2],TOP_SCREEN)
Screen.debugPrint(45,60,"Reboot System",lol[3],TOP_SCREEN)
Screen.debugPrint(45,75,"See system details",lol[4],TOP_SCREEN)
Screen.debugPrint(45,90,"Toggle themes",lol[5],TOP_SCREEN)
Screen.debugPrint(45,105,"Exit",lol[6],TOP_SCREEN)
Screen.flip()


if homebrew == 1 then
   dofile(System.currentDirectory().."/homebrew.lua")
end

if sysdetailmenu == 1 then
   dofile(System.currentDirectory().."/sysdetails.lua")
end

if gamecard == 1 then
   dofile(System.currentDirectory().."/gamecard.lua")
end

if themes == 1 then
   if Sound.isPlaying(bgmusic) then
     Sound.close(bgmusic)
   end
   Screen.clear(TOP_SCREEN)
   Screen.clear(BOTTOM_SCREEN)
end

if themes == 2 then
   Screen.drawImage(0,0,topscreenimg,TOP_SCREEN)
   Screen.drawImage(0,0,bottomscreenimg,BOTTOM_SCREEN)
   Sound.play(bgmusic,LOOP,0x09)
end

if (Controls.check(pad,KEY_A)) and not (Controls.check(oldpad,KEY_A)) and y == 1 then
   gamecard = 1
end

if (Controls.check(pad,KEY_A)) and not (Controls.check(oldpad,KEY_A)) and y == 2 then
   homebrew = 1
end

if (Controls.check(pad,KEY_A)) and not (Controls.check(oldpad,KEY_A)) and y == 3 then
   System.reboot()
end

if (Controls.check(pad,KEY_A)) and not (Controls.check(oldpad,KEY_A)) and y == 4 then
   sysdetailmenu = 1
end

if (Controls.check(pad,KEY_A)) and not (Controls.check(oldpad,KEY_A)) and y == 5 then
   themes = 2
   else
   themes = 1
end

if (Controls.check(pad,KEY_A)) and not (Controls.check(oldpad,KEY_A)) and y == 6 then
   Sound.term()
   System.exit()
end

Screen.refresh()
Screen.waitVblankStart()
oldpad = pad
end
 
Last edited by Megalegacy98,

730

Professional Shitposter
Member
Joined
Apr 2, 2015
Messages
485
Trophies
0
XP
628
Country
Argentina
Well to begin with, indent your code or else nobody will understand anything.
As for the code itself, you're doing some weird shit with the screen functions.
The order should be like this:
Code:
Screen.waitVblankStart()
Screen.refresh()
Screen.clear(TOP_SCREEN)
Screen.clear(BOTTOM_SCREEN)
--Print/draw stuff
Screen.flip()
 
Last edited by 730,

Megalegacy98

Well-Known Member
OP
Member
Joined
Aug 11, 2015
Messages
505
Trophies
0
Location
United States
XP
430
Country
United States
Well to begin with, indent your code or else nobody will understand anything.
As for the code itself, you're doing some weird shit with the screen functions.
The order should be like this:
Code:
Screen.waitVblankStart()
Screen.refresh()
Screen.clear(TOP_SCREEN)
Screen.clear(BOTTOM_SCREEN)
--Print/draw stuff
Screen.flip()
Haha, I guess I should have. Sorry about that.

I guess I'm blind because I don't see where I went wrong on the screen functions. That's what I did with my menu (the homebrew menu part). Are you talking about the y == * parts?
 

730

Professional Shitposter
Member
Joined
Apr 2, 2015
Messages
485
Trophies
0
XP
628
Country
Argentina
Haha, I guess I should have. Sorry about that.

I guess I'm blind because I don't see where I went wrong on the screen functions. That's what I did with my menu (the homebrew menu part). Are you talking about the y == * parts?
No, I mean there are lots of clean()s and whatnots. There should be just 2 at the beginning of the loop (one for top screen, the other for bottom screen) along with the waitforvblank and refresh or whatever, then just the flip() at the end of the loop.
Oh also, variable naming conventions 101: capitalize the first letter on words on variables, except for the first word, i.e. when you have "topscreenimg" make it "topScreenImg". It's another thing that helps readablity, just like indentation.
 
Last edited by 730,

Megalegacy98

Well-Known Member
OP
Member
Joined
Aug 11, 2015
Messages
505
Trophies
0
Location
United States
XP
430
Country
United States
No, I mean there are lots of clean()s and whatnots. There should be just 2 at the beginning of the loop (one for top screen, the other for bottom screen) along with the waitforvblank and refresh or whatever, then just the flip() at the end of the loop.
I see. I will fix my code up a bit and see if that works. Thanks!

--------------------- MERGED ---------------------------

Doesn't work. I got rid of the other stuff and put the Screen.flip() at the end of the loop and the other elements at the start.
 
  • Like
Reactions: 730

Rinnegatamante

Well-Known Member
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
29
Location
Bologna
Website
rinnegatamante.it
XP
4,857
Country
Italy
You didn't read the rest of the opening post.

Yeah you right, i was in a hurry cause i was cooking for the launch so i asnwered first question i seen without overchecking the entirety of the post, my bad :(

@Megalegacy98 can you ident your code? It's a bit hard to give support for hard-reading codes.
 
  • Like
Reactions: Jwiz33 and 730

Rinnegatamante

Well-Known Member
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
29
Location
Bologna
Website
rinnegatamante.it
XP
4,857
Country
Italy
Not at all but it's much more readable. What's the problem you encountered? (P.s., instead of 0-1 values like C, LUA accepts also boolean values but in reality they are equal. I prefer boolean ones to make my codes cleaner)
 

Megalegacy98

Well-Known Member
OP
Member
Joined
Aug 11, 2015
Messages
505
Trophies
0
Location
United States
XP
430
Country
United States
Not at all but it's much more readable. What's the problem you encountered? (P.s., instead of 0-1 values like C, LUA accepts also boolean values but in reality they are equal. I prefer boolean ones to make my codes cleaner)
I didn't say my problem was fixed lol. The problem is nothing shows up in the screen.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3Nv2 @ K3Nv2:
    How do you know if the night will be good when you're asleep
  • BakerMan @ BakerMan:
    because i didn't say i was asleep
  • BakerMan @ BakerMan:
    i said i was sleeping...
  • BakerMan @ BakerMan:
    sleeping with uremum
  • K3Nv2 @ K3Nv2:
    Even my mum slept on that uremum
  • TwoSpikedHands @ TwoSpikedHands:
    yall im torn... ive been hacking away at tales of phantasia GBA (the USA version) and have so many documents of reverse engineering i've done
  • TwoSpikedHands @ TwoSpikedHands:
    I just found out that the EU version is better in literally every way, better sound quality, better lighting, and there's even a patch someone made to make the text look nicer
  • TwoSpikedHands @ TwoSpikedHands:
    Do I restart now using what i've learned on the EU version since it's a better overall experience? or do I continue with the US version since that is what ive been using, and if someone decides to play my hack, it would most likely be that version?
  • Sicklyboy @ Sicklyboy:
    @TwoSpikedHands, I'll preface this with the fact that I know nothing about the game, but, I think it depends on what your goals are. Are you trying to make a definitive version of the game? You may want to refocus your efforts on the EU version then. Or, are you trying to make a better US version? In which case, the only way to make a better US version is to keep on plugging away at that one ;)
  • Sicklyboy @ Sicklyboy:
    I'm not familiar with the technicalities of the differences between the two versions, but I'm wondering if at least some of those differences are things that you could port over to the US version in your patch without having to include copyrighted assets from the EU version
  • TwoSpikedHands @ TwoSpikedHands:
    @Sicklyboy I am wanting to fully change the game and bend it to my will lol. I would like to eventually have the ability to add more characters, enemies, even have a completely different story if i wanted. I already have the ability to change the tilemaps in the US version, so I can basically make my own map and warp to it in game - so I'm pretty far into it!
  • TwoSpikedHands @ TwoSpikedHands:
    I really would like to make a hack that I would enjoy playing, and maybe other people would too. swapping to the EU version would also mean my US friends could not legally play it
  • TwoSpikedHands @ TwoSpikedHands:
    I am definitely considering porting over some of the EU features without using the actual ROM itself, tbh that would probably be the best way to go about it... but i'm sad that the voice acting is so.... not good on the US version. May not be a way around that though
  • TwoSpikedHands @ TwoSpikedHands:
    I appreciate the insight!
  • The Real Jdbye @ The Real Jdbye:
    @TwoSpikedHands just switch, all the knowledge you learned still applies and most of the code and assets should be the same anyway
  • The Real Jdbye @ The Real Jdbye:
    and realistically they wouldn't

    be able to play it legally anyway since they need a ROM and they probably don't have the means to dump it themselves
  • The Real Jdbye @ The Real Jdbye:
    why the shit does the shitbox randomly insert newlines in my messages
  • Veho @ Veho:
    It does that when I edit a post.
  • Veho @ Veho:
    It inserts a newline in a random spot.
  • The Real Jdbye @ The Real Jdbye:
    never had that i don't think
  • Karma177 @ Karma177:
    do y'all think having an sd card that has a write speed of 700kb/s is a bad idea?
    trying to restore emunand rn but it's taking ages... (also when I finished the first time hekate decided to delete all my fucking files :wacko:)
  • The Real Jdbye @ The Real Jdbye:
    @Karma177 that sd card is 100% faulty so yes, its a bad idea
  • The Real Jdbye @ The Real Jdbye:
    even the slowest non-sdhc sd cards are a few MB/s
  • Karma177 @ Karma177:
    @The Real Jdbye it hasn't given me any error trying to write things on it so I don't really think it's faulty (pasted 40/50gb+ folders and no write errors)
    Karma177 @ Karma177: @The Real Jdbye it hasn't given me any error trying to write things on it so I don't really...