Posts for feos


1 2 236 237 238 439 440
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
TTFs can be "imported" on user end just by installing the needed font on the system. It basically would work the same as if we'd let them import those to bizhawk only, since both ways allow calling them by family name from lua, but global install sounds smarter to me. So I limited this to 2 main fonts everyone is used to, but there's still a ton of good pixelated fonts already: http://fontstruct.com/gallery/category/1/pixel_optimized BTW, creating a bitmap font using http://www.angelcode.com/products/bmfont/ can be done with any font that's locally installed, so there's really no limit for bitmap ones either. They even have a benefit of being able to support halo and stuff. But they are really slow, 20 lines of text and my emulator slows down below 100% speed. But since you can't import them to a compiled executable, here's where that option would really help.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Language: lua

fullstring = " !\"#$%&'()*+,_./0123456789:;<=>?@\nABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`\nabcdefghijklmnopqrstuvwxyz{|}" while true do gui.pixelText(0,20,fullstring,"white",0x440000ff,"fceux") gui.pixelText(0,60,fullstring,"red","black","gens") gui.drawText(0,90,fullstring,"yellow",0x8800ff00) gui.text(0,320,fullstring,"purple") emu.frameadvance() end
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
If the amount of Super Metroid branches is your only example of clutter, I'd say we're doing a good job not publishing too similar branches. And it's not related to Demo proposal if you already see 3 completely unnecessary runs. To me, this is a perfect example of why the system can be considered working well. Note that there was a decision to most likely obsolete both any% and in-game once the new any% appears, so we do try to reduce branch amount (btw that movie I accepted also obsoleted 2 existing branches). We just do it naturally, not by self-imposed hard limits.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Samsara wrote:
It'd still be absolutely impossible to determine an obsoletion chain with cheated movies. What would new movies have to do to obsolete published cheated movies? Or do we just have to accept everything without obsoletion and clutter up the site further and further with movies we can't do anything about?
Um, you know about Moons, right? It can have a lot of branches for games. You know why there's no clutter? If there's a content overlap between some branches, viewers can very well spot it and post details. If the runs are different enough, they are published alongside each other. Otherwise, one obsoletes another. I made some judgments based on that. Come on guys, do I really need this dose of sarcasm just to remind obvious things everyone knows?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
jlun2 wrote:
Atari demos found on youtube; one can technically have a "movie" of 1 frame long and be entertaining
Looking forward to actual cases where that's actually the case. Meanwhile, I want to remind you that "entertaining" is when about 70% (at least) of viewers who addressed the entertainment value say it was high (to them). Didn't you know how Moons work?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
jlun2 wrote:
You know the cheats used in MM9 was a gecko code (not in game) instead of an ingame cheat like the Metroid TAS you linked right? Since if you meant the former, what's stopping people from heavily modifying the game using cheats (without calling it a romhack) and claim it's a different branch? Then they could make a romhack of it, and claim a new record as well and say "it's not a cheat now it's a totally different game new record please."
I deliberately emphasized the Demo criteria. If a run breaks some rules but is entertaining, it should be accepted to Demo. Rules of being optimal and verifiable can't present entertaining high quality content if broken, while many of the rest can be moved aside if that does let us be high quality and entertaining. So it's not competing with a Records Category in being a record, or with Moons Category in being a side branch, since they demand obeying all the movie rules, and that makes perfect sense. That's why I impose the only requirement for Demo - good feedback. And yes, if the question is "Should this be published?" again, people become able to address some other worthy aspects of the run that result in its publishable TAS value. For the reference: http://tasvideos.org/forum/viewtopic.php?p=421654#421654 http://tasvideos.org/forum/viewtopic.php?p=421751#421751
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
http://fontstruct.com/gallery/category/1/pixel_optimized Install in your system and they magically become available in bizhawk.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
mtvf1 wrote:
I didn't watch yet. If this tas could be published, we need a new tier, first. I hope tasvideos will accept cheat tas someday.
Exactly.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
gui.text uses a bitmap font, and there's a limited amount of characters that the generator used for it supports for Currier. http://www.angelcode.com/products/bmfont/
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
If you have an idea of what condition you need, there's a common mean to use bot: that's how Rockman DelayStateClear was proven to be possible - FinalFighter foretold it before it actually happened "simply" by breaking into code.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
IDA Pro database converted from http://acmlm.kafuka.org/board/thread.php?id=6035.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Whatever. That was just the particular one I needed in that particular script. And it is basically an example. I used it to make Gens code compatible, but its (and fceux') library uses SHIFT() with positive and negative values, while bizhawk's one uses 2 different functions.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Hint:
Language: lua

