PDA

View Full Version : Should I try to make a HLE?


score_under
June 28th, 2008, 02:22 PM
You guys decide if this is too big a thing to try to achieve, but I have been thinking for a while now whether or not I should start to make a Pokémon HLE.
Basically it would run on INI files, then check them to find if certain customizations are made (eg. shiny hack) and what version to treat the ROM as, and then it will dump the graphic tilesets, trainers, pokés, etc, for future use and HL-Emulate the ROM using SDL and C.
This would, obviously, be an extremely fast Pokémon Advance emulator for slow systems and would allow for easy cheats, hacks, fast debugging, etc and so forth.

The drawback is that it would take a year+ to complete, and maybe a few months (or weeks, at the pace I sometimes work) to get a working (albeit lacking in some features) version.

So, should I attempt or would it be a waste of my time? I, personally, would love to go for it but don't know if it would be worth the time that I put into it.

Some of my visions of ease of use/implementation:
A menu for custom cheats "Make poké X shiny", "Get poké Y", "Increase all levels"...
(Evidently) A custom save file format.
Opportunity to create a hi-detail tileset map and set the path in the INI.
Opportunity to resize viewing port of window...

Obviously, I will use some simpler replacements for some routines, like not bothering with Secret TIDs and Original TIDs, but just ((rand()%4096)==0) for shiny hack.

The best thing is, I won't even have to use windows menus, you could easily press "start" go to "options" and then edit some of the stuff there, like tileset hacks, the cheats, etc.

The second-best thing is, it will be able to effortlessly port to mac and linux because it uses SDL and other open-source stuff (but I'd need someone with those OSs to help me, although I have linux, but it cannot be used on this hardware due to closed-source drivers).

Should I go for it or not?

Swampert 22
June 29th, 2008, 12:16 AM
Well I would certainly support this project, it sounds very promising and would really show your programming abilities. The opprtunities for this to be ported on other OSs will certainly gain attention, so I say, "Go for it!"

score_under
June 29th, 2008, 02:52 AM
Yay :) I just thought I was being over-ambitious, but if others do have confidence in me, then I'm going to go for it!

robie392
June 30th, 2008, 08:36 AM
If you could make that it would be the coolest tool that was every made, and it would be a life saver to many people so please give it your best shot because I think you are fully capable of taking on this project!

score_under
June 30th, 2008, 10:22 AM
Wow... You registered and made a profile and all that stuff, just to encourage me to make this? Thanks :D

EDIT: Can somebody please tell me the offsets in Fire Red for the message box font and the sign font? I can't seem to find them anywhere.

GKS
June 30th, 2008, 04:48 PM
This seems like a hard project, but if you are capable of making this, then I guess it will turn out fine. Well good luck on trying to make this.

cooley
July 1st, 2008, 10:31 AM
Awesome! If you made this, everyone would like it!
If I understand correctly, you open your ROM, then play it, and you can edit it on the spot? If that is how it is, then WOW!

Overall, I'd say go for it! With your skills, I think you can complete it in like, 3/4 of the time! ;)

score_under
July 1st, 2008, 12:37 PM
Obviously, since it's a HLE (meaning it decompiles the resources instead of letting the game code do that), it will skip the title screen too.

But seriously, I need the offset(s) for the sign font and the normal message box font in FR!
EDIT: Wait, I found something : Go to tile molester, row-interleaved mode, codec 2bpp linear reverse, and go to address 1ee8fa.

Master_Track
July 1st, 2008, 01:06 PM
Wow that sounds like a very interesting, though hard to make project.
As for me, I think you will be able to do this. If you wouldn't mean it seriously, you wouldn't ask other ppl if they would like it cause otherwise there would be no need to do it.
So..yea, you seem ambitious, so go for it and you will be able to do it ^^
The ambitious ones are the great ones, never forget :p

Melash
July 1st, 2008, 02:36 PM
WOW! Sounds awesome! Now get to work!!! xD

Megiddo-san
July 1st, 2008, 05:43 PM
Would it be possible to include a midi recorder?

Wichu
July 2nd, 2008, 10:56 AM
A MIDI recorder wouldn't really be possible... Couldn't you just dump the music files and find a converter?

And I can see this being able to make ROM hacks compatible with other games made in Sphere/RMXP/etc.

Teh Baro
July 3rd, 2008, 12:48 AM
Sounds big, but I don't really get the point of it.

