If nv or nn (number of verbs or number of nouns) is equal to or larger than the number
of words + 2, this loop will try to write out of bounds and assert. This happens for
example in the C64 version of The Golden Baton.
To fix this, it is really enough to change the >= operator to >, but I took the opportunity
to simplify the code a bit as well.
Use the md5 hash to directly load the game without having to iterate through the game list. Also rename detect_game to load_game and move the resource loading to resource.cpp.