Comments (9)
You can see that in original Arena, the castle graphic is suspended in the air somewhat, and behind it there is 3d terrain.
I think the idea in the original is that if you don't get up so close to it, and I think maybe you can't in other cities, it creates an illusion that the 3d path leads up to the castle graphic. It might not work so well with the higher resolutions of OpenTESArena, of course.
from opentesarena.
I noticed this problem, too. They are transparent walls (type 0x9) in IMPERIAL.MIF, and it's currently loading them without any other changes (code), so Arena must be doing some extra work after the level is loaded to change them to something else (edge voxels maybe? Type 0xA?).
I'm not sure why it's suspended in the air. There must be some arbitrary offset Arena adds to it. Same thing with edge voxels (i.e., store signs). Without any changes, they are too close to the ground.
And yeah, I also figured that they were going for the "castle in the distance" illusion. The terrain behind the castle is not stored in IMPERIAL.MIF, so it's probably loaded from the wilderness (still need to look into that)
from opentesarena.
There is quite a complicated algorithm I don't understand fully (I think it is intended to swap the halves of the palace when they are along to a certain map border), which seems to replace 9034
and 9035
with A5F5
and A5F4
after loading the map.
from opentesarena.
This is the first I've heard of any algorithm for modifying palace graphics. Even if there is a method to it, and even if it's used with all cities, it's still not completely correct, since I recall seeing some palace graphics in the original game that are incorrect like the first image above.
from opentesarena.
What's getting replaced:
Wall Grate Palace
-------------------
North A1B3 A5Bx (5-4)
West A173 A57x (5/4)
East A1F3 A5Fx (4/5)
South A133 A53x (4-5)
from opentesarena.
I've found out what A block fields mean:
A hhhs rrxx X
h
is the height (I'm not sure what the units are)s
means the block is impassabler
is the side of the block the texture is displayed.
from opentesarena.
I've found out what A block fields mean
Thank you. Store signs and laundry now hang at the proper height in the Imperial City. See commit f1b9f6e.
It appears that shifting the height bits right by 8 and dividing by 7.0 is the proper way to get the Y offset (I tried dividing by 8.0 but the signs were a bit too low).
from opentesarena.
This issue is more or less fixed now in commit ae392a6. Only thing left is to fix the reversed texture coordinates, but they're reversed because of changes I made so shop signs would always face the proper direction (i.e., so desert tavern signs wouldn't float in the air). I could potentially add a flipped
boolean to all type 0xA voxels to fix this.
from opentesarena.
Palace graphics and gates are now correct in commit 3d98476. I will handle the missing wilderness terrain in the future since that's a separate problem.
from opentesarena.
Related Issues (20)
- Rename default branch from master to main HOT 6
- Improving first-time contributor experience on Windows HOT 1
- Software renderer redesign for 0.15.0 HOT 7
- A Question about the capablities of OpenTESAreana HOT 1
- Is this still being worked on? HOT 2
- Fan translations support and improved .EXE unpacking HOT 11
- Hit Chance Calculation. Clarification/Verification requested for wiki HOT 1
- Is external MIDI supported? HOT 1
- Switch to GitHub Actions HOT 4
- C++20 HOT 3
- Change Travis CI badge in Readme to GitHub Actions HOT 2
- Locate player's Arena install in Steam HOT 9
- Mysterious performance hiccup every ~3 seconds HOT 1
- Job system HOT 1
- Very slow performance HOT 6
- -march=native not supported on Apple M1 HOT 3
- Game world palette documentation HOT 11
- Triangle clipping improvement HOT 1
- Revise Readme to prioritize obtaining game files from Steam HOT 4
- Couldn't find: options-default.txt if path contains accented characters HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opentesarena.