score_under
July 3rd, 2008, 12:47 PM
The point: It will be like VBA in its looks, but it will skip all sorts of intro and rubbish, and load quickly, etc.
I'm making {very} slow progress on it at the moment, unfortunately, but I should be able to speed up soon.

I think that it would also rock that some ROM-Hacker activates a walk-through-walls option, goes to a place they want and replace the tile (That would work especially well with high-detail mode tiles).

I will also implement a script "debugger", which will pause a script at each command and either turn debug mode off (continue), keep debug mode on (single-step), breakpoint the command or edit it.
The longest part to program of this program, by far, will be the endless SPECIAL 0x?? values.

@megiddo, your CSS signature has the opacity set too low. I can't read the text, and the text is also too narrow. Your background picture is also stretched when it should be either resized in proportion, cropped, or both. Also, in that second post of yours you are referring to a totally non-existent post, so you may as well delete it (you can find that option while doing a "full edit" on your post).


PS. You don't know how long it took for me to code a Neo-Geo 2BPP format decoder.
So much math error :(

The rather undescriptive "unsigned int j" is the length of bytes to decode.
fontwidth is 128 in the case of the japanese fonts, and 16 in the case of the english fonts.
You can probably work the rest out yourself.

void ConvertFrom2BPP(char*charbuf,SDL_Surface*font,
unsigned int j,unsigned int fontwidth)
//Yes, I split a line to fit it in to the code box.
{
unsigned int i=0,temp,k=0,l,m;
while(i<j)
{
k=0;
while(k<64&&i<j)
{
l=k%8;
m=4-l;
temp=charbuf[i]&0xC0;
temp=temp>>6;
if(temp==0)temp=3;
((unsigned char*)(font->pixels))
[((k>>3)*font->pitch)+(k%8)+((i>>4)*8)%fontwidth+
((unsigned int)(i/(fontwidth*2)))*8*font->pitch+m-l]=temp;
temp=charbuf[i]&0x30;
temp=temp>>4;
if(temp==0)temp=3;
k++;
((unsigned char*)(font->pixels))
[((k>>3)*font->pitch)+(k%8)+((i>>4)*8)%fontwidth+
((unsigned int)(i/(fontwidth*2)))*8*font->pitch+m-l]=temp;
temp=charbuf[i]&0x0C;
temp=temp>>2;
if(temp==0)temp=3;
k++;
((unsigned char*)(font->pixels))
[((k>>3)*font->pitch)+(k%8)+((i>>4)*8)%fontwidth+
((unsigned int)(i/(fontwidth*2)))*8*font->pitch+m-l]=temp;
temp=charbuf[i]&0x3;
if(temp==0)temp=3;
k++;
((unsigned char*)(font->pixels))
[((k>>3)*font->pitch)+(k%8)+((i>>4)*8)%fontwidth+
((unsigned int)(i/(fontwidth*2)))*8*font->pitch+m-l]=temp;
k++;
i++;
}
}
return;
}

I remove all "if(temp==0)temp=3;" lines when debugging the font decoder.

robie392
July 31st, 2008, 02:46 AM
Mabey could you add a fuction to speed up the frams per-second so you could get farther in the game Faster, like 5x the speed?

pokemon_hacking
August 8th, 2008, 09:23 PM
how far done r u now because i cant wait for this tool to come out

score_under
August 10th, 2008, 01:13 PM
how far done r u now because i cant wait for this tool to come out
It'll be rather a long time, still (I'm working on PKSV and Real Life™ too) but I'll get it finished as fast as possible!

PS. I've never heard of a "scritping" tool... [Your sig]

.Iramet
September 6th, 2008, 01:21 PM
hey are you still working on this because this would be a major help to me...if so how long until completion.

Lover's Kite
September 6th, 2008, 02:53 PM
This is quite a nice idea. I'll see how far this goes, hopefully you don't give up :x

hi sir tomato my password is syvniti
September 7th, 2008, 12:02 AM
It'll be rather a long time, still (I'm working on PKSV and Real Life™ too) but I'll get it finished as fast as possible!

PS. I've never heard of a "scritping" tool... [Your sig]

Well, Hackmew said the next version of XSE would be called Scritping Eitdor Xrteme

But if you need any Visual basic programers then I can help you!

Edit, just had to come with a childhish joke: Look at the shortend... (When I wrote it, I didn't think about it but... S.E.X)