Golden Sun Hacking Community
June 24, 2019, 03:24:20 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
  Home   Forum   DC Wiki Help Search Calendar Downloads Login Register  
Pages: [1]   Go Down
  Print  
Author Topic: GS HTML 5  (Read 3687 times)
0 Members and 1 Guest are viewing this topic.
jjppof
Modafoca

Regular Member
**

Coins: 0
Offline Offline

Gender: Male
Posts: 107

« on: September 23, 2018, 02:59:33 PM »

Almost two years ago, I started building an engine in HTML5. I'm sharing here the source of what is done.
These last days, I tried to refactor the code to make it somewhat readable.
The project is on github, feel free to fork and test things. A demo is available.

Repo: https://github.com/jjppof/goldensun_html5
Demo: https://jjppof.github.io/goldensun_html5/index
Logged

View Profile WWW
Fox
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 0
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2446

« Reply #1 on: September 25, 2018, 02:50:13 AM »

Oh!! Good job.
One problem I see is that if you press "2" or "3", and then click for full screen... when you exit full screen things look bad.
(I am using Chrome.)

I could probably look at your code and fix that, though.
Not sure how.
By game testing, it looks like it is assuming "1" layout for map resolution and size, but then 2/3 for everything else (Including screen_x/screen_y positions of map.... but readjusted to fit for 1's resolution.)
Maybe setScale again after exiting full screen?



I have one suggestion = That you could add a scale that fills the browser. (Might be more difficult, not sure.)
« Last Edit: September 25, 2018, 03:52:31 AM by Fox » Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Remember kids! Before you go on that interview, remember to wash your hands in teawater! *Coughs on hand* (Excuse me, I just coughed up a little teawater, so they're still clean!) You wouldn't want that hiring manager to be unimpressed.

May the force be with you!
Shoo! Why does it smell in here?
Maybe that's the wrong kind of force. *smirk*
View Profile
Luna_blade
The last member of the Luna clan
Luna Clan

Great Member
*

Coins: 0
Offline Offline

I am: Timeless. As in, i don't have much free time.
Posts: 544

« Reply #2 on: September 25, 2018, 12:09:56 PM »

 Happy This is really nice.
And here I was thinking every engine project died.
You were also the person that created the RPGMaker engine back then right?

The demo works well for me and this looks very promising.
Really good that you finished the walking and battle screen first. I hope you start making the overworld interactables (pillars and crates etc)
next. The only concrete feedback I have right now would be about the walking and collision. Walking seems just a bit too slow and the collision is still janky, likely because you started of with non-square collision detection as a start.

I also look forward to contributing on this project. I have very little free time, but I should be able to refactor things here and there.
If you like I can eventually help you make the project very maintainable.
Logged

"Hear the sounds and melodies
Of rilets flowing down
They're the verlasting songs
Whispering all the time
As a warning that behind some rocks
There's a rigid grap even
Oreads fear the tread"
View Profile
Fox
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 0
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2446

« Reply #3 on: September 25, 2018, 07:55:53 PM »

Yeah. Collision map doesn't have to be complicated. = I can see one 32-bit per tile. (Basically four bytes for tile type and the three heights.)
GS does a list of those, and then 8 bits a tile as indexes to the 32-bit data, but I'm saying if you went this way, you can do my suggestion instead, and skip the extra table. We don't need to worry with compressing things down. (Unless you want to.)
I would also like to contribute as well.


I wonder if Luna can make gsmagic "very maintainable?" Hm?
« Last Edit: September 25, 2018, 08:00:27 PM by Fox » Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Remember kids! Before you go on that interview, remember to wash your hands in teawater! *Coughs on hand* (Excuse me, I just coughed up a little teawater, so they're still clean!) You wouldn't want that hiring manager to be unimpressed.

May the force be with you!
Shoo! Why does it smell in here?
Maybe that's the wrong kind of force. *smirk*
View Profile
jjppof
Modafoca

Regular Member
**

Coins: 0
Offline Offline

Gender: Male
Posts: 107

« Reply #4 on: September 25, 2018, 11:51:04 PM »

You can contribute to the repository freely. Just give your profiles, then I can add you as collaborators.
I really want to make it public, so anyone can help and give ideas to improve.
Logged

View Profile WWW
Pages: [1]   Go Up
  Print  
 
Jump to:  

Cbox
Today at 08:05:17 AM
Fox: Such a patch would mean you need to be careful with item drops, coins, exp, etc. Because those things would then no longer be an infinite supply.  Whether or not one uses it depends on what they want to do with it.
Today at 07:55:01 AM
Fox: (High enough being based on the area you are in.)
Today at 07:54:02 AM
Fox: I had a thought today. What if I look into making a simple patch just for lulz.  One that works the same way as using Avoid, but it lasts from start to finish, and can't be disabled.  Avoid only works if your levels are high enough, though... so thought is to keep that as is.
Today at 01:55:17 AM
ryancaesar12345: hi guys i have new update in Golden Sun 2 Lost Age Revise Mod.ips try this. :)
Today at 01:54:16 AM
ryancaesar12345: where's that link?
Today at 01:53:56 AM
ryancaesar12345: i have no account in discord.*
Yesterday at 08:44:52 PM
Salanewt: Although in the case of Wish, you could probably just use Breeze instead.
Yesterday at 08:44:36 PM
Salanewt: Yeah, it's a messaging program sort of like Skype. I find that it's much easy to walk people through some of the basics of assembly, since that's what you'll need for most animation hacks.
Yesterday at 09:39:10 AM
ryancaesar12345: discord? im not good in asm or assembly.
June 22, 2019, 09:37:26 AM
MaxiPower: gpnna update my thread on progress of my character art if anyones interested. :P
June 21, 2019, 07:51:44 PM
Salanewt: Hey there! Animation editing can be tricky, but I can share some notes with you if you pop in on our Discord. Are you good with assembly?
June 21, 2019, 02:59:40 PM
ryancaesar12345: and how to change a death curse turn in hex editor?
June 21, 2019, 02:50:00 PM
ryancaesar12345: and how to make animation but changing palette only like wish blue i want to change violet. for AOE healing and earth element.
June 21, 2019, 02:47:44 PM
ryancaesar12345: im done already thanks man i change the icon in that tutorial and all i need is animation most of elemental like healing like wish but wind element. how to import animation in TLA editor in *game crashes* index
June 21, 2019, 12:01:35 PM
Fox: Oh that. You are talking about Caledor's tutorial?
June 21, 2019, 11:49:55 AM
Fox: So in little endian... 08FA0000 (32-bit) is the same as 00 00 FA 08 (8-bits) (Since GBA is little endian) ;;; but if this were big-endian, it would have been 08 FA 00 00 (8-bits)     
June 21, 2019, 11:42:17 AM
Fox: "in the ROM file" = I mean when using any other hex editor to look in the file... ROM section in VBA is 08000000-09FFFFFF, but ROM files are different sizes, so GS1 stops a quarter the way (08800000 / 8MB), and GS2 stops half way. (09000000 / 16MB)
June 21, 2019, 11:39:55 AM
Fox: I am not sure I understand what you are trying to do? ... But all little endian is is just reverse byte. (of the bytes in a data type).... So like... 8-bit is the same regardless of big or little endian. 16-bit is like 0102=big endian 0201=little endian .... 32-bit is like 01020304=big endian ; 04030201=little endian.  (I use 01-04 numbers to represent how the bytes are ordered by address.) ; 00FA0000 in the ROM file is 08FA0000 in VBA's memory viewer/and that's how it works when the game reads
June 21, 2019, 05:20:47 AM
ryancaesar12345: i sa that in icon compressor 00FA0000 -> in 00FA0008 hmm?
June 21, 2019, 05:14:41 AM
ryancaesar12345: how to convert in hex editor a address in little endian like this? 00FA0080?

Affiliates
Temple of Kraden Golden Sunrise
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.099 seconds with 22 queries.