--== Shortcuts ==-- local rb = memory.read_u8 local rw = memory.read_u16_be local rws = memory.read_s16_be local rl = memory.read_u32_be local box = gui.drawBox local text = gui.drawText local line = gui.drawLine local AND = bit.band local SHIFT= bit.lshift
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Видимо оно: https://en.wikipedia.org/wiki/Binary_large_object https://msdn.microsoft.com/ru-ru/ms938379 ДаркКоболд так-то в основном тасил рпг. А у меня есть свой гайд по рандому: http://tasvideos.org/ReverseEngineering.html
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
CTBMC wrote:
2) Yes, twice. Still won't work.
Wow. Try other versions and clean unzip. I bet the ones that haven't had the separator will work, but if fresh unzip doesn't, it's weird as hell.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Exact reproduction steps? Also, "Loaded Assemblies" aren't needed.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
kwinse wrote:
Plus there are the odd ones like me that don't like browsing with the browser maximized despite having a widescreen... screen.
Exactly my case. Reading a book that's half meter wide is harder than reading a normal book. The same with web sites/forums.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Добавил. Поправил довольно много.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Доработаю гайдлайны, и наверное сделаю тебя эдитором, чтобы сразу в вики фигачил переводы, а мы потом проверяли. Создавать страницы через указание ссылки для новой страницы и правку ее, с сохранением. Под каждый язык мы делаем подстраницу с кодом страны в названии, например WelcomeToTASVideos.html WelcomeToTASVideos/RU.html WelcomeToTASVideos/IT.html
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Also, you have a ton of SOTN speedrunners who can test the glitch for you on their consoles.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Pages always seemed to be the least heavy solution to me, and easy to navigate through. And your link doesn't work. EDIT: I realized how "pages" may mean basically anything, my idea is do to lists of movies the same as done to search results and forum threads: displaying the entire list broken into pages.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Check this out!!! Download Jim2bizhawk.lua
Language: lua

