Join us on Discord!
You can help CodeWalrus stay online by donating here.

[C and/or/maybe/?/The Game/ Axe] Hinawa Battle Engine

Started by Duke "Tape" Eiyeron, November 25, 2014, 07:51:15 PM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

Duke "Tape" Eiyeron

Sooo, I've been some tweaks to port Monochromelib (FX-9860 graphical librairy). It works on SDL2 and mostly works. This help testing here and there things on computer easier than on calc (avoiding Casio's SDK, ddd to debug, etc...) Buuut:

What I need to finish

- Converting variable size sprites blitting functions (ML_bmp_(or|xor|and), not ML_(8|16)_x ). As endianess is totally different from computers, I'll maybe try implementing it the worst way possible (pixel per pixel), unless someone has some functions like that.
- Scrolling is borken for same problem : endianness.
- Finding a way to rescale the SDL_surface when I rescale the window and scale/center the output.
- Free SDL things.
- Checking with some tests.

You can use it as you would use ML but you have to do two things:
- Check ML_SCALE and change it to change the screen scale
- Use ML_Init() in main() to initiate the screen.
  • Calculators owned: A lot.

novenary

So you're basically making your own library for portability ? And each lib has it's own backend depending on the platform ? I'm interested in making Pokespire cross platform although it would require some modifications to the current build system. I really don't want to deal with headers and I don't know how makeheaders would react to modular stuff.

Duke "Tape" Eiyeron

Yeah pretty much a tempoary solution to the graphism problem : I want to get a similar output than a FX-9860 and it'll avoid to make a different graphical loader before finishing the engine itself.

For your project, I don't know what makeheaders but you could try to figure where the code depends on the platform, make an alternative (i.e. computers) and put it aside.
  • Calculators owned: A lot.

Dream of Omnimaga

I'm glad it uses SDL in some ways because I think this could make it much easier to port the game to nSDL. Does MonochromeLib supports grayscale, by the way? Also by similar output do you mean for bigger screen models you would prefer to stick to the same 128x64 resolution zoomed in?
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Duke "Tape" Eiyeron

MonochromeLib is a Monochrome graphical Library, so I'm letting you guess! :p. Yeah it'd be pretty to port in to nSDL if one cares to manage endianess as it should b and switches the skurce code for SDL 1.xe. And yeah I mean 128*64 with a scale factor. This is a direct port of ML for 128*64 and changing the screen wouldn't add much more as SDL2 supports hardware acceleration, so It would be quite easier to just having to deal with monochrome sprites then.
  • Calculators owned: A lot.

Dream of Omnimaga

I guessed it could be monochrome, but I was wondering because Hinawa used to be grayscale ???
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Duke "Tape" Eiyeron

Only one the Axe version. Casio grayscale aren't very popular as the timer breaks often the Casio OS and forces a reboot. If I find back the way how LuaFX restores the vbr I could switch back to graysacle.
  • Calculators owned: A lot.

Dream of Omnimaga

Aah I see. You could maybe ask on Planète Casio in case someone would like to help.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

novenary

Quote from: Eiyeron on December 09, 2014, 04:33:03 PM
Yeah pretty much a tempoary solution to the graphism problem : I want to get a similar output than a FX-9860 and it'll avoid to make a different graphical loader before finishing the engine itself.

For your project, I don't know what makeheaders but you could try to figure where the code depends on the platform, make an alternative (i.e. computers) and put it aside.
Makeheaders is an awesome piece of software that generates the headers automatically. My makefile invokes it so that I don't have to care about them, this way I can speed up development without having everything in a single file so it's also well organized. :)

Duke "Tape" Eiyeron

I already spplitted into multiple files though. Will it read the include in the C source and guess the headers?
  • Calculators owned: A lot.

novenary

Well, it generates .h files and I build a .o for each .c, then I link them together. I'd recommend taking a look at the Pokespire source tree to see how it all works. :)

Duke "Tape" Eiyeron

Because I can't keep working on a project more than one week, I got back a little on HBE and gave more precisions to the class diagram and the source code. Now the entites does have ailments. (I still don't have any logic programmed yet. Still working on the structure.) A little overlook detail : I should add the ailment relations. An entity can have many special ailments but only one each permanent or tempoary normal ailment.
  • Calculators owned: A lot.

Dream of Omnimaga

  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Duke "Tape" Eiyeron

It makes the character having a chance to target a random entity instead of the target it decided to aim. That and in Earthbound you had a vicious effect in the overworld : each 15 seconds your movement are rotated, for instance press up make the carachter go left, left for down, and so on.
  • Calculators owned: A lot.

Dream of Omnimaga

Aah ok so it should be called Pothead instead then. :P just kidding, thanks for the info. :)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Powered by EzPortal