This Is The Only Level now has its own port to the TI-84+CE!
(http://i.imgur.com/6cGjTQa.gif)
Beat the level. There's only one.
Download here (http://www.ticalc.org/archives/files/fileinfo/468/46841.html) on ticalc.org!
[spoiler=Original post]I've decided to take up C for the CE (thank you, Mateo :) ). My first game will be This Is The Only Level. You know, like this one (http://www.ticalc.org/archives/files/fileinfo/466/46675.html).
I've gotten done with the tilemapper. Here's a gif of the current progress:
(http://i.imgur.com/AZMStYK.gif)
Download is attached.
There are a couple of questions I want answered, though, so the development process can go as quickly as possible.
1. What's "sprite clipping" and should I use it?
2. For some odd reason, the gfx_TransparentSprite() routine leaves the tile sprites normal when drawn slightly off-screen, but the player sprite entirely disappears when he is off-screen even one pixel. Why is that, and how do I fix it?
3. The "random" colors for the background and spikes look like different shades of blue for some reason. Am I doing it wrong, or is there bias in the random numbers?
4. Are there any more conventions and things that can make my programming life easier?[/spoiler]
Just in case :)
Quote from: MateoConLechugaNice work! Looking pretty spiffy; I'd be happy to give coding suggestions on how to speed things up.
Quote from: JWinslow231. What's "sprite clipping" and should I use it?
2. For some odd reason, the gfx_TransparentSprite() routine leaves the tile sprites normal when drawn slightly off-screen, but the player sprite entirely disappears when he is off-screen even one pixel. Why is that, and how do I fix it?
3. The "random" colors for the background and spikes look like different shades of blue for some reason. Am I doing it wrong, or is there bias in the random numbers?
4. Are there any more conventions and things that can make my programming life easier?
1. Sprite clipping makes sure the sprite is drawn properly if parts of it are drawn offscreen or partially offscreen. Sprite functions have a _NoClip version which are a lot faster if the sprites you intend to use won't be offscreen ever.
2. It's probably because you are sending incorrect types (signed vs unsigned) values to the function as arguments. Take another look; the function works as intended :)
3. You basically have to design the palette yourself and the random colors that should be selected. You can set up the palette with random rgb values by looping and doing something like gfx_palette = rgbTo1555( r, g, b );
4. I don't believe there are any platformer games yet; but anything you learn or discover along the way would be neat :)
Glad to see a color version
@JWinslow23 :D . I am definitively looking forward for it. How fast does it run so far?
Quote from: DJ Omnimaga on September 12, 2016, 02:52:37 AM
Glad to see a color version @JWinslow23 :D . I am definitively looking forward for it. How fast does it run so far?
Exactly as fast as it does in the screenshot. I'm literally clearing the screen and re-drawing the tilemap every frame, because I can't see any solution so far for erasing the elephant. Without this redrawing, however, it runs at way over playable speed, so if I find some way to only redraw the parts I need, it'll be fine.
By the way, can anyone help me with that? The code is up there. I have ideas, but they have all either not worked or caused flickering.
EDIT: Current code here. Minus a proper "random color" system, all changes are internal, so my job is easier. I did the same thing in the TITOL 84+ program, so I'm thinking it could help here.
Weird, when I checked the topic earlier at work and just an hour or so ago the screenshot was not animated at all. It is now. Hence why I was asking the speed. As for erasing the elephant, if flickering is the issue, couldn't you use 8-bits mode, draw the map twice on two sides of the screen and flip between each side while erasing the elephant on the invisible side? That's what most people do.
Quote from: DJ Omnimaga on September 12, 2016, 05:38:05 AM
Weird, when I checked the topic earlier at work and just an hour or so ago the screenshot was not animated at all. It is now. Hence why I was asking the speed. As for erasing the elephant, if flickering is the issue, couldn't you use 8-bits mode, draw the map twice on two sides of the screen and flip between each side while erasing the elephant on the invisible side? That's what most people do.
That's what's happening, with a buffer the same size as the full screen. The trouble is erasing the elephant in the first place without redrawing everything. I don't know how to erase him.
Are you in 8 or 16 bits mode?
So I'm really sorry, but I got a little carried away with looking at your code... but anyhow, the basic idea is to save the background behind the transparent sprite, and then when you move the sprite, restore what was behind it previously. Rather than using gfx_SwapDraw(), you can use gfx_Blit( gfx_buffer ); in order to copy the back buffer to the screen. Here's the result that I got from it:
(https://usercontent.irccloud-cdn.com/file/m9CRZWOE/elephant.gif)
Also, I just made the double buffering thing work; didn't change too much else except for moving globals to local functions and such. If you do plan to use globals, try to keep them contained inside of a C structure :)
Edited source code is below.
Thank you so much, I would never have figured that out myself. :)
Another question: How do I activate using the OS fonts (graphscreen and homescreen) and drawing them onto the screen? I tried gfx_SetMonospaceFont(0), but it's not working.
Using the following functions:
gfx_SetTextFGColor();
gfx_SetTextBGColor();
gfx_SetTextFGColor();
gfx_PrintStringXY();
gfx_SetTextScale();
gfx_PrintString();
gfx_PrintInt();
gfx_PrintUInt();
gfx_SetTextXY();
Quote from: MateoConLechuga on September 12, 2016, 08:41:57 AM
Using the following functions:
gfx_SetTextFGColor();
gfx_SetTextBGColor();
gfx_SetTextFGColor();
gfx_PrintStringXY();
gfx_SetTextScale();
gfx_PrintString();
gfx_PrintInt();
gfx_PrintUInt();
gfx_SetTextXY();
I think you misunderstand. I was just using PrintStringXY, but it prints the C monospace font. I want the OS homescreen and graphscreen fonts. I'm trying the OS functions, too, but they're not working. Forget my stupidity.
Quote from: MateoConLechuga on September 11, 2016, 10:33:31 PM4. I don't believe there are any platformer games yet; but anything you learn or discover along the way would be neat :)
Wut
Androides (https://tiplanet.org/forum/archives_voir.php?id=335066) , Crystann (https://tiplanet.org/forum/archives_voir.php?id=353827) , Billybox (https://tiplanet.org/forum/archives_voir.php?id=434499)
(https://i.imgur.com/yFTIiWb.png) (https://tiplanet.org/forum/archives_voir.php?id=335066) (https://tiplanet.org/modules/archives/captures/1456925921crystann2.gif) (https://tiplanet.org/forum/archives_voir.php?id=353827) (https://tiplanet.org/modules/archives/captures/1455568206nT1oX4k.png) (https://tiplanet.org/forum/archives_voir.php?id=434499)
All open-source btw.
Android has "gravity", as you can see the character falling, for instance, and not tile-by-tile (contrary to the two others, where everything is by tile)
I've implemented collision functions that work well enough for me.
(http://i.imgur.com/mZOW01F.gif)
Interaction with objects will come next. I suppose I'll work on dying, then pushing the button. And at some point, the guy's got to turn around when he walks left.
Download attached.
is he a little elephant?
Quote from: kotu on September 12, 2016, 06:39:21 PM
is he a little elephant?
Yes, he is. You can play the original I'm basing this off of here (http://armorgames.com/play/4309/this-is-the-only-level).
I'll also try to see if I can get the creator's blessing for doing a full version of my color remake. I probably won't need it, but I'll tell him anyways.
Glad to see progress JWinslow23. Also I like that color scheme better. :)
Quote from: DJ Omnimaga on September 12, 2016, 11:44:28 PM
Glad to see progress JWinslow23. Also I like that color scheme better. :)
I believe the color scheme is randomly generated each time :)
Oh, I thought it was fixed. I guess I got too used at the grayscale version :P
Quote from: DJ Omnimaga on September 13, 2016, 08:04:24 AM
Oh, I thought it was fixed. I guess I got too used at the grayscale version :P
It's kinda weird to me to make a port of a game and have people play that more than the original. :P
Lol that's because I am still quite into calc games. :P
I'm having a small problem with jumping. When the elephant hits the ground, his y-position (a float) needs to be a multiple of 11 plus a constant offset. I know how to check for when he hits the ground, but how, in code, would I make sure his y-position is a multiple of 11 plus a constant offset?
The y-position is a double with name player_y, and the constant offset is a defined integer with name TILEMAP_Y_OFFSET.
Use the modulus operator (%)
Not working. Apparently you can't do a modulus operator to a double.
EDIT: Also, the Y-position being a double is causing problems elsewhere. I think I need help with datatypes.
The Y-velocity needs to be a double, but I'm not sure about the Y-position.
EDIT AGAIN: Code is attached.
I am freaking stupid.
How is the speed so far?
Quote from: DJ Omnimaga on September 14, 2016, 05:33:07 AM
How is the speed so far?
Very playable. The screenshot is slow for some reason, I blame Cemu.
(http://i.imgur.com/ULuNSsX.gif)
Also, new version!
It adds jumping, gravity, a little bounce mechanic, and death! It also adds a placeholder for where a timer will be, if I can figure out how to time to the 100th of a second.
Download attached.
Ooooh, I like this.
Here's an optimized version of hit_block: (I also changed the inputs to uint8_t)
bool hit_block( uint8_t hit_x, uint8_t hit_y, uint8_t block_hit ) {
uint8_t x_off1 = (hit_x - TILEMAP_X_OFFSET) / TILE_WIDTH;
uint8_t x_off2 = (hit_x + TILE_WIDTH - TILEMAP_X_OFFSET - 1) / TILE_WIDTH;
uint8_t y_off1 = (hit_y - TILEMAP_Y_OFFSET) / TILE_HEIGHT;
uint8_t y_off2 = (hit_y + TILE_HEIGHT - TILEMAP_Y_OFFSET - 1) / TILE_HEIGHT;
return (collision( x_off1, y_off1 ) == block_hit) ||
(collision( x_off1, y_off2 ) == block_hit) ||
(collision( x_off2, y_off1 ) == block_hit) ||
(collision( x_off2, y_off2 ) == block_hit) ;
}
Notice that in code; if you have loops and stuff, it repeats that code every single time. Better to just store the computations and then use them I guess.
Quote from: MateoConLechuga on September 14, 2016, 06:46:06 AM
Here's an optimized version of hit_block: (I also changed the inputs to uint8_t)
bool hit_block( uint8_t hit_x, uint8_t hit_y, uint8_t block_hit ) {
uint8_t x_off1 = (hit_x - TILEMAP_X_OFFSET) / TILE_WIDTH;
uint8_t x_off2 = (hit_x + TILE_WIDTH - TILEMAP_X_OFFSET - 1) / TILE_WIDTH;
uint8_t y_off1 = (hit_y - TILEMAP_Y_OFFSET) / TILE_HEIGHT;
uint8_t y_off2 = (hit_y + TILE_HEIGHT - TILEMAP_Y_OFFSET - 1) / TILE_HEIGHT;
return (collision( x_off1, y_off1 ) == block_hit) ||
(collision( x_off1, y_off2 ) == block_hit) ||
(collision( x_off2, y_off1 ) == block_hit) ||
(collision( x_off2, y_off2 ) == block_hit) ;
}
Notice that in code; if you have loops and stuff, it repeats that code every single time. Better to just store the computations and then use them I guess.
Do you think that the inputs ought to be uint8_t's? Those are the literal coordinates of the guy on-screen, which doesn't take those.
Haha, oops, yeah. Well, the y value can be, but the x value should be a uint24_t :P The rest is fine.
Quote from: MateoConLechuga on September 14, 2016, 01:40:06 PM
Haha, oops, yeah. Well, the y value can be, but the x value should be a uint24_t :P The rest is fine.
Alright, thanks!
You should add the latest download version to the first post when you post a new one. Also I just tried this now and it's very smooth so far :)
Quote from: DJ Omnimaga on September 15, 2016, 05:13:30 AM
You should add the latest download version to the first post when you post a new one. Also I just tried this now and it's very smooth so far :)
Once the button and door function almost work as expected. ;)
Yeah I noticed that doesn't work yet. I sure noticed the spikes did, though, since I hit them a few times :P
:walrii: easter egg?
Quote from: DJ Omnimaga on September 15, 2016, 05:44:44 AM
Yeah I noticed that doesn't work yet. I sure noticed the spikes did, though, since I hit them a few times :P
:walrii: easter egg?
Gimme an 11x11 xLibC color walrii, and you got it. ;)
Would a 8x8 one work? :P
Quote from: DJ Omnimaga on September 15, 2016, 05:56:24 AM
Would a 8x8 one work? :P
Not as well. Then you'd say the hitboxes are too strict :P
Ah I see. I guess I could adapt my 8x8 one to fit 11x8, though. I mean, in Wal-Rush! CE, it took multiple forms including heavily stretched ones. :P
See first post for download,
(http://i.imgur.com/GFMtrAV.gif)
Cool, I'll check it out Sunday hopefully. I am surprise CEmu gives you speed issues with screenshots, though.
The game looks very nice so far and I liked what I saw so far when I tried the other version the other day.
Check the original post.
(http://i.imgur.com/CKTYMH6.gif)
That looks very great JWinslow23! I also like the transitions. This is definitively being polished very well. Good job :)
EDIT: I also added this topic to the downloads section at https://codewalr.us/index.php?board=17.0
Trust me, it is totally not polished from the inside, but thank you!
Will work on comments, and the first stages, soon.
Yeah but so far at least it does the job, that's for sure, and the game is quite cool so far.
I think I may need help with math.
[spoiler=Stage 6 spoilers!]In Stage 6, the player will perpetually bounce, with a vertical velocity such that the player ends up at the top of the level at the height of the jump.[/spoiler]
Basically, I need some sort of way to get a velocity for a jump to reach some position, given a starting y-position, some gravity added to the position every frame, and the y-position achieved at the apex of the jump. But not a value...no, I want a formula.
Help?
You should ask questions in a separate, appropriately-titled topic.
Just use the formula final_velocity2 = initial_velocity2 + 2*acceleration*(final_position - initial_position), so you have initial_velocity = sqrt(final_velocity2 - 2*acceleration*(final_position - initial_position)), or in your case, final_velocity = 0, so initial_velocity = sqrt(2*gravity*jump_height).
Quote from: jacobly on September 26, 2016, 06:54:12 AM
Just use the formula final_velocity2 = initial_velocity2 + 2*acceleration*(final_position - initial_position), so you have initial_velocity = sqrt(final_velocity2 - 2*acceleration*(final_position - initial_position)), or in your case, final_velocity = 0, so initial_velocity = sqrt(2*gravity*jump_height).
Thank you so much! I knew I was off by a factor of 2. Which reminds me... (http://tauday.com)
Should release when I'm back from vacation, on the 27th.
Download here (https://codewalr.us/index.php?action=dlattach;topic=1588.0;attach=1131). No screenie because my computer is crap; can someone else record it up to and including Stage 12?
Perhaps an overhaul of the left-right movement system is needed. To me, it feels a little slow.
Thanks for the colorful update ! ;)
Here is the level 1 stages 1-12 playthrough :
(http://i.imgur.com/cNheirw.gif)
I really need to download this as soon as possible to try it. :) Looks awesome, as always :)
No more work on the game for right now, because my computer's battery can no longer hold or even take a charge. Will rectify as soon as possible, but until then, play these stages!
Oh! You did decide to work on a CE version! That's awesome. I love it, but I don't have a calc anymore. Maybe next year, when I skip my sophomore year and start 11th grade and take Algebra II.
Quote from: Dudeman313 on October 14, 2016, 12:32:50 AM
Oh! You did decide to work on a CE version! That's awesome. I love it, but I don't have a calc anymore. Maybe next year, when I skip my sophomore year and start 11th grade and take Algebra II.
Nice, hopefully this gets sorted out. In the meantime, emulate it. The game is almost halfway done anyways, with 12 stages out of 30.
Also, if you're wondering where this project went, it is still on indefinite hold. I've been looking all over for a good replacement computer. Hopefully I can find one. Be assured, though, that once I do, I'll get a jump on finishing as soon as possible!
Ah that explains why you were gone. I hope your new computer don't take as long to arrive as it took for
@SiphonicSugar . I remember when I had no internet access in 2007 and near the end my interests were starting to shift as I found new hobbies (which is what I fear that happened with Siphonic) D:
Bump.
I've decided to start this project up again! I have a new computer, which is better than what I had. As promised, I'm seeing this through to the end now.
17 stages (technically only 16, but 17 uses default options) are implemented. Download here (https://codewalr.us/index.php?action=dlattach;topic=1588.0;attach=1171)!
erm..
is this an announcement you'll create the porgram now?
Or is this the announcement "I did it"? ???
(I'm not sure, I cant run the files as I dont have a CE)
In both cases: yaaay :thumbsup:
glad to hear // nice ^^
Quote from: p2 on December 06, 2016, 09:33:45 PM
erm..
is this an announcement you'll create the porgram now?
Or is this the announcement "I did it"? ???
(I'm not sure, I cant run the files as I dont have a CE)
In both cases: yaaay :thumbsup:
glad to hear // nice ^^
I had created some of the program, but stopped because my computer crashed. I am resuming that process now that I have a computer again, and I've already implemented 5 more stages, as well as savegames and some bugfixes.
I updated the download link, too; check the first post for a download. :)
Oh, and go check out CEmu for a CE emulator. It's the first and only, so be sure to check it out!
Bump.
New version! Now with Collapse!
No screenie because CEmu will not cooperate no matter how many times I throw things at it.
Do color references have to be from a palette? I want to have my green be #define-d in my code, not depend on a picture I don't use.
Sad that you have no eye-candy. Is there a way to turn the current tiles into more colorful sprites, so the graphics might look even better? If you have all those colors why dont use them :P
Otherwise, I really like the concept of your game although I can't play it due to the lack of the appropiate calculator!
Awesome that is updated. As for CEmu you should post in the CEmu thread and ask for help. Make sure you got the latest version and latest.
What DJ said, or make sure you are compiling with the most up-to-date toolchain, as well as putting the newest version of the libraries in CEmu. Oh yeah, and make sure CEmu is up-to-date.
The toolchain is completely up to date, as is CEmu. The thing is, recording screenshots is problematic, and it always has been. Would I do something with the key bindings?
I'm soon gonna be resorting to a screen-to-gif recorder recording CEmu directly.
I believe I told you this before; but you can change the frameskip rate of CEmu. That's what your issue is :P
cant wait for new pics.
Also I'm curious how you did the menu ^^
Quote from: MateoConLechuga on December 12, 2016, 12:08:56 AM
I believe I told you this before; but you can change the frameskip rate of CEmu. That's what your issue is :P
Agh, I'm not sure you're understanding my issue.
I looked into it, and it seems like the arrow keys are not controlling the keypad after I select any option at all; rather, they switch between the options.
For example, if I set the scale to 100%, and then try to press left and right, the left and right buttons on the keypad don't register, but the scale changes.
Same with key bindings, refresh rates, and basically any option you can control with the arrow keys.
Changing the frameskip rate, of course, did nothing, because it is always set to something else anyways.
Quote from: p2 on December 12, 2016, 10:40:31 AM
cant wait for new pics.
Also I'm curious how you did the menu ^^
Not yet. The menu is next, be patient ;)
You just click on the screen. Because yes, you are changing an option. Set the frameskip to 1; click the screen, and that's it.
Click the screen. Oh, I'm stupid. Thank you.
Screenie coming up, then!
this level of tech support reminds me of the "press any button" problems you get sometime :trollface:
(http://i.imgur.com/HC4YcZ0.gif)
wow, that'S really an interesting level :D :thumbsup:
can the elephant still stand on the button or will it fall through it once the floor below is gone?
(probably make the button disappear as soon as parts of the floor below it are gone?) ^^
Edit: Also shouldnt the timer pause during the text screens? ;)
Nope, the button is pinned to that spot in the air. You never really stand on the button, you just stand on the ground beneath the button.
And no, I don't plan to stop the timer during the ending screen. It's harder anyways.
Quote from: MateoConLechuga on December 12, 2016, 04:10:50 PM
You just click on the screen. Because yes, you are changing an option. Set the frameskip to 1; click the screen, and that's it.
I didn't understand his issue completely either it seems. I thought he meant that even after clicking the screen the arrow keys didn't respond, because I had this happen with old versions of CEmu.
The strangest part in my case, though, is that keypresses would be missed regardless of the screen capture software I used. Even Camstudio caused CEmu to not register all my keypresses. Now I understand that in his case, he just forgot to click the screen, which causes arrows to control the GIF capture settings instead. :P
Also JWinslow23 nice levels. I am curious about what happens if you fall through the floor at the very bottom of the screen...
Thanks! Yeah, it's my fault for not using it correctly :P .
Quote from: DJ Omnimaga on December 13, 2016, 01:51:05 AMI am curious about what happens if you fall through the floor at the very bottom of the screen...
You die.
What, do you think I wouldn't implement some bounds-checking by this point? If I'm aiming to get this entered in the next Monthly Program Awards here, I'd better not have game-breaking glitches...just game-breaking Easter eggs. ;)
As for a menu, this time I might not opt for a simplistic one like the 84+ game. I'm actually planning to have a whole stage-like layout for the menus. It'll make sense once I get it done. I'll probably mock up a screenie soon so you know what exactly I'm talking about.
Well, we never know. :P Even some Sam Heald/JoeW calc games left out some semi-important checks :trollface: (and still won POTM/POTY)
In my case, though, sometimes in games I ended up implementing funny stuff instead of error checks (such as death), or at least that's what I would do in the future instead of fixing bugs. If for example the Supersonic Ball bug where you can go outside the map had happened often, I would probably just implement death with a funny error message saying you just broke the game :P
Also a menu stage would be cool, as long as it's beatable <_< (as in, level 1 is not impossible to reach)
If I make it, it would definitely be completable. It would just have 4 buttons, and an easily reachable exit.
Good. I remember MFQT on the 83+ where the start platform was very high, or maybe it was a different game and not on calc.
This is the Only Level CE has now been released! Download here (https://www.cemetech.net/programs/index.php?mode=file&path=/84pce/asm/games/TITOLCE.zip), or check the original post.
Great ! :D
How many levels this time ? :)
Quote from: critor on December 19, 2016, 08:13:51 PM
Great ! :D
How many levels this time ? :)
One. There is one level. :P
In all seriousness, this is the finished game, with 30 stages.
As well, it got accepted on ticalc.org (http://www.ticalc.org/archives/files/fileinfo/468/46841.html), and this version actually contains a small update.
Perfect - so it's planned for a future ticalc.org review, and then for the POTY 2017. ;)
By the way, just to inform you - I just got a reset.
I was using the latest C libraries updated yesterday.
I was at the "Take a break" level, I was - I think - holding several arrow keys...
Then suddenly, the elephant and timer froze... and then the reset happened by itself some seconds later.
Hm...I'm not sure what could have caused that. I actually have a version of the libraries from earlier today, maybe that could be it?
Update your libraries, and if you can reproduce it, then show me as soon as possible.
I can't see a library release for today, or it's just a time zone difference :
https://github.com/CE-Programming/libraries/releases/tag/v6.5
This time I've used the different program file from ticalc.
I got a similar in-game reset at the "Rabbit power jump" stage.
I was just quickly and alternatively pressing the left and right keys.
Edit : I managed to reproduce the problem on stage 1.
Same method.
Huh. That's odd. I haven't been able to reproduce it on emulator or actual hardware. I'm not sure even where the code even might fail due to an out-of-date library, or even the latest.
If this is happening with anyone else, not this just happening with critor, please notify me. Until notified otherwise, I'm classifying this as an isolated incident.
For the 1st freeze+reset, we could have supposed my calculator was not stable for some reason.
But as I was able to reproduce it 3 times in a row since, and as I have downloaded the C libraries today, I fear it's not an isolated problem.
Try to play with 2 fingers and to 'spam' the arrow keys.
With multiple key press, alternative and simultaneous.
Each time it did crash, I was pressing at least 2 keys.
That is completely strange. I am still not reproducing your problem.
Can anyone else try to reproduce this? I am completely unsure where the problem here is. I might chalk this up to a faulty OS or something.
...actually, is your OS on the latest version, too?
EDIT:
@MateoConLechuga , in CE C, how do you get the current year, month, day, hour, minute, and second on the CE clock in the MODE menu? The demo isn't making it clear.
I can't reproduce? Using OS 5.2 and libs downloaded 3 hours ago.
(https://usercontent.irccloud-cdn.com/file/VbbhDIVy/bugs.gif)
I have the latest 5.2.1 OS.
I highly doubt the calculator is faulty, as it's the one on which I test all CE games.
Here's how to trigger the problem :
http://www.youtube.com/watch?v=kHO-5Yay5Xg
^ This time the crash occurred almost immediately.
But some times, I have to keep on spamming the arrow keys for dozens of seconds - it's random.
erm...
you simply mustn't press the butons so fast.
It's no wonder this happens, you confused the pook little elephant. :(
I don't press the buttons so fast while playing, of course - it was just an easy way to reproduce the problem. :)
But while playing, depending upon the stage you still press several keys together from time to time - so the crash still happens.
Playing the game normally, it crashed for me on stages 15 and 28.
at least we know it's triggered by key presses and not just random crashes - that would make it a lot harder for Unicorn to find the bug >.<
Well, I'm pretty sure the problem is that I'm reading from the keyboard too much, but I'm not sure how to correct this enough to make it unable to crash like this. I'm hoping Mateo can figure something out, so I can update as soon as possible with a fix.
if it's events triggered by the key listener, maybe insert a 10ms pause? (only guessing here, I dont know your code nor the language >.<)
I'm sure the drawbacks of that would outweigh the benefits.
I need a Christmas miracle for this :P .
I reworked your code and did a few optimizations and fixed some bugs. I no longer can make it crash; can anyone else?
Download: https://usercontent.irccloud-cdn.com/file/rxrou2wd/TITOLCE.zip
Works for me. The current download links should be updated within a day.
Quote from: MateoConLechuga on December 20, 2016, 04:29:14 PM
I reworked your code and did a few optimizations and fixed some bugs. I no longer can make it crash; can anyone else?
Download: https://usercontent.irccloud-cdn.com/file/rxrou2wd/TITOLCE.zip
Thank you Mateo :)
Quote from: JWinslow23 on December 20, 2016, 12:05:42 AM
@MateoConLechuga , in CE C, how do you get the current year, month, day, hour, minute, and second on the CE clock in the MODE menu? The demo isn't making it clear.
Well, idk really because TI makes it orders of magnitude more difficult than it should be. However, might be able to just use these defines for now while I work on making it a nice little structure or something. Note that years are weird; you cannot set them directly. However, these
may work fine if you are just reading the values -- I haven't tested enough, but it seems right.
#define os_Years (*(uint24_t*)0xD177CF)
#define os_Months (*(uint24_t*)0xD177DB)
#define os_Days (*(uint24_t*)0xD177D8)
You can just use rtc_Hours, rtc_Minutes, rtc_Seconds for the other things.
I'm actually not sure how TI treats days. May be better to just use rtc_Days.
Just made a TAS of TITOLCE with CEmu, in 5:25.37.
Enjoy :
https://www.youtube.com/watch?v=pAfvmHVjo3s
great choice of music, its really perfect for this game xD ;D
But I think it would look better if in the "keep hitting it" level, the door would open up like 2px every time you hit it ^^ :)
@p2 that might not be a bad idea! It wasn't in the original game, but that would probably look better (and give you more of a clue how to beat the stage). However, I'm not sure if it'll look weird that, say, 4/5 of the door is open but you can't go in.
maybe you could make it like slowing the elephant down very much when the door isnt completely open? :)
closed door = 0 speed
...?
open door = max speed
Quote from: JWinslow23 on December 20, 2016, 12:05:42 AM
@MateoConLechuga , in CE C, how do you get the current year, month, day, hour, minute, and second on the CE clock in the MODE menu? The demo isn't making it clear.
I cleaned up the toolchain and added API functions to easily set/get the date and time. See boot_GetDate for example in tice.h :)
https://github.com/CE-Programming/toolchain/releases/latest
But, but... Elephants never forget, do they ? :P
(https://tiplanet.org/forum/gallery/image.php?mode=thumbnail&album_id=5&image_id=7575) (https://tiplanet.org/forum/gallery/image_page.php?image_id=7575)
Updated with bugfixes and Easter eggs.
(http://i.imgur.com/mzMrmt1.gif)
File should update itself by the end of the day, December 21.
I can't wait to try it. Also nice light effect :D
EDIT: I don't know if ticalc has the latest version
@JWinslow23 but the easter egg you mentioned to me on WalrusIRC earlier does nothing. I pressed the key on the menu at the title screen or in game, on every menu option, and nothing special happened. :(
is this a replacement//update for the formerly completely black level I saw in the video? really nice!! :) but maybe you also want to make the thing blocking the door visible? :)
How do you beat lv 15 by the way? Online walkthroughs for the original game says to click the tutorial link in the game at the bottom of the screen, but there's no tutorial in the calc version ???
in the video (https://codewalr.us/1588/49615) it looks lie he's restarting the game... ???
Oh I see now. I was exiting the level with CLEAR but without quitting the entire program. I was worried this would reset my save x.x
I also stopped moving in the stage for 1 minute both off the switch and on, to no avail. Anyway thanks :3=
Quote from: DJ Omnimaga on December 21, 2016, 10:46:25 PM
I can't wait to try it. Also nice light effect :D
EDIT: I don't know if ticalc has the latest version @JWinslow23 but the easter egg you mentioned to me on WalrusIRC earlier does nothing. I pressed the key on the menu at the title screen or in game, on every menu option, and nothing special happened. :(
Must not be the latest version then. I did update, you should probably wait a day.
Quote from: DJ Omnimaga on December 21, 2016, 11:09:34 PM
Oh I see now. I was exiting the level with CLEAR but without quitting the entire program. I was worried this would reset my save x.x
I also stopped moving in the stage for 1 minute both off the switch and on, to no avail. Anyway thanks :3=
Yeah, why do you think I save an appvar called TITOLCE? It wouldn't be not to use it!
Well, about TITOLCE appvar, when I reached the secret after beating the game, the level description was cryptic and when I ran out of ideas I just deleted the appvar in case something special happened (eg self-modifying code), only to find out it didn't do anything :P (other than resetting my game to level 1 of course, but we never know lol)
Also I like the :walrii:
(https://img.codewalr.us/walriititol.png)
yesss right you need a special walrus costume ^.^ :thumbsup:
Thanks! I worked hard to get a walrii to fit in an 11x11 square (he may be cute, but he's chubby 9_9 ).
I like it personally :D
iirc we once already had a mini walrus ^^ but Im not sure if it was 11x11px xD anyways it looks cute ^^ ond of cause it looks a bit chubby, what did you expect from 11x11pic pixelart? ;)
It was 8x8 actually, but JWinslow23 had a 8x9 one in the Atari 2600 version of Wal-Rush! and I had another 8x8 one but Jwin's looked better :P