Author Topic: Progress  (Read 51772 times)

0 Members and 1 Guest are viewing this topic.

Offline tifreak

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
Progress
« Reply #60 on: January 25, 2006, 03:33:00 am »
I will see about puttin the code on my calc to see if it makes more sense to see it work... I just don't understand how you can have different flags in 2^33... I never did go too high in math classes, I took the minimum required, and found comp classes to take. :)smile.gif
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

MathStuf

  • Guest
Progress
« Reply #61 on: January 25, 2006, 01:13:00 pm »
It's stored as decimal, but I'm using the binary representation as the flags. Here's an example:
112 is 1110000 in binary.
The 3 1's are set flags and are extracted from the number through the routines above.

Offline tifreak

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
Progress
« Reply #62 on: January 25, 2006, 02:28:00 pm »
Ok... I get that much. Like I said, I am gonna have to play with it so I can understand it... I have to learn by doing, otherwise, in one ear, out the other...
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

MathStuf

  • Guest
Progress
« Reply #63 on: January 25, 2006, 02:33:00 pm »
Ah, just got the dialog done for the test map. This is truly evil. :ph43r:ninja.gif The last few areas are based on luck...and you have to...well, you'll figure it out...

Offline tifreak

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
Progress
« Reply #64 on: January 25, 2006, 02:40:00 pm »
Hey! No teasing!! :flame:tresfache.gif

I hope to have a new beta in a couple of weeks...
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

Offline Radical Pi

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1143
  • Rating: +5/-2
    • View Profile
    • RealityRevolution
Progress
« Reply #65 on: January 25, 2006, 02:46:00 pm »
Nice. :)smile.gif
One of these days I'll get a sig I'm really proud of.

MathStuf

  • Guest
Progress
« Reply #66 on: January 25, 2006, 03:55:00 pm »
Well, after looking at how much more I may need to get this done...
-Found some weird bugs in PokeModr in Map Editing (various parts)
-Also added the following to PokeModr:
--Added more things to help with people, warps, and moves
--Revamped Tile Effects stuff
--Update readme with this new info
-Need lots more tiles, and I don't know how many more I may find to add to the collection so far (250+ discovered so far, and I don't know how many more I will find)
-Redo map (RAM cleared today when running into the bug, deleting the map, but enough changed that I think it was invalid anyway)

Offline tifreak

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
Progress
« Reply #67 on: January 25, 2006, 04:06:00 pm »
Good luck... Don't you just love RAM clears? makes you want to  :dang:banghead.gif:ihatemycomp:crash.gif:rocket:rocket.gif

I need to do a backup of my current progress... I better do that soon...
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

MathStuf

  • Guest
Progress
« Reply #68 on: January 25, 2006, 04:07:00 pm »
Well, with the ideas I got today, there's a good chance that all the extra info that's now allowed pushes the structures to different alignments, making the files corrupted.

Offline tifreak

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
Progress
« Reply #69 on: January 27, 2006, 05:52:00 am »
Oops, that could be a problem...

I haven't done much with the game yet, as I am waiting for some other stuff...
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

Offline tifreak

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
Progress
« Reply #70 on: January 28, 2006, 02:51:00 am »
QuoteBegin-MathStuf+24 January 2006, 21:12-->
QUOTE (MathStuf @ 24 January 2006, 21:12)
Or, to save space, find a way to extract bits from a decimal number. 33 flags can be stored in any number up to 2^33 and that takes 18 bytes for storage compared to 44 bytes for a string with the same amount of bytes. I may be able to write a BASIC routine that can test whether a single flag in a decimal number is set or not. If you have enough flags, it will pay off for itself in memory later.

Flag Check:
c1-->
CODE
ec1
// F is the flag to check
// 1 is returned in S if it's set, 0 otherwise

// Save the flag so we don't modify it
LFLAG(1+iPart(F/33->G
// Move from the left most bit in the flagkey
// to the right so that they don't interfere
// with the flag we're looking for
For(A,33,33-33fPart(F/33),-1
// If the flag is larger than the power, the flag at that value is set
2^AS
// Subtract that value off of the temporary value
G-S2^A->G
End
c2
ec2

Set:
c1
-->
CODE
ec1
// If that flag isn't set, set it by adding
// the value of that flag within the flagkey
LFLAG(1+iPart(F/33))+not(S)2^(33-33fPart(F/33->LFLAG(1+iPart(F/33
c2
ec2

Unset:
c1
-->
CODE
ec1
// If that flag is set, unset it by subtracting
// the value of that flag within the flagkey
LFLAG(1+iPart(F/33))-S2^(33-33fPart(F/33->LFLAG(1+iPart(F/33
c2
ec2

Flip:
c1
-->
CODE
ec1
// Subtract the flag if it's set, add it if it's not
// (2S-1) is -1 if the flag is unset (adds to the flagkey)
// (2S-1) is 1 if the flag is set (subtracts from the flagkey)
LFLAG(1+iPart(F/33))-(2S-1)2^(33-33fPart(F/33->LFLAG(1+iPart(F/33
c2
ec2

I've fixed the code to work here (I'm too used to arrays starting at 0 now because of C). I also condensed it a bit. Hope this helps clarify.

EDIT: Wow...I messed that up between editing/making new post...  

 Ok, the code stores an 8 digit number from the get-go in to LFLAG(1, which I guess this is supposed to do?

The unset code needs a not( like the set code does, so it works.

I am just unsure how this is supposed to slim things down... :(sad.gif
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

Offline kalan_vod

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2715
  • Rating: +10/-0
    • View Profile
    • kalanrock.us
Progress
« Reply #71 on: January 28, 2006, 07:45:00 am »
Well it is going to be faster than useing a bunch of ifs and thens. Look nice btw.

MathStuf

  • Guest
Progress
« Reply #72 on: January 28, 2006, 11:39:00 am »
QuoteBegin-tifreak8x+28 January 2006, 8:51-->
QUOTE (tifreak8x @ 28 January 2006, 8:51)
Ok, the code stores an 8 digit number from the get-go in to LFLAG(1, which I guess this is supposed to do?

The unset code needs a not( like the set code does, so it works.

I am just unsure how this is supposed to slim things down... :(sad.gif

No, it's a list so you can have more than 33 at a time.

The Unset code subtracts it only if the flag is set (S is 1). It should be like it shows.

It's optimized it as much as I could get it, so good luck trying to find any more :)smile.gif .
It saves space because you have 8 flags/byte instead of 1/byte in a string. It should pay off if you have any more than about 70 or so flags, which isn't hard to hit. These routines have a one-time price for reading/editing and have much better compression. Strings have a higher storgae cost and have to use expr(sub(, which isn't exactly the sfastest routine in the world.

Offline tifreak

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
Progress
« Reply #73 on: January 28, 2006, 05:13:00 pm »
Ok, thanks. :)smile.gif

I will play around with it, and see what I like best...
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

Offline tifreak

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
Progress
« Reply #74 on: February 04, 2006, 08:08:00 am »
I am going to be doing a backup of Pokemon here in a bit, would anyone be interested in the newest version, to see what has been accomplished?
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%