-- feos, 2015 --== Globals ==-- lastcfg = 0 dcfg = 0 rngcount = 0 rngcolor = "white" rngobject = 0 rngroutine = 0 MsgTime = 16 MsgStep = 256/MsgTime MsgTable = {} --== Shortcuts ==-- local rb = memory.read_u8 local rbs = memory.read_s8 local rw = memory.read_u16_be local rws = memory.read_s16_be local rl = memory.read_u32_be local box = gui.drawBox local text = gui.pixelText local line = gui.drawLine local AND = bit.band local SHIFT= bit.lshift function Configs() local rng = rl(0xa1d4) text(120,0,string.format("rng: %08X:%d",rng,rngcount),rngcolor) local cfg0 = rl(0xfc2a) if cfg0==0 then return end local cfg1 = rl(0xfc9a) text(220,0,string.format("cfg old: %X\ncfg step: %d",cfg1,dcfg)) if lastcfg~=cfg0 then dcfg = cfg0-lastcfg end lastcfg = cfg0 local h = 7 for i=0,20 do local config = rl(0xfc2a)+i local action = rb(config,"MD CART") local newaction = memory.readbyte(config+1,"MD CART") if action==0x62 or (action==0xe and newaction==8) or action==8 or action==3 then color = "red" elseif action>=0x63 and action<=0x64 then color = "orange" elseif action>=0x30 and action<=0x32 then color = 0xff00ff00 elseif action>=0x65 and action<=0x70 then color = 0xff00cc00 elseif action==0x7a then color = "white" else color = 0xffaaaaaa end text(270,i*h+42,string.format("%X:%02X",config,action),color) if i>0 and action==0x7a or action==0x2b or action==0x2d then break end end Bounce() Seek() end function Seek() bytes = 0 waves = 0 steps = 0 local ret = "" for bytes=0,10000 do local cfg = rl(0xfc2a)+bytes local action = rb(cfg, "MD CART") local newaction = rb(cfg+1, "MD CART") if action==0x7a then waves=waves+1 steps=steps+1 end if action==0x63 or action==0x64 or (action==0 and newaction==0) then steps=steps+1 end if action>=0x30 and action<=0x32 then if newaction==0x70 then steps=steps+1 elseif newaction==0x62 then ret = string.format("BOMB in %d waves %d steps",waves,steps,bytes) break end elseif action==3 then ret = string.format("Forth in %d waves %d steps",waves,steps,bytes) break elseif action==0xe and newaction==8 then ret = string.format("Back in %d waves %d steps",waves,steps,bytes) break end end text(120,7,ret) end function Clamp(v1,v2,v3) if v1<v2 then v1=v2 elseif v1>v3 then v1=v3 end return v1 end function Bounce() if rb(0xa515)==0x60 then offset = 8 else offset = 0 end local counter = rb(0xfc87) local a0 = 0xfc88 local d0 = SHIFT(rb(a0+counter),5)+offset local vel = rw(0x25d482+d0, "MD CART") if vel == 0x200 then bounce = 3 elseif vel == 0x3e0 then bounce = 1 else bounce = 2 end text(60,0,string.format("bounce: %X",bounce)) end function Objects() local base0 = 0xa2ea for i=0,0x32 do local base = base0+i*0x6e local id = rb(base) if id>0 and id~=0x82 then local hp = rbs(base+1) local x = rw(base+2)-4096-camx local y = rw(base+4)-4096-camy --x = Clamp(x,0,300) --y = Clamp(y,8,210) local dx = rws(base+0x18) local dy = rws(base+0x1a) local hitboxbase = rl(base+0x14) if hitboxbase<0x300000 then local x1 = rb(hitboxbase+2,"MD CART") local x2 = rb(hitboxbase+4,"MD CART") local y1 = rb(hitboxbase+3,"MD CART") local y2 = rb(hitboxbase+5,"MD CART") local of = 124 if x1>0 and x2>0 and y1>0 and y2>0 then x1 = x1+x-of x2 = x2+x-of y1 = y1+y-of y2 = y2+y-of box(x1,y1,x2,y2,0xff00ff00,0) end end --text(x,y,string.format("%X",id),"yellow") if hp~=0 then text(x,y+6,hp,0xff00ff00) end PostRngRoll(base,x,y) end end end function PostRngRoll(object,x,y) for i = 1, #MsgTable do if (MsgTable[i]) then if object==MsgTable[i].object_ then local color = 0x00ff0000+SHIFT((MsgTable[i].timer_-emu.framecount())*MsgStep,24) line(130,7*i+8,x,y,color) text(120,7*i+8,string.format("%X",MsgTable[i].routine_),color) end if (MsgTable[i].timer_<emu.framecount()) then MsgTable[i] = nil end end end end event.onframestart(function() rngcount = 0 rngcolor = "white" rngobject = 0 end) event.onmemorywrite(function() rngcount = rngcount+1 rngcolor = "red" rngobject = emu.getregister("M68K A1") rngroutine = emu.getregister("M68K A0") for i = 1, 30 do if MsgTable[i] == nil then MsgTable[i] = { timer_ = MsgTime + emu.framecount(), object_ = rngobject-0xff0000, routine_ = rngroutine } break end end end, 0xffa1d4) while true do mult = client.getwindowsize() camx = rw(0xa172) camy = rw(0xa174) Objects() Configs() emu.frameadvance() end
It shows who calls RNG routine and how man times per frame. It tells you when is the next bomb/jump back/jump forward in config table, how many waves and steps are left. It shows the address it jumped from, which it will return to later on, and how long was the last jump, and what direction is was in. So you can apply your manipulation and see how far forward it allowed you to get in the table, which means, how many waves you skipped. Didn't investigate 100% of cases what calls RNG roll, but it's no hard to do, once needed. All in all, you guys can now know what the game is doing. I was going to try this manipulation myself once I finish, but it looks so tedious that I may prefer to delay it until the new version is done.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
1 2 236 237 238 